如何将文本打印到文本区域

Eri*_*len 2 java methods swing jtextarea

我有一个文本区域,我想在我的游戏中显示消息,我想知道我将如何制作一个方法,将文本打印到文本区域.这是我的GUI类:

package com.erikbalen.rpg;
import com.erikbalen.core.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Gui extends JFrame implements ActionListener {

/**
 * 
 */
private static final long serialVersionUID = -384241835772507459L;
private JLabel playerInfo;
private JTextField textField;
private final static String newline = "\n";
private JTextArea textArea;
private JScrollPane scrollPane;

public Gui(Player currentPlayer) {
    super("Erik's RPG");
    setLayout(new FlowLayout());        
    playerInfo = new JLabel(
       "<html>Health = " + currentPlayer.getHealth() 
               + " | " + "Mana = " + currentPlayer.getMana() + "</html>");  
    playerInfo.setBorder(BorderFactory.createTitledBorder(
               currentPlayer.getName()));
    textField = new JTextField(20);
    textField.addActionListener(this);
    textArea = new JTextArea(5, 20);
    scrollPane = new JScrollPane(textArea); 
    textArea.setEditable(false);

    add(playerInfo);
    add(textArea);
    add(textField);
    add(scrollPane);        
}

public void actionPerformed(ActionEvent textBox) {
        String text = textField.getText();
        textArea.append(text + newline);
        textArea.setCaretPosition(textArea.getDocument().getLength());
        textField.selectAll();          
}   
}
Run Code Online (Sandbox Code Playgroud)

所以基本上我想制作一个类似的方法:

public void printTextField(String text) {
    //print text to Gui.textArea
}
Run Code Online (Sandbox Code Playgroud)

Bab*_*fas 6

你的意思是除了

public void printTextField(String text) {
    textArea.setText(text);
}
Run Code Online (Sandbox Code Playgroud)