0

我正在开发一个 Swing 应用程序,我的应用程序允许用户输入名字、姓氏和电话号码。用户单击添加按钮并将条目添加到 jlist 中(因此它就像电话簿一样)。我在 JList 上方有一个 jTextfield,我希望允许用户在其中搜索 Jlist 上的特定姓名或电话号码,因此它类似于谷歌搜索,您键入一个字符,它会在 JList 中显示具有相关字符的名称和这样的。在这一点上真的被卡住并迷失了任何帮助吗?

这是我将名称添加到我的 Jlist 的添加按钮代码:

private void btnAddContactActionPerformed(java.awt.event.ActionEvent evt) {

    String firstName = txtFirstName.getText();
    String lastName = txtLastName.getText();
    String phoneNum = (txtPhoneNum.getText());
    NumberFormat number = NumberFormat.getNumberInstance();
    //Phone Number formatted
   StringBuilder sb = new StringBuilder(phoneNum).insert(0, "(")
           .insert(4,")").insert(8,"-");
   String phoneNumFormatted = sb.toString();

    contactsArrayList.add(firstName + "\t    " + lastName + "\t    " + phoneNumFormatted);
    DefaultListModel<String> model = new DefaultListModel<>();
    for(int i = 0; i < contactsArrayList.size(); i++)
    {
        String myArraylst = contactsArrayList.get(i);
        model.addElement(myArraylst + "\t");
    }

    listPhoneBookContacts.setModel(model);
    txtFirstName.setText("");
    txtLastName.setText("");
    txtPhoneNum.setText("");

}
4

2 回答 2

0

在 Swing 中实现这种东西是可能的,但它很粗糙,而且你不太可能做好它(因为它很难)。您最好将其留给其他库,例如SwingX。他们有一堆你可以使用的组件,这些组件可能完全符合你的要求。

如果您不想使用它,快速的 Google 搜索会显示一个很好的过滤 JLists 的教程

于 2013-04-28T04:15:48.293 回答
0

我的应用程序允许用户输入名字、姓氏和电话号码

我会使用 JTable 来显示所有这些信息。

所以它有点像谷歌搜索,你输入一个字符,它会显示带有相关字符的名称

JTable 内置了过滤功能。有关工作示例,请参阅排序和过滤

于 2013-04-28T04:31:04.943 回答