Swing Unterschiedliche Bildschirmauflösungen

C

Camino

Gast
Hallo,

im Moment entwickele ich eine Swing-Anwendung in einer bestimmten Bildschirmauflösung. Wenn ich die gleiche Anwendung dann unter einer anderen Auflösung betrachte, sieht alles natürlich nicht mehr so toll aus. Die Framegrösse hab ich ja schon relativ zur Bildschirmauflösung eingestellt und den Frame auf dem Bildschirm zentriert. Auch befinden sich die Komponenten in der Anwendung in Scrollpanes, damit sie auch bei kleinerem Fenster erreichbar sind. Aber die Grösse der Komponenten in der Anwendung ändern sich und es sieht dann nicht mehr so aus, wie es aussehen sollte. Wie macht ihr das? Entwickelt ihr das für die Auflösung, unter der es dann nachher auch genutzt werden soll? Wenn dann jemand eine andere Auflösung benutzt, ist das sein Problem? Oder gibt es eine Möglichkeit, die Anwendung unabhängig der Auslösung zu entwickeln? Ich hatte mir überlegt, es wäre vielleicht möglich, die Grössen der Komponenten für 2-3 verschiedene Bildschirmauflösungen dynamisch zu halten. Also, zu sagen, wenn diese Auflösung, dann sollen alle Textfelder, Buttons usw. so eine Höhe haben, bei einer anderen Auflösung eben anders. Hmm, war nur so eine Idee, scheint mir aber schwer umzusetzen. Bin mal gespannt, wie ihr das macht und ob es dafür eine gute Lösung gibt.

Gruss
Camino
 
C

Camino

Gast
Hallo,

und danke für die Antworten. Ich hatte vergessen zu erwähnen, dass ich ja schon ein GridBagLayout benutze. Also, das mit den LayoutManagern ist nicht das Problem. Mir ging es eher darum, dass sich die Komponeten (Panel, Buttons, Texfelder, Checkboxen...) mit Änderung der Bildschirmauflösung ebenfalls in der Anzeigegrösse ändern. Dadurch, dass ich die Panels in Scrollpanes gesteckt habe, kann ich dann zwar alle Komponenten noch erreichen, muss aber z.B. nach oben oder rechts scrollen, wenn ich die Auflösung heruntersetze, es vorher aber OK ausgesehen hatte. Ich könnte ja die Anwender vorher fragen, welche Auflösung sie benutzen, und dies dann auch mit dieser Auflösung entwickeln. Aber was passiert, wenn die Anwender die Auflösung ändern und das Aussehen der Anwendung dann nicht mehr so ist, wie ich es bei der Entwicklung geplant hatte? Ich hoffe, ihr versteht jetzt meine Frage und mein Problem...

Gruss
Camino
 

Michael...

Top Contributor
Ich verstehe Dein Problem nicht. Meine Applikationen z.B. laufen bei uns auf Auflösungen von 800 x 600 bis 1680 x 1050 ohne dass ich mich um die konkrete Auflösung kümmere. Welche Auflösungen sind den bei Dir relevant? Du willst hoffentlich nicht alles vom Handydisplay bis zu HD Panels abdecken!
Einzig, wenn SplitPanes enthalten sind müssen sich die Kollegen mit kleinerer Auflösung u.U. beim ersten Mal den Divider ein bisschen zurechtrücken. Aber bei solchen Apps speichere ich persönliche Einstellung bzw. das Aussehen der GUI benutzerspezifisch ab.
Und das Packen von Komponenten in ScrollPanes hört sich für mich ein bisschen dem SAP GUI Konzept an, da ist man auch ständig am Scrollen. --> ScrollPanes gezielt einsetzen

Meiner Meinung ist alles eine Frage der Nutzung von LayoutManagern, wobei ich teilweise auch meine eigenen LayoutManager verwende.

GridBagLayout ist bei mir ehrlich gesagt die letzte Wahl. In meinen GUIs verwende ich meistens eine Mischung aus Flow, Border und GridLayout.
Vielleicht kannst Du ja mal Dein Layout hier skizzieren, oder sofern nicht zu verschachtelt den Layoutcode hier posten.
 
C

Camino

Gast
Hallo,

eigentlich sind es nicht so richtig die grossen Unterschiede bzgl. der Auflösung. Ich entwickle gerade eine Swing-Anwendung auf einem Notebook mit der Auflösung 1680x1050 unter Debian 5.0. Letztens hab ich mir die auf meinem PC (Windows XP) mit der Auflösung 1280x768 angeschaut. Da sahen die Komponenten größer aus und ich musste mehr scrollen, d.h. die relative Aufteilung im Frame war anders.

Ich hab in der Anwendung JPanels mit GridBagLayouts. In diesen sind mehrere Komponenten z.B. für Eingabeformulare, die ziemlich umfangreich sind (mehrere Eingabefelder, Checkboxen, Labels). Die Scrollpanes hab ich deshalb benutzt, damit die Formulare auch benutzt werden können, wenn der Frame mal kleiner ist, als das Formular. Hätte ich die Scrollpanes nicht, dann wären manche Komponenten der Formulare nicht erreichbar.

Hmm, vielleicht mach ich ja auch etwas bei der Benutzung des GridBagLayouts falsch. Leider ist das ganze zu umfangreich, um hier zu posten...

Gruss
Bert
 

Michael...

Top Contributor
Viele LayoutManager versuchen die PreferredSize der Komponenten zu nutzen und wenn man ein Panel mit entsprechendem LayoutManager in ein ScrollPane packt wird diese auch ausgenutzt.
Ein JTextField mit einer bevorzugten Höhe von 20 Pixeln wird dann unabhängig von der Bildschirmauflösung mit mit mindestens 20 Pixeln dargestellt. Abhängig von der Displaygrösse sehen die Komponten dann bei einer niedrigeren Auflösung grösser aus.
Wenn das ScrollPane zwingend notwendig ist, könnte man die PreferredSize der Komponenten minimieren, damit sie auf Displays mit grossem Verhältnis Displaygrösse zu Auflösung kleiner dargestellt werden und bei grösseren Auflösungen hoffentlich grösser gezogen werden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
H JFreeChart BarDiagramm Balken der gleichen Serie unterschiedliche Farbe zuordnen AWT, Swing, JavaFX & SWT 2
J Swing unterschiedliche Inhalte in einem JFrame AWT, Swing, JavaFX & SWT 3
B Swing Gridbaglayout unterschiedliche Zeilenhöhe AWT, Swing, JavaFX & SWT 6
D BufferedImage -> Feature Extraktion. Unterschiedliche BufferedImage imageTypes problem AWT, Swing, JavaFX & SWT 4
H Unterschiedliche JComboBox je JTable Zeile AWT, Swing, JavaFX & SWT 4
G Unterschiedliche Pfadangabe zu Icons zwischen JApplet und JWindow? AWT, Swing, JavaFX & SWT 2
M gleicher TableCellRenderer für mehrere unterschiedliche Tabellen AWT, Swing, JavaFX & SWT 5
LittleJavaCup Bild zuschneiden (unterschiedliche Ränder) AWT, Swing, JavaFX & SWT 4
D Layout 2 unterschiedliche spalten AWT, Swing, JavaFX & SWT 7
J JMenu unterschiedliche Background einstellen AWT, Swing, JavaFX & SWT 5
S Unterschiedliche Darstellung Java 5 und 6 AWT, Swing, JavaFX & SWT 7
K JSpinner - Model <-> View, unterschiedliche Werte AWT, Swing, JavaFX & SWT 9
S Unterschiedliche Optik trotz gleicher Look and Feel Code? AWT, Swing, JavaFX & SWT 11
B In einer JTextArea unterschiedliche Schriftarten verwenden? AWT, Swing, JavaFX & SWT 3
M JDialog unter win und linux unterschiedliche größe nötig? AWT, Swing, JavaFX & SWT 4
N Unterschiedliche LookAndFeels bei zwei Frames? AWT, Swing, JavaFX & SWT 4
F Unterschiedliche Textfarben in JTextArea AWT, Swing, JavaFX & SWT 5
G Unterschiedliche Textfields ansprechen AWT, Swing, JavaFX & SWT 4
M JTable - unterschiedliche Hintergrundfarben von Zeilen AWT, Swing, JavaFX & SWT 2
M Swing Bildschirmauflösungen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben