Komponenten an Fenstergröße anpassen

japp

Mitglied
Hi,

ich möchte, dass sich die Schriftgröße eines Labels an die Größe des Frames anpasst. In etwa so:

label.setFont(new Font("MS Sans Serif", Font.PLAIN, getWidth()/5));

Jetzt möchte ich aber, dass bei einer Änderung der Fenstergröße das Label mitändert. Dazu müssten bei jeder Änderung die Komponenten wohl neu gezeichnet werden. Wie erreiche ich das, bzw. gibt es eine andere Möglichkeit?
 
Du kannst dem Fenster einen ComponentListener hinzufügen, dort wird eine Methode aufgerufen, wenn die Größe des Fensters geändert wird, z.B.:
Java:
super("Abc");
add(label);
...
addComponentListener(new ComponentAdapter(){
    public void componentResized(ComponentEvent e){
        label.setFont(new Font("MS Sans Serif", Font.PLAIN, getWidth()/5));
        //Wenn alle Komponenten neu gezeichnet werden sollen, dann noch folgende Zeile:
        repaint();
    }
});
Ich hab es noch nicht ausprobiert, so müsste es aber gehen. ;)
 
Zurück