Hallo!
Habe noch ein Problem mit meiner GUI: Beim Programmstart soll nur ein kleiner leerer Frame angezeigt werden. Dann wird eine Datei via FileChooser eingelesen und ein Panel mit dem Dateiinhalt erstellt und auf den Frame gelegt. Soweit ist auch alles in Ordnung.
Es soll aber möglich sein, die Größe des Frames durch Ziehen mit der Maus zu ändern. Mache ich das, passt sich der Frame und sein Inhalt schön an. Führe ich aber dann eine Aktion aus, die zum Neuzeichnen des Frames führt, hat dieser wieder seine Initialgröße.
Wie kann ich hier am geschicktesten auf die Fenstergrößenänderung eingehen? Gibt es da bereits eine resize()-Methode? Oder liegt es an dem pack()? Ich dachte, dass dies das Hauptfenster anpasst...
Danke schonmal!
Habe noch ein Problem mit meiner GUI: Beim Programmstart soll nur ein kleiner leerer Frame angezeigt werden. Dann wird eine Datei via FileChooser eingelesen und ein Panel mit dem Dateiinhalt erstellt und auf den Frame gelegt. Soweit ist auch alles in Ordnung.
Es soll aber möglich sein, die Größe des Frames durch Ziehen mit der Maus zu ändern. Mache ich das, passt sich der Frame und sein Inhalt schön an. Führe ich aber dann eine Aktion aus, die zum Neuzeichnen des Frames führt, hat dieser wieder seine Initialgröße.
Code:
public Frame() {
super("GUI");
this.setSize(new Dimension(300, 300));
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
JMenuBar menuBar = createMenuBar();
this.setJMenuBar(menuBar);
/* lege Panel für das Spielfeld an */
sudokuBoard = new JPanel();
this.add(sudokuBoard, BorderLayout.CENTER);
this.setVisible(true); // mache das Fenster sichtbar
}
...
private void createGamefield() {
sudokuBoard.removeAll(); //das Panel
....
/* passe das Hauptfenster an und mache alles sichtbar */
this.pack();
this.setVisible(true);
}
Wie kann ich hier am geschicktesten auf die Fenstergrößenänderung eingehen? Gibt es da bereits eine resize()-Methode? Oder liegt es an dem pack()? Ich dachte, dass dies das Hauptfenster anpasst...
Danke schonmal!