Comment imprimer un texte à une zone de texte
J'ai une zone de texte où je veux les messages à afficher dans mon jeu et je me demandais comment j'allais faire une méthode qui permettrait d'imprimer un texte dans la zone de texte. Voici mon GUI classe:
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();
}
}
Donc, fondamentalement, je veux faire une méthode qui est comme:
public void printTextField(String text) {
//print text to Gui.textArea
}
- Êtes-vous sûr que vous voulez ajouter le composant textArea et le composant scrollPane? Plutôt que de simplement ajouter le composant scrollPane (qui détient le textArea)?
Vous devez vous connecter pour publier un commentaire.
Vous dire d'autres que
?
Ok, vous pouvez créer un OutputStream pour que.
Le jTextArea sera alors l'impression dans votre interface n'importe quel Système.out.print() ou des erreurs...
Faire que vous l'ajouter à l'endroit où vous créez des composants de l'interface utilisateur.
Et vous ajoutez ci-dessous, par exemple:
Vous avez besoin d'un intérieur de classe au sein de votre code qui s'étend OutputStream,
(ici, je le fais toujours pour un jTextArea j'ai initialisé appelé "jTextArea1')
Avec qui, tout Système.out sont redirigés ici, et il va conserver toutes les données que vous donnez, vous n'avez pas besoin de cette dernière méthode.
Et jTextArea1 est juste jTextArea pour vous...