【问题标题】:add JTextPane string to JComboBox将 JTextPane 字符串添加到 JComboBox
【发布时间】:2019-02-04 14:48:52
【问题描述】:

我在这个网站上查看过类似的问题,但我似乎无法掌握这个概念,所以我必须发布我自己的问题以获得特定于我的答案。

我试图通过单击 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);
        }
    });

【问题讨论】:

  • 什么意思?您的意思是将文本标签从 JTextField 转移到 JComboBox 项目标签之一?
  • 是的。因此,JComboBox 默认为“选择参与”,但其下没有列出任何项目。我想制作 JTextPane 以便我可以键入“Eng-####”,然后单击 JButton,然后它将在“选择参与”下将键入的内容添加到 JComboBox

标签: java swing jbutton jtextfield jcombobox


【解决方案1】:
txtAddEng.toString();

那句话什么也没做。它只是调用 toString() 方法,但从不将其分配给变量。摆脱这种说法。

engBox.add(txtAddEng);

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

所以代码应该是;

engBox.addItem( txtAddEng.getText() );

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

【讨论】:

  • 就是这么简单。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2013-07-20
  • 1970-01-01
  • 1970-01-01
  • 2015-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多