从GUI搜索文本文件

时间:2011-06-01 12:29:55

标签: java swing search text-files

好的,所以我在控制台中使用扫描仪进行了搜索功能,但我现在想从GUI创建一个搜索功能。当文本输入JTextField并点击JButton时,我想要一种逐行搜索我的文本文件的方法,直到找到搜索条件并将其打印到{{1} }。

文本文件中的数据格式如下:

最好的方法是什么?

先谢谢

2 个答案:

答案 0 :(得分:5)

您已经有了搜索方法,因此请在按钮中添加一个动作侦听器,它将调用您的方法,例如:

myButton.addActionListener(new ActionListener() {

    public void actionPerformed(ActionEvent e) {
        String whatToSearch = myTextField.getText();
        String result = yourSearchMethod(whatToSearch);
        // use the fitting method of JOptionPane to display the result
    }
}

看到您的更新,您最好拆分搜索功能,因此它会将搜索条件作为输入接收,例如:

public class SearchProp {
     public String getSearchCriteria()
     {
            Scanner user = new Scanner(System.in);
            System.out.println();
            System.out.println();
            System.out.println("Please enter your Search: ");
            input = user.next();
     }

     public void Search(String input) throws FileNotFoundException{
        try{
            String details, id, line;
            int count;
            Scanner housenumber = new Scanner(new File("writeto.txt"));
            while(housenumber.hasNext())
            {
                id = housenumber.next();
                line = housenumber.nextLine();
                if(input.equals(id))
                {
                    JOptionPane.showMessageDialog(null,id + line );
                    break;
                }
                if(!housenumber.hasNext())      
                     System.out.println("No Properties with this criteria");
            }
       }

       catch(IOException e)
       {
            System.out.print("File failure");
       }
   }
}

现在,当您从控制台运行它时,首先调用getSearchCriteria,然后调用SearchSearch的输入是getSearchCriteria的返回值。在GUI中,您只需要调用搜索(将JTextField中的文本作为输入)。

答案 1 :(得分:1)

我不知道..

myButton.addActionListener(new ActionListener() {

    public void actionPerformed(ActionEvent e) {
        String whatToSearch = myTextField.getText();
        String result = yourSearchMethod(whatToSearch);
        // use the fitting method of JOptionPane to display the result
    }
}