Bonsoir,
J'ai un petit problème dans ma concéption du language objet, problème auquel, je me suis retrouvé plusieurs fois confronté sans succès...
Je souhaiterais savoir quelles sont les diverses méthodes, pour que lorsque l'on a 2 classes (eventuellement 2 JFrame), à partir d'une action sur l'une, on puisse engendrer une modification (dans mon cas un repaint()) sur un ou plusieurs composants de l'autre.
J'avais pensé au static, mais ce n'est pas propre et en plus pas viable dans mon cas car à la fermeture de la fenêtre en question, suivi de sa réouverture, le paintComponent a été "sauvegardé" à travers ces variables.
Code :
- public class okAction implements java.awt.event.ActionListener {
- public void actionPerformed(java.awt.event.ActionEvent e) {
- if(horlConfigEnable==true) {
- if(highField.getText().equals("" ) || lowField.getText().equals("" ) || iniOff.getText().equals("" ) || benchField.getText().equals("" )
- || pasField.getText().equals("" )) {
- JOptionPane.showMessageDialog(null, "Toutes les données n'ont pas été inscrites", "Erreur", JOptionPane.ERROR_MESSAGE);
- }
- else { pas=Integer.parseInt(pasField.getText());
- dureeSimuInitiale=Integer.parseInt(benchField.getText());
- System.out.println(pas);
- System.out.println(dureeSimuInitiale);
- dispose();
- }
- }
- else {
- if(benchField.getText().equals("" ) || pasField.getText().equals("" )) {
- JOptionPane.showMessageDialog(null, "Toutes les données n'ont pas été inscrites", "Erreur", JOptionPane.ERROR_MESSAGE);
- }
- else { pas=Integer.parseInt(pasField.getText())*Rule.TEMPS;
- dureeSimuInitiale=Integer.parseInt(benchField.getText())*Rule.TEMPS;
- //FenetreSimulation.columnView.repaint();
- //FenetreSimulation.chronogramme.repaint();
- dispose();
- }
- }
- }
- }
|
Je me retrouve donc avec une classe FenetreWizard, dans laquelle j'ai ajouté un ActionListener au bouton OK de telle sorte à ce qu'il mette à jour la valeur de certaines variables et à l'issu de cette mise à jour, je voudrais repeindre deux objets qui sont dans ma classe principale FenetreSimulation. Et je ne sais pas comment m'y prendre...
Puis je le faire à partir de mon ActionListener du bouton OK ? ou bien dois je me concentrer sur la classe principale ou encore sur la classe des objets en question ?
Pour une méthode comme pour l'autre, je n'ai pas d'idée concrete alors si quelqu'un pourrait m'apporter sa lumière, je lui en serrai reconnaissant !
Merci d'avance et bonne soirée.