Feste Größe des JFrames - Problem mit Dimension

MasseElch

Aktives Mitglied
Halo Forum,

ich möchte, dass mein Frame eine Größe hat, die nicht runterskalierbar ist. Also eine feste Minimalgröße.

Dazu habich das gefunden:

Java:
		gui.getGui().setMinimumSize(new Dimension(GeneralUserInterface.getFrameWidth(), GeneralUserInterface.getScreenHeight()));

Klappt soweit ganz gut. Nur soll das Frame von vornerein immer genauso hoch sein, wie der Bildschirm.
Aber das ist irgendwie komplett random. Mal ist sie kleiner, dann plötzlich so groß, dass die Buttons, die unten im Frame sind aus dem Bildschirm rausragen. Dann wieder passt es perfekt. Beim nächsten Aufruf wieder zu klein oder zu groß.

Woran liegt das?
Wie kann ich es beheben?

setSize() liefert immer das richtige Ergebnis. Nur leider ist das Frame dann halt skalierbar in der Größe.
 
Zuletzt bearbeitet:
folgendes:
du kannst mit
Java:
deinframe.setSize(400,400);
die größe festlegen
und mit
Java:
deinframe.setResizable(false);
festlegen dass das frame(=fenster) nicht verändert werden kann
 
Das ist das wasich gesucht habe.. denke ich.

Leider funktioniert es nicht. Wenn ich das einbaue wird das Fenster einfach gar nicht mehr angezeigt. :bahnhof:
 
ich hoffe du hast deinframe in gui umgeändert 😉
also es muss bei dir heißen:
Java:
gui.setSize(400,400);
gui.setResizable(false);
gui.setVisible(true);
entweder du hast visible vergessen oder deinframe in deine gui umzunennen(<- ich gehe davon aus, dass dein JFrame gui heißt)
 
Hatte ich.

Lag wohl aber an der Reihenfolge. Hab setVisible() im Konstruktur und setSize bisher nach dem aufruf. Hab das jetzt aus dem Konstruktor hinter setSize gesetzt und es geht. Aber jetzt ist das Fenster zu lang :-(

Wenn ich resizable rausnehme, dann passt es. Setze ich es rein, dann wird das Fenster auf ein Mal länger und alle Buttons verschwinden aus dem Bildschirm....;(

SO bestimme ich die Größe des Bildschirms:
Java:
int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;
int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
 
Zuletzt bearbeitet:
Konstruktor:
Java:
this.gui = new JFrame("Slide Show - View");
		
		
		this.gui.setDefaultCloseOperation(3);
		this.gui.pack();
		this.gui.setAlwaysOnTop(true);
		this.gui.setVisible(true);

Aufruf in der Main:

Java:
GeneralUserInterface gui = new GeneralUserInterface();
		
		gui.getGui().setLocation(GeneralUserInterface.getScreenWidth()-GeneralUserInterface.getFrameWidth(), 0);
		gui.getGui().setSize(GeneralUserInterface.getFrameWidth(), GeneralUserInterface.getScreenHeight());
                gui.setResizable(false);

Ich habe das nun mehfach geschoben. Size und Location in den Konstruktor, resizable() im oder aus dem Konstruktor. Ich habe jedes Mal drauf geachtet setVisible(true)
 

Neue Themen


Zurück
Oben