Comment obtenir la barre de défilement apparaît sur une JList lorsque le cadre est trop petit pour afficher toutes les JList?
Je veux faire une barre de défilement apparaît sur une JList chaque fois que l'image est redimensionnée pour être trop petit pour la Liste elle-même. Jusqu'à présent, c'est le code que j'ai. L'exécuter, redimensionner le cadre, et remarquez comment pas de barre de défilement apparaît jamais sur la JList.
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class JListScroll extends JPanel{
JScrollPane listScrollPane;
public JListScroll() {
String[] stringArray = {"Testing","This","Stuff"};
JList<String> rowList = new JList<String>(stringArray);
listScrollPane = new JScrollPane();
listScrollPane.getViewport().setView(rowList);
this.setSize(new Dimension(75,200));
this.add(listScrollPane);
this.doLayout();
}
public static void main(String[] args){
JFrame frame = new JFrame();
JListScroll scrollPanel = new JListScroll();
frame.add(scrollPanel);
frame.setVisible(true);
frame.setSize(new Dimension(75,300));
}
}
Avis qu'il y a un JScrollPane ajouté, mais pas de barre de défilement apparaît sur la liste lorsque la fenêtre est vraiment petit. C'est ce que je veux réparer.
Merci d'avance!
OriginalL'auteur idungotnosn | 2013-04-12
Vous devez vous connecter pour publier un commentaire.
Composite a mis en œuvre FlowLayout
FlowLayout acceptant seulement PreferredSize (dans votre cas, codé en dur par setSize)
FlowLayout n'est pas désigné, pas mis en œuvre de redimensionner JComponents (préparé par FlowLayout) avec conteneur, JComponent n'est pas redimensionnable, reste tel qu'il est
ne veux pas commenter quelque chose au sujet de votre code posté ici, voir les différences, d'assez bon niveau bas
OriginalL'auteur mKorbel
Vous pouvez forcer la visibilité de l' (verticale) de la barre de défilement avec la méthode
listScrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS)
OriginalL'auteur ddmps