2010-12-10 10 views
0

Ich habe eine kleine Java-Anwendung mit einer Swing-GUI. Ich habe eine feste Größe für das Fenster eingestellt und alles funktioniert sehr gut. Wenn die GUI jedoch auf verschiedenen Bildschirmen verwendet wird, scheinen sich die Objekte leicht bewegt zu haben. (Labels zeigen nicht ihren gesamten Text usw., ...) Ich denke, der Unterschied liegt im Seitenverhältnis des Bildschirms, aber gibt es eine Möglichkeit, dem entgegenzuwirken?Feste Größe Swing GUI ändert sich bei Verwendung unterschiedlicher Auflösung

+3

Deshalb sollten Sie den Layout-Manager nicht auf null setzen und warum die Verwendung einer festen Größe eine schlechte Idee ist. – OscarRyz

+1

Sind Sie sicher, dass die Schriftarten identisch sind, einschließlich der DPI-Einstellungen? Wie Bryan Oakley betont, sollten Sie keine Fenster fester Größe verwenden. Sie brechen, wenn sich die Schrift ändert. Sie brechen, wenn Sie internationalisieren. Es gibt wahrscheinlich andere Dinge, die schief gehen können. Verwenden Sie einen Layout-Manager. –

+0

OscarRyz gab mir den Gewinntipp, suchte, versuchte es mit dem MiGLayout Manager und alles ist jetzt viel besser. Vielen Dank! – Omnomnomnom

Antwort

4

Der Weg, um es zu begegnen, ist nicht zu festen Größe Windows verwendet.

2

Ich stimme Bryan zu. Es gibt viele Gründe - die Bildschirmauflösung, die Lokalisierung (wenn Sie dies tun), unterschiedliche Look-and-Feel und Rendering abhängig von der Plattform und/oder JVM-Version. Die Layouts von Swing sind flexibel genug, um alles zu ermöglichen, ohne die Rahmengröße zu ändern. Andernfalls werden Sie Ihre Rendering-Engine implementieren, um alles zu berechnen, das gerendert wird.

+0

Ich weiß nicht, warum das abgelehnt wurde. +1, um dich wieder aufzustehen. – I82Much

+0

@ I82 Vielen Dank. Es wäre besser, wenn die Leute Kommentare hinterlassen, wenn sie abstimmen. – khachik

Verwandte Themen