動的チェックボックスに問題があります。私は1つまたは複数が選択されたときにチェクボックス/チェックボックスの横にコンボボックスを表示したい。しかし、新しいチェックボックスを選択するたびに移動するコンボボックスは1つしかありません。だから、誰かが私に何が間違っているのか、私は複数のコンボボックスをどうやって得るのかを教えてくれますか?動的チェックボックスとコンボボックス
for(int i = 0; i < names.length; i++) {
// ParameterField
JTextField fieldParam = new JTextField();
fieldParam.setText(names[i]);
fieldParam.setEditable(false);
addElement(contentPanel, fieldParam, 25, yPos, 100, 20);
// ValueField
JTextField fieldValue = new JTextField();
fieldValue.setText("" + values[i]);
fieldValue.setEditable(false);
addElement(contentPanel, fieldValue, 160, yPos, 100, 20);
//RadioButtonField
final JCheckBox checkboxes = new JCheckBox();
checkboxes.setActionCommand(names[i]);
checkboxes.addActionListener(this);
addElement(contentPanel, checkboxes, 325, yPos, 100, 20);
final int checkBoxIndex = i;
checkboxes.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae2) {
if (checkboxes.isSelected()) {
comboProcent.setEnabled(true);
comboProcent.setModel(new javax.swing.DefaultComboBoxModel(new String[]{"2%", "5%", "10%"}));
addElement(contentPanel, comboProcent, 435, 50 + checkBoxIndex * 25, 80, 20);
setVisible(true);
}
if (!checkboxes.isSelected()) {
contentPanel.remove(comboProcent);
}
System.out.println("checkbox is: " + checkBoxIndex);
}
});
yPos = yPos + 25;
}
レイアウトの問題のようです。このような場合、コードのように新しいレイアウトが作成されたときにコンボボックスが動かないように、スペースを間に入れてさまざまな組み合わせを試してみる必要があります。 – NiranjanBhat
好奇心の渦中に、「addElement」はどのオブジェクトに属していますか? –