Bonjour, ça peut sembler Basique mais j'arrive pas a fermer plusieur fois une fenetre que j'appelle.
La premiere fois la methode dispose() la ferme mais apés elle ne veux plus la fermer a nouveau.
Zucco
Bonjour, ça peut sembler Basique mais j'arrive pas a fermer plusieur fois une fenetre que j'appelle.
La premiere fois la methode dispose() la ferme mais apés elle ne veux plus la fermer a nouveau.
Zucco
dispose est définitif.
Utilise setVisible().
Du coup une question ultra basique (et j'en ai un peu honte)
c'est quoi le nom de ma JDialog? A foid j'aurai dit : ste... Mais apprement ste ne peut etre appelée que dans le main... Du coup je sais pas trop
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class Saisie_numerique extends JDialog { Plein de trucs... public void initialize() { this.setSize(new Dimension(380, 220)); this.setContentPane(getJPanel()); this.setUndecorated(true); this.setLocationRelativeTo(null); this.setAlwaysOnTop(true); this.setModal(true); } /** * This method initializes * */ public Saisie_numerique() { //int state = (getJPanel()).showOpenDialog(this); initialize(); } public static void main(String[] args){ Saisie_numerique ste = new Saisie_numerique(); ste.setVisible(true); } Plein de trucs }
Désolé d'être un peu rabat-joie mais avant de lancer dans les JDialog et les interfaces graphiques en général, je te conseille vivement d'apprendre les notions de Programmation Orientée Objet, notament de l'héritage, et également les notions de base du language java.
Pour répondre : c'est bien ste ( héritage ).
Et si tu suivais mes conseils, tu saurais que NON, ça peut s'utiliser ailleurs que dans un main.
J'ai lu ce matin un tutorial sur la programation objet, je dois dire que j'ai pas appris grand chose. Parcontre la lecture (encore partielle) d'un tutoreil sur java m'a appris qq truc et va continuer a m'en apprendre
Apres je ne regrete pas d'avoir commencé a tenter un peu avant. Car ça me permet de pas etre perdu lors de ma lecture et de bien mieu en profiter; j'avais essayé de la lire avant mais c'ete bien trop rebarbatif!!
Donc je lis mais je continuer a penser que commencer avec un GUI direct (ou presque) est une bonne idée.
Pour l'utilisation hors main j'ai pas encore trouvé, mais ça va venir...
Zucco
Bon j'ai trouvé ma reponse tout seul... Une bonne declaration d'instance globale en statique ça marche
Zucco, on ne peut compter que sur soi meme dans ce monde de brutes
Euh...Envoyé par Zucco
Si tu utilises une variable, elle n'a aucun besoin d'être statique... D'ailleurs tu n'as pas non plus besoin d'une variable... Tu es directement dans la classe voulue...
Par exemple, si tu veux faire un setVisible(false) sur ta classe, il te suffira de faire :
qui va directement s'appliquer sur la classe courante. C'est l'équivalent de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part setVisible(false);
this voulant dire l'objet courant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part this.setVisible(false);
Donc, tu n'as pas besoin d'une variable d'instance ni de classe...
En plus, si je peux me permettre, une variable d'instance globale, ça veut rien dire... Une variable d'instance ne peut pas être statique. Une variable statique dans une classe, c'est une variable de classe (car commune à toutes les classes de ce type).
Euh bah du coup je sais pas comment appeler ce que j'ai fait...
C'est sans doutes pas tres propre mais ça me permet de voir ce que je peu faire un peu plus loin...
J'ai mis cette ligne en haut de ma class et je lui demande de se cacher et d'apparaitre dans une autre class.
Code : Sélectionner tout - Visualiser dans une fenêtre à part public static Digital_input ste = new Digital_input();
Je crois que la solution acctuelle n'est pas vraiment satifesante.
Zucco
Partager