
Envoyé par
tchize_
Je ne sais pas comment fonctionne intelliJ, mais ce code est complètement erroné:
1 2
|
this.Frame.setContentPane(this.PanRoot); |
comme PanRoot est null, ceci crée un contenu null dans la JFrame (-> NullPointerException?)
et ton composant perso n'est utilisé nulle part.
Commence comme ceci (j'en profite pour corriger les conventions de nommage):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| package fr.test.ui;
import fr.test.component.MonComp;
import javax.swing.*;
public class Hello {
private JFrame frame;
private MonComp moncomp;
public Hello() {
this.frame = new JFrame("Hello world");
this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.frame.setSize(1280,720);
this.frame.setLocationRelativeTo(null);
this.frame.getContentPane().add(new MonComp());
}
public void setVisible(boolean b) {
this.Frame.setVisible(b);
}
} |
Selon le code oui PanRoot semble null, mais ce n'est pas le cas, le code :
this.Frame.setContentPane(this.PanRoot);
Ce code met le contenu du panel PanRoot dans la Frame. Le PanRoot est géré automatiquement par IntelliJ, du moins pour l'initialisation des composants (et je regrette sincèrement que j'ai pas acces a ce code), sans ce code, tout les composants mis sur ce PanRoot ne serais pas pris en compte à l'execution. C'est pareil, si je met un bouton (JButton) sur le panel et que je le nomme "monbouton" dans le code il va avoir uniquement :
private JButton monbouton
Dans le source, je peut bien sur modifier des paramètres et rajouter des actions listeners sur le bouton, mais il y a pas de ligne du style :
private JButton monbouton = new JButton("Click");
Apparemment tout ce fait en interne.
Ton code semble fonctionnelle, mais vire le panel créer par GUI Form d'IntelliJ, ce qui est pas vraiment ce que je cherche 
En tout cas merci pour votre aide , je continu a chercher de mon coté, c'est peut etre un problème spécifique a cette fonctionnalité d'IntelliJ.
Partager