T
tuxedo
Gast
Servus,
hab da ein kleines Problem:
Ich verwende das Nimbus LaF und möchte auf einen JButton etwas Text anzeigen.
Aktuell sieht das zum Teil so aus:
Und im UI, welches im Fullscreen-Modus läuft, hat der Button dann eine Dimension von 107,82 Pixeln und sieht so aus wie im Anhang gezeigt.
Leider wird der Text auf dem Button vom benutzer eingestellt und kann durchaus, wie in diesem Beispiel, etwas ungeschickt gewählt sein, so dass Zeilenumbruch und allg. der Platz etwas zu klein ist.
Offensichtlich passt die Berechnung der Textausrichtung/Darstellung von Nimbus nicht ganz zu meinen Vorstellungen.... denn so sieht's irgendwie schlecht aus.
Ich würde das nun gerne Verbesserung und bin am schauen wie ich das am einfachsten erledige.
Meine erste Idee wäre gewesen, einen eigenen Button zu implementieren und dann selbst zu zeichnen und den Zeilenumbruch etwas geschickter zu gestalten. Den eigenen Button zu implementieren ist nicht das Problem.
Der Nachteil an der Sache ist aber: Das passt dann wohl eher weniger zum restlichen Nimbus Style. Oder ich müsste den Nimbus-Button so exakt wie möglich optisch "nachbauen". Aber vielleicht will ich morgen auf ein anderes LaF wechseln? Dann müsste ich wieder alles anpassen :-(
Wie würdet ihr das Problem lösen? Oder gibt's eine Möglichkeit dem aktuellen LaF da etwas unterzuschieben das die Textausrichtung übernimmt?
Stehe da gerade etwas auf dem Schlauch ...
Gruß
Alex
[EDIT]Hmm, okay. hab etwas experimentiert. Ich kann natürlich auch ein JLabel auf den JButton draufklatschen und da den Text reinhängen. Das würde immerhin mal bewirken dass der text nicht auf den Button-Rand geschrieben wird. Dafür wird jetzt der Text abgeschnitten.
Im endeffekt muss ich jetzt also nur noch rausfinden wie ich den Text auf dem JLabel nun so behandle, dass er für mich okay ist. Wie das nun genau aussieht: Gute Frage. Evtl. die Schriftgröße autom. reduzieren oder den Text mit vorzeitig "..." enden lassen wenn er droht über die Label-Begrenzung hinaus zu ragen. Mal schauen.
Oder gibt's für solche Fälle schon eine fertige Lösung von der ich nix weiß?[/EDIT]
hab da ein kleines Problem:
Ich verwende das Nimbus LaF und möchte auf einen JButton etwas Text anzeigen.
Aktuell sieht das zum Teil so aus:
Java:
text="abcdefgh 12345";
myButton.setText("<html><center>" + text + "</center></html>"); // der Text soll auf dem Buttion zentriert dargestellt werden
Und im UI, welches im Fullscreen-Modus läuft, hat der Button dann eine Dimension von 107,82 Pixeln und sieht so aus wie im Anhang gezeigt.
Leider wird der Text auf dem Button vom benutzer eingestellt und kann durchaus, wie in diesem Beispiel, etwas ungeschickt gewählt sein, so dass Zeilenumbruch und allg. der Platz etwas zu klein ist.
Offensichtlich passt die Berechnung der Textausrichtung/Darstellung von Nimbus nicht ganz zu meinen Vorstellungen.... denn so sieht's irgendwie schlecht aus.
Ich würde das nun gerne Verbesserung und bin am schauen wie ich das am einfachsten erledige.
Meine erste Idee wäre gewesen, einen eigenen Button zu implementieren und dann selbst zu zeichnen und den Zeilenumbruch etwas geschickter zu gestalten. Den eigenen Button zu implementieren ist nicht das Problem.
Der Nachteil an der Sache ist aber: Das passt dann wohl eher weniger zum restlichen Nimbus Style. Oder ich müsste den Nimbus-Button so exakt wie möglich optisch "nachbauen". Aber vielleicht will ich morgen auf ein anderes LaF wechseln? Dann müsste ich wieder alles anpassen :-(
Wie würdet ihr das Problem lösen? Oder gibt's eine Möglichkeit dem aktuellen LaF da etwas unterzuschieben das die Textausrichtung übernimmt?
Stehe da gerade etwas auf dem Schlauch ...
Gruß
Alex
[EDIT]Hmm, okay. hab etwas experimentiert. Ich kann natürlich auch ein JLabel auf den JButton draufklatschen und da den Text reinhängen. Das würde immerhin mal bewirken dass der text nicht auf den Button-Rand geschrieben wird. Dafür wird jetzt der Text abgeschnitten.
Im endeffekt muss ich jetzt also nur noch rausfinden wie ich den Text auf dem JLabel nun so behandle, dass er für mich okay ist. Wie das nun genau aussieht: Gute Frage. Evtl. die Schriftgröße autom. reduzieren oder den Text mit vorzeitig "..." enden lassen wenn er droht über die Label-Begrenzung hinaus zu ragen. Mal schauen.
Oder gibt's für solche Fälle schon eine fertige Lösung von der ich nix weiß?[/EDIT]
Anhänge
Zuletzt bearbeitet von einem Moderator: