使用Swing'在Java屏幕上打印;s JTextField

使用Swing'在Java屏幕上打印;s JTextField,java,swing,user-interface,actionlistener,jtextfield,Java,Swing,User Interface,Actionlistener,Jtextfield,可能重复: 请参阅下面的代码: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Swingtest extends JFrame implements ActionListener{ JTextField txtdata; JButton calbtn = new JButton("Calculate"); public Swingtest()

可能重复:

请参阅下面的代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

    public class Swingtest extends JFrame implements ActionListener{
    JTextField txtdata;
    JButton calbtn = new JButton("Calculate");

    public Swingtest()
    {
        JPanel myPanel = new JPanel();
        add(myPanel);
        myPanel.setLayout(new GridLayout(3, 2));
        myPanel.add(calbtn);
        calbtn.addActionListener(this);
        txtdata = new JTextField();
        myPanel.add(txtdata);
    }

    public void actionPerformed(ActionEvent e)
    {
        if (e.getSource() == calbtn) {
            String data = txtdata.getText(); //perform your operation
            System.out.println(data);
        }
    }

    public static void main(String args[])
    {
        Swingtest g = new Swingtest();
        g.setLocation(10, 10);
        g.setSize(300, 300);
        g.setVisible(true);
    }
}

我要做的是在同一窗口中显示用户在字段中输入的文本。有点像在文本更改时使用paint(图形g)和repaint()。请帮忙。谢谢。

这可以通过重定向I/O/E流来完成:

我本来会给你一个详细的答案,但为这个问题选择的答案的回答者解释得更好

见这个问题:


将其读入StringBuffer后,可以将其打印到JTextField或JTextArea。。etc

添加JLabel、JTextField、JTextArea或任何能够显示文本的组件。获取用户输入文本的JTextField的文档,并向该文档添加DocumentChangeListener。每次收到DocumentEvent时,从JTextField获取文本并更新JLabel、JTextField、JTextArea或您选择的任何组件中的文本。

Yeah。这是因为我最初是在看那篇博文,所以我不能使用类似的东西:void paint(Graphics g){//print it?}你可以设计自己的Swing组件来显示一行文本,但是为什么你会这样做呢,因为已经存在这样做的标准组件?请给出一个示例代码