Jscrollbar swing
zizou1991
Messages postés
211
Statut
Membre
-
zizou1991 Messages postés 211 Statut Membre -
zizou1991 Messages postés 211 Statut Membre -
Bonjour,
j'ai un problème au niveau de la barre de défilement: En effet je suis en train développer une application de chat et afin de visualiser le dernier message dans le jTextPane je dois mettre à jour la position du jScrollBar vers le bas
comment faire svp?
Y'a il une possibilité de changer l'apparence du jScrollBar (par défaut) qui est un peu dépassé
MERCI D'AVANCE .
La réussite, c'est un peu de savoir, un peu de savoir-faire et beaucoup de faire-savoir.
j'ai un problème au niveau de la barre de défilement: En effet je suis en train développer une application de chat et afin de visualiser le dernier message dans le jTextPane je dois mettre à jour la position du jScrollBar vers le bas
comment faire svp?
Y'a il une possibilité de changer l'apparence du jScrollBar (par défaut) qui est un peu dépassé
MERCI D'AVANCE .
La réussite, c'est un peu de savoir, un peu de savoir-faire et beaucoup de faire-savoir.
1 réponse
-
Pour mettre ta barre en bas tu peux faire
bar.setValue (bar.getMaximum())
Pour ta question sur la mise en forme tu devrais regarder les look and feel. Par défaut ça doit être nimbus qui est utilisé. Tu pourrais par exemple prendre le lnf système.-
-
Petite erreur, ça vient peut être de là, il faut retirer la taille de la barre au maximum (c'est logique mais j'avais oublié ce détail),
bar.setValue(bar.getMaximum()-bar.getVisibleAmount())
Pour les look and feel, rajoutes ce petit morceau de code au début de ton main :
import javax.swing.UIManager;
public static void main(String[] args)
{
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (Exception e)
{
// en cas de problème, les paramètres par défaut sont conservés
}
// ...
} -
-
Voici un exemple simple d'utilisation des barres de défilement :
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
public class Test
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setBounds(100, 100, 100, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new BorderLayout(0, 0));
JButton btnHaut = new JButton("Haut");
frame.getContentPane().add(btnHaut, BorderLayout.NORTH);
JButton btnBas = new JButton("Bas");
frame.getContentPane().add(btnBas, BorderLayout.SOUTH);
JScrollPane scrollPane = new JScrollPane();
frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
JTextPane textPane = new JTextPane();
scrollPane.setViewportView(textPane);
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 100; i++ )
sb.append(i + "\n");
textPane.setText(sb.toString());
final JScrollBar bar = scrollPane.getVerticalScrollBar();
btnHaut.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
bar.setValue(bar.getMinimum());
}
});
btnBas.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
bar.setValue(bar.getMaximum() - bar.getVisibleAmount());
}
});
frame.setVisible(true);
}
} -
-