Probleme JAVA

Fermé
Freeman - 29 janv. 2002 à 13:41
 HackTrack - 30 janv. 2002 à 10:25
Dans l'interface (swing) d'un programme JAVA , j'ai une TextArea et une JList qui sont chacun dans un Scroll Pane , donc quand il y a beaucoup de donnee une scroll bar s'affiche.
Ma question et comment forcer la scroll bar verticale a rester en bas quand le prog rajoute du texte, en fait je veux pourvoir lire le texte rajouter sans devoir deplaer la scroll bar avec la souris.

Merci d'avance.
A voir également:

1 réponse

Voilà un exemple qui, je l'espère, répond à ta demande:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

/**
*
* @author HackTrack
* @version 1.0
*/

public class ScrollTester extends JFrame{
private Container c;
private JList jl;
//listDatas contient les données qui apparaîtront dans ta JList
private ArrayList listDatas;

public ScrollTester() {
super("Scroll Tester");
initialize();
setDefaultCloseOperation(EXIT_ON_CLOSE);
}

private void initialize(){
listDatas = new ArrayList();
//on construit la liste des données à afficher
for(int i=0 ; i<20 ; i++){
listDatas.add("Ligne " + i);
}
c = getContentPane();
c.setSize(50,100);
//on initialise la liste
jl = new JList(listDatas.toArray());
JScrollPane jsp = new JScrollPane(jl);
c.add(jsp);
}

private void startApp(){
String toAppend=null;

for(int i=0 ; i<6 ; i++){
//on demande à l'utilisateur d'entrer du texte
toAppend= JOptionPane.showInputDialog(null,"Entrez du texte");
//on ajoute la donnée entrée à la liste de données
listDatas.add(toAppend);
//on demande un rafraîchissement de la vue
update();
}
}

private void update(){
//on met à jour les données de la liste
jl.setListData(listDatas.toArray());
/* C'est dans la ligne qui suit que tu définis (grâce à "true"), que ta liste doit
automatiquement défiler*/
jl.setSelectedValue(listDatas.get(listDatas.size()-1),true);
jl.validate();
}

public static void main (String args[]) {
ScrollTester tester = new ScrollTester();
tester.pack();
tester.show();
tester.startApp();
}
}



;-)
HackTrack
0