Hallo,
ich versuche gerade auf ein JPanel mit einem GridLayout, das auf einer ScrollPane liegt, zur Laufzeit buttons, die mit einem icon und html formatiertem text ausgestattet sind, so zu platzieren, dass die buttons mit einem abstand von 8 pixeln zum panelrand (oben und unten) angeordnet sind und die Zeilen, die ich im Konstruktor des Gridlayouts mit 0 angebe dynamisch, also beliebig lang sein können. Jetzt habe ich dazu folgende Probleme:
1. der text, den ich mit html umbrüchen auf den buttons setze wird nicht in der gewünschten Schriftart angezeigt, obwohl ich dies mit setFont angebe
2 der Button enthält von links nach rechts erst ein Icon und dann den text. Allerdings wird nur der setIconTextGap Aufruf berücksichtigt nicht aber setMargin bzw. getInsets(new Insets(...), um einen Abstand von links zu erreichen. Nur set HorizontalAlignment(JButton.Left) wird berücksichtigt. Keine Ahnung Warum?
3. der Parameter 0 für eine Zeile im Konstruktoraufruf des GridLayouts funktioniert zwar, nur wird der Button in der Größe des gesamten Panels angezeigt.
Daher die Frage: geht sowas mit dem einfachen Gridlayout oder brauchts da was anderes.
Und die letzte Frage kann das auch am Aufbau der Scrollpane liegen, denn ohne diese funktionieren die obigen Punkte 1. und 2. wunderbar?
Grüße Eichelhäer
ich versuche gerade auf ein JPanel mit einem GridLayout, das auf einer ScrollPane liegt, zur Laufzeit buttons, die mit einem icon und html formatiertem text ausgestattet sind, so zu platzieren, dass die buttons mit einem abstand von 8 pixeln zum panelrand (oben und unten) angeordnet sind und die Zeilen, die ich im Konstruktor des Gridlayouts mit 0 angebe dynamisch, also beliebig lang sein können. Jetzt habe ich dazu folgende Probleme:
1. der text, den ich mit html umbrüchen auf den buttons setze wird nicht in der gewünschten Schriftart angezeigt, obwohl ich dies mit setFont angebe
2 der Button enthält von links nach rechts erst ein Icon und dann den text. Allerdings wird nur der setIconTextGap Aufruf berücksichtigt nicht aber setMargin bzw. getInsets(new Insets(...), um einen Abstand von links zu erreichen. Nur set HorizontalAlignment(JButton.Left) wird berücksichtigt. Keine Ahnung Warum?
3. der Parameter 0 für eine Zeile im Konstruktoraufruf des GridLayouts funktioniert zwar, nur wird der Button in der Größe des gesamten Panels angezeigt.
Daher die Frage: geht sowas mit dem einfachen Gridlayout oder brauchts da was anderes.
Und die letzte Frage kann das auch am Aufbau der Scrollpane liegen, denn ohne diese funktionieren die obigen Punkte 1. und 2. wunderbar?
Grüße Eichelhäer