JButton mit Icon

Status
Nicht offen für weitere Antworten.
B

blaues_etwas

Gast
Hallo,
ich brauch für mein Programm einen Button, weiß aber nicht so recht, wie ich diesen programmieren soll, damit dieser funktioniert. Meine Überlegung wäre, da ich mit Swing arbeite, den JToggleButton zu benutzen, da dieser zwei Zustände einnehmen kann. Einmal gedrückt und mal nicht gedrückt. Mit Swing kann ich den Buttons auch noch Icons verpassen. Mein Button soll mit einem Icon ohne Text deklariert werden. Beim Drücken dieses Buttons soll sich aber das Icon verändern, das nur einen Farbwechsel darstellen soll. Der Button soll nur ein einziges mal gedrückt werden, also von "nicht gedrückt" zu "gedrückt". Der Zustand müsste in einer Hilfsvariablen deklariert werden.
Von diesem Typ Button möchte ich gleich mehrere in meinem Programm verwenden.

Bin für Tipps sehr dankbar.
 
B

blaues_etwas

Gast
Den Iconwechsel hab ich nun selbst gelöst. Die Methode klingt logisch, aber ich bin erst nach sehr langem suchen in der API fündig geworden.
Code:
element.setIcon();

Für das inaktiv setzen / sperren des buttons konnte ich über google noch nichts finden. Nur Sachen für HTML oder Java-Script .. Und in der API weiß ich gar nicht, wo ich suchen sollte ..
 

*Hendrik

Bekanntes Mitglied
Schau Dir doch die Api zum JToggleButton an und such Dir die Methoden raus, die etwas mit nem Icon zu tun haben. Z.B. setIcon, setPressedIcon, setRolloverIcon, setSelectedIcon. Dann nimmst Du die Methode, die Du für Dich benötigst.
Du kannst ein Icon auch bereits dem Konstruktor mitgeben.

Zum inaktiv setzen des Buttons:

Code:
element.setEnabled(false);
 
B

blaues_etwas

Gast
setEnabled eignet sich für mein Button nicht, da das Icon angezeigt werden soll, aber mit setEnabled(false) wird der ganze Button dunkelgrau gefärbt und gesperrt. Es muss aber das Icon noch zu sehen sein.
Gibt es eine Möglichkeit, den Button zu sperren, ohne dass ich der Button dunkelgrau färbt.
 

*Hendrik

Bekanntes Mitglied
Wenn Du mit setDisabledIcon(...) nochmal das gleiche Icon setzt wie mit setIcon(...), wird zumindest das Icon bei setEnable(false) nicht grau.
 
B

blaues_etwas

Gast
danke *Hendrik für deine Hilfe.
Prinzipiell funktioniert das nun, wie es soll. Eine Kleinigkeit fehlt noch, und zwar, besitzt dieser JToggleButton schon eine Variable, mit der ich "gedrückt" und "nicht gedrückt" abfragen kann?
*in API nix find*
 
B

blaues_etwas

Gast
*seufz* , ich bin so doof ..
programmieren wollen, aber die einfachsten Sachen in der API nicht finden .. ^^

Vllt. kann man mir hier nochmal kurz helfen :p
Code:
public void sperreButton(JToggleButton b)
{
	b.setIcon(icon);
	b.setDisabledIcon(icon);
	b.setEnabled(false);
}
public void actionPerformed(ActionEvent e)
{
	if(e.getSource()==button1)
	{
		sperreButton(e.getSource());
	}
	if(e.getSource()==button2)
	{
		sperreButton(e.getSource());
	}
	[..]
}
Fehler:
sperreButton(javax.swing.JToggleButton) in meinJPanel cannot be applied to (java.lang.Object)
sperreButton(e.getSource());
 

*Hendrik

Bekanntes Mitglied
Setzt Du das Icon dynamisch? Wenn nein würde ich die beiden Zeilen
Code:
   b.setIcon(icon); 
   b.setDisabledIcon(icon);

aus der Methode sperreButton() rausnehmen und bei der Initialisierung Deines Fenster bzw. Deiner Buttons direkt angeben.
Die Frage ist, ob Du dann überhaupt noch eine separate Methode fürs Sperren benötigst oder einfach in actionPerformed setEnable(false); setzt.

Das müsste so sein:

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button1)
{
sperreButton((JToggleButton)e.getSource());
}
if(e.getSource()==button2)
{
sperreButton((JToggleButton)e.getSource());
}
[..]
}
 
B

blaues_etwas

Gast
Ja, ich setze das Icon dynamisch..
Bei meiner Initialisierung wird schon ein Icon für den Button festgelegt. Wenn ich den Button klicke, soll aber ein anderes Icon angezeigt werden.
Mit dem Aufruf:
Code:
 sperreButton((JToggleButton)e.getSource());
funktionierts, danke :)

Wenn es dir nichts ausmacht, könntest du mit vllt. noch erklären, weshalb meines nicht geht, denn ich bin der Meinung, dass meine Lösung laufen sollte, nur der Compiler ist anderer Meinung ..
 

*Hendrik

Bekanntes Mitglied
getSource() gibt ein Object-Objekt zurück, allerdings erwartet Deine Methode sperreButton ein Objekt vom Typ JToggleButton. Deswegen musst Du das Object-Objekt casten.
 
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
C JButton + Icon + Text AWT, Swing, JavaFX & SWT 3
J Icon in JButton AWT, Swing, JavaFX & SWT 18
R Icon auf JButton AWT, Swing, JavaFX & SWT 6
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
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
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
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

Ähnliche Java Themen


Oben