动态添加JCombobox和JTextField

时间:2014-04-05 12:39:00

标签: java swing actionlistener jtextfield jcombobox

我想在组合框中选择一个项目时向面板添加JComboBoxJTextField

我有面板的代码。

aantallenGebruikt.add(new JTextField("", 5));
onderdelenGebruikt.add(new JComboBox(onderdelenBox()));
onderdelenGebruikt.get(0).addActionListener(MyFrame.this);

panelAfronden = new JPanel();
panelAfronden.setLayout(new FlowLayout());

panelAfronden.add(new JLabel("Selecteer onderdeelNr en Vul gebruikte aantallen in"));



panelAfronden2 = new JPanel();
panelAfronden2.setLayout(new FlowLayout());

panelAfronden2.add(onderdelenGebruikt.get(0));
panelAfronden2.add(aantallenGebruikt.get(0));

JScrollPane sPane = new JScrollPane(panelAfronden2);
sPane.setPreferredSize(new Dimension(220, 230));

panelAfronden.add(sPane);

panelAfronden.add(new JLabel("Opmerkingen"));
opmerkingenAfronden = new JTextArea(5, 20);
panelAfronden.add(opmerkingenAfronden);

rondAf = new JButton("Rond Werkzaamheid Af");
rondAf.addActionListener(MyFrame.this);
panelAfronden.add(rondAf);

annuleer = new JButton("Annuleer");
annuleer.addActionListener(MyFrame.this);
panelAfronden.add(annuleer);

我在ActionListener中有这个

    if( eventSource == onderdelenGebruikt){
        System.out.println("test");
    }

我知道如何将组合框和文本字段添加到面板中,但目前它甚至不会将test打印到控制台

1 个答案:

答案 0 :(得分:0)

你的问题:

  

我知道如何将组合框和文本字段添加到面板中,但目前它甚至不会将测试打印到控制台。

答案:

  

JcomboBox的引用存储在某处,然后在ActionListener中查看来源。

这样做:

    final JComboBox comboBox = new JComboBox(onderdelenBox());
    onderdelenGebruikt.add(comboBox);

    comboBox.addActionListener(MyFrame.this);

您的ActionListener将如下所示。

if( eventSource == comboBox ){
    System.out.println("test");
}