[Java / Swing] Boite de dialogue avec JDialog ? [Résolu]

Boite de dialogue avec JDialog ? [Résolu] [Java / Swing] - Java - Programmation

Marsh Posté le 14-12-2002 à 15:00:06    

J'ai fait plusieurs recherches sur internet, mais je ne comprends pas tout.
 
voici les constructeurs de la classe JDialog
 

Code :
  1. JDialog(Dialog owner, String title)
  2. Creates a non-modal dialog with the specified title and with the specified owner dialog.
  3. JDialog(Dialog owner, String title, boolean modal)
  4. Creates a modal or non-modal dialog with the specified title and the specified owner frame.
  5. JDialog(Frame owner, String title)
  6. Creates a non-modal dialog with the specified title and with the specified owner frame.
  7. JDialog(Frame owner, String title, boolean modal)
  8. Creates a modal or non-modal dialog with the specified title and the specified owner Frame.


 
Alors deja plusieurs questions se posent à moi:
- difference entre une boite de dialogue modal ou non modal
- que doit contenir le champ Frame owner ou Dialog owner?
 
 
je voudrais faire une boite de dialogue qui contienne des JBouton, JLabel et JtextField.
 
Comment faire?
Merci


Message édité par thunderbird54 le 18-12-2002 à 20:21:06
Reply

Marsh Posté le 14-12-2002 à 15:00:06   

Reply

Marsh Posté le 14-12-2002 à 16:32:39    

plutot que de m'embarquer dans une longue explication, je t'enjoins a profiter du tutorial de Sun prévu a cet effet, qui présente les choses de bien meilleure facon que je n'en suis capable
 
http://java.sun.com/docs/books/tut [...] ialog.html


Message édité par HappyHarry le 14-12-2002 à 16:38:19
Reply

Marsh Posté le 14-12-2002 à 16:58:15    

je l'ai deja lu (en partie) mais et je n'en ai compris qu'une petite partie mais celle qui m'interesse!

Reply

Marsh Posté le 14-12-2002 à 17:03:48    

bon ben je vais tenter de m'y coller alors :
 
une boite de dialogue modale t'oblige a fournir les informations demandées (ca peut etre un simple click sur le bouton ok) avant de pouvoir faire autre chose, elle t'empeche de cliquer ailleurs, et de faire quoi que ce soit tant qu'elle est ouverte
 
le parametre owner specifie la fenetre dont va dépendre ton dialog (generalement donc, la fenetre a partir de laquelle tu fais appel a ta boite de dialogue)
 

Reply

Marsh Posté le 14-12-2002 à 21:36:55    

Je complète les informations que HappyHarry t'a données.
En programmation fenêtrée, on distingue les boites de dialogue application-modales, qui empêchent l'utilisateur d'accéder au reste de l'application tant qu'il n'a pas fermé la boite de dialogue, des boites de dialogues système-modales, qui obligent l'utilisateur à fermer la boite de dialogue avant de pouvoir toucher à quelque application du système que ce soit. Evidemment, en Java, tu n feras que des boites application-modales. Mais c'est un choix de comportement de la boite de dialogue à faire, et c'est indépendant de ce qu'elle peut contenir.
 
Par ailleurs, en anglais "the owner" signifie "le propriétaire". Dans le cas présent, c'est, comme l'a dit Harry, la fenêtre ou la boite de dialogue qui a ouvert la nouvelle boite de dialogue.

Reply

Marsh Posté le 14-12-2002 à 23:49:55    

BifaceMcLeOD a écrit :

Je complète les informations que HappyHarry t'a données.
En programmation fenêtrée, on distingue les boites de dialogue application-modales, qui empêchent l'utilisateur d'accéder au reste de l'application tant qu'il n'a pas fermé la boite de dialogue, des boites de dialogues système-modales, qui obligent l'utilisateur à fermer la boite de dialogue avant de pouvoir toucher à quelque application du système que ce soit. Evidemment, en Java, tu n feras que des boites application-modales. Mais c'est un choix de comportement de la boite de dialogue à faire, et c'est indépendant de ce qu'elle peut contenir.
 
Par ailleurs, en anglais "the owner" signifie "le propriétaire". Dans le cas présent, c'est, comme l'a dit Harry, la fenêtre ou la boite de dialogue qui a ouvert la nouvelle boite de dialogue.


 
:jap:
 
j'ai pas ete si mauvais que ca alors, puisque qq'un m'a compris :)

Reply

Marsh Posté le 15-12-2002 à 12:11:24    

J'ajouterais que quand le propriétaire est fermé, les boites de dialogue qu'il a créé sont détruites. Par ailleurs, je suppose que null comme propriétaire doit très bien marcher si tu crée la fenetre à partir de rien.

Reply

Marsh Posté le 16-12-2002 à 00:18:20    

ok g compris! merci!
 
concretement maintenant si vous pouviez me montrez un chtit exemple ca serait bien,  
 
j'en ai trouvé plusieurs sur internet (dont celui du tutorial) mais ca par tellement dans tout les sens qu'a force je ne sais plus qui sert a quoi!
 
un truc tout simple avec des JLabel et des JtexField
 
je pense qu'il faut utiliser JOptionPane mais je ne comprends pas tout le cheminement et surtout le rapport avec JDialog.

Reply

Marsh Posté le 16-12-2002 à 09:42:12    

JOptionPane sert à créer facilement des boites de dialogue assez courantes et assezsimples genre:

  • MessageBox (un message, plus un bouton OK, voire 2 boutons OK/Cancel ou Yes/No voire même 3 boutons Yes/No/Cancel),
  • ou InputBox (un message, une zone de saisie ou une liste déroulante, et les choix de boutons sus-cités).


Message édité par BifaceMcLeOD le 16-12-2002 à 09:44:25
Reply

Marsh Posté le 16-12-2002 à 13:25:34    

ah ok alors JOtionPane c po pour moi
 
moi dans ma boite de dialogue je voudrais :
- 4 JLabel  
- 4 JTextField
- 1 bouton
 
je v chercher encore un peu comment je dois faire, jpense que je dois creer une frame lui ajouter les composants, puis faire appel a JDialog en lui passant en parametre "owner" cette frame non?

Reply

Marsh Posté le 16-12-2002 à 13:25:34   

Reply

Marsh Posté le 16-12-2002 à 13:28:56    

thunderbird54 a écrit :

ah ok alors JOtionPane c po pour moi
 
moi dans ma boite de dialogue je voudrais :
- 4 JLabel  
- 4 JTextField
- 1 bouton
 
je v chercher encore un peu comment je dois faire, jpense que je dois creer une frame lui ajouter les composants, puis faire appel a JDialog en lui passant en parametre "owner" cette frame non?


 
non

Reply

Marsh Posté le 16-12-2002 à 13:45:50    

non?

Reply

Marsh Posté le 16-12-2002 à 13:50:28    

jcrois ke g compris, faut ke je crée une classe extends JDialog
 
je testerais ce soir

Reply

Marsh Posté le 16-12-2002 à 13:53:07    

thunderbird54 a écrit :

jcrois ke g compris, faut ke je crée une classe extends JDialog
 
je testerais ce soir


 
c mieux ;)

Reply

Marsh Posté le 16-12-2002 à 23:56:09    

bon ben ca marche pas lol
 
voici ce ke je fais :
 

Code :
  1. class Boite_Dialogue extends JDialog {
  2.  
  3.       private JLabel Param1, Param2, Param3, Param4;
  4.       private JTextField xmin, xmax, ymin, ymax;
  5.  
  6.  
  7.        public Boite_Dialogue(Frame frame,String toto) {
  8.          super(frame,toto, true) ;
  9.          JPanel P_SUD = new JPanel();
  10.          Param1 = new JLabel("xmin : " );
  11.          P_SUD.add(Param1);
  12.          xmin = new JTextField(3);
  13.          P_SUD.add(xmin);
  14.      
  15.          Param2 = new JLabel("xmax : " );
  16.          P_SUD.add(Param2);
  17.          xmax = new JTextField(3);
  18.          P_SUD.add(xmax);
  19.      
  20.          Param3 = new JLabel("ymin : " );
  21.          P_SUD.add(Param3);
  22.          ymin = new JTextField(3);
  23.          P_SUD.add(ymin);
  24.      
  25.          Param4 = new JLabel("ymax : " );
  26.          P_SUD.add(Param4);
  27.          ymax = new JTextField(3);
  28.          P_SUD.add(ymax);
  29.      
  30.          xmin.setText("-10" );
  31.          xmax.setText("10" );
  32.          ymin.setText("-5" );
  33.          ymax.setText("5" );
  34.       }
  35.    }


 
 
pi lors de l'appel, je fais ca :
 

Code :
  1. Boite_Dialogue toto=new Boite_Dialogue(null,"test" );
  2. toto.show();


 
vous allez me dire que je n'ai pas ajouté mon JPannel a la boite de dialogue, vous avez raison! lol
comment fait on?
 
Merci


Message édité par thunderbird54 le 17-12-2002 à 00:00:06
Reply

Marsh Posté le 17-12-2002 à 01:39:08    

getContentPane().add(tonPanel)

Reply

Marsh Posté le 17-12-2002 à 10:14:58    

merci je regarderais ce soir, je ne suis plus chez moi malheureusement!
 
t po tres bavard au fait happy harry lol

Reply

Marsh Posté le 17-12-2002 à 13:52:18    

faut l'excuser lol
ça doit pê l'emmerder de te répondre lol


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 17-12-2002 à 13:52:31    

lol  [:--greg--]


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 17-12-2002 à 14:03:45    

--greg-- a écrit :

faut l'excuser lol
ça doit pê l'emmerder de te répondre lol


 
non non ca m'emmerde jamais de donner une réponse qui est dans un tutorial tu le sais bien :sarcastic:

Reply

Marsh Posté le 17-12-2002 à 14:15:46    

ha oui lol


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 17-12-2002 à 14:45:52    


 
[:rofl]
 
 
ah non pardon : lol

Reply

Marsh Posté le 18-12-2002 à 20:20:11    

Merci
 
fo bien débuter un jour, et avec des tuto en anglais c pas toujours facile de tout comprendre!!!

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed