Icon auf JButton

Status
Nicht offen für weitere Antworten.
R

Rogerle

Gast
Hallo !

Ich habe einem JPanel einen eigenen OKButton hinzugefügt.

Code:
GridBagConstraints okButtonGridBagConstraints = new GridBagConstraints();
jPanel = new JPanel();
jPanel.setLayout(new GridBagLayout());
okButtonGridBagConstraints.gridx = 0;
okButtonGridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
okButtonGridBagConstraints.gridy = 0;
okButtonGridBagConstraints.weightx = 1.0D;
okButtonGridBagConstraints.insets = new java.awt.Insets(5,5,5,5);
jPanel2.add(getBknOKButton(), okButtonGridBagConstraints);


private JButton getBknOKButton() {
   if (bknOKButton == null) {
       bknOKButton = new BKNOkButton();
   }
   return bknOKButton;
}

public class BKNOkButton extends BKNButton {

    public BKNOkButton() {
	super();
	this.init();
    }

    private void init() {
	this.setText("OK");
	this.setName(BUTTON_OK);
	this.setIcon(BknImageFactory.getImage(BKNImmages.IMAGE_OK));
	this.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
    }
}

public class BKNButton extends JButton {

    public BKNButton() {
        super();
        this.init();
    }

    private void init() {

        this.setPreferredSize(new Dimension(100, 26));
        this.setMinimumSize(new Dimension(80, 26));
        this.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        this.setMargin(new Insets(2, 14, 2, 14));

        //Hier kommt das Problem:
        this.setBorder(javax.swing.BorderFactory.createBevelBorder(
                javax.swing.border.BevelBorder.RAISED, Color.lightGray,
                Color.darkGray));

        setFont(new Font("sanserif", java.awt.Font.PLAIN, 12));
        
    }

}

Nun mein Problem:

Setze ich in der Klasse BKNButton den Rahmen (this.setBorder), dann erscheint
das Icon sofort am linken Rand des Buttons.
Kommentiere ich den setBorder aus , wird ein kleiner Abstand gelassen, so wie es sein soll.

Was soll das ???

Danke
 

dotlens

Top Contributor
der Standard border hat wohl eine grössere Breite als der, den du setzt. auch wenn er unsichtbar ist, ist er da...
 
R

Rogerle

Gast
Das ist eigentlich der Standard Border für Windows Look.

Auch wenn ich den Border auf null setze, bekomme ich
den Effect, dass das Icon ganz am linken Rand klebt.
 

dotlens

Top Contributor
mach mal das:
Code:
this.setBorder(this.getBorder());

oder
Code:
System.out.println(this.getBorder());

um zu testen ob vorher wirklich dieser Border war.
 
R

Rogerle

Gast
Du hast Recht !

Irgendwo da liegt das Problem. Bei this.setBorder(this.getBorder())
ist das Icon an der richtigen Stelle.

println ergibt javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@c8376b

ist von der Optik aber das Gleiche wie mein gesetzter Border.

Aber warum setzt er dann auch bei setBorder(null) das Icon an den linken Rand und wie kann ich mein eigenes setzen.

setMargin(...) hat auch nicht den gewünschten Effect

Danke für die Hilfe
 

dotlens

Top Contributor
weil der standard border anscheinen noch einen unsichtbaren border hat. der dafür sorgt, dass die schrift/icons nich zu na an den rand kommen.
ich glaube es gibt noch setEmptyBorder(). damit könntest du einen unsichtbaren Border setzen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J JButton Icon hinzufügen AWT, Swing, JavaFX & SWT 5
U Swing JButton mit Icon AWT, Swing, JavaFX & SWT 7
Legi Swing JButton Icon verschiebt sich AWT, Swing, JavaFX & SWT 2
D JButton - Nur Icon anzeigen / transparenter Hintergrund AWT, Swing, JavaFX & SWT 2
M Swing JButton-Konstruktor Icon-Parameter (Verständnisfrage) AWT, Swing, JavaFX & SWT 7
S JButton -> Text über Icon AWT, Swing, JavaFX & SWT 4
Burny91 Swing Swatches vom JColorChooser als Icon für JButton benutzen AWT, Swing, JavaFX & SWT 4
V Ein Image als Button (nicht mit JButton(Icon)) AWT, Swing, JavaFX & SWT 5
K Schachbrett / Icon / JButton AWT, Swing, JavaFX & SWT 7
K Icon auf JButton mit Wechsel der Farbe AWT, Swing, JavaFX & SWT 2
G Gap zwischen JButton-Rand und JButton-Icon verändern AWT, Swing, JavaFX & SWT 2
S Jtree-Icon per Klick auf JBUTTON ändern AWT, Swing, JavaFX & SWT 3
K Icon und Text auf JButton anordnen AWT, Swing, JavaFX & SWT 2
I jbutton + icon icon an button anpassen, wie? AWT, Swing, JavaFX & SWT 25
B JButton mit Icon AWT, Swing, JavaFX & SWT 10
C JButton + Icon + Text AWT, Swing, JavaFX & SWT 3
J Icon in JButton AWT, Swing, JavaFX & SWT 18
G Ikonli in Fat-Jar mit mehreren Icon-Packs einbinden AWT, Swing, JavaFX & SWT 5
I AWT java.awt.FileDialog - "coffee cup"-Icon lässt sich nicht ersetzen AWT, Swing, JavaFX & SWT 14
P Swing Icon einfügen wirft eine Fehlermeldung AWT, Swing, JavaFX & SWT 3
N Swing Image aus Web laden und in Icon umwandeln AWT, Swing, JavaFX & SWT 4
krgewb Swing Icon von Button AWT, Swing, JavaFX & SWT 12
Shallty JavaFX MenuItem (Info) Icon ändern AWT, Swing, JavaFX & SWT 7
U AWT Smoother Icon AWT, Swing, JavaFX & SWT 2
D Kein Icon beim JTabbedPane AWT, Swing, JavaFX & SWT 1
S JavaFX TreeItem: Icon am Ende eines Eintrags anhängen AWT, Swing, JavaFX & SWT 2
D Icon in Menuitem einfügen AWT, Swing, JavaFX & SWT 8
C Icon in der Spaltenüberschrift AWT, Swing, JavaFX & SWT 1
C SWT Treeview mit Bilder im Label verändert Expanded Icon AWT, Swing, JavaFX & SWT 1
Tom299 JavaFX TreeView Expanded-Icon ändern AWT, Swing, JavaFX & SWT 0
E Swing Error icon in der TextArea AWT, Swing, JavaFX & SWT 1
M label mit icon verschieben. AWT, Swing, JavaFX & SWT 1
M JavaFX wie kann mann sein frame mit einem Icon fersehen? AWT, Swing, JavaFX & SWT 2
C JavaFX Application -Icon wird falsch dargestellt AWT, Swing, JavaFX & SWT 7
J JavaFX TextArea dynamisch Icon im Background anzeigen AWT, Swing, JavaFX & SWT 2
P Image oder Icon auf Tooltip zeichnen AWT, Swing, JavaFX & SWT 4
D JavaFX - MenuItem mit Icon AWT, Swing, JavaFX & SWT 1
T JFrame Icon unter Linux/Ubuntu AWT, Swing, JavaFX & SWT 11
A Swing JColorChooser's Icon will nicht getauscht werden. AWT, Swing, JavaFX & SWT 10
B JAVAFX icon in ComboBox einfügen AWT, Swing, JavaFX & SWT 5
H Javafx - Menuitem - Icon AWT, Swing, JavaFX & SWT 4
J JComboBox Dropdown Icon AWT, Swing, JavaFX & SWT 2
vodkaz JButtonz Icon&Background AWT, Swing, JavaFX & SWT 3
B Windowbuilder - Icon für Button einbinden AWT, Swing, JavaFX & SWT 2
B Icon AWT, Swing, JavaFX & SWT 5
E Swing JFrame Icon AWT, Swing, JavaFX & SWT 3
F icon aus exe auslesen mithilfe des JFilechooser ? AWT, Swing, JavaFX & SWT 4
F DefaultTreeCellEditor - Fragen zur Groesse und zum Icon beim Editieren AWT, Swing, JavaFX & SWT 4
H Label mit Icon positionieren AWT, Swing, JavaFX & SWT 14
H Image Icon ersetzen AWT, Swing, JavaFX & SWT 8
J Icon vor Button AWT, Swing, JavaFX & SWT 7
TheWhiteShadow Swing Problem mit Icon-Menü-Leiste AWT, Swing, JavaFX & SWT 5
S Würfelanimation icon updaten AWT, Swing, JavaFX & SWT 8
M Swing DoubleBuffer mit Icon AWT, Swing, JavaFX & SWT 3
TiME-SPLiNTER JLabel mit Icon & JFrame Resize AWT, Swing, JavaFX & SWT 5
V Panel/Icon aktualisieren AWT, Swing, JavaFX & SWT 10
S 2D-Grafik Icon in Image (System Icons) AWT, Swing, JavaFX & SWT 2
X Icon in JTable abbilden AWT, Swing, JavaFX & SWT 10
M Icon wird bei externen Jar nicht angezeigt AWT, Swing, JavaFX & SWT 2
L toggel icon in jtable AWT, Swing, JavaFX & SWT 3
kodela Swing Icon in der Titelleiste "festnageln" AWT, Swing, JavaFX & SWT 6
G JLabel Icon Pfeilform AWT, Swing, JavaFX & SWT 14
S JCheckBoxMenuItem - Haekchen verschwindet bei Icon AWT, Swing, JavaFX & SWT 3
algorismi JInternalframe Icon AWT, Swing, JavaFX & SWT 14
M JCheckBox Icon anpassen AWT, Swing, JavaFX & SWT 2
E Icon für Fenster AWT, Swing, JavaFX & SWT 5
M Prozess-Icon im Prozessmanager AWT, Swing, JavaFX & SWT 8
W Swing Button mit Icon AWT, Swing, JavaFX & SWT 3
S svg Icon für Button (Batik Problem?) AWT, Swing, JavaFX & SWT 3
C Swing JToggleButton und Icon AWT, Swing, JavaFX & SWT 2
S JTree - Knoten mit animiertem GIF/Icon AWT, Swing, JavaFX & SWT 5
S vector Icon AWT, Swing, JavaFX & SWT 3
C LayoutManager Icon Einfügen? AWT, Swing, JavaFX & SWT 6
N Icon für Button wird nicht gefunden AWT, Swing, JavaFX & SWT 11
B SWT Eigenes Icon für CheckboxTreeViewer AWT, Swing, JavaFX & SWT 3
K LookAndFeel JTabbedPane mit Icon und CloseButton AWT, Swing, JavaFX & SWT 2
badfish Swing ImageIcon auf JLabel, Fenster Maximieren verbieten und Icon oben links austauschen? AWT, Swing, JavaFX & SWT 5
F Problem beim Positionieren von Icon und Text in Button AWT, Swing, JavaFX & SWT 2
R JTable mit Column die Icon und Integer enthält? AWT, Swing, JavaFX & SWT 3
T Icon von Frame ändern - Applet AWT, Swing, JavaFX & SWT 2
J Icon einer JCheckBox AWT, Swing, JavaFX & SWT 6
D Swing Anwenungs Icon AWT, Swing, JavaFX & SWT 8
A Swing JTable Icon nur in einer Zelle AWT, Swing, JavaFX & SWT 2
R JTable Header - will links kleines icon hinzufuegen..? AWT, Swing, JavaFX & SWT 6
J Swing JToolBar Button mit Icon AWT, Swing, JavaFX & SWT 4
V [Swing] Overlay Icon AWT, Swing, JavaFX & SWT 5
T Abbrechen-Icon entfernen AWT, Swing, JavaFX & SWT 4
S Buttons mit großen Icon AWT, Swing, JavaFX & SWT 7
klattiator Icon und Button zum Schließen in einem Tab AWT, Swing, JavaFX & SWT 3
G Sehr kleine JButtons mit Icon oder Beschriftung AWT, Swing, JavaFX & SWT 2
G Icon ans Ende einer JToolbar AWT, Swing, JavaFX & SWT 7
D Abfrageproblem bei JMenu mit Icon AWT, Swing, JavaFX & SWT 2
G JFrame Icon ändern AWT, Swing, JavaFX & SWT 5
G Icon und Text in JTable darstellen AWT, Swing, JavaFX & SWT 3
S Eclipse Icon Set AWT, Swing, JavaFX & SWT 6
G Icon in JTable AWT, Swing, JavaFX & SWT 9
A Icon,zentriert,Farbiger Text alles in einer Tabelle/Spalte ? AWT, Swing, JavaFX & SWT 4
L icon auf Label AWT, Swing, JavaFX & SWT 4
D Icon in MenuItem AWT, Swing, JavaFX & SWT 3
B jtree root icon ändern AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben