Hallo,
ich wälze mich schon seit 2 Tagen durch das Net und habe leider keine zufriedenstellende Lösung zu meinem Problem gefunden.
Momentan sitze ich an meinem Hausautomationsprogramm und habe kleinere Schönheitsfehler.
Als Hintergrund habe ich mit Photoshop den Umriss des Hauses sowie Tabellen für die Anzeige für Daten gezeichnet. Dieser Hintergrund wird in ein Label (lblBackground) gepackt und dieser wiederum auf einen JPanel(panelBackground). Auch habe ich mit Photoshop Buttons,Fenster und Schieberregler selber gezeichnet und jeweils in Labels (lblButton1,2,3...lblSchieberegler1,2,3...lblFenster1,2,3...)gepackt und dieser wiederum in ein extra JPanel (panelComponente) gelegt.
Da die Buttons,Schieberegler und Fenster genau auf dem Hintergrund positioniert werden müssen, musste ich das panelComponent Layout auf null setzen. Ja ich weiß, nicht schön.
Zuerst dachte ich mir das es ausreichen wird das Hauptframe einfach auf eine feste Größe zu setzen um somit das Problem der Verschiebung der Komponente (Buttons,Fenster..) beim größer ziehen der Frame zu verhindern. Mittlerweile bin ich doch davon überzeugt das ganze dynamisch für verschiedene Bildschirmauflösung zu erzeugen.
Problem ist nur, wie kriege ich die Komponente dazu immer auf die exakte Position und auch Proportion zum Hintergrund zu behalten, wenn ich das Frame größer ziehe und somit auch der Hintergrund sich vergrößert.
Ich habe zwar immer gelesen man soll doch mit den Layouts arbeiten, aber mit den Layouts kann ich nicht pixelgenau die Komponente auf das Hintergrund platzieren.
Die einzige Möglichkeit die mir einfiel war, die Auflösung des Bildschirms zu ermitteln und je nach Auflösung drei verschiedene Versionen des Hintergrund und der Komponente mit Photoshop zu erzeugen und darzustellen, aber das glaube ich ist zu umständlich. Oder es doch auf eine feste Größe zu belassen und per ScrollPane die Sache zu realisieren, was aber nicht so schön wäre.
ich wälze mich schon seit 2 Tagen durch das Net und habe leider keine zufriedenstellende Lösung zu meinem Problem gefunden.
Momentan sitze ich an meinem Hausautomationsprogramm und habe kleinere Schönheitsfehler.
Als Hintergrund habe ich mit Photoshop den Umriss des Hauses sowie Tabellen für die Anzeige für Daten gezeichnet. Dieser Hintergrund wird in ein Label (lblBackground) gepackt und dieser wiederum auf einen JPanel(panelBackground). Auch habe ich mit Photoshop Buttons,Fenster und Schieberregler selber gezeichnet und jeweils in Labels (lblButton1,2,3...lblSchieberegler1,2,3...lblFenster1,2,3...)gepackt und dieser wiederum in ein extra JPanel (panelComponente) gelegt.
Da die Buttons,Schieberegler und Fenster genau auf dem Hintergrund positioniert werden müssen, musste ich das panelComponent Layout auf null setzen. Ja ich weiß, nicht schön.
Zuerst dachte ich mir das es ausreichen wird das Hauptframe einfach auf eine feste Größe zu setzen um somit das Problem der Verschiebung der Komponente (Buttons,Fenster..) beim größer ziehen der Frame zu verhindern. Mittlerweile bin ich doch davon überzeugt das ganze dynamisch für verschiedene Bildschirmauflösung zu erzeugen.
Problem ist nur, wie kriege ich die Komponente dazu immer auf die exakte Position und auch Proportion zum Hintergrund zu behalten, wenn ich das Frame größer ziehe und somit auch der Hintergrund sich vergrößert.
Ich habe zwar immer gelesen man soll doch mit den Layouts arbeiten, aber mit den Layouts kann ich nicht pixelgenau die Komponente auf das Hintergrund platzieren.
Die einzige Möglichkeit die mir einfiel war, die Auflösung des Bildschirms zu ermitteln und je nach Auflösung drei verschiedene Versionen des Hintergrund und der Komponente mit Photoshop zu erzeugen und darzustellen, aber das glaube ich ist zu umständlich. Oder es doch auf eine feste Größe zu belassen und per ScrollPane die Sache zu realisieren, was aber nicht so schön wäre.