[JAVA] [SWING] Affichage affreux de couleurs et de composants

Affichage affreux de couleurs et de composants [JAVA] [SWING] - Java - Programmation

Marsh Posté le 14-04-2004 à 23:17:56    

dans le code suivant que j'ai abondemment modifiée pour vous, j'espère que vous pourrez le faire rouler, l'interface graphique est très merdique : les couleurs varient selon les pannels et des que l'on touche au comboBox et ses choix ca devient dégueu pourquoi?
 

Code :
  1. /*
  2. * Created on 2004-03-15
  3. *
  4. * To change the template for this generated file go to
  5. * Window>Preferences>Java>Code Generation>Code and Comments
  6. */
  7. /**
  8. * @author Olivier
  9. *
  10. * To change the template for this generated type comment go to
  11. * Window>Preferences>Java>Code Generation>Code and Comments
  12. */
  13. import javax.swing.JOptionPane;
  14. import java.awt.*;
  15. import java.awt.event.*;
  16. import javax.swing.*;
  17. import java.util.Vector ;
  18. public class tt extends JFrame  {
  19.        
  20. private static final int LARGEUR = 350;
  21. private static final int HAUTEUR = 125;
  22. private static final String TITRE = " DBExtractor";
  23. private static final String CHOIX_TABLE = "Choix de la Table" ; 
  24. private static final String AIDE = "Help!";
  25. private static final String NEXT = "<Suivant>";
  26. private static final Dimension CHOIX = new Dimension (150, 50) ;
  27. private static final Color COULEUR = new Color (113, 206, 245, 35) ;
  28. private JComboBox choixTable;
  29. private JButton aide;
  30. private JButton next;
  31. public static EnregistrerData enregistrerBD = new EnregistrerData();
  32. private Vector vecteur = null ;
  33. public String valeurChoixTable = null ;
  34.    
  35. /**
  36.  * Constructeur pour la fenêtre  
  37.  */
  38. public tt() {
  39.        
  40.  //Modifier les attributs hérités de JFrame
  41.  setSize(LARGEUR, HAUTEUR);
  42.  setTitle(TITRE);
  43.        
  44.  //Stopper l'application lorsque l'utilisateur pèse sur le bouton
  45.  //de fermeture
  46.  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  47. }
  48.    
  49. /**
  50.  * Cette méthode permet de centrer la fenêtre au milieu de l'écran
  51.  */ 
  52. void centrer() {
  53.        
  54.  Toolkit kit = Toolkit.getDefaultToolkit();
  55.  Dimension tailleEcran = kit.getScreenSize();
  56.  setLocation(
  57.   (tailleEcran.width - LARGEUR) / 2,
  58.   (tailleEcran.height - HAUTEUR) / 2);
  59. }
  60.    
  61. /**
  62.  * Cette méthode permet d'ajouter les composantes de la fenêtre
  63.  */
  64. void addComponents() {
  65.        
  66.  //Bouton radio Blastn
  67.  try {
  68.   //enregistrerBD.ouvrirConnection(enregistrerBD.DEFAULT) ;
  69.   //vecteur = enregistrerBD.extraireNomTables() ;
  70.   choixTable = new JComboBox();
  71.   choixTable.setMaximumSize(CHOIX) ;
  72.   choixTable.setBackground(COULEUR) ;
  73.   choixTable.setBorder(BorderFactory.createTitledBorder(CHOIX_TABLE));
  74.   choixTable.setEditable(false) ;
  75.   choixTable.setSelectedIndex(0);
  76.   choixTable.addActionListener(
  77.    new ActionListener() {
  78.     public void actionPerformed(ActionEvent a) {
  79.      try {
  80.       JComboBox cb = (JComboBox)a.getSource();
  81.       valeurChoixTable = (String)cb.getSelectedItem();
  82.      }
  83.      catch (Exception e) {
  84.       JOptionPane messageAide = new JOptionPane();
  85.       JOptionPane.showMessageDialog(null, "Veuillez choisir une des selections offertes ou saisir un entier" );
  86.      }
  87.     }
  88.    }
  89.   );
  90.   //enregistrerBD.fermerConnection() ;
  91.  }catch (Exception e) {
  92.   JOptionPane messageAide = new JOptionPane();
  93.   JOptionPane.showMessageDialog(null, e );
  94.  }
  95.        
  96.  //Passage à la fenêtre suivante
  97.  next = new JButton(NEXT);
  98.  next.setBackground(COULEUR) ;
  99.  //Écouteur pour le bouton
  100.  next.addActionListener (
  101.   new ActionListener() {
  102.    public void actionPerformed(ActionEvent c) {
  103.     //Instanciation de la dernière fenêtre
  104.     // si aucune table n'a été sélectionnée parce que c'étati déjà
  105.     // la bonne table d'affichée par le ComboBox
  106. //     if(valeurChoixTable == null){
  107. //      valeurChoixTable = (String)vecteur.get(0);
  108. //     }
  109. //      
  110. //     System.out.println(valeurChoixTable);
  111. //     fenetreSuite f1 = new fenetreSuite(valeurChoixTable);
  112. //     f1.show();      
  113.    }
  114.   }
  115.  );
  116.        
  117.  //Bouton pour l'aide
  118.  aide = new JButton(AIDE);
  119.  aide.setBackground(COULEUR) ;
  120.  //Écouter pour le bouton
  121.  aide.addActionListener (
  122.   new ActionListener() {
  123.    public void actionPerformed(ActionEvent event) {
  124.     JOptionPane aide = new JOptionPane();
  125.     JOptionPane.showMessageDialog(null,"Choisir la table dans laquelle vous voulez faire des opérations puis cliquer sur suivant" );
  126.    }
  127.   }
  128.  );
  129.        
  130.  //Ajout des composants
  131.  Panel navigPanneau = new Panel() ;
  132.  navigPanneau.setBackground(COULEUR) ;
  133.  Container panneau = getContentPane();
  134.  panneau.setBackground(COULEUR) ;
  135.  panneau.setLayout(new BoxLayout(panneau, BoxLayout.Y_AXIS));
  136.  panneau.add(choixTable);
  137.  panneau.add(navigPanneau);
  138.  navigPanneau.add(aide);
  139.  navigPanneau.add(next);
  140. }
  141.    
  142. /**
  143.  * Programme principal.  Cette méthode crée une instance de la fenêtre
  144.  * et permet à l'utilisateur d'effectuer des choix dans les paramètres
  145.  * du blast.
  146.  */
  147.  public static void main(String[] args) {
  148.  JFrame.setDefaultLookAndFeelDecorated(true);
  149.  JDialog.setDefaultLookAndFeelDecorated(true);
  150.  tt fenetreBlast = new tt();
  151.  fenetreBlast.centrer();
  152.  fenetreBlast.addComponents();
  153.  fenetreBlast.show();
  154. }
  155. }


 
merci

Reply

Marsh Posté le 14-04-2004 à 23:17:56   

Reply

Marsh Posté le 14-04-2004 à 23:30:08    

et en virant les setMaximumSize() et les setBackground(), c'est pas mieux ?
La plupart des composants sont transparents, donc ça sert à rien de leur filer un background.
 
donne simplement un background à ta JFrame, ça devrait aller mieux.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 14-04-2004 à 23:31:52    

et respecte les convention de codage java stp !
 
http://java.sun.com/docs/codeconv/ [...] C.doc.html


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 14-04-2004 à 23:55:05    

Bien ya aurait pas des convention de codage en francais?
 
ca marche aps d'enlever els maximum size et les setBackground
 
d'ailleurs je sus obligé de mettre une maximum size sinon le combobox prend toute la longeur de la fenetre
 
de plus quand ej en laisse que  
 
        Container panneau = getContentPane();  
        panneau.setBackground(COULEUR) ;
 
pour la couleur, le combobox n'Est aps transparent, de meme que les boutons de navigation
 
le paneau navigPanneau prend une autre couleur plsu cyan
 
je comprends pas

Reply

Marsh Posté le 14-04-2004 à 23:56:51    

roievil a écrit :

Bien ya aurait pas des convention de codage en francais?


 
[:ula] le rapport avec le français?

Reply

Marsh Posté le 15-04-2004 à 00:01:45    

est ce que je pourrais avoir  un lien vers des convention de codage écrites en langue française, mias c bon tanpis je vais em forcer
 
au fait pourriez vous dire en gros ou je ne respecete pas les conventions?

Reply

Marsh Posté le 15-04-2004 à 00:10:38    

les classe doivent avoir un nom de la forme  
 
ObjetDeLaMort (majuscule au début, des mots entiers avec une majuscule au début)
 
les méthodes et les variables : pareil, sauf que la première lettre *doit* être en minuscule :
maVariable
maMéthode().


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 15-04-2004 à 00:31:43    

bien "tt" ct juste pour d'obscures raisons de duplication de la classe pour la modifier et l'envoyer ici, et tu remarqueras que a part le fait que des méthodes ont des noms qui commencent par de majuscules (je me posais la question) la casse sont respectés
 
pour mon problème pas d'idées?

Reply

Marsh Posté le 15-04-2004 à 00:43:10    

Non, je dois t'avouer que j'ai démonté pas mal de swing et j'ai pas vu grand'chose qui parlait de couleurs, je me demande si c'est pas le look-and-feel (par l'UI) qui s'en occupe ...
j'vas voir ce qu'en pense la doc ...


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 15-04-2004 à 01:17:45    

elle semble pas trop y penser !
 
sauf que ça semble bien hiérarchique :
http://java.sun.com/j2se/1.4.2/doc [...] ckground()


---------------
trainoo.com, c'est fini
Reply

Sujets relatifs:

Leave a Replay

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