Problème d'affichage d'un JCalendar - Java - Programmation
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.
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
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)
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.