Ich wollte eine Schaltfläche, die transparent ist, bis der Benutzer mit der Maus darüber schwebt, so dass ich meine eigene Klasse erstellt, die JButton erweitert. Ich habe es getestet und es macht den Knopf transparent und erkennt, wenn der Benutzer darüber schwebt, aber macht es danach nicht undurchsichtig. Was muss ich mit diesem Code ändern?JButton Unterklasse nicht ändern Transparenz
import javax.swing.*;
import java.awt.event.*;
public class TransparentButton extends JButton {
boolean opaque = false, areaFilled = false, borderPainted = false;
public TransparentButton(Icon icon) {
super(icon);
initialise();
}
public TransparentButton(String text) {
super(text);
initialise();
}
private void initialise() {
super.setOpaque(opaque);
super.setContentAreaFilled(areaFilled);
super.setBorderPainted(borderPainted);
super.addMouseListener(new MouseListener() {
public void mouseEntered(MouseEvent e) {
opaque = true;
areaFilled = true;
borderPainted = true;
}
public void mouseExited(MouseEvent e) {
opaque = false;
areaFilled = false;
borderPainted = false;
}
public void mouseClicked(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
});
}
}
Vielen Dank. Das macht Sinn! – sticks