簡體   English   中英

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

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

每次我在文本框中輸入內容並按Enter時,我都可以在“ Uneditabletest”中看到該消息,但是,如果我編寫不同的內容並按Enter鍵,它將替換我的上一條消息,我該怎么做他們一個接一個地保存了嗎? 就像是聊天或類似內容一樣。

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

只需將其附加到末尾即可。 在這種情況下,它將是jtfUneditableText.setText(jtfUneditableText.getText() + "\\n" + disp)

jtfUneditableText中應該有類似getText()的東西,因此您可以執行jtfUneditableText.setText(jtfUneditableText.getText() + "\\n" + disp);

因此,jtfUneditableText中的文本將是之前的內容(jtfUneditableText.getText())加上換行符(\\ n)和新文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM