У меня проблема с интерфейсом Swing на Java. Объяснение: У меня есть Combobox с 1, 2, 3, 4, 5 предметами. Когда точный элемент выбран, мне нужно создать еще несколько выпадающих списков, количество которых зависит от выбранного элемента. Таким образом, если выбрано число 5, в рамке должно появиться еще 5 комбинированных списков. Я использовал ActionListener, но он не работал должным образом. Тем не менее, тот же код, но за пределами Actionlistener работает хорошо. Что за проблема?
public class FrameClass extends JFrame {
JPanel panel;
JComboBox box;
String[] s = {"1", "2", "3", "4", "5"};
String[] s1 = {"0", "1", "2", "3", "4", "5"};
public FrameClass() {
panel = new JPanel();
box = new JComboBox(s);
JComboBox adults = new JComboBox(s);
JComboBox children = new JComboBox(s1);
panel.add(box, BorderLayout.CENTER);
box.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for(int i = 0; i <= box.getSelectedIndex(); i++) {
panel.add(adults, BorderLayout.WEST);
panel.add(children, BorderLayout.WEST);
}
}
});
add(panel);
}
}
public class MainClass {
public static void main(String[] args) {
JFrame frame = new FrameClass();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setExtendedState(Frame.MAXIMIZED_BOTH);
frame.getContentPane().setBackground(Color.WHITE);
frame.setVisible(true);
}
}