AWT Vollbild Anwenung. Beste Möglichkeit?

coody

Mitglied
Guten Tag,

ich arbeite gerade an einem Projekt und würde die Graphische Oberfläche, welche viele Fensterelemente wie (JButton, JLabel, JTextArea, JTextField, JTable...) enthällt gerne auf jedem Computer im Vollbild-Modus anzeigen lassen.
Jetzt habe ich mich etwas Informiert und möchte hier noch einmal fragen, welche Möglichkeit am Sinnvollsten/leichtesten Umzusetzen ist.
Zur Auswahl stehen:

Das Fenster auf
Java:
Toolkit.getDefaultScreenSize();
setzen. Dann jedes Fensterelement mit
Java:
*.setBounds();
in Prozent zur Bildschirm Breite sowie Höhe zu setzen. Diese Variante sehe ich als sehr Mühselig an.

Dann habe ich von GraphicsDevice gehört. Nach einigem Experimentieren stellte sich heraus, dass es auf meinem Computer einfach nicht Funktionieren wollte. Ich bin aber bereit, mich erneut damit auseinander zu setzen.

Als letztes bin ich am Überlegen alles mit Layout Managern zu machen. Leider habe ich eher schlechte Erfahrungen damit gemacht, da die mir bekannten (BorderLayout, GridLayout) recht begrenzte Möglichkeiten zum exakten Positionieren haben. Gibt es noch effektivere Layout Manager?

Vielen Dank im Voraus
:toll:
 
Ich hatte das so verstanden, dass du (um LayoutManager zu umgehen) auf allen Computern die selbe Auflösung einstellen willst (per Vollbild).
Problem ist nur, dass nicht jeder Nutzer die Auflösung zwingend unterstützt.

Für Vollbild nehme ich immer GraphicsDevice ist einfach zuverlässiger und schöner.
 
Vielen Dank für deine schnelle Antwort.

Was würdest du mir bezüglich der Positionierung der Fensterelemente raten?
Layout Manager? Wenn ja welche
oder in Prozent zur Bildschirm höhe/breite des jewaligen Monitores?
 
Prozentuale Positionierung und Größe ist wie ich Menüs in Spielen positioniere wo es kein Swing und andere tolle Dinge wie LayoutManager gibt, die GUI aber auch simpel genug ist, dass so umzusetzen.

Layout-Manager sind eine tolle Sache - man muss sich nur daran gewöhnen, dass man dadurch das Layout nicht mehr direkt kontrollieren kann und seinen Einfluss darauf abgibt und am Ende evt. nicht immer so aussieht wie man es gerne hätte.

Denke immer daran, du kannst LayoutManagern miteinander kombinieren, wenn du einem JPanel mit FlowLayout zwei JPanels addest mit GridLayout und das andere mit BoxLayout, dann hast du in deinem JFrame, zwei Flachen nebeneinander mit jeweils einem GridLayout links und einem BoxLayout rechts.

Gute LayoutManager sind:
> BoxLayout (immer wieder nützlich)
> FlowLayout (standard layout)
> BorderLayout (mein Liebling)

Ganz nützlich, in manchen Fällen:
> SpringLayout
> CardLayout

> GridLayout ist ziemlich unnütz, da es ein Schachbrettmuster kreiert auf dem Bildschirm, bei dem alle Komponenten maximal Groß sind. Wozu das gut sein soll.

> Schlussendlich ist da noch das GridBagLayout, dem absolut mächtigsten Layout von allen - und genauso extrem komplizierten. :rtfm:
 
Ich hab es jetzt nur überflogen , aber hier einfache Möglichkeiten einen "reinen" Vollbildmodus, oder ein Zentriertes JFrame mit fester / dynamischer ( über dessen Inhalt ) festgelegter Größe zu erstellen.

Java:
public class Bar{

	
	public static void main(String[] args){
		JFrame f = new JFrame("Vollbild Modus");
		f.setExtendedState(JFrame.MAXIMIZED_BOTH);  // << vollbild
		f.setVisible(true);
		
		JFrame x = new JFrame("Centered");
		x.setSize(500, 500);
		x.setLocationRelativeTo(null);  // << -- Zentriert
		x.setVisible(true);
	}
}
 
Zuletzt bearbeitet:

Zurück
Oben