2009-04-26 7 views
0

Hallo Ich habe eine GUI für mein Programm in Java erstellt, und ich habe Flowlayout verwendet (hatte nicht viel Glück mit Borderlayout), aber mit Flowlayout, wenn der Benutzer die Größe des Programms ändert, so alles aus der Ausrichtung Ich frage mich, gibt es sowieso, um den Rahmen des Programms aus der Größe zu stoppen? Wenn das so ist, wie?Fixing flowlayout in Java

Danke

Antwort

4

JFrame :: setResizable (false)

Aber das ist eine schlechte Praxis; Sie müssen andere Layouts untersuchen und möglicherweise mehrere Layouts verwenden, um Ihre Ziele zu erreichen. Siehe here.

Siehe api

+0

Dank Sie, würde ich andere Layouts versuchen, aber die Zeit ist gegen mich, aber ich darf fragen Sie, warum es eine schlechte Übung ist? –

+0

Es kann als eine schlechte Übung angesehen werden, da Windows normalerweise besser benutzbar sind, wenn ein Benutzer die Größe ändern kann, wie es ihnen gefällt. Viele Male ist es jedoch keine große Sache, eine feste Größe zu haben. – jjnguy

+0

Ah ich sehe, hoffentlich sollte es nicht ein Problem auf meiner sein, wie es eine einfache GUI ist, und es wird verhindern, dass der Benutzer die Größe ändern und dann alle Tasten und Textfelder ausgehen Positionen. Dank –

2

Um ein JFrame oder JDialog alles, was Sie rufen Sie die Methode setResizable(false) auf dem Bilderrahmen oder Dialog tun müssen, zu stoppen.

Sie können dies wie in Ihrem Konstruktor tun:

public YourWindowNAme(){ 
    // stuff 
    setResizable(false); 
    // more stuff 
} 

oder es kann externaly wie genannt werden:

instanceOfYourWindow.setResizable(false); 

Here ist die API für das Verfahren.

+0

Vielen Dank, dass funktioniert: D –

+0

@jjnguy: Was machen Sie Ihre Antwort bearbeiten 6 Monate nach? – OscarRyz

+0

Ich erhielt eine zufällige Verbesserung und sah mir diese Antwort an und bemerkte, dass ich es versäumte, einige Dinge als 'code' zu ​​formatieren. – jjnguy