如何在我键入的同一窗口上打印字符串,而不是在Java中的弹出窗口中打印

时间:2014-02-16 02:11:20

标签: java popup jtextfield

所以,这是我的代码:

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

public class NewClass extends JFrame{
    private JTextField item1;
    private JTextField item3;
    private JTextField item4;

    public NewClass(){
        super("The title");
        setLayout(new FlowLayout());

        item3 = new JTextField("Agrega el nombre del evento y da Enter", 22);
        item3.setEditable(false);
        add(item3);

        item1 = new JTextField(22);
        add(item1);


        thehandler handler = new thehandler();
        item1.addActionListener(handler);
        item3.addActionListener(handler);
        item4.addActionListener(handler);

    }

    private class thehandler implements ActionListener{

        public void actionPerformed(ActionEvent event){

            String string = "";

            if(event.getSource()==item1)
                string=String.format("Process ready: %s", event.getActionCommand());
            else if(event.getSource()==item3)
                string=String.format("field 3:%s", event.getActionCommand());


            JOptionPane.showMessageDialog(null, string);
        }
    }

}

这是我的主要内容:

import javax.swing.JFrame;

public class ProyectoSOD {
    public static void main(String[] args) {

        NewClass odioSOD = new NewClass();
        odioSOD.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        odioSOD.setSize(300, 350);
        odioSOD.setVisible(true);
    }

}

我想要做的是将TextField中的文本(来自item3)保存到同一窗口中另一个带有.setEditable(false)的TextField,这样我就可以写一个文本行(在item3上),按回车键,并将其保存在同一窗口中,然后重写该行,按Enter键,并将其与前一个文本一起显示。我希望每次按回车都能堆叠所有这些文字。

我当前的程序在弹出窗口中显示了消息,但我需要堆叠多行。

谢谢:)

1 个答案:

答案 0 :(得分:1)

我不确定你要做什么。如果你想跟踪输入文本字段的所有内容,比如输入历史,你可以做Eric Jablow所说的并使用JTextArea。因此,当用户在文本字段中输入输入并点击输入时,它会将文本字段中的文本附加到文本区域。

http://docs.oracle.com/javase/tutorial/uiswing/components/textarea.html

这可能是一个很好的起点。