JButton - Labelposition im Verhältnis zum Rand

Status
Nicht offen für weitere Antworten.

Lexi

Bekanntes Mitglied
Ich habe eine von JButton abgeleitete Klasse die getPreferredSize(), getMaximumSize() und getMinimumSize() überschreibt. Alle drei Methoden liefern Dimension.height = 30 und Dimension.width = 30 zurück.

In der konkreten Anwendung rufe ich setText("#") auf. Leider werden mir, aufgrund der "geringen" Größe des Buttons nur "..." angezeigt.
Definiert die Klasse JButton eine Methode, die bestimmt ab welcher Breite statt dem Label des Buttons "..." angezeigt werden ? Die müsste ich ja dann im meinem Fall überschreiben.
 

icarus2

Top Contributor
Wie es scheint ist der Text einfach zu lang für einen Button. Poste doch mal ein bisschen Code.

Grundsätzlich würde ich empfehlen den Buttons keine statische Grösse zuzuordnen sondern die Grösse mit dem Layout bestimmen zu lassen.
 

Marco13

Top Contributor
Das "..." zu vermeiden wäre wohl etwas aufwändiger. Aber in diesem Fall reicht es vermutlich schon, den Rand des Buttons kleiner zu machen bzw. auf 0 zu setzen:
button.setMargin(new Insets(0,0,0,0));
In einen 30x30-Button müßte das '#' dann ohne '...' reinpassen...
 

Lexi

Bekanntes Mitglied
@Marco Hat funktioniert, danke dir.

@icarus Ja, das wäre warscheinlich besser. Blöderweise habe ich jetzt schon mein Programm auf diese statischen Größen ausgerichtet, das zu ändern ist mir jetzt ein wenig zu aufwendig. Werde mich beim nächsten mal nach dem Layout richten. ;)
 

Ebenius

Top Contributor
Das "..." zu vermeiden wäre wohl etwas aufwändiger. Aber in diesem Fall reicht es vermutlich schon, den Rand des Buttons kleiner zu machen bzw. auf 0 zu setzen:
button.setMargin(new Insets(0,0,0,0));
In einen 30x30-Button müßte das '#' dann ohne '...' reinpassen...
Vorsicht: Das wird mit anderen UI's möglicher Weise so nicht funktionieren. Mit Nimbus wird das beispielsweise Murx. :(

Ebenius
 

Marco13

Top Contributor
Nimbus ist eh eine andere Welt .. :rolleyes:
Was würde denn da passieren, bzw. wie würde man es da (oder allgemein UI-unabhängig) machen?
 

Ebenius

Top Contributor
Geht nicht wirklich. Einfach keine PreferredSize setzen und dem UI immer Spielraum lassen, den Platz so zu verwenden, wie es denkt, dass es gut sei. :) Und natürlich immer: mit einer Reihe von L&Fs testen, das erhöht die Wahrscheinlichkeit, dass es mit anderen auch funktioniert.

Ebenius
 

Marco13

Top Contributor
Aber... es muß doch auch unter Nimbus grundsätzlich möglich sein, zu sagen, dass ein Button keinen Rand haben soll? ???:L
 

Ebenius

Top Contributor
Es geht nicht um den Rand (alias Border). Es geht um den Abstand zwischen Rand und Inhalt (alias Margin). Beim Nimbus ist es so gelöst, dass der gesamte ButtonBorder den Abstand zum Inhalt macht und der Abstand zwischen Rand und Inhalt ist null (zero).

[SIZE="+1"]Margin Test in Metal-L&F[/SIZE]
metal-button-margins.png

[SIZE="+1"]Margin Test in Nimbus-L&F[/SIZE]
nimbus-button-margins.png

Ebenius
 

Marco13

Top Contributor
Ich meinte mit "Rand" auch den margin - worum es ja hier ging. Nur irgendwie klingt das jetzt so, als wäre der Magin bei Nimbus... überflüssig ... also, würde nicht mehr berücksichtigt.... Hm... muss ich wohl bei Gelegenheit mal ein bißchen austesten...
 

Ebenius

Top Contributor
Der innere Abstand ist auch bei Nimbus nicht überflüssig. Du kannst ihn weiterhin benutzen. Aber er hat schon initial eine Nullbreite. Natürlich kannst Du den inneren Abstand noch vergrößern. Du kannst ihn sogar negativ machen und den gewünschten Effekt erzielen. Fakt ist aber, das ein Nullsetzen nicht hilft, um den Button kleiner werden zu lassen, als er ohnehin ist.

Ebenius
 

Marco13

Top Contributor
Mir ist nicht klar, wie das gerechtfertigt ist. Man hat einen Text, der 10 Pixel hoch ist, und eine Border, die oben und unten je 2 Pixel hoch ist, und trotzdem ist der Button 30 Pixel hoch und über und unter dem Text 8 Pixel einfach so "da" (die früher der Margin waren, aber jetzt... einfach so "da"...)
 

Ebenius

Top Contributor
Ich weiß nicht, warum es so ist, aber es scheint bei SynthLFs üblich. Hat mich auch schon geärgert; sonst würde ich es gar nicht wissen. Die einzige mir bekannte, halbwegs verlässlichle Methode einen kleinen Button hinzubekommen, ohne mich auf ein L&F festzulegen, ist der, eine JToolBar zu nutzen, denn dort bekommen die Buttons vom jeweiligen ToolBarUI andere Borders/Layouts/Insets/Margins/wasauchimmer.

Ebenius
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JButton mit importFiles-Funktion auf JDrawPane AWT, Swing, JavaFX & SWT 5
B JButton Search AWT, Swing, JavaFX & SWT 8
B Swing JButton mit KeyListener AWT, Swing, JavaFX & SWT 3
L JButton durch Mausklick auslösen und Enter-Taste AWT, Swing, JavaFX & SWT 2
N Erlennen ob JButton gedrückt ist AWT, Swing, JavaFX & SWT 6
D JButton Form verändern AWT, Swing, JavaFX & SWT 4
R Grafik per JButton laden und austauschen lassen AWT, Swing, JavaFX & SWT 14
SvenPittelkow Programm soll auf JButton warten bis der geklickt wurde AWT, Swing, JavaFX & SWT 1
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
Z Swing Drag and Drop mit einem JButton AWT, Swing, JavaFX & SWT 1
Z Swing Kann man auf JButton zeichenen AWT, Swing, JavaFX & SWT 3
J JButton Icon hinzufügen AWT, Swing, JavaFX & SWT 5
U Swing JButton mit Icon AWT, Swing, JavaFX & SWT 7
ms_cikar Jbutton erzeugt neue Buttons AWT, Swing, JavaFX & SWT 2
Drachenbauer Swing Wie ändere ich die Farbe der Konturen von jButton und jCombobox? AWT, Swing, JavaFX & SWT 18
Drachenbauer Swing Wie ändere ich die helle geklickt-Farbe von einem JButton? AWT, Swing, JavaFX & SWT 4
A Swing JButton mit Pfeiltasten bewegen AWT, Swing, JavaFX & SWT 6
F Swing Scrollbare Liste von JButton AWT, Swing, JavaFX & SWT 4
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
J JButton zum ändern Der Schriftart/Schriftgröße AWT, Swing, JavaFX & SWT 2
A Swing JButton aussehen AWT, Swing, JavaFX & SWT 12
J jButton soll nach klicken eine Variable um 1 erhöhen AWT, Swing, JavaFX & SWT 2
Legi Swing JButton Icon verschiebt sich AWT, Swing, JavaFX & SWT 2
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
S Swing JButton verschwindet nach Compilieren AWT, Swing, JavaFX & SWT 8
B Swing Posistion von JButton auslesen gibt immer 0 aus AWT, Swing, JavaFX & SWT 1
J Thread kennt JButton nicht. AWT, Swing, JavaFX & SWT 11
G Swing JButton ändert (unerwünscht) Größe bei Ausführung AWT, Swing, JavaFX & SWT 4
MR._FIRE_Flower Variable setzten mit JButton AWT, Swing, JavaFX & SWT 5
S Mit JButton neues Fester öffnen und das alte schließen AWT, Swing, JavaFX & SWT 3
T JButton wird beim vergrößern des Fensters erst sichtbar AWT, Swing, JavaFX & SWT 4
R Swing Verändern der Ausrichtung JButton und neu anzeigen AWT, Swing, JavaFX & SWT 2
G Swing JButton - Keine Klickanimation AWT, Swing, JavaFX & SWT 4
Joker4632 JButton nicht sichtbar, aber funktionsfähig AWT, Swing, JavaFX & SWT 8
B Swing JButton deaktivieren, wenn nicht alle JTextFields ausgefüllt sind. AWT, Swing, JavaFX & SWT 2
D JButton per Tastenkombi auswählen AWT, Swing, JavaFX & SWT 2
K JButton nicht sichtbar machen für User 2 AWT, Swing, JavaFX & SWT 4
L Swing JButton soll link öffnen AWT, Swing, JavaFX & SWT 1
K JButton auf anderer Klasse AWT, Swing, JavaFX & SWT 6
A JButton soll durch anklicken die Farbe wechseln AWT, Swing, JavaFX & SWT 8
T KeyListener funktioniert nicht wenn ich ein JButton hinzufüge AWT, Swing, JavaFX & SWT 1
R Swing ActionListener bei JButton AWT, Swing, JavaFX & SWT 9
B JButton -> Rahmen wegbekommen AWT, Swing, JavaFX & SWT 7
N JButton über benutzerdefinierte paintComponent setzen AWT, Swing, JavaFX & SWT 3
T JButton überlagern sich und werden erst beim Mausscrollen sichtbar AWT, Swing, JavaFX & SWT 2
B JButton erscheint in JFrame, obwohl er diesem nicht zugeordnet wurde! AWT, Swing, JavaFX & SWT 1
M JButton Probleme AWT, Swing, JavaFX & SWT 14
T Klasse über JButton schließen AWT, Swing, JavaFX & SWT 4
M Textfarbe JButton verändern AWT, Swing, JavaFX & SWT 2
N JButton ausblenden AWT, Swing, JavaFX & SWT 2
M Swing jButton Text verschwindet AWT, Swing, JavaFX & SWT 2
C Swing JButton wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
stylegangsta JLabel durch Klick auf JButton einblenden AWT, Swing, JavaFX & SWT 16
stylegangsta Eigene Klasse für JButton aus dem JFrame abrufen AWT, Swing, JavaFX & SWT 29
stylegangsta MouseEvents aus JButton aufrufen AWT, Swing, JavaFX & SWT 3
stylegangsta JButton Transparent anzeigen AWT, Swing, JavaFX & SWT 9
stylegangsta JButton Fehelr javax.swing.ImageIcon.<init>(Unknown Source) AWT, Swing, JavaFX & SWT 24
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
D JButton - Nur Icon anzeigen / transparenter Hintergrund AWT, Swing, JavaFX & SWT 2
S JButton-Label vergrößern AWT, Swing, JavaFX & SWT 2
J Swing Basics - JButton funktioniert nicht. AWT, Swing, JavaFX & SWT 1
L JButton mit ImageIcon/Fehlermeldung AWT, Swing, JavaFX & SWT 1
D jButton Problem, ein Rieser Button bedeckt das ganze frame AWT, Swing, JavaFX & SWT 1
L Array mit JButton, wie rausfinden auf welche JButton geklickt wurde + index des JButtons ausgeben AWT, Swing, JavaFX & SWT 4
K (GUI) JButton Farbe bei druck ändern AWT, Swing, JavaFX & SWT 3
L JButton mit Image AWT, Swing, JavaFX & SWT 5
fLooojava JButton [Focus) AWT, Swing, JavaFX & SWT 4
M JButton - Listener AWT, Swing, JavaFX & SWT 1
D jButton auf von jFrame erzeugtem jDialog AWT, Swing, JavaFX & SWT 16
L JButton flackern - Programm hängt sich auf AWT, Swing, JavaFX & SWT 3
L JButton - Größe anders als erwartet AWT, Swing, JavaFX & SWT 2
1 JButton nach Klick ausblenden AWT, Swing, JavaFX & SWT 6
X Swing 1 JButton bedeckt meine ganze Frame aber Warum? AWT, Swing, JavaFX & SWT 2
S Größe und Farbe vom JButton festlegen AWT, Swing, JavaFX & SWT 2
H Swing JList/JTable mit JButton, JTextField, Image, JComboBox und JLable AWT, Swing, JavaFX & SWT 2
J JButton neu zeichnen lassen AWT, Swing, JavaFX & SWT 9
S JButton u. Label auf paint-Methode AWT, Swing, JavaFX & SWT 1
HoloYoitsu Swing JButton in verschiedenen Winkeln drehen AWT, Swing, JavaFX & SWT 0
J vocab1 = new JButton(""+voc1.get(nr).toString()+""); AWT, Swing, JavaFX & SWT 16
A JButton wird bei ActionListener nicht "angenommen" AWT, Swing, JavaFX & SWT 7
BRoll JButton Text nicht ausblenden ("...") AWT, Swing, JavaFX & SWT 2
I JFrame mit JButton schließen? AWT, Swing, JavaFX & SWT 0
D JList&JButton erst nach Resize des JFRame sichtbar AWT, Swing, JavaFX & SWT 2
J Swing JFrame slideout, wenn JButton gedrückt wurde AWT, Swing, JavaFX & SWT 0
S Swing Rückmeldung für JButton AWT, Swing, JavaFX & SWT 4
R AWT JLabel oder JButton aktualisieren AWT, Swing, JavaFX & SWT 1
L JButton im Frame fest verankern AWT, Swing, JavaFX & SWT 0
M Swing Mix JComboBox - JButton? AWT, Swing, JavaFX & SWT 6
U Event Handling JButton Actionevent: starte Spiel AWT, Swing, JavaFX & SWT 4
E JButton füllt ganzes JPanel auf AWT, Swing, JavaFX & SWT 6
P Verbuggte custom JButton unter Windows AWT, Swing, JavaFX & SWT 9
W Swing JButton lässt sich nicht anzeigen AWT, Swing, JavaFX & SWT 8
Kandum Swing JButton - onclick -> Grafikfehler AWT, Swing, JavaFX & SWT 2
R JButton durch Enter auslösen AWT, Swing, JavaFX & SWT 7
T Swing JButton per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 5
M Problem mit FlowLayout, JLabel und JButton AWT, Swing, JavaFX & SWT 4
M JButton wird von JTree überdeckt AWT, Swing, JavaFX & SWT 4
D Swing JButton.setenabled(true) funktioniert nicht AWT, Swing, JavaFX & SWT 12
B JButton ausblenden AWT, Swing, JavaFX & SWT 12
G JButton deaktivieren greift nicht AWT, Swing, JavaFX & SWT 14

Ähnliche Java Themen

Neue Themen


Oben