Méthode avec composants sur plusieurs classes
Bonjour,
J'ai un petit soucis en Java/methodologie.
J'ai 2 jPanel dans lesquelles j'ai une partie des methodes identiques avec des composants portant les memes noms. Je voudrais mettre les methodes identique sur une classe differente pour n'avoir qu'une seule méthode d'écrite et donc eviter toute erreur, mais les methodes ne vont pas toucher les memes composants meme s'ils ont le meme nom dans les 2 jPanel.
Je ne sais pas comment proceder autrement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| public class Initialize {
public static JFrame mainFrame = null;
public static JPanel jPanel2;
public static JPanel jPanel4;
public static JTabbedPane jTabbedPane1;
public Initialize() {
mainFrame = new JFrame("Programme");
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setMinimumSize(new Dimension(Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit.getDefaultToolkit().getScreenSize().height));
mainFrame.setPreferredSize(new Dimension(Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit.getDefaultToolkit().getScreenSize().height));
mainFrame.setVisible(true);
jTabbedPane1 = new javax.swing.JTabbedPane();
jTabbedPane1.setPreferredSize(mainFrame.getSize());
mainFrame.add(jTabbedPane1);
//Librairie - ProgLibrary
jTabbedPane1.addTab("Librairie", getJPanel2());
//Programmation - ProgScenario
jTabbedPane1.addTab("Programmation", getJPanel4());
}
/**
* Page de programmation des librairies
*/
public static JPanel getJPanel2() {
// TODO Auto-generated method stub
int debutDecomp = 50;
jPanel2 = new JPanel();
jPanel2.setLayout(new GroupLayout());
//Affiche la couleur
jPanel2.add(PourScenario.getJlabelColorise(jPanel2), new Constraints(new Leading(500, 10, 10), new Leading(debutDecomp+380, 12, 12)));
return jPanel2;
}
/**
* Page de programmation des scenarios
*/
public static JPanel getJPanel4() {
// TODO Auto-generated method stub
int debutDecomp = 40;
jPanel4 = new JPanel();
jPanel4.setLayout(new GroupLayout());
//Affiche la couleur
jPanel4.add(PourScenario.getJlabelColorise(jPanel4), new Constraints(new Leading(500, 10, 10), new Leading(debutDecomp+380, 12, 12)));
return jPanel4;
}
} |
Code:
1 2 3 4 5 6 7 8 9
| public class PourScenario {
// Visualisation de la couleur en grand
public static JButton getJlabelColorise(JPanel jPanel) {
jPanel.labelColorise = new JButton(" ");
jPanel.labelColorise.setPreferredSize(new Dimension(100, 100));
jPanel.labelColorise.setVisible(false);
return jPanel.labelColorise;
} |
Mes labelColorise sont declarés en public static dans les classes dédiées à chaque jPanel pour y revenir dessus et changer leur couleur et/ou rentre visible ou non.
Je sais que des variables globales c'est pas génial, mais comment faire autrement ?