选中复选框后如何添加组合框?

时间:2014-11-18 09:01:14

标签: java actionlistener jcombobox jcheckbox

我正在尝试让动作侦听器仅在选中复选框时才向控制面板添加组合框。例如,我目前正在进行的项目是T恤订单。 “图形”复选框可用。选中“Monogram”时,应出现组合框“Graphic Style”。我该怎么做呢?到目前为止我没有尝试过任何工作。

以下是构建复选框的方法

public JPanel createGraphicCheckBox()
{
    graphicCheck = new JCheckBox("Graphic");

    ActionListener listener = new MyListener();
    graphicCheck.addActionListener(listener);

    JPanel panel = new JPanel();

    //add check box to panel
    panel.add(graphicCheck);

    panel.setBorder(new TitledBorder(new EtchedBorder(), "Graphic"));

    return panel;
}

这是构建组合框的方法

public JPanel createGraphSelectComboBox()
{
    graphSelectBox = new JComboBox();

    //Fills graphics combo box
    graphSelectBox.addItem("Select Graphic");
    graphSelectBox.addItem("AB20");
    graphSelectBox.addItem("JM17");
    graphSelectBox.addItem("PJ23");
    graphSelectBox.addItem("TR16");
    graphSelectBox.addItem("JK52");
    graphSelectBox.setEditable(true);

    JPanel panel = new JPanel();

    panel.add(graphSelectBox);

    return panel;
}

这是我的听众的课程

class MyListener implementes ActionListener {
    public void actionPerformed(ActionEvent e)
    {
      if(e.getSource() == monoCheck)
        {
            if(monoCheck.isSelected())
            {
                JPanel comboBoxPanel5 = createGraphSelectComboBox();

                controlPanel.add(comboBoxPanel5);

                revalidate();
            }
        }
     }
 }

感谢各位提供的所有帮助!

1 个答案:

答案 0 :(得分:0)

您可以在程序启动时禁用JCheckbox,然后您可以在" Monogram" -Checkbox上设置动作侦听器,例如鼠标单击或鼠标按下。然后在此actionlistener中,您可以启用JCheckbox。禁用启用JCheckbox的代码是:

启用:

your_checkbox.setEnabled(true);

禁用:

your_checkbox.setEnabled(false);

示例:

if(monogram_checkbox.isSelected()){
    your_checkbox.setEnabled(true);
} else {
    your_checkbox.setEnabled(false);
}