Problème d'affichage d'un JCalendar

Problème d'affichage d'un JCalendar - Java - Programmation

Marsh Posté le 06-08-2007 à 00:54:23    

J'ai une classe qui affiche deux calendriers (JCALENDAR) sur une interface seulement les calendriers n'apparaissent que si je redimensionne la fenetre ou que je l'agrandis donc quand l'interface se charge ils ne sont pas là. Quelqu'un saurait de quoi ça peut provenir ce genre de problèmes d'affichage?
Merci de votre aide.

Reply

Marsh Posté le 06-08-2007 à 00:54:23   

Reply

Marsh Posté le 06-08-2007 à 10:06:27    

Sans code difficile de dire...
Sinon je dirais que tu peux appeler la méthode repaint() de ta JFrame (si c'est bien une JFrame que tu utilise) pour rafraichir le contenu, une fois que tu y as placé tes JCalendar.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 06-08-2007 à 12:46:59    

J'ai essayé avec la méthode repaint() mais ça ne donne rien. Voila la partie de mon code ou je crée les calendriers et le JFrame:
 
***********************
public class Interface2 {
 
 private static Helper helper = Helper.getInstance();
 
 private static Color Couleur = null;
 
 protected String chaine;
 
 protected String chaine2;
 
 protected String chaine1;
 
 JCalendar calendrier1 = new JCalendar();
 
 JCalendar calendrier2 = new JCalendar();
 
 public void Test2(final int range) {
   
  // Création et dimensionnement de la fenêtre
 
  final JFrame fenetre = new JFrame(helper.getProperty("FRAME_TITLE" ));
  fenetre.getContentPane().setLayout(null);
  fenetre.getContentPane().setBackground(Couleur);
  fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  fenetre.setSize(700, 700);
  fenetre.setVisible(true);
  Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
  fenetre.setLocation(dim.width / 2 - (fenetre.getWidth()) / 2,
    dim.height / 2 - (fenetre.getHeight()) / 2);
 
  // création des composants
 
  JLabel jLabel1 = new JLabel(helper.getProperty("LABEL_TITLE" ),
    SwingConstants.CENTER);
  jLabel1.setForeground(Color.black);
  jLabel1.setFont(new Font("eurofurence", Font.ITALIC, 22));
 
  JLabel jLabel2 = new JLabel(helper.getProperty("LABEL_FIRST_DATE" ),
    SwingConstants.CENTER);
  jLabel2.setForeground(Color.black);
  jLabel2.setFont(new Font("Verdana", Font.PLAIN, 16));
 
  JLabel jLabel3 = new JLabel(helper.getProperty("LABEL_SECOND_DATE" ),
    SwingConstants.CENTER);
  jLabel3.setForeground(Color.black);
  jLabel3.setFont(new Font("Verdana", Font.PLAIN, 16));
 
  final JButton bouton = new JButton(helper.getProperty("BUTTON_NEXT" ));
  bouton.setFont(new Font("Verdana", Font.PLAIN, 16));
 
  final JButton bouton1 = new JButton(helper.getProperty("BUTTON_PREV" ));
  bouton1.setFont(new Font("Verdana", Font.PLAIN, 16));
 
  // ajout des boutons à la fenêtre
 
  fenetre.getContentPane().add(jLabel1);
  fenetre.getContentPane().add(jLabel2);
  fenetre.getContentPane().add(jLabel3);
  fenetre.getContentPane().add(bouton);
  fenetre.getContentPane().add(bouton1);
  fenetre.getContentPane().add(calendrier1);
  fenetre.getContentPane().add(calendrier2);
 
  // positionnement et dimensionnement manuel des boutons
 
  jLabel1.setBounds(200, 10, 200, 50);
  jLabel2.setBounds(30, 90, 300, 50);
  jLabel3.setBounds(30, 300, 300, 50);
  bouton.setBounds(550, 520, 100, 50);
  bouton1.setBounds(440, 520, 100, 50);
  calendrier1.setBounds(350, 90, 280, 200);
  calendrier2.setBounds(350, 300, 280, 200);
   
   
   
  // Si on clique sur un bouton
  ActionListener actionListener1 = new ActionListener() {
   public void actionPerformed(ActionEvent e) {
    if (e.getSource() == bouton) {
     
    // traitement
    }
   }
  };
 
  bouton.addActionListener(actionListener1);
  bouton1.addActionListener(actionListener1);
 
 }
 
 
 
 public static void main(String[] args) {
  Interface2 inter = new Interface2();
  inter.Test2(0);
 
 }
}
 
*********************
 
Merci de me répondre

Reply

Marsh Posté le 06-08-2007 à 14:29:29    

Et si tu mets ton setVisible(true); à la fin du constructeur?
(Ya des balises spéciales pour le code posté sur le forum)


Message édité par dwogsi le 06-08-2007 à 14:29:54

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 09-08-2007 à 16:09:09    

Merci bcp, ça marche :)

Reply

Sujets relatifs:

Leave a Replay

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