Jscrollbar swing

zizou1991 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   -  
zizou1991 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   -
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.

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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.
1
zizou1991 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   1
 
MERCI bcp M KX pour votre réponse mais le même problème persiste même après avoir ajouter ce bout de code
Pardon j'ai pas bien saisi le 2 ème point
merci encore une fois :)
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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
}

// ...
}
0
zizou1991 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   1
 
Toujours le meme problème :/
Merci en tout cas M KX :)
le LOOK and FEEL a bien changé :)
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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);
}
}
0
zizou1991 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   1
 
OUI C'EST VRAIMENT TRES CLAIR MERCI
0