使 JButton 不可见但可点击?

发布于 2024-11-01 10:54:00 字数 307 浏览 1 评论 0原文

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

button.setVisible(false); 

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

我尝试这样做:

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

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

How do I make a JButton in java, invisible, but clickable?

button.setVisible(false); 

makes the button invisible, but unclickable, is there any method that makes it invisible, but clickable?

I tried doing:

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

but that didn't work either.
I want to do this because I want to have a button with an image, if I put the invisible JButton over the image, the button will respond when you click the image, or invisible button.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尾戒 2024-11-08 10:54:00

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

这将使可点击的按钮不“可见”,即透明:

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

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

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

I think you mean transparent, rather than invisible.

This will make a clickable button that is not "visible", i.e. transparent:

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

This answers your asked question, but if your intent is to make an image clickable, there is a better way for that, too:

ImageIcon myImage = new ImageIcon("images/myImage.jpg");
JButton button = new JButton(myImage);
梦情居士 2024-11-08 10:54:00

好吧,没有意义,因为没有意义,所以没有标准方法来执行此操作,但是可以覆盖 JButton 的绘制方法并且在其中不执行任何操作,例如:

class InvisibleButton extends JButton {

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

尝试使用此方法。

Well, there is no point so since there is no point there is no standard way to do this, but it's possible to override the paint method of JButton and do nothing in it like:

class InvisibleButton extends JButton {

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

Try playing around with this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文