创建一个JTextField以接收来自用户的输入

时间:2011-03-31 13:05:17

标签: java swing jtextfield

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中提取链接。

此代码提示用户在ECLIPSE IDE控制台中键入URL。键入输入后,代码将从URL中提取链接并将输出传输到JTextArea。

我现在想做的是,我想创建一个Jtextfield来接收用户输入而不是控制台内输入中的用户键。

负责处理字符串输入的代码行是:

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

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

我对GUI的开发经验不多,希望有人能指导我。谢谢。

2 个答案:

答案 0 :(得分:1)

当用户点击按钮时,您可以使用JButtonActionListener来获取输入。使用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

答案 1 :(得分:0)

我没有测试下面的代码,你应该听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();