将JTextPane字符串添加到JComboBox

时间:2018-08-29 18:12:55

标签: java swing jbutton jtextfield jcombobox

我已经在该站点上查看了类似的问题,但是我似乎无法理解这个概念,因此我必须发表自己的问题才能获得针对我的特定答案。

我试图通过单击JButton btnAdd将输入到JTextField txtAddEng中的文本添加到JComboBox engBox中。

    engBox = new JComboBox();
    engBox.setMaximumRowCount(1000);
    engBox.setModel(new DefaultComboBoxModel(new String[] {"Select an Engagement"}));
    engBox.setBounds(10, 0, 181, 20);       
    sopPanel.add(engBox);

    txtAddEng = new JTextField();
    txtAddEng.setHorizontalAlignment(SwingConstants.CENTER);
    txtAddEng.setToolTipText("Type ENG-#### and click Add");
    txtAddEng.setText("Add an engagement?");
    txtAddEng.setBounds(201, 0, 181, 20);
    sopPanel.add(txtAddEng);
    txtAddEng.setColumns(10);

    JButton btnAdd = new JButton("Add");
    btnAdd.setBounds(383, 3, 51, 17);
    btnAdd.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent clickAdd) {
            txtAddEng.toString();
            engBox.add(txtAddEng);
        }
    });

1 个答案:

答案 0 :(得分:1)

txtAddEng.toString();

该语句不执行任何操作。它仅调用toString()方法,但从未将其分配给变量。摆脱那句话。

engBox.add(txtAddEng);

您不想将文本字段添加到组合框。您想要在文本字段的组合框模型中添加文本。

所以代码应该是

engBox.addItem( txtAddEng.getText() );

阅读How to Use Combo Boxes上Swing教程中的部分,以获取更多信息和工作示例。保留所有Swing基础知识的方便链接。