사용자가 마우스를 가져갈 때까지 투명하게 단추를 만들고 싶었 기 때문에 JButton을 확장하는 자체 클래스를 만들었습니다. 나는 그것을 테스트하고 버튼을 투명하게 만들고 사용자가 마우스를 가리키면 감지하지만 나중에 불투명하게 만들지는 않습니다. 이 코드를 변경하려면 무엇이 필요합니까?JButton 하위 클래스가 투명도를 변경하지 않음
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) {}
});
}
}
감사합니다. 이것은 의미가 있습니다! – sticks