Overlapping von 2 ScrollPanes

bladepit

Bekanntes Mitglied
Hallo an alle,

ich habe folgendes Problem. Ich habe zwei Bilder wo das eine (ein großes auswändiges) unter dem anderen liegen soll. Das obere also was über dem großen liegt wird öfters neugezeichnet (das ist auch der Grund warum ich das so mache und nicht ein Bild zeichne).

Das war auch am Anfang mit dem Overlay Layout kein Problem allerdings musste da das obere Bild nicht gescrollt werden sondern nur das untere. Folgender Code reichte dafür aus:

Java:
LayoutManager overlay = new OverlayLayout(substdendroouterpanel);
substdendroouterpanel.setLayout(overlay);
		
JScrollPane scrl2 = new JScrollPane(unten);

substdendroouterpanel.add(oben);
substdendroouterpanel.add(scrl2);

Nun wollte ich folgendes machen: Ich wollte einfach das um das andere Bild (also oben) auch eine ScrollPane ist. Aber folgender Code funktioniert nicht (habe auch was mit setOpaque rumgespielt aber ohne Erfolg):

Java:
LayoutManager overlay = new OverlayLayout(substdendroouterpanel);
substdendroouterpanel.setLayout(overlay);
		
JScrollPane scrl2 = new JScrollPane(unten);
JScrollPane scrl3 = new JScrollPane(oben);

substdendroouterpanel.add(scrl3);
substdendroouterpanel.add(scrl2);

Weiß einer Rat?

Gruß

bladepit
 

XHelp

Top Contributor
Definiere "funktioniert nicht"? Wenn das obere Bild den ganzen Platz beansprucht, ist es ja logisch, dass unten nichts zu sehen ist.
 

bladepit

Bekanntes Mitglied
Naja die sollen ja übereinander liegen. Ohne ScrollPane ging es ja aber mit ja nicht. Gibt es da vll auch ne andere Lösung als das Overlay Layout
 

bladepit

Bekanntes Mitglied
Also beide Bilder sind gleich groß. Ich will halt einfach nur zwei Bilder übereinander legen die auch ScrollPane sein müssen also dementsprechend in ner ScrollPane sein müssen.

Da ja ne ScrollPane ein Single-Container ist muss ich ja zwei ScrollPanes für jedes Bild eine machen.

Leider kann ich mit dem Overlay-Layout keine zwei ScrollPane übereinander legen daher weiß ich nicht weiter.

Meine vorherige Konfiguration war so das ein Bild in ner ScrollPane war und das eine nicht. Da konnte ich das eine Bild mittels des Overlay-Layouts über die ScrollPane legen.

Vll war das was verständlicher...
 

XHelp

Top Contributor
Ich versuch es mal anders:
Hinter diesem Viereck
attachment.php
befindet sich ein gleichgroßes rotes Viereck... :bahnhof:
 

bladepit

Bekanntes Mitglied
Also die sind vom Prinzip her genauso groß die Bilder aber das eine beinhaltet nur eine rote Linie (soll "oben" liegen) während das andere quasi einen Baum (soll "unten" liegen) darstellt. Die rote Linie ist dann eine interaktion mit dem Baum.

Damit sieht du das untere quasi komplett nur mit ner darübergelegten roten Linie.

Vll jetzt? :(
 

XHelp

Top Contributor
Du kannst JLayeredPane nehmen, beide Panels draufpacken und erst dann die gesamte JLayeredPane in ein ScrollPane stecken.
 

bERt0r

Top Contributor
Oder einfach dein "substdendroouterpanel" das du bereits hast in ein scrollpane geben. Einfach so 2 Scrollpanes übereinanderlegen, das kann doch gar nicht funktionieren... Wie willst du die Scrollleisten bedienen?
 

Ähnliche Java Themen


Oben