Hallo,
aufgrund mangelhafter Planung bin ich bei der Umsetzung meiner Studienarbeit in Schwierigkeiten geraten was die Benutzerschnittstelle betrifft
Im Bild sieht man ein JPanel, auf welchem weitere JPanel angeordnet sind (mit der Maus bewegbar, NullLayout). Die kleinen JPanel hab ich genommen wegen der MouseListener und dem automagischen repaint().
Problem: Ich muss die Punkte auf den kleinen Panels (bitte nich zuviel reininterpretieren
sind nur "Testobjekte" erstmal) noch mit Linien verbinden. Idealerweise sollen die Linien sichtbar in die kleinen Rechtecke hineinreichen, muss aber nicht sein (am Ende soll es eben aussehen wie ein Blockschaltbild oder Klassendiagramm oder ...). Dazu fallen mir folgene Lösungen ein:
a) malen der Linien als Pfade auf das untenliegende JPanel. Hier kann es aber Probleme geben, weil ich auf einem Panel sowohl zeichne als auch Komponenten platziere, oder? Außerdem müssen die Linien immer neu gezeichnet werden, wenn die kleinen Panels verschoben werden
b) weiteres JPanel über alles drüberlegen, darauf malen. Hier frage ich mich dann, ob die Mausevents dann noch bei den überdeckten Panels ankommen oder ob ich sicherstellen kann, dass das - ich nenne es jetzt mal "Verbindungslinienpanel" - niemals eine Action auslöst.
Für innovative Vorschläge oder auch Ermutigungen, alles Shape-basiert zu lösen (vielleicht noch unschlagbare Argumente dafür) bin ich sehr dankbar!
Grüße
Philipp
aufgrund mangelhafter Planung bin ich bei der Umsetzung meiner Studienarbeit in Schwierigkeiten geraten was die Benutzerschnittstelle betrifft
Im Bild sieht man ein JPanel, auf welchem weitere JPanel angeordnet sind (mit der Maus bewegbar, NullLayout). Die kleinen JPanel hab ich genommen wegen der MouseListener und dem automagischen repaint().
Problem: Ich muss die Punkte auf den kleinen Panels (bitte nich zuviel reininterpretieren
a) malen der Linien als Pfade auf das untenliegende JPanel. Hier kann es aber Probleme geben, weil ich auf einem Panel sowohl zeichne als auch Komponenten platziere, oder? Außerdem müssen die Linien immer neu gezeichnet werden, wenn die kleinen Panels verschoben werden
b) weiteres JPanel über alles drüberlegen, darauf malen. Hier frage ich mich dann, ob die Mausevents dann noch bei den überdeckten Panels ankommen oder ob ich sicherstellen kann, dass das - ich nenne es jetzt mal "Verbindungslinienpanel" - niemals eine Action auslöst.
Für innovative Vorschläge oder auch Ermutigungen, alles Shape-basiert zu lösen (vielleicht noch unschlagbare Argumente dafür) bin ich sehr dankbar!
Grüße
Philipp