-1

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

4

3 回答 3

3

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

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

阅读 Swing 教程中关于如何使用列表的部分,以获取几乎完全符合您要求的工作示例。

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

于 2013-09-24T04:04:24.427 回答
1

尝试:

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

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

于 2013-09-24T04:02:40.217 回答
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);
}

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

于 2013-09-24T04:43:03.887 回答