Forum: PC-Programmierung jsplitpane mit scrollbar


von java noob (Gast)


Angehängte Dateien:

Lesenswert?

hi,

ich habe folgendes problem, ich habe mein frame und darauf ein 
JSplitPane. für das jSplitPane wollte ich eine scrollbar einfügen an der 
rechten seite aber wenn ich das programm starte is die Jscrollbar über 
das gesamte fenster zu sehen (siehe screenshot). ich habs auch mit der 
methode setrightcomponent versucht aber immer das gleiche problem

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Code? Ich vermute mal das du ein JScrollBar anstelle eines JScrollPane 
benutzt...

von java noob (Gast)


Lesenswert?

also den ganzen code reinzumachen wäre zuviel aber ich zeige mal die 
stelle an der ich es einfügen wollte:

JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, 
true);
splitPane.setDividerSize(0);
splitPane.setOneTouchExpandable(true);
splitPane.setLeftComponent(getRoleEditor());
splitPane.setRightComponent(canvas);
splitPane.setDividerLocation(0);
JScrollPane j = new JScrollPane();
j.setSize(100, 100);
splitPane.add(j);

mainFrame.add(splitPane, BorderLayout.CENTER);
mainFrame.add(toolBar, BorderLayout.NORTH);

mainFrame.addWindowListener(this);
mainFrame.setLocation(50, 50);
mainFrame.setSize(700,450);
mainFrame.setVisible(true);

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Versuchs mal so
1
splitPane.setRightComponent(new JScrollPane(canvas))
das hier:

java noob schrieb:
> JScrollPane j = new JScrollPane();
> j.setSize(100, 100);
> splitPane.add(j);

macht auf jedenfall nicht was du erwartest.

java noob schrieb:
> j.setSize(100, 100);

Sowas bitte auch ganz schnell wieder vergessen, dafür ist der 
Layoutmanager da, bevorzugte Größen setzt man über die setMin/Max/Pref - 
Dimension Methoden den Rest macht dann der Layoutmanager.

von java noob (Gast)


Lesenswert?

Läubi .. schrieb:
> Versuchs mal sosplitPane.setRightComponent(new JScrollPane(canvas))das hier:
>

hab ich gerade versucht jetzt taucht zwar das splitpane wieder auf aber 
keine spur von der ScrollPane

von java noob (Gast)


Lesenswert?

es muss doch möglich sein in die rechte seite einer JSplitPane ein 
JScrollPane einzufügen und dieses dann im Frame darzustellen. geht sowas 
etwa net?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

java noob schrieb:
> es muss doch möglich sein in die rechte seite einer JSplitPane ein
> JScrollPane einzufügen und dieses dann im Frame darzustellen. geht sowas
> etwa net?

Das geht, aber nicht mit Rumprobieren! Es werden z.B. nur Scrollbalken 
angezeigt falls der Inhalt auch tatsächlich größer ist als der 
Viewport... das hängt aber dann auch von deinem "canvas" ab.

Für Swing gibt es ein sehr schönes Tutorial für Scrollpanes z.B. unter:
http://download.oracle.com/javase/tutorial/uiswing/components/scrollpane.html

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.