JButton Farbe verändern

Status
Nicht offen für weitere Antworten.

-Hades-

Mitglied
Hallo Leute,

ich habe ein paar JButtons auf meinem JFrame, jedoch müssen die alle sehr sehr klein sein wegen Platzmangel, so kleine das man keinen Text mehr drin darstellen kann aber das is auch nicht so schlimm. Ich wollte jetzt für mehr Sicherheit ob der Knopf jetzt wirklich gedrückt wurde die Hintergrundfarbe des Buttons beim Klick ändern. Also dieses Weiß-grau in ein Rot oder Blau oder so umspringen lassen.
Mit einem Icon hab ichs schon versucht aber das is nicht wirklich zu benutzen bei so kleinen Buttons.

Wäre super wenn mir da jemand helfen kann.

MfG Hades
 

-Hades-

Mitglied
Ich hab schon versucht die backgroundfarbe im editor zu verändern, das ganze hatte jedoch keinerlei auswirkungen auf den button.
 

Marco13

Top Contributor
Oh-oh :shock: Das klingt, als wäre dein Computer kaputt! :wink:
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ButtonColorTest extends JFrame
{
    public static void main(String args[])
    {
        new ButtonColorTest();
    }


    public ButtonColorTest()
    {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(100,100);
        getContentPane().setLayout(null);
        final JButton button = new JButton();
        button.addActionListener(new ActionListener()
        {
			public void actionPerformed(ActionEvent e)
			{
				int r = (int)(Math.random()*255);
				int g = (int)(Math.random()*255);
				int b = (int)(Math.random()*255);
				button.setBackground(new Color(r,g,b));
			}
		});
		button.setBounds(10,10,20,20);
		getContentPane().add(button);
		setVisible(true);
	}
}
 

MasterEvil

Bekanntes Mitglied
Hoi, ich hab mir mal vor Ewigkeiten nen Button gebastelt der bei mir noch zum Einsatz kommt.

Hier mal die Klasse:
Code:
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.border.Border;

public class GradientButton extends JButton implements MouseListener {
	private Color Color1 = Color.LIGHT_GRAY;
	private Color Color2 = Color.WHITE;
	private Color BGColor = Color1;
	private Border NormalBorder = BorderFactory.createLineBorder(new Color(122, 138, 153));
	private Border HoverBorder1 = BorderFactory.createLineBorder(new Color(122, 138, 153));
	private Border HoverBorder2 = BorderFactory.createLineBorder(new Color(184, 207, 229));
	private Border InnerHoverB  = BorderFactory.createCompoundBorder(HoverBorder1, HoverBorder2);
	private Border HoverBorder  = BorderFactory.createCompoundBorder(HoverBorder2, InnerHoverB);
	private Graphics2D g2d = null;
	private boolean buttonPressed = false;

	public GradientButton() {
		super();
		setFocusPainted(false);
		this.setContentAreaFilled(false);
		this.setBorder(NormalBorder);
		this.addMouseListener(this);
	}

	public GradientButton(Color mColor1, Color mColor2) {
		super();
		setContentAreaFilled(false);
		Color1 = mColor1;
		Color2 = mColor2;
		setBorder(NormalBorder);
		addMouseListener(this);
	}

	 public void paintComponent(Graphics g) {
		 g2d = (Graphics2D) g;
		 if(!buttonPressed) {
			 GradientPaint gp = new GradientPaint(0,getHeight(),Color1,0,getHeight()/3,Color2,true);
			 g2d.setPaint(gp);
		 }
		 else g2d.setColor(BGColor);
		 g2d.fillRect(0,0,getWidth(),getHeight());
		 super.paintComponent(g2d);
	 }

	public void setBorderColor(Color BColor) {
		NormalBorder = BorderFactory.createLineBorder(BColor);
		setBorder(NormalBorder);
	}

	public void setHoverBorderColor(Color Color1, Color Color2) {
		this.HoverBorder1 = BorderFactory.createLineBorder(Color1);
		this.HoverBorder2 = BorderFactory.createLineBorder(Color2);
		this.InnerHoverB  = BorderFactory.createCompoundBorder(this.HoverBorder1, this.HoverBorder2);
		this.HoverBorder  = BorderFactory.createCompoundBorder(this.HoverBorder2, this.InnerHoverB);
	}

	public void setXPBorder() {
		NormalBorder = BorderFactory.createLineBorder(new Color(28, 81, 128));
		this.HoverBorder1 = BorderFactory.createLineBorder(new Color(252, 214, 132));
		this.HoverBorder2 = BorderFactory.createLineBorder(new Color(247, 180, 51));
		this.InnerHoverB  = BorderFactory.createCompoundBorder(this.HoverBorder2, this.HoverBorder1);
		this.HoverBorder  = BorderFactory.createCompoundBorder(NormalBorder, this.InnerHoverB);
	}
	 
	public void mouseEntered(MouseEvent e) { if(super.isEnabled()) setBorder(HoverBorder); }
	public void mouseExited(MouseEvent e)  { setBorder(NormalBorder); }

	public void mouseClicked(MouseEvent e) {}
	public void mousePressed(MouseEvent e) { buttonPressed = true; }
	public void mouseReleased(MouseEvent e) { buttonPressed = false; }

	public Color getPressedColor() { return BGColor; }
	public void setPressedColor(Color color) { BGColor = color; }

	public Color getButtonColor_From() { return Color1; }
	public void setButtonColor_From(Color color1) { Color1 = color1; }

	public Color getButtonColor_To() { return Color2; }
	public void setButtonColor_To(Color color2) { Color2 = color2; }
}

Die Verwendung ist eigentlich selbsterklärend :)
Code:
GradientButton fooButton = new GradientButton();
fooButton.setPressedColor(Color.WHITE);

GradientButton hippButton = new GradientButton(Color.ORANGE, Color.GREEN);
hippButton.setPressedColor(Color.YELLOW);
hippButton.setBorderColor(Color.RED);
hippButton.setHoverBorderColor(Color.PURPLE, Color.WHITE);
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
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 JButton soll durch anklicken die Farbe wechseln AWT, Swing, JavaFX & SWT 8
K (GUI) JButton Farbe bei druck ändern AWT, Swing, JavaFX & SWT 3
S Größe und Farbe vom JButton festlegen AWT, Swing, JavaFX & SWT 2
S Farbe von JButton ändern AWT, Swing, JavaFX & SWT 5
T Jbutton Click farbe ändern AWT, Swing, JavaFX & SWT 4
F JButton Text-Farbe bei Disabled AWT, Swing, JavaFX & SWT 2
K Icon auf JButton mit Wechsel der Farbe AWT, Swing, JavaFX & SWT 2
D Farbe bei einem JButton wechseln AWT, Swing, JavaFX & SWT 4
X JButton in MetalButtonUI Farbe ändern lassen? AWT, Swing, JavaFX & SWT 7
L Die Farbe von JButton beim Klicken ändern? AWT, Swing, JavaFX & SWT 4
C Farbe eines gedrücktes JButton AWT, Swing, JavaFX & SWT 3
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
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
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
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
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

Ähnliche Java Themen

Neue Themen


Oben