Swing JScrollPane zeigt keinerlei Inhalt an

Alan47

Mitglied
Hallo Leute,

ich sitz' seit mehreren Stunden an einem Problem: Ich habe eine Swing-Oberfläche mit folgender Struktur:

Java:
// das ist KEIN Java-Code!
 JTabbedPane
  |-> JScrollPane
        |-> Canvas

Das Canvas ist eine Klasse, die ich mir von JPane abgeleitet habe:

Java:
public class Canvas extends JPanel {

	public Canvas() {
		this.setBackground(Color.ORANGE);
		this.setForeground(Color.ORANGE);
	}
}


Die Canvas-Klasse möchte ich später noch editieren um Diagramme rein zu zeichnen, darum heißt sie so. Für den Moment soll sie einfach nur eine orange Fläche darstellen.

Nun zum Problem: Wenn ihr mal einen kurzen Blick auf das Bild "withoutScrollPane.png" im Anhang dieses Posts werft, seht ihr, wie ich mir die Sache vorstellen würde - das Canvas füllt den Bereich innerhalb des Tabs voll aus. Nur hätt ich gern noch das ScrollPane drumherum, damit das Canvas auch mal größer werden kann als es der Platz des Tabs zulässt. Das Bild "withScrollPane.png" zeigt das ernüchternde Resultat - da ist *nix* orange. Rein gar nichts. Mein GUI-Builder (Window Builder von Eclipse Indigo) zeigt mir, dass das JScrollPane den vollen Platz des Tabs ausnutzt - nur weigert es sich strikt, auch nur ein kleines oranges Fleckchen vom Canvas anzuzeigen. Ich habe schon versucht, die Minimum- oder Preferred-Sizes zu setzen, oder dem Canvas eine fixe Größe in Pixeln zuzuweisen, alles ohne Erfolg! Und ein JScrollPane lässt ja leider keinen anderen Layout-Manager als das ScrollPaneLayout zu...

Hat irgendjemand einen guten Tip für mich? Bin bislang eigentlich mit allem zurecht gekommen was mir Swing so in den Weg gelegt hat (hab auch schon ScrollPanes mit JTrees verwendet, war kein Problem), aber daran beiße ich mir seit Stunden die Zähne aus...


Gruß,


Alan


______________________________________________________________________________________

EDIT: Ich weiß nicht wie, ich weiß nicht warum - aber so funktioniert es:

Anstelle "JScrollPane#add(Component c)" zu verwenden, übergibt man die Komponente einfach im Konstruktor vom JScrollPane - dann wird das Panel richtig angezeigt und die ScrollBars funktionieren auch soweit ich das beurteilen kann. Nur - warum das so ist.... keine Ahnung... mal Java-API nachlesen gehen...

Tut mir leid dass ich das hier gepostet hab, aber ich hab echt lange nach einer Lösung gesucht, das war jetzt grade purer Zufall :)


EDIT 2: Wen es interessiert: Offenbar ist es so dass die ".add(Component c)"-Methode nur von einer Klasse weiter oben in der Hierarchie geerbt wurde und sich nicht spezifisch auf das JScrollPane bezieht bzw. nicht spezifisch implementiert wird. Der Konstruktor von JScrollPane (JScrollPane(View Component)) jedoch erstellt für die Komponente eine View, sodass letztendlich alles korrekt abläuft.
 

Anhänge

  • withoutScrollPane.png
    withoutScrollPane.png
    3 KB · Aufrufe: 31
  • withScrollPane.png
    withScrollPane.png
    3 KB · Aufrufe: 28
Zuletzt bearbeitet:

Marco13

Top Contributor
Man muss die Component zum Viewport hinzufügen
scrollPane.getViewport().add(...);
Die ScrollPane enthält ja schon andere Components - eben den JViewport, und zusätzlich Scrollbars...

BTW: Die Component sollte nicht "Canvas" heißen, der Name wird bei AWT schon verwendet und könnte zu Verwirrung führen... vielleicht eher "PaintPanel" oder sonstwas..
 

Alan47

Mitglied
Hi Marco,

danke für den Hinweis mit "getViewport" - da wär ich vermutlich nie drauf gekommen :)

Und wegen meiner "Canvas"-Komponente - die heißt in meinem Programm eigentlich anders, nur hab ich sie für den Post hier umbenannt weil sich hoffentlich jeder unter einem "Canvas" etwas vorstellen kann. Dass es eine entsprechende AWT-Klasse gibt, wusste ich nicht, dummer Zufall ^^'


Danke!


Alan
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JTextarea (in JScrollPane) zeigt nur die beiden letzten Einträge an? AWT, Swing, JavaFX & SWT 0
D JScrollPane zeigt keinen Inhalt AWT, Swing, JavaFX & SWT 2
F JScrollPane mit JPanel drinne zeigt keine Scroll-Leisten AWT, Swing, JavaFX & SWT 7
M JScrollPane zeigt einfach keinen ScrollBar AWT, Swing, JavaFX & SWT 2
volcanos Scrollen: JScrollPane mit Graphics g und Java-Fonts extends Frame ? AWT, Swing, JavaFX & SWT 5
E JScrollPane mit JPanel verbinden AWT, Swing, JavaFX & SWT 1
B Swing JScrollPane scrollt nicht AWT, Swing, JavaFX & SWT 10
O Swing "Eigenes" JPanel wird dem JScrollPane nicht hinzugefügt AWT, Swing, JavaFX & SWT 5
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
E wie in JScrollPane auf JTextArea zugreifen AWT, Swing, JavaFX & SWT 12
N Swing JScrollPane mit Tastatur bedienen? AWT, Swing, JavaFX & SWT 0
F JScrollPane anzeige AWT, Swing, JavaFX & SWT 7
K Swing JScrollPane wird nicht angezeigt wenn man Components darstellt. AWT, Swing, JavaFX & SWT 2
M Swing JPanel in JScrollPane AWT, Swing, JavaFX & SWT 3
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
P Swing JEditorPane in Kombination mit JScrollPane AWT, Swing, JavaFX & SWT 29
S Swing jScrollPane - pro Eintrag der Liste, die jCheckBoxes Speichern die in dem Eintrag aktiviert wurden AWT, Swing, JavaFX & SWT 2
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
D JScrollPane in JTabbedPane AWT, Swing, JavaFX & SWT 3
MaxG. Swing JScrollPane AWT, Swing, JavaFX & SWT 10
Soloeco Swing JScrollPane AWT, Swing, JavaFX & SWT 6
A Swing Probleme mit dem adden von JButtons zur JScrollPane AWT, Swing, JavaFX & SWT 2
A JScrollPane soll JPanel mit JButtons enthalten und eine Scollbar anzeigen AWT, Swing, JavaFX & SWT 1
J JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 5
B LayoutManager GridBagLayout und JScrollPane AWT, Swing, JavaFX & SWT 5
Thallius JScrollPane Scrollpos setzen nach Neuzeichnen AWT, Swing, JavaFX & SWT 3
P MalProgramm mit JScrollPane und Canvas AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane Tabelle ändern (2 Tabellen) AWT, Swing, JavaFX & SWT 7
U JScrollPane -> JTabbedPane u.A. AWT, Swing, JavaFX & SWT 3
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
V JScrollPane im zur Laufzeit verändernden JFrame AWT, Swing, JavaFX & SWT 0
W Swing Größenänderung vom JPanel im JScrollPane und anschließendes positionieren AWT, Swing, JavaFX & SWT 2
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
G JTextArea mit JScrollPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
K Swing JScrollPane - JScrollBar anzeigen, wenn Frame verkleinert wird AWT, Swing, JavaFX & SWT 3
N Swing Problem beim Scrollen mit JScrollPane AWT, Swing, JavaFX & SWT 6
Bluedaishi JScrollpane AWT, Swing, JavaFX & SWT 0
L JScrollPane scrollt nicht !! AWT, Swing, JavaFX & SWT 3
F JScrollPane Position setzen (x=0, y=0) AWT, Swing, JavaFX & SWT 2
R JScrollPane überdeckt JPanel? AWT, Swing, JavaFX & SWT 7
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
S JScrollPane und BorderLayout AWT, Swing, JavaFX & SWT 1
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
W Swing JScrollPane für mein Fenster AWT, Swing, JavaFX & SWT 4
A Swing Probleme mit JScrollPane AWT, Swing, JavaFX & SWT 6
F JTable mit JScrollPane AWT, Swing, JavaFX & SWT 4
I JPanel in JScrollPane verkleinert sich leider nicht .... AWT, Swing, JavaFX & SWT 2
G JScrollPane bricht am Ende der Anzeige nicht um AWT, Swing, JavaFX & SWT 2
J Swing JTextPane mit JScrollPane auf JPanel scrollen nicht AWT, Swing, JavaFX & SWT 6
W Sichtbarer Bereich JScrollPane vs. JList AWT, Swing, JavaFX & SWT 3
B Swing JPanel in JScrollPane einfügen AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Transparentes JScrollPane AWT, Swing, JavaFX & SWT 0
S 3D-Grafik 3d Grafik auf einem JPanel oder im JScrollPane AWT, Swing, JavaFX & SWT 1
R Ändern Default-Verhalten von JScrollpane in einer JScrollpane AWT, Swing, JavaFX & SWT 1
S JScrollPane --> Programm hängt sich beim scrollen auf AWT, Swing, JavaFX & SWT 2
A JScrollPane - ScrollBar Buttongröße verändern AWT, Swing, JavaFX & SWT 1
J Bilder auf JPanel (im JScrollPane) nacheinander laden AWT, Swing, JavaFX & SWT 0
A Swing JScrollPane Problem AWT, Swing, JavaFX & SWT 6
H Swing JScrollPane mit "viel Inhalt" scrollt zu langsam (inkl. See-For-Yourself.jar :D) AWT, Swing, JavaFX & SWT 2
T Swing JScrollPane in JPanel - Breite dynamisch, Höhe fix - wie? AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane in JScrollPane - Problem AWT, Swing, JavaFX & SWT 3
K Bug in JScrollPane? AWT, Swing, JavaFX & SWT 4
T Swing JScrollPane Farbe der Scrollbar AWT, Swing, JavaFX & SWT 3
M JScrollPane Header AWT, Swing, JavaFX & SWT 3
G JScrollPane über JScrollPane AWT, Swing, JavaFX & SWT 2
V LayoutManager JScrollPane verwirft Elementanordnung AWT, Swing, JavaFX & SWT 3
B JScrollPane Problem AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane AWT, Swing, JavaFX & SWT 7
H cardlayout und jscrollpane AWT, Swing, JavaFX & SWT 14
F 2D-Grafik Skalieren der Scrollbars beim Zoomen einer JScrollPane AWT, Swing, JavaFX & SWT 4
B JScrollPane Horizontal klappt nicht. AWT, Swing, JavaFX & SWT 4
G JScrollPane reagiert nicht auf Änderung der JPanel-Größe AWT, Swing, JavaFX & SWT 4
C jPanel auf jScrollPane zentrieren AWT, Swing, JavaFX & SWT 3
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
U Swing JPane und JScrollpane in JSplitpane-Seite: Scrollen funktioniert nicht AWT, Swing, JavaFX & SWT 3
A Swing Korrekte JTable.rowAt(point) für JTable in JScrollPane AWT, Swing, JavaFX & SWT 5
D Label über JScrollPane AWT, Swing, JavaFX & SWT 3
S JScrollPane reagiert nicht AWT, Swing, JavaFX & SWT 3
X JScrollPane zu JTable hinzufügen AWT, Swing, JavaFX & SWT 16
H JScrollPane - JEditorPane und HTML-Tabelle AWT, Swing, JavaFX & SWT 2
D LayoutManager JScrollPane mit dynamischem Inhalt AWT, Swing, JavaFX & SWT 8
P Swing JScrollpane AWT, Swing, JavaFX & SWT 2
B JScrollPane scrollt nicht immer automatisch AWT, Swing, JavaFX & SWT 2
V Swing JScrollPane Viewport verschieben AWT, Swing, JavaFX & SWT 2
J JScrollPane Probleme AWT, Swing, JavaFX & SWT 3
S Swing JScrollPane verliert Scrollbars AWT, Swing, JavaFX & SWT 5
D Swing JTable in JScrollpane beliebig verbreitern AWT, Swing, JavaFX & SWT 5
A Swing Anzeige Text in JScrollpane AWT, Swing, JavaFX & SWT 8
J Swing Unteren Abstand für JTable in JScrollPane festlegen AWT, Swing, JavaFX & SWT 10
xehpuk Swing Line-wrapping von JTextPane (in JScrollPane) AWT, Swing, JavaFX & SWT 3
M JScrollPane Problem AWT, Swing, JavaFX & SWT 6
S Swing JScrollpane und ViewPort AWT, Swing, JavaFX & SWT 4
D JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 12
X JScrollPane funzt net... AWT, Swing, JavaFX & SWT 5
H jscrollpane AWT, Swing, JavaFX & SWT 12
RELAXccc Swing JTree + JScrollPane, refresh Problem AWT, Swing, JavaFX & SWT 17
A Problem mit JScrollPane in einer JScrollpane AWT, Swing, JavaFX & SWT 4
B JScrollPane Problem AWT, Swing, JavaFX & SWT 25
T Swing JScrollPane- und Tabelle-Header Problem AWT, Swing, JavaFX & SWT 25
P Swing JScrollPane-Inhalt: Grösse anpassen AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben