Hallo, ich habe würde gerne eine grafische Oberfläche erstellen, in der ein Text erscheint (JTextArea). Wenn ich auf den Button (JButton) klicke, soll das erstellte Textfeld durch ein neues Textfeld ersetzt werden. Leider klappt es nicht, des alten Text zu entfernen und den neuen darauf zu setzen. Es handelt sich dabei um etwas, was ich grade für die Uni mache.
Ich wäre für Hilfe sehr dankbar, hier mein Code:
Ich wäre für Hilfe sehr dankbar, hier mein Code:
Java:
import java.awt.Container;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class Beispiel {
// Fenster
JTextArea text;
private JFrame frame;
private Container contentPane;
// Konstruktor
public Beispiel() {
generateUI(); // Fenster wird erstellt
generateText();
generateButton();
}
// Fenster erstellen:
private void generateUI() {
frame = new JFrame("Texte");
frame.setSize(400, 480);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contentPane = frame.getContentPane();
contentPane.setLayout(null);
frame.setVisible(true);
}
// Text erstellen:
public JTextArea generateText() {
text = new JTextArea("Text AAAA");
text.setBounds(165, 100, 100, 20);
contentPane.add(text);
return text;
}
private void generateButton() {
JButton weiterButton = new JButton("Weiter");
weiterButton.setBounds(165, 300, 70, 35);
weiterButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JTextArea nächsterText = new JTextArea("Text BBBB");
nächsterText.setBounds(150, 200, 100, 40);
contentPane.remove(text);
contentPane.add(nächsterText);
}
});
contentPane.add(weiterButton);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new Beispiel();
}
});
}
}
Zuletzt bearbeitet von einem Moderator: