简体   繁体   English

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

[英]Java - Saving each line of text instead of replacing it

everytime I write something in the text box and press enter, I'm able to see the message in the "Uneditabletest", however, if I write something different and press enter, It will replace my last message, what do I do to have them saved one after another? 每次我在文本框中输入内容并按Enter时,我都可以在“ Uneditabletest”中看到该消息,但是,如果我编写不同的内容并按Enter键,它将替换我的上一条消息,我该怎么做他们一个接一个地保存了吗? Like if it was a chat or something similar. 就像是聊天或类似内容一样。

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);
    }
}

Simply append it to the end. 只需将其附加到末尾即可。 In this case, it would be jtfUneditableText.setText(jtfUneditableText.getText() + "\\n" + disp) 在这种情况下,它将是jtfUneditableText.setText(jtfUneditableText.getText() + "\\n" + disp)

There should be something like getText() in jtfUneditableText, so you can do jtfUneditableText.setText(jtfUneditableText.getText() + "\\n" + disp); jtfUneditableText中应该有类似getText()的东西,因此您可以执行jtfUneditableText.setText(jtfUneditableText.getText() + "\\n" + disp);

So the text in jtfUneditableText will be what was there before (jtfUneditableText.getText()) plus a line break (\\n), and the new text. 因此,jtfUneditableText中的文本将是之前的内容(jtfUneditableText.getText())加上换行符(\\ n)和新文本。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM