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)
你的意思是除了
public void printTextField(String text) {
textArea.setText(text);
}
Run Code Online (Sandbox Code Playgroud)
?