J
JLinker
Gast
Hallo,
ich bekomme einen "komischen Effekt", wenn ich einen Alpha-Wert für eine Button-Farbe einstelle. Wenn ich über einen 1. Button mit der Maus fahre und danach über einen 2. Button, wird die Schrift des 1. Button mit dargestellt (es ist etwas schwierig zu erklären, darum bitte das Code-Beispiel anschauen):
Schöne Grüße
JLinker
ich bekomme einen "komischen Effekt", wenn ich einen Alpha-Wert für eine Button-Farbe einstelle. Wenn ich über einen 1. Button mit der Maus fahre und danach über einen 2. Button, wird die Schrift des 1. Button mit dargestellt (es ist etwas schwierig zu erklären, darum bitte das Code-Beispiel anschauen):
Code:
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Button extends JFrame {
public Button() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
init();
}
public void init() {
this.setBounds(0,0,200,100);
this.setLayout(null);
JButton button1 = new JButton("Test-Button1");
JButton button2 = new JButton("Button2");
ButtonEffect be = new ButtonEffect();
button1.setBackground(new Color(245,245,245,250));
button1.addMouseListener(be);
button1.setBounds(0, 0, 90, 50);
button2.setBackground(new Color(245,245,245,250));
button2.addMouseListener(be);
button2.setBounds(100, 0, 90, 50);
this.getContentPane().add(button1);
this.getContentPane().add(button2);
}
class ButtonEffect extends MouseAdapter {
public void mouseEntered(MouseEvent e) {
JButton button = (JButton)e.getComponent();
button.setText(button.getText());
Color bgColor = new Color(30, 144, 255, 120);
button.setBackground(bgColor);
button.setText(button.getText());
}
/**
* Wenn die Maus den Button wieder verlässt
*/
public void mouseExited(MouseEvent e) {
JButton button = (JButton)e.getComponent();
button.setText(button.getText());
button.setBackground(new Color(245,245,245,250));
button.setText(button.getText());
}
}
public static void main(String[] args) {
new Button().setVisible(true);
}
}
Schöne Grüße
JLinker