JDesktopPane: JInternalFrames logisch anordnen

Status
Nicht offen für weitere Antworten.

The_S

Top Contributor
Tach,

heute schon die zweite Frage :oops: .

Ich habe ein JDesktopPane, dem der User verschidene JInternalFrames hinzufügen und diese selbstverständlich auch verschieben kann. Nun möchte ich, sobald ein neues JInternalFrame geöffnet wird, dieses möglichst "logisch" anordnen.

"Logisch" definiere ich wie folgt:

- Wenn möglich abstand der linken oberen Kante mindestens 10 Pixel vertikal und 30 Pixel horizontal zu der Darunterliegende (sofern eine darunter liegt)
- Wenn möglich kein kleineres JInternalFrame vollständig überdecken
- Auf keinenfall soll ein Teil des JInternalFrames außerhalb des sichtbaren Bereichs des JDesktopPanes liegen
- Auf jeden Fall soll das JInternalFrame aus Sicht des Users schnell zugänglich und logisch platziert werden

Bis jetzt kann ich (ist noch nicht programmiert, aber ich weiß wie es funktionieren würde):

- Überprüfen ob das JInternalFrame außerhalb des sichtbaren Bereichs liegt
- Überprüfen ob das JInternalFrame ein kleineres vollständig überdeckt
- Geeignete Position finden, damit der "Kantenabstand" wenn möglich eingehalten wird

Probleme bereiten mir noch:

- Eine Position zu finden, an der das JInternalFrame kein kleineres JInternalFrame überdeckt (ok, ich kann alle pixel durchgehen, aber das erscheint mir doch ein wenig zu aufwendig)

Überhaupt keine Ahnung hab ich:

- eine für den Benutzer logische Position für das JInternalFrame finden (vorallem, was empfindet der User als treffend platziert?)
- wie ich alle Punkte am Besten kombinieren kann

Hoffe jemand kann mir da helfen ...

danke!
 

Wildcard

Top Contributor
Zum überdecken:
Code:
Rectangle.contains(Rectangle);
ZUr logischen Anordnung:
Schau dir einfach mal an wie Photoshop das macht :wink:
 

The_S

Top Contributor
Danke für deine Antwort ...

Wildcard hat gesagt.:
Zum überdecken:
Code:
Rectangle.contains(Rectangle);

Hab wie gesagt kein Problem damit ob es ein anderes Frame vollständig verdeckt, sondern eine Position zu finden, an der es nichts vollkommen verdeckt.

Wildcard hat gesagt.:
ZUr logischen Anordnung:
Schau dir einfach mal an wie Photoshop das macht :wink:

Hab leider kein Photoshop :cry:
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben