# Swing: Ebenen zeichnen



## byte (15. Sep 2008)

Hallo,

ich möchte mit Swing eine Komponente erstellen, die im Hintergrund ein Layout darstellt (funktioniert bereits). Im Vordergrund möchte ich nun verschiedene Komponenten darstellen. Diese Komponenten haben unterschiedliche Koordinaten und können sich auch gegenseitig überlappen. Eine Komponente soll symbolisch kenntlich gemacht werden (z.B. als Kreis in verschiedenen Farben).

Ich habe das Ganze schon als Prototyp implementiert. Dabei habe ich JXLayer von SwingX verwendet, um die Komponenten über das Layout zu zeichnen. Es funktioniert auch, ich bin aber noch nicht ganz zufrieden mit dem Ansatz, die Komponenten einfach so drüber zu zeichnen. Ich möchte nämlich für die Komponenten auch Hover-Effekte (Symbol soll Farbe ändern, wenn Maus drüber ist) und Drag and Drop Support haben. Idealerweise sollte also eine Komponente als JComponent greifbar sein.

Wie würdet Ihr das Ganze realisieren. Soll ich die Komponenten einfach als JComponent implementieren und mit einem Null-Layout auf dem Layout positionieren? Doch wie geht man dann mit den unterschiedlichen Ebenen um, wenn sich Komponenten überlappen? Gibt es vielleicht ein Layout, dass Ebenen unterstützt?

TIA byto


----------



## Titanpharao (15. Sep 2008)

JLayeredPane mit Nulllayout ist vielleicht das was du suchst...


----------



## byte (15. Sep 2008)

Danke, werde ich mir angucken.


----------



## André Uhres (15. Sep 2008)

Ich weiss nicht ob's für dich was bringt, aber vielleicht kannst du mal einen Blick auf mein ShapeEditor.jar werfen (Quellcode im jar).
Die verschiebbaren und in der Grösse anpassbaren Komponenten heissen dort "JComponentBounds" und sind von JInternalFrame abgeleitet.


----------

