【发布时间】:2017-01-15 04:14:41
【问题描述】:
我正在尝试制作一个可以搜索名称集合并返回与您搜索的名称接近的应用程序。示例:搜索 jos,并在 JList 中返回 jose、josie 和 josh。
这是我用作原型的代码:
public class Window {
private JPanel pan;
private String[] names1 = {"lewis","joe","jack","ryan","kane","google","brooke"};
private LinkedList<String> names;
private String[] name;
private JTextField enterbar;
private JButton btn;
private JTextField enterbar2;
private JButton btn2;
public Window(){
enterbar = new JTextField(10);
btn = new JButton("enter");
enterbar2 = new JTextField(10);
btn2 = new JButton("Add");
names = new LinkedList<String>();
names.add("rose");
pan = new JPanel();
Font f1 = new Font("ariel", 0 , 20);
JFrame frame = new JFrame("Contact Saver");
DefaultListModel v = new DefaultListModel();
v.addElement(names);
JList list = new JList(v);
list.setVisibleRowCount(4);//sets how many elements you can see and if there is more it adds a scroll bar
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//makes it so you can only select one element at a time
list.setFixedCellWidth(600);
list.setFixedCellHeight(30);
list.setFont(f1);
frame.add(enterbar);
frame.add(btn);
frame.add(enterbar2);
frame.add(btn2);
pan.add(new JScrollPane(list));
frame.add(pan);//adds a scroll bar to the list
frame.setLayout(new FlowLayout());
frame.setSize(700,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setVisible(true);
list.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent event) {
System.out.println("here");
}
});
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event) {
v.clear();
if(names.contains(enterbar.getText().toLowerCase()))System.out.println("here");
for(int i =0; i < names.size();i++){
v.addElement(names.get(i));
}
System.out.println(v);
}
});
btn2.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
v.clear();
names.add(enterbar2.getText());
for(int i =0; i < names.size();i++){
v.addElement(names.get(i));
}
}
});
}
public static void main(String args[]){
new Window();
}
}
【问题讨论】:
-
那你想问什么?
-
@minigeek 如何搜索我的姓名集合并找到具有共同字符序列的姓名
标签: java search collections