Hi,
ich habe ein Test-Programm geschrieben bei dem ich einem Button eine Farbe zugewiesen habe. Wenn man über den Button fährt soll er schwarz werden, soweit kein Problem. Das Problem ist nur das wenn man den Button gedrückt hält kommt die Standard Farbe des Button. Ich habe bereits versucht mit MouseListener.clicked den Farbwert zu ändern, geht aber nicht. Meine Frage daher kann man die Standardfarbe beim klicken ändern, wenn ja wie?
Hier noch mein Code:
ich habe ein Test-Programm geschrieben bei dem ich einem Button eine Farbe zugewiesen habe. Wenn man über den Button fährt soll er schwarz werden, soweit kein Problem. Das Problem ist nur das wenn man den Button gedrückt hält kommt die Standard Farbe des Button. Ich habe bereits versucht mit MouseListener.clicked den Farbwert zu ändern, geht aber nicht. Meine Frage daher kann man die Standardfarbe beim klicken ändern, wenn ja wie?
Hier noch mein Code:
Java:
import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class buttonTest {
public static void main(String[] args) {
JFrame frame = new JFrame("Test");
frame.getContentPane().setBackground(new Color(100,100,100));
JPanel panel = new JPanel();
panel.setOpaque(false);
JButton button = new JButton("Button");
button.setBackground(new Color(46,46,46));
button.setForeground(Color.WHITE);
button.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent arg0) {
}
@Override
public void mousePressed(MouseEvent arg0) {
button.setBackground(new Color(0,0,0));
}
@Override
public void mouseExited(MouseEvent arg0) {
button.setBackground(new Color(46,46,46));
}
@Override
public void mouseEntered(MouseEvent arg0) {
button.setBackground(new Color(0,0,0));
}
@Override
public void mouseClicked(MouseEvent arg0) {
button.setBackground(new Color(46,46,46));
}
});
panel.add(button);
frame.setSize(300, 300);
frame.add(panel);
frame.setVisible(true);
}
}