JFrame Form从JTextField添加到JList

时间:2013-09-24 03:54:21

标签: java swing jframe jtextfield jlist

我正在尝试创建一个联系人字段,您可以在两个单独的文本字段中键入名字和姓氏,然后单击我创建的“添加”按钮将其发送到列表中,但我不确定如何做到这一点,是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有什么想法甚至是好的资源吗?我看过很多地方,但他们似乎从来没有完全掌握我需要的信息。

3 个答案:

答案 0 :(得分:3)

  

只有在另一个文本字段上设置“setText”命令并且无法在jList上工作时,这似乎才有效。

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

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

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

答案 1 :(得分:1)

尝试:

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

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

答案 2 :(得分:0)

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

Vector<String> nameVector = new Vector<>();
JList<String> nameList = new JList<>();

public void addText() {
    nameVector.add(firstNameTF.getText()+lastNameTF.getText());
    nameList.setListData(nameVector);
}

我认为这段代码可以帮助您解决问题。