Jak zrobić przewijany JPanel? I wdrożone przewijaną interfejsu jeszcze podczas dodawania go do panelu zawierającego zPrzewijany JPanel
tabbedPane.add("Editor", new JScrollPane(storeyEditor = new MNScrollablePanel()));
nic nie działa
Kod:
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;
}
}
Możesz dodać dowolny komponent do JScrollPane, niezależnie od tego, czy implementuje Scrollable, czy nie, ale implementacja Scrollable da ci większą kontrolę. JPanel nie implementuje Scrollable, więc musisz go podklasować, jeśli chcesz mieć większą kontrolę nad zachowaniem panelu przewijania podczas wyświetlania panelu. –
(Możesz też ustawić właściwości na 'JScrollPane' /' JScrollBar's bez implementowania czegokolwiek.) –
@Dan: Tak, ale nigdy nie powiedziałem 'narzędzi' –