Java 动态复选框和组合框
我对动态复选框有问题。当选择一个或多个复选框时,我希望在复选框/复选框旁边显示一个组合框。但我只有一个组合框,每当我选择一个新的复选框时,它就会移动。那么,有谁能告诉我哪里出了问题,以及我是如何得到多个组合框的Java 动态复选框和组合框,java,dynamic,checkbox,combobox,Java,Dynamic,Checkbox,Combobox,我对动态复选框有问题。当选择一个或多个复选框时,我希望在复选框/复选框旁边显示一个组合框。但我只有一个组合框,每当我选择一个新的复选框时,它就会移动。那么,有谁能告诉我哪里出了问题,以及我是如何得到多个组合框的 for(int i = 0; i < names.length; i++) { // ParameterField JTextField fieldParam = new JTextField(); fieldParam.setTex
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;
}
for(int i=0;i
我不知道我是否理解正确,但是如果您想要一个dinamyc combobox,您应该实现自己的combobox模型。您需要为每个复选框创建一个新的combobox实例。我认为最好的方法是根据复选框的值何时更改它们的可见性。(我以前也这样做过)这似乎是一个布局问题。在这些情况下,您必须在两者之间放置空格,并尝试各种组合,以便在创建新布局时组合框不会移动,就像在代码中一样。出于好奇,“addElement”属于哪个对象?如何为每个复选框创建组合框实例,当我的复选框是动态的,我不知道会有多少时?addElement的代码`私有无效addElement(容器c,组件元素,int x,int y,int h,int w){element.setBounds(x,y,h,w);c.add(元素);}`当你知道有多少复选框时,你会发现。我可以看到ComboBoxModel是一个接口,但我是Java新手,你能解释一下这将如何解决问题吗?这是一个很好的例子,