Bonjour,
Dans le cadre d'un projet, j'ai voulu creer mon propre JPanel qui inclu une progressBar et un label.
Le probleme est que au lancement de l'appli, il ne m'affiche pas mon panel, alors que si je redimenssionne la fenetre, il apparait.
De plus, l'appel de la fonction setText() permet aussi de faire afficher le panel.
Ci dessous, le code de mon applet qui appelle ma classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 public class paneltest extends JPanel { private String text; JProgressBar jb = new JProgressBar(); JLabel texte = new JLabel(); int i = 0; paneltest(String t) { text = t; } @Override public void paintComponent(Graphics g) { super.paintComponent(g); setVisible(true); //texte.setVisible(true); setLayout(new BorderLayout()); texte.setText(getText()); add(jb, BorderLayout.WEST); add(texte, BorderLayout.EAST); } public String getText() { return text; } public void setText(String text) { removeAll(); this.text = text+""+i ; i++; add(jb, BorderLayout.WEST); add(texte, BorderLayout.EAST); repaint(); } }
Si quelqu'un a la solution pour que le panel soit affiché au demmarage de l'applet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public class main extends javax.swing.JApplet { private paneltest test; @Override public void init() { try { test = new paneltest("coucou"); java.awt.EventQueue.invokeAndWait(new Runnable() { public void run() { initComponents(); jPanel1.setLayout(new BorderLayout()); JLabel testlbl = new JLabel(); testlbl.setText("essai"); jPanel1.add(testlbl, BorderLayout.EAST); jPanel1.add(test, BorderLayout.WEST); jPanel1.setVisible(true); jPanel1.repaint(); } }); } catch (Exception ex) { ex.printStackTrace(); } }
Merci d'avance,
Partager