Поиск текстового файла из GUI - PullRequest
2 голосов
/ 01 июня 2011

Хорошо, поэтому я сделал функцию поиска, используя сканер в консоли, но теперь я хотел бы создать функцию поиска из моего графического интерфейса. Когда текст вводится в JTextField и нажимается JButton, я бы хотел метод, который построчно просматривал бы мой текстовый файл, пока не нашел искомый критерий и не распечатал его в JOptionPane.

Данные в текстовом файле отформатированы следующим образом:

Какой лучший способ это сделать?

Заранее спасибо

Ответы [ 2 ]

5 голосов
/ 01 июня 2011

У вас уже есть метод поиска, поэтому добавьте слушатель действия к вашей кнопке, который будет вызывать ваш метод, что-то вроде:

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, а затем Search. Ввод Search является возвращаемым значением getSearchCriteria. В вашем графическом интерфейсе вам нужно только вызвать поиск (с вводом текста из JTextField).

1 голос
/ 12 мая 2012

я не знаю ..

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
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...