使JButton不可见但可点击?

时间:2011-04-13 19:03:54

标签: java swing jbutton invisible clickable

如何在java中创建一个不可见但可点击的JButton?

button.setVisible(false); 

使按钮不可见,但无法点击,是否有任何方法可以使其不可见但可点击?

我尝试过:

button.setVisible(false);
button.setEnabled(true);

但这也不起作用。 我想这样做是因为我想要一个带图像的按钮,如果我将不可见的JButton放在图像上,单击图像时按钮会响应,或者隐藏按钮。

2 个答案:

答案 0 :(得分:19)

我认为你的意思是透明的,而不是隐形的。

这将生成一个不可见的可点击按钮,即透明:

button.setOpaque(false);
button.setContentAreaFilled(false);
button.setBorderPainted(false);

这回答了您提出的问题,但如果您的目的是让图片可以点击,那么也有更好的方法:

ImageIcon myImage = new ImageIcon("images/myImage.jpg");
JButton button = new JButton(myImage);

答案 1 :(得分:0)

嗯,没有意义,因为没有任何意义,没有标准的方法可以做到这一点,但是可以覆盖JButton的paint方法,并且不做任何事情,如:

class InvisibleButton extends JButton {

    @Override
    public void paint(Graphics g){
          // Do nothing here
    }
}

尝试玩这个。