Java: Création d'une interface graphique

Java: Création d'une interface graphique - Java - Programmation

Marsh Posté le 17-06-2002 à 19:00:34    

je débute, et je me dis qu'il y a surement une explication bête.
Prière d'analyser mon source.
L'idée était de faire une interface graphique structurée utilisant  des champs classiques (d'où l'idée de reproduire visuellement un chat.
Le résultat donne un menu (textfield+choice+button) centré. Désirant visualiser les canvas, je leur ai filé de la couleur, mais ils restent cachés.
Si vous avez la patience de vous pencher sur mon probleme, voir ce qui cloche, me donner eventuellement des conseils dans la création d'interfaces java je vous ecoute  :ange:  

Code :
  1. //******************************************************************************
  2. // -----------------------------------------------------------
  3. // caralook.java                          
  4. // -----------------------------------------------------------
  5. // Comments : simuli-chat
  6. // -----------------------------------------------------------
  7. // pour tester les notions acquises...
  8. //******************************************************************************
  9. // Importations
  10. import java.awt.*;
  11. import java.net.*;
  12. import java.io.*;
  13. class caralook extends Frame  
  14. {
  15.      // Variables
  16. private TextField msg;
  17. private  Choice color;
  18. private  Choice size;
  19. private  Button submit;
  20. private  Canvas dialpublic;
  21. private  Canvas connect;
  22. caralook()
  23. {
  24. msg= new TextField("Votre texte ici." );
  25. color =new Choice();
  26. size  =new Choice();
  27. submit=new Button("Parler" );
  28. dialpublic=new Canvas();
  29. connect=new Canvas();  
  30. }
  31. public void graph()
  32. {
  33. GridBagLayout repartiteur = new GridBagLayout();
  34. GridBagConstraints contraintes= new GridBagConstraints();
  35.         contraintes.insets.top = 4;
  36.         contraintes.insets.left = 4;
  37.         contraintes.insets.bottom = 4;
  38.         contraintes.insets.right = 4;
  39.         contraintes.anchor = GridBagConstraints.EAST;
  40. contraintes.gridx = 0;
  41. contraintes.gridy = 0;
  42. contraintes.gridwidth=4;
  43. contraintes.gridheight=1;
  44. this.setLayout(repartiteur);
  45. this.dialpublic.setBackground(Color.blue);
  46. repartiteur.setConstraints(dialpublic, contraintes);
  47. this.add(dialpublic);
  48. contraintes.gridx = 4;
  49. contraintes.gridy = 0;
  50. contraintes.gridwidth=1;
  51. contraintes.gridheight=1;
  52. connect.setBackground(Color.yellow);
  53. repartiteur.setConstraints(connect, contraintes);
  54. this.add(connect);
  55. contraintes.gridx = 1;
  56. contraintes.gridy = 1;
  57. repartiteur.setConstraints(msg, contraintes);
  58. this.add(msg);
  59. contraintes.gridx = 2;
  60. contraintes.gridy = 1;
  61. repartiteur.setConstraints(color, contraintes);
  62. this.add(color);
  63. contraintes.gridx = 3;
  64. contraintes.gridy = 1;
  65. repartiteur.setConstraints(size, contraintes);
  66. this.add(size);
  67. contraintes.gridx = 4;
  68. contraintes.gridy = 1;
  69. repartiteur.setConstraints(submit, contraintes);
  70. this.add(submit);
  71. this.setBackground(Color.yellow);
  72. dialpublic.setBackground(Color.blue);
  73. }
  74. public void apercu()
  75. {
  76.         color.addItem("Noir" );
  77.         size.addItem("murmurer" );
  78. }
  79.     public static void main(String args[])
  80. {
  81. caralook crl = new caralook();
  82. crl.resize(600,200);
  83.         crl.graph();
  84.         crl.apercu();
  85. crl.repaint();
  86. crl.show();
  87.     }
  88.    
  89.     public boolean handleEvent(Event  evt)
  90. {
  91.   if ( evt.id == evt.WINDOW_DESTROY )  
  92. {
  93.    System.exit(0) ;
  94.    return true ;
  95.   }
  96.   return false ;
  97.     }
  98. }


 
merci de donner vos opinions et @+  :hello:


Message édité par thesmilingface le 28-06-2002 à 18:03:36
Reply

Marsh Posté le 17-06-2002 à 19:00:34   

Reply

Marsh Posté le 17-06-2002 à 19:04:36    

Reply

Marsh Posté le 17-06-2002 à 19:10:47    

dsl Greg, c juste que je me suis dit que c'etait mieux dans [Débutant]

Reply

Marsh Posté le 17-06-2002 à 19:26:17    

thesmilingface a écrit a écrit :

dsl Greg, c juste que je me suis dit que c'etait mieux dans [Débutant]  




dsl, j'avais pas vu le changement de cat. (mais tu peux faire ça en éditant ton post je crois)
cela dit, ce n'est pas SI débutant que ça il me semble.
et sinon, euh jpeux pas trop t'aider :)
(bille en gui + pas trop le temps:))

Reply

Marsh Posté le 17-06-2002 à 19:32:43    

un ptit appel a validate ca arrangerait pas les choses ?  
(je t'avoue j'ai pas lu en detail, g pas trop envie de reflechir)

Reply

Marsh Posté le 17-06-2002 à 21:03:06    

essaie un setvisivle() pour rendre visible ton canvas ou un show()

Reply

Marsh Posté le 18-06-2002 à 16:04:31    

J'ai essayé differents trucs, et pour l'instant rien ne marche.
J'ai testé un truc quelque peu different:
 
 

Code :
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. public class Essai extends Canvas {
  4.   public void paint(Graphics gc) {
  5.     gc.drawString("Hello world !!!",50,25);
  6.   }
  7. }


 

Code :
  1. // Importations
  2. import java.awt.*;
  3. import java.net.*;
  4. import java.io.*;
  5. class caralook extends Frame
  6. {
  7.      // Variables
  8. private TextField msg;
  9. private  Choice color;
  10. private  Choice size;
  11. private  Button submit;
  12. private  Canvas dialpublic;
  13. private  Canvas connect;
  14. caralook()
  15. {
  16. msg= new TextField("Votre texte ici." );
  17. color =new Choice();
  18. size  =new Choice();
  19. submit=new Button("Parler" );
  20. dialpublic=new Essai();
  21. connect=new Essai();
  22. // test
  23. this.setLayout(new FlowLayout());
  24. connect.setBackground(Color.blue);
  25. this.add(msg);
  26. this.add(color);
  27. this.add(size);
  28. this.add(submit);
  29. this.add(dialpublic);
  30. this.add(connect);
  31. }
  32. public void apercu()
  33. {
  34.         color.addItem("Noir" ); // + d'autres
  35.         size.addItem("murmurer" ); // + d'autres
  36. }
  37.     public static void main(String args[])
  38. {
  39. caralook crl = new caralook();
  40. crl.resize(600,200);
  41.         crl.apercu();
  42. crl.repaint();
  43. crl.show();
  44.      }
  45.  
  46.     public boolean handleEvent(Event  evt)
  47. {
  48.   if ( evt.id == evt.WINDOW_DESTROY )
  49. {
  50.    System.exit(0) ;
  51.    return true ;
  52.   }
  53.   return false ;
  54.     }
  55. }

 
si je désactive

Code :
  1. this.setLayout(new FlowLayout());

 
 j'ai une fenetre bleu avec écrit "Hello world !!!".
 
sinon, j'ai mon bouton, mes choices et ma zone texte, sur fond blanc, mais mes canvas sont absents.
 
Or j'aimerais bien avoir TOUT dans ma fenetre.
si qqun peut m'expliquer  :??:


Message édité par thesmilingface le 18-06-2002 à 16:21:43
Reply

Sujets relatifs:

Leave a Replay

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