我有一個文本區域,我希望在我的遊戲中顯示消息,我想知道如何去製作將文本打印到文本區域的方法。這裏是我的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();
}
}
所以基本上我想要的是像一個方法:
public void printTextField(String text) {
//print text to Gui.textArea
}
你確定要添加textarea的***和***滾動面板兩者兼而有之?相反,只需添加scrollPane(其中包含textArea)呢? –