Comment faire un JPanel défilable? Je mis en œuvre l'interface scrollable encore lors de l'ajout au panneau contenant avecScrollable JPanel
tabbedPane.add("Editor", new JScrollPane(storeyEditor = new MNScrollablePanel()));
rien ne fonctionne
code:
public class MNScrollablePanel extends JPanel implements Scrollable {
public Dimension getPreferredScrollableViewportSize() {
return getPreferredSize();
}
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) {
return 10;
}
public boolean getScrollableTracksViewportHeight() {
return false;
}
public boolean getScrollableTracksViewportWidth() {
return false;
}
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) {
return 10;
}
}
Vous pouvez ajouter n'importe quel composant à un JScrollPane, qu'il implémente Scrollable ou non, mais l'implémentation de Scrollable vous donnera plus de contrôle. JPanel n'implémente pas Scrollable, donc vous devez le sous-classer si vous voulez plus de contrôle sur le comportement du volet de défilement lors de l'affichage du panneau. –
(Ou vous pouvez définir des propriétés sur 'JScrollPane' /' JScrollBar's sans implémenter quoi que ce soit.) –
@Dan: Oui, mais je n'ai jamais dit 'implements' –