создание JTextField для получения ввода от пользователя - PullRequest
0 голосов
/ 31 марта 2011
System.out.println("Please enter the website  :");
    Scanner scan2 = new Scanner(System.in);
    String word2 = scan2.nextLine();

    try {
        URL my_url = new URL("http://" + word2 + "/");
        BufferedReader br = new BufferedReader(new InputStreamReader(
                my_url.openStream()));
        String strTemp = "";
        while (null != (strTemp = br.readLine())) {
            _resultArea.append(strTemp + newline);
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    System.out.println("\n");
    System.out.println("\n");
    System.out.println("\n");


    String url = "http://" + word2 + "/";
    print("Fetching %s...", url);

    try{
    Document doc = Jsoup.connect(url).get();
    Elements links = doc.select("a[href]");


    System.out.println("\n");

    BufferedWriter bw = new BufferedWriter(new FileWriter("C:\\Users\\user\\fypworkspace\\FYP\\Link\\abc.txt"));
    _resultArea.append("\n");
    for (Element link : links) {
        print("  %s  ", link.attr("abs:href"), trim(link.text(), 35));

        bw.write(link.attr("abs:href"));
        bw.write(System.getProperty("line.separator"));
    }
    bw.flush();
    bw.close();
    } catch (IOException e1) {

Привет, это мой код для извлечения ссылок с веб-адреса. Пользователь введет нужный URL, и этот код извлечет ссылки из URL.

Этот код предлагает пользователю ввести URL-адрес в консоли ECLIPSE IDE. После ввода ввода код извлекает ссылки из URL-адреса и передает выходные данные в JTextArea.

Что я хотел сделать сейчас, так это то, что я хотел бы создать поле Jtext для получения пользовательского ввода, а не пользовательского ключа ввода внутри консоли.

Строка кода, которая отвечает за обработку ввода строки:

URL my_url = new URL("http://" + word2 + "/");

и

String url = "http://" + word2 + "/";

У меня нет большого опыта в разработке GUI, я надеюсь, что кто-то может мне помочь. Благодарю.

Ответы [ 2 ]

1 голос
/ 31 марта 2011

Вы можете использовать JButton с ActionListener для захвата ввода, когда пользователь нажимает на кнопку. Используйте textField.getText(), чтобы получить строку с вводом текстового поля.

Вот краткий пример:

    // Create a Textfield
    JTextField textField = new JTextField();

    // Create a Button
    JButton button = new JButton("Let's go");

    // Add an Actionlistener to the button
    button.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent event) {
            // Set word2 with the input string from the textfield
            word2 = textField.getText();
        }
    });

    // Create a window
    JFrame window = new JFrame();
    // Exit on close
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    // set the LayoutManager
    window.setLayout(new BorderLayout());
    // Add the textfield and button to the JFrames contentpane.
    window.add(textField);
    window.add(button, BorderLayout.SOUTH);

    window.pack();
    window.setVisible(true);

Есть несколько замечательных примеров от Oracle, которые объясняют использование JTextFields: http://download.oracle.com/javase/tutorial/uiswing/components/textfield.html

0 голосов
/ 31 марта 2011

Я не тестировал приведенный ниже код, и вы должны послушать MByD и следовать учебному пособию по Swing. Но просто для примера, вот как это может работать.

public class MyFrame extends JFrame{
    private JTextField textField;
    public MyFrame(){
        this.textField = new JTextField();
        add(this.textField);
    }

    public JTextField getTextField(){
        return this.textField;
    }
}

И где-то в вашем коде:

...
        MyFrame myFrame = new MyFrame();
        myFrame.pack();
        myFrame.setVisible(true);
...

После этого вы можете получить значение в текстовом поле, используя ссылку на ваш фрейм, например:

myFrame.getTextField.getText();
...