# GUI an Bildschirmauflösung anpassen



## windl (6. Aug 2012)

Hi NG,

ich habe mal eine grundlegende Frage. Meine GUI lief früher auf einer Auflösung von 1024 x 768. 
Nun muss die GUI sich in den nächsten Wochen neuer Herausforderungen stellen - so z.B. dass sie künftig bei einer Auflösung von 1920 x 1080 auch im Vollbildmodus laufen soll.
Natürlich übernimmt der Layoutmanager das Anordnen der Komponenten - das ist auch nicht das Problem. Unschön wird es, dass die Komponenten sich in der Größe nicht ändern. D.h. die Komponenten kleben jetzt links und rechts einige oben einige unten. Die Mitte ist fast leer  .

Nun zur eigentlichen Frage! Würdet Ihr das Vergrößern der einzelnen Komponenten mit Graphics.scale () realisieren oder wirklich bei jeder Komponente die Größe dynamisch berechnen - den Font anpassen - mögliche Icons in der Größe manipulieren usw..

Danke für die Tipps.

Uwe


----------



## Marcinek (6. Aug 2012)

Hängt davon ab.

Möchtest du das Gleiche anzeigen aber in groß, oder möchtest du mehr anzeigen?


----------



## windl (6. Aug 2012)

Ich wollte eigentlich nur das Gleiche anzeigen - aber in Groß.
Daher einfach mal die Designfrage. Bin ich mit Scale auf der sicheren Seite oder würde es sich wirklich empfehlen die Komponenten dynamisch neu aufzubauen!!???:L


----------



## Marcinek (6. Aug 2012)

Keine Ahnung, was scale macht, ob es wirklich die Komponenten auch größer zeichnet?

Ansonsten stelle ich es mir kompliziert vor jede einezelne Komponente in abhängigkeit selber groß zu Zeichen oder vergrößern...


----------



## bERt0r (6. Aug 2012)

Ich schätze du verwendest entweder den falschen Layoutmanager oder du setzt ihn nicht richtig ein. Wenn du das ganze mit scale machen willst, überschreibst du einfach die paintComponent Methode deines contentPanes z.B:

```
public void paintComponent(Graphics g)
{
Graphics2D g2=(Graphics2D)g;
g2.scale(2,2);
super.paintComponent(g2);
}
```


----------



## windl (6. Aug 2012)

Hallo,

jetzt muss ich doch einmal unwissend nachfragen. Mir ist klar - bzw. auch optisch aufgefallen, dass ein Layoutmanager die Komponenten neu auf dem Bildschirm entsprechend der neuen Größe anordnet. Bis jetzt war mir nicht bewusst, dass er diese auch in der Größe ändert. Wenn Du hierfür ein Beispiel hättest wäre ich dankbar 

Wie man scale verwendet ist klar - mir ist nur nicht klar was der bessere Ansatz wäre um Komponenten größer auf dem Desktop darzustellen. Nimmt man wirklich scale oder berechnet man dann die Komponenten neu - wenn ja - gibt es hierfür auch schon ein Modell oder oder..

Danke
Uwe


----------



## bERt0r (6. Aug 2012)

Das kommt immer auf den verwendeten Layoutmanager an. Wenn du z.B ein BorderLayout hast, dann wird beim vergrößern die Center Komponente immer mitvergrößert. Bei anderen, mächtigeren Layoutmanagern kann man besser konfigurieren welche Komponenten wie wachsen sollen.
Mit vergrößern meine ich, dass die Komponenten mehr Platz verbrauchen. Irgendwelche änderungen an Fonts oder dergleichen fallen nicht darunter.


----------



## windl (6. Aug 2012)

Ok - da stimme ich Dir zu!
Die Komponenten bekommen anteilig mehr Platz zugewiesen. Die Schriftgröße oder ähliches bleibt davon unberührt. Mein Wunsch ist aber genau der, dass diese Eigenschaten mitwachsen.


----------

