gpt4 book ai didi

java - 将图像放在 JButton 上方(而不是内部)并使 JButton 仍然工作

转载 作者:行者123 更新时间:2023-12-02 05:33:51 25 4
gpt4 key购买 nike

我目前正在尝试做的是将图像放在JButton上,并且仍然能够单击该按钮。我并不是说将图像像某种图标一样放入按钮中。我的意思是在 JFrame 内有一个图像,在该图像后面有一个按钮,并且可以单击它。感谢所有帮助。

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JButton;

public class ButtonImage extends JFrame{

static JButton save;
JButton cancel;
ButtonImage(){
save = new JButton("Save");
cancel = new JButton("Cancel");

setLayout(new FlowLayout());
add(save);
add(cancel);

setVisible(true);
setSize(400,300);
setLocation(500,400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null);
}

public static void main(String[]args){
new ButtonImage();
save.setBounds(100,200,90,30);
}
}

最佳答案

如果图像完全覆盖按钮,只需在图像上放置一个点击监听器,然后忘记按钮。或者更好的是,JButton 可以将图像作为其内容,因此更改 JButton 的外观以不绘制按钮边框,然后添加图像。

如果这些技术不适合您(假设您想部分看到图像后面的按钮,那么仍然考虑将图像放入按钮中,但将图像组合起来以包含可见的按钮部分.

这有很多很好的理由。

  1. 您不必担心争夺焦点,因此您的图像不会吞噬鼠标点击。
  2. 制表符和箭头热键将正常工作,“输入点击”行为也将正常工作。
  3. 您的代码可读性会更好,这将帮助您更快地完成项目并轻松维护。

现在,如果图像从不与按钮重叠,则只需在按钮上方布局图像即可;然而,在你的文章中,你似乎正在尝试做一些完全不同的事情。

关于java - 将图像放在 JButton 上方(而不是内部)并使 JButton 仍然工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25230909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com