div. Ebenen in einem Teilfenster? - bekomme es nicht zusammen.

django013

Grünschnabel
Hallo,

irgendwie fehlt mir ein Stück vom Puzzle.

Ich möchte ein kl. Program erstellen, mit dem man (z.B. per drag and drop) eine Collage erstellen und diese dann speichern kann.

Die einzelenen Schritte habe ich jeweils mit einem eigenständigen Programm ausprobiert und jeder für sich tut erst mal.
Mit dem Zusammenbau hapert es.

Als Idee schwebte mir ein JLayeredPane vor, mit dem ich jedes Element einzeln positionieren kann. Habe hier (u.a.) auch üppig Beispiele zu JLayeredPane gefunden, die so auch funktioklappen, aba ...

- Ein Problem ist, dass das ganze nicht in einem JFrame ablaufen soll, sondern in einem JComponent, denn drumherum soll es Bedienelemente geben (die natürlich vor "Übermalen" geschützt sein sollen).

- Ein anderes Problem ist, dass wenn ich das JLayeredPane im Component einbaue, "nichts" mehr gezeichnet wird. Kein Hintergrundbild und auch keine Teilbilder. Die Teilbilder liegen in einem Pane mit MouseListeners und werden in einer paint-Methode gemalt, um so auf Mausbewegungen reagieren zu können.

Wenn mir jemand helfen könnte, meinen Denkfehler zu finden, würde mich das sehr freuen.
 
Hallo,

bin nicht ganz schlau aus deiner Beschreibung geworden!

Ein Bildle und bissle Code würden vielleicht helfen dir zu helfen?


Vg Erdal
 
Hallo Erdal,

danke für Deine Aufmerksamkeit!

Ich denke, ich bin meinem Denkfehler auf der Spur.
Ich bin zweigleisig gefahren, d.h. ich habe versucht, meine Anwendung anhand gefundener Beispiele anzupassen - das hat net geklappt - und zum anderen habe ich ein Beispiel genommen und das in Richtung meiner Anwendung erweitert - das wiederum hat geklappt.

Verstehe ich das jetzt richtig, dass JLayeredPane gar kein Objekt ist, wie z.B. ein JPanel oder ein anderes JComponent, sondern dass es sich um ein Zugangsobjekt handelt für die Ebenen, die es nur in einem (J)Frame gibt/geben kann? Im Gegensatz dazu hatte ich angenommen, dass ich einem JPanel ein JLayeredPane verpassen kann und so die div. Schichten "nur" in dem Teilbereich des Fensters bekäme.

In dem Beispiel, in dem es jetzt klappt, verändere ich die Grenzen mittels eines ComponentListeners zu einem JPanel, das ich kwasi als Hintergrund eingefügt habe und so überwache. So wird das ganze ungleich aufwändiger, als ich mir das vorgestellt hatte.

Gruß Django
 
Zurück