GUI Débutant ici.Les boutons de l'interface graphique Java n'impriment pas la chaîne à l'interface
Mon problème n'est pas de créer une interface graphique, mais d'avoir les 2 boutons d'impression de la chaîne dans le JTextArea à l'intérieur de l'interface.
Le premier bouton "appris" prend un élément aléatoire du tableau et l'imprime. Le deuxième bouton "clear" est juste censé imprimer une chaîne quand il est pressé J'ai des écouteurs d'action pour les deux boutons, mais je n'arrive toujours pas à l'obtenir.
Merci pour votre temps.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
public class GUI extends JFrame {
String [] sentences = {"Random sentence 1", "random sentence 2", "random sentence 3", "random sentence 4", random sentence 5", "random sentence 6"};
private Container contents;
JButton learned = new JButton("Learned");
JButton clear = new JButton("Clear");
JTextArea clearDisplay;
public GUI()
{
super ("GUI"); //title bar text
contents = getContentPane();
contents.setLayout(new FlowLayout()); //make buttons appear
//set the layout manager
//instantiate buttons
learned = new JButton("I Learned");
clear = new JButton("Clear");
//add components to window
contents.add(learned);
contents.add(clear);
//instantiate event handler
ButtonHandler bh = new ButtonHandler();
//add event handler as listener for both buttons
learned.addActionListener (bh);
clear.addActionListener(bh);
setSize (400, 200); //size of window
setVisible (true); //see the window
}
public class ButtonHandler implements ActionListener
{
//implement ActionPerformed method
public void actionPerformed(ActionEvent e)
{
Container contentPane = getContentPane();
if (e.getSource() == learned)
{
String random = (sentances[new Random().nextInt(sentances.length)]); //random from array
JTextArea learned = new JTextArea(random);
}
else if (e.getSource() == clear)
{
JTextArea clearDisplay = new JTextArea("This is where it will display what I learned. \\nMessage Displayed Here.");
}
}
}
public static void main(String[] args)
{
GUI basicGui = new GUI();
basicGui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //program exits on close
}
}
................. Bonne réponse –