Bonjour à tous,
J'ai un programme qui effectue divers traitements et qui affiche dans un JTextArea la console. Vu le grand nombre de traitements et donc de renseignements affichés, j'ai placé cette JTextArea dans un JScrollPane. L'affichage se fait sans probléme mais le ScrollBar reste toujours en position haute.
J'aimerais donc savoir comment faire en sorte que celui-ci descende en même temps que l'apparition de nouvelle données dans la zone de texte?
Quelques morceaux de code
Ma class GroupeSortieConsole, qui permet d'initialiser une partie de mon interface graphique
et ma class Fenetre qui permet entres autres d'effectuer les traitements(ici simplifier)
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
39
40
41
42
43
44 package principal.interfaces; import java.awt.Color; import java.awt.GridBagLayout; import javax.swing.BorderFactory; import javax.swing.JPanel; import javax.swing.JScrollBar; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class GroupeSortieConsole { private JTextArea jTextAreaSortieConsole; private JPanel panSortieConsole; private JScrollPane jScrollBar1; public GroupeSortieConsole(){ //Configuration du Jpanel panSortieConsole = new JPanel(); panSortieConsole.setBorder(BorderFactory.createTitledBorder("Sortie Console")); panSortieConsole.setLayout(new GridBagLayout()); panSortieConsole.setBackground(Color.decode("#A3CCED")); panSortieConsole.setVisible(true); jTextAreaSortieConsole = new JTextArea(15,150); jScrollBar1 = new JScrollPane(jTextAreaSortieConsole); panSortieConsole.add(jScrollBar1); } public JPanel getJPanel(){ return panSortieConsole; } public JTextArea getJTextArea(){ return jTextAreaSortieConsole; } }
J'ai testé divers méthode mais sans obtenir le résultat escompté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ... class jButtonValiderListener implements ActionListener{ public void actionPerformed(ActionEvent arg0) { new Thread(new Runnable(){ public void run(){ for (int i=0;i<10000;i++){ System.out.println(i); } } }).start(); }...
Merci à vous![]()
Partager