Java - 保存每行文本而不是替换它

时间:2014-02-16 02:37:40

标签: java chat

每次我在文本框中写一些内容并按回车键,我就可以在“Uneditabletest”中看到该消息,但是,如果我写了不同的内容并按回车键,它将替换我的上一条消息,我该怎么办?他们一个接一个地保存了吗?就像它是聊天或类似的东西。

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

public class Tutorial extends JFrame {

JTextField jtfText1, jtfUneditableText;
String disp = "";
TextHandler handler = null;

public Tutorial() {
    super("TextField Test Demo");
    Container container = getContentPane();
    container.setLayout(new FlowLayout());
    jtfText1 = new JTextField(10);
    jtfUneditableText = new JTextField("Uneditable text field", 20);
    jtfUneditableText.setEditable(false);
    container.add(jtfText1);
    container.add(jtfUneditableText);
    handler = new TextHandler();
    jtfText1.addActionListener(handler);
    jtfUneditableText.addActionListener(handler);
    setSize(325, 100);
    setVisible(true);
}

private class TextHandler implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == jtfText1) {
            disp = "text1 : " + e.getActionCommand();
        } else if (e.getSource() == jtfUneditableText) {
            disp = "text3 : " + e.getActionCommand();
        }

        jtfUneditableText.setText(disp);

        }
    }

    public static void main(String args[]) {
        Tutorial test = new Tutorial();
        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

2 个答案:

答案 0 :(得分:0)

只需将其追加到最后。在这种情况下,它将是jtfUneditableText.setText(jtfUneditableText.getText() + "\n" + disp)

答案 1 :(得分:0)

在jtfUneditableText中应该有像getText()这样的东西,所以你可以做jtfUneditableText.setText(jtfUneditableText.getText() + "\n" + disp);

因此jtfUneditableText中的文本将是之前的文本(jtfUneditableText.getText())加上换行符(\ n)和新文本。