JScrollPane opcja przeskoczenia do wybranego miejsca

JScrollPane opcja przeskoczenia do wybranego miejsca
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,
czy jest opcja przeskoczenia w określone miejsce w JScrollPane? Dokładniej chodzi mi o to, że mam bardzo długi panel, na którym znajdują się od góry do dołu rozdziały książki i chciałbym zrobić tak, że przed odpaleniem książki mogę sobie wybrać rozdział i mnie tam przerzuci a ja dalej będę mógł się bawić suwakiem od góry do dołu.

/
|
|
| chcę się znaleźć tutaj - załóżmy, że ma to współrzędne x = 3 lub 50%
|
|
\ /

Czy istnieje sposób na coś takiego?

VI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 212
0

scrollPane.getVerticalScrollBar().setUnitIncrement(32);
przeskakuje za każdym ruchem góra/dół o 32 pixeli. ofc. na swoje potrzeby możesz dynamicznie zmieniać.

remigio
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 357
0
Visher napisał(a)

scrollPane.getVerticalScrollBar().setUnitIncrement(32);
przeskakuje za każdym ruchem góra/dół o 32 pixeli. ofc. na swoje potrzeby możesz dynamicznie zmieniać.

a to czasem nie zmienia szybkości scrollowania ?

spróbuj cos takiego:
myJScrollPane.getVerticalScrollbar().setValue(int Pos);

  • Rejestracja: dni
  • Ostatnio: dni
0

Zrobiłem to w taki sposób, lecz niestety suwak się nie ustawił.

Kopiuj
public class Teoria extends JPanel
{
    ImageIcon strona = new ImageIcon("pictures/menu.png");
    ImageIcon strona2 = new ImageIcon("pictures/profil.png");
    ImageIcon strona3 = new ImageIcon("pictures/tlo.png");
    JLabel image = new JLabel(strona);
    JLabel image2 = new JLabel(strona3);
    JLabel image3 = new JLabel(strona2);
    JPanel panelglowny = new JPanel();
    JPanel panel10 = new JPanel();
    JScrollPane scrollPane = new JScrollPane(panel10, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                            JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    public void Teoria()
    {
        add(panelglowny);
        
        scrollPane.setPreferredSize(new Dimension(799,590));
        scrollPane.setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_NEVER);
        scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        scrollPane.getHorizontalScrollBar().setValue(100);
        panelglowny.add(scrollPane);
        
        panel10.add(image);
        panel10.add(image2);
        panel10.add(image3);
        
    }
}
bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Z pierwszego postu wynikało, że chcesz przewijać w pionie, a w kodzie przewijasz w poziomie. Przydałoby się też napisać w klasie Teoria jakiś konstruktor.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.