2017-11-09 3 views
-1

Ich habe einen JFrame, die einen Benutzer blättern und zeigen Datensätze aus einer Datenbank können, die wie folgt aussieht:JScrollPane die Quelle der vertikalen Bildlaufleiste ändern

https://i.stack.imgur.com/d9E5a.png

wo die Etiketten nie bewegen und die Inforollen unter Sie. Mein Problem ist, dass mein Benutzer möchte, dass die Bildlaufleiste wie die ganz rechts (die sich in ihrem eigenen JPanel befindet und dem JFrame hinzugefügt wird) statt der an den JScrollPane angehängten aussieht. Kennt jemand eine Möglichkeit, meinen ScrollPane mit einer separaten Bildlaufleiste zu scrollen?

+0

' '- macht für mich keinen Sinn. Meinst du, dass du das JPanel in seinem eigenen JScrollPane verschachteln willst? Wenn ja, dann tue es. –

+1

Korrigiert 'JTable' nicht die Kopfzeile, so dass der Inhalt darunter scrollt, aber die Kopfzeile bleibt ruhig? – MadProgrammer

+0

"Meinst du, dass Sie das JPanel in seinem eigenen JScrollPane verschachteln wollen? Wenn ja, dann tun Sie das." @HovercraftFullOfEels Ich mache das schon. Ich habe ein JPanel, wo ich die Spaltennamen mit den Daten in der JScrollPane, die darunter ist, anordnen. Was ich versuche zu tun ist, anstatt die Bildlaufleiste der JScrollPane zu haben, habe es eine, die ich bereits auf meinem JFrame ganz rechts angezeigt habe (siehe Bild im ursprünglichen Beitrag) – WickedChester

Antwort

0

In Ordnung, ich habe herausgefunden, wie ich erreichen kann, was ich wollte. Anstatt das Rad neu zu erfinden und eine JScrollBar mit einem JScrollPane arbeiten zu lassen. Stattdessen extrahierte ich die vertikale Bildlaufleiste von meinem JScrollPane, damit versaut, und steckte es in meinem JPanel wie so: „Kennt jemand eine Möglichkeit, meine ScrollPane zu machen mit einem separaten Scrollbar scrollen“

//Where dataPanel is a JPanel I want to be able to scroll 
    JScrollPane roller = new JScrollPane (dataPanel, 
          JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, 
          JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 

    JPanel scrollerPanel = new JPanel(); 
    JScrollBar scrollBar = roller.getVerticalScrollBar(); 
    scrollBar.setPreferredSize(new Dimension (20, 100)); 

    scrollPanel.add(scrollBar); 
Verwandte Themen