stb a écrit :
Bonjour,
je fais une petite appli, dont voici le panneau de chargement.
Elle détail l'avancement du chargement,
et un bouton permet d'afficher/cacher, les logs (cachés par défaut).
Ceux ci sont affichés dans un JTextArea contenu dans un JScrollPane que je cache.
Mais lorsque j'appuie sur le bouton, rien ne se passe, tant que la fenetre n'a pas été retaillée au moins une fois apres que j'ai cliqué sur le bouton.
Manifestement quelquechose ne se mets pas à jour et je me perds un peu dans les paint / repaint.
Auriez vous une solution ?
merci d'avance.
Code :
- package panels;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- public class Loader extends JPanel {
- private JToggleButton expand = new JToggleButton("Plus d'infos" );
- private JLabel infos = new JLabel();
- private JLabel label1 = new JLabel("D\u00e9marrage" );
- private JLabel label2 = new JLabel("Veuillez patienter pendant que l'application xxx d\u00e9marre" );
- private JScrollPane scrollPane = new JScrollPane();
- private JTextArea logs = new JTextArea();
- private JProgressBar progress = new JProgressBar(0, 4);
- public Loader() {
- initComponents();
- }
-
- private void expandActionPerformed() {
- scrollPane.setVisible(expand.isSelected());
- // ?
- }
-
- private void initComponents() {
- GridBagConstraints gridBagConstraints = new GridBagConstraints();;
- setLayout(new java.awt.GridBagLayout());
- scrollPane.setViewportView(logs);
- scrollPane.setVisible(false);
- logs.setEditable(false);
- logs.setRows(8);
- logs.setColumns(40);
- label1.setFont(label1.getFont().deriveFont(Font.BOLD));
- gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER;
- gridBagConstraints.anchor = GridBagConstraints.WEST;
- add(label1, gridBagConstraints);
- gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER;
- gridBagConstraints.anchor = GridBagConstraints.WEST;
- add(label2, gridBagConstraints);
- gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER;
- gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
- add(progress, gridBagConstraints);
- gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER;
- gridBagConstraints.anchor = GridBagConstraints.WEST;
- gridBagConstraints.fill = GridBagConstraints.NONE;
- add(infos, gridBagConstraints);
- gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER;
- gridBagConstraints.anchor = GridBagConstraints.EAST;
- add(expand, gridBagConstraints);
- gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER;
- gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
- add(scrollPane, gridBagConstraints);
-
- expand.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent ae) {
- expandActionPerformed();
- }
- });
- }
- }
|
|