【问题标题】:JFrame Form add from JTextField to JListJFrame 表单从 JTextField 添加到 JList
【发布时间】:2013-09-29 03:25:47
【问题描述】:

我正在尝试创建一个联系人字段,您可以在其中在两个单独的文本字段中输入名字和姓氏,然后单击我创建的“添加”按钮将其发送到列表,但我不确定如何准确地做到这一点,是 jFrame 的新手。我在教程中使用了与使用浮点数类似的东西(如下所示),只是因为我不确定如何使用“字符串”变体,但这似乎只在“setText”命令是在另一个文本字段上设置,并且不适用于 jList。

float num1, num2, result;
num1 = Float.parseFloat(textFieldFirstName.getText());
num2 = Float.parseFloat(textFieldLastName.getText());
result = num1+num2;
listFieldContact.setText(String.valueOf(result));

对于 jFrame 有什么想法甚至是好的资源吗?我查看了很多地方,但他们似乎从来没有完全拥有我需要的信息。

【问题讨论】:

标签: java swing jframe jtextfield jlist


【解决方案1】:

试试:

String fname = textFieldFirstName.getText();
String lname = textFieldLastName.getText();
listFieldContact = fname + " " + lname;

正如 MadProgrammer 指出的那样,您不需要浮点转换。您确实需要在名字和姓氏之间留一个空格。也许你在其他情况下想要lname + ", " + fname

【讨论】:

    【解决方案2】:

    这似乎只在“setText”命令设置在另一个文本字段上时才有效,并且不适用于 jList。

    JList 没有 setText(...) 方法。您需要更新ListModel

    阅读 How to Use Lists 上的 Swing 教程部分,了解几乎完全符合您要求的工作示例。

    该示例使用单个文本字段,您应该可以轻松地使其与两个文本字段一起使用。

    【讨论】:

      【解决方案3】:

      我认为要使 JList 中的值可用,不必使用 Float 进行字符串操作。我们可以这样做:

      Vector<String> nameVector = new Vector<>();
      JList<String> nameList = new JList<>();
      
      public void addText() {
          nameVector.add(firstNameTF.getText()+lastNameTF.getText());
          nameList.setListData(nameVector);
      }
      

      我认为这段代码将帮助您解决您的查询。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-29
        • 2015-12-18
        • 2011-07-03
        • 2021-04-10
        • 2021-06-02
        相关资源
        最近更新 更多