# JButton- und JLabel-Größe an Textgröße anpassen



## Roman (8. Jul 2004)

Was muss ich machen damit ein JButton oder ein JLabel automatisch seine Größe verändert wenn ich den Text des JButtons oder JLabels vergrößere. Z.B. ist normal die Testgröße 12 eines Buttons. Nun ändere ich sie auf 18 und der Button zeigt nicht mehr den ganzen Text an (z.B. so: Schlie….).


----------



## Beni (8. Jul 2004)

Verwendest du einen LayoutManager?

Falls ja, können vielleicht die Methoden "setPreferredSize, setMinimumSize", weiterhelfen.


----------



## Ramon (8. Jul 2004)

und falls nicht?


----------



## Ramon (8. Jul 2004)

So erstelle ich z.B. den Button


```
private javax.swing.JButton getJB_Rangfolge() {
    if (ivjJB_Rangfolge == null) {
        try {
            ivjJB_Rangfolge = new javax.swing.JButton();
            ivjJB_Rangfolge.setName("JB_Rangfolge");
            ivjJB_Rangfolge.setText("Rangfolge anzeigen");
            ivjJB_Rangfolge.setEnable(false);

            } catch (java.lang.Throwable ivjExc) {
            handleException(ivjExc);
        }
    }
    return ivjJB_Rangfolge;
}
```


----------



## Beni (8. Jul 2004)

Dann solltest du einen verwenden. :wink:

Denn sonst bleibt dir nicht viel anderes übrig, als bei allen Buttons, Labels die Methode "setBounds" aufzurufen, und damit die Grössen neu festzulegen.


----------



## Ramon (8. Jul 2004)

Ja aber selbst wenn ich das mache dann bleibt doch die grösse des Buttons wenn ich den Text wieder verkleine gleich oder? Ich will aber das sich die Größe des Buttons immer an die Textgrösse anpasst.


----------



## Beni (8. Jul 2004)

Ja, du musst bei jeder Veränderung die Grössen neu setzen... Ob das jetzt die Schriftgrösse grösser oder kleiner gemacht wird, spielt doch keine Rolle.


----------



## Roman (8. Jul 2004)

Das heisst wenn ich die Schriftgrösse ändere muss ich per Hand die Grösse des Buttons ändern? Ich hätte gedacht da gibs ne Methode bei Java die das automatisch macht


----------



## Beni (8. Jul 2004)

???:L  ich glaub in diesem Thread herrscht Verwirrung.

Wenn du einen LayoutManager verwendest, geht fast alles automatisch, _egal ob die Schrift grösser oder kleiner wird_.

Wenn du keinen verwendest, musst du alles von Hand machen (was ja auch irgendwie logisch ist).

 :arrow: Es würde sich also lohnen, einen LayoutManager zu verwenden (GridBagLayout, FlowLayout, ... )


----------



## bygones (8. Jul 2004)

Beni hat gesagt.:
			
		

> :arrow: Es würde sich also lohnen, einen LayoutManager zu verwenden (GridBagLayout, FlowLayout, ... )


Und dem Code nach zu Folge keinen GUI Editor  :?


----------

