Java 在JButton上(而不是内部)放置一个图像,并使JButton仍然工作
我现在想做的是在Java 在JButton上(而不是内部)放置一个图像,并使JButton仍然工作,java,image,swing,jframe,jbutton,Java,Image,Swing,Jframe,Jbutton,我现在想做的是在JButton上放一张图片,然后仍然可以点击按钮。我的意思不是像图标一样把图像放进按钮。我的意思是在JFrame中有一个图像,图像后面有一个按钮,可以点击它。感谢所有的帮助 import java.awt.FlowLayout; import javax.swing.JFrame; import javax.swing.JButton; public class ButtonImage extends JFrame{ static JButton save;
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的外观,使其不绘制按钮边框,然后添加图像
如果这些技术对你不起作用(比如说你想部分地看到图像后面的按钮),那么仍然要考虑把图像放在按钮中,但是把你的图像堆叠起来,以包含可见的按钮的一部分。 这有很多很好的理由
现在,如果图像从未与按钮重叠,则只需在按钮上方布置一个图像;然而,在您的撰写过程中,似乎您正在尝试做一些完全不同的事情。欢迎使用堆栈溢出,请使用。请将您的代码放在问题中(而不是作为场外链接)为了避免链接腐烂,这会使您的问题在将来变得毫无用处。您可以使用
鼠标侦听器来代替按钮,这样当鼠标单击某个区域时,您可以执行代码(无需按钮,假设您想将按钮隐藏在图像后面)“以及该图像后面的按钮”听起来像是另一个正在制作中的“无法使用的GUI”。为了最终用户的利益,我希望放弃这种胡说八道。但是,JButton
支持图像…为什么要重新发明轮子…为什么还要使用null
布局…听起来你几乎想要一个图像作为面板的背景,面板上有一个按钮。如果是这样的话,就有了plen这里有太多的例子,例如:这里是一个将图像平铺分割成4个按钮和5个标签的例子。作为通常聚焦指示的替代,它使用了一个带有(粗糙的)红色边框的“聚焦”图像。编辑:哎呀!我说的“聚焦”是指“按下”。)@AndrewThompson谢谢你的例子。我同意红色边框看起来不太好,可惜他们没有使用按钮对多个图像的支持,包括一个“onenterned”图像和一个“onClicked”图像。作为我,他们不想让代码太长!;)@安德烈·汤普森:很高兴认识你。我怀疑,如果有人付出了那么多的努力(看起来真的很好),那么红色边框是实现明显的基于图像的高亮显示的中间步骤。干得不错,真的很好看。