Я пытаюсь, чтобы прослушиватель действий добавил поле со списком на панель управления, только когда установлен флажок. Например, проект, над которым я сейчас работаю, — это форма заказа футболки. Флажок для «Графика» доступен. Когда установлен флажок «Монограмма», должно появиться поле со списком «Графический стиль». Как я могу это сделать? Ничто из того, что я пробовал до сих пор, не сработало.
Вот мой метод создания флажка
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();
}
}
}
}
Спасибо вам, ребята, за всю помощь, которую вы оказываете!