有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JFrame表单从JTextField添加到JList

我正在尝试创建一个联系人字段,您可以在两个单独的文本字段中键入名字和姓氏,然后单击我创建的“添加”按钮将其发送到列表中,但我不确定如何准确地执行此操作,因为我是jFrame的新手。我在一个教程中使用了一些类似于使用float(如下所示)的东西,只是因为我不确定如何使用“String”变体,但是这似乎只在“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) 个答案

  1. # 1 楼答案

    试试看:

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

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

  2. # 2 楼答案

    this only seems to work when the "setText" command is set on another text field and won't work on a jList.

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

    阅读Swing教程中关于How to Use Lists的部分,了解一个几乎完全满足您需求的工作示例

    该示例使用了单个文本字段,您应该能够轻松地将其与两个文本字段一起使用

  3. # 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);
    }
    

    我认为这段代码将帮助你解决你的问题