Java 如何将JButton放置在带有图像的JLabel上?
我使用NetBeans IDE使用java创建应用程序。我想在带有图像的Java 如何将JButton放置在带有图像的JLabel上?,java,swing,jbutton,jlabel,Java,Swing,Jbutton,Jlabel,我使用NetBeans IDE使用java创建应用程序。我想在带有图像的JLabel上包含JButton。实际上,当我在JLabel上添加JButton时,它将被插入,但它将是透明的,并且名称和按钮没有显示。似乎要在JLabel下添加该按钮。如何克服这个问题?有两种方法 通过覆盖paintComponent(标准方式)将图像放入JPanel JLabel在API中没有任何LayoutManager,您必须设置LayoutManager,然后JLabel将被删除 有两种方法 通过覆盖paintCo
JLabel
上包含JButton
。实际上,当我在JLabel
上添加JButton
时,它将被插入,但它将是透明的,并且名称和按钮没有显示。似乎要在JLabel
下添加该按钮。如何克服这个问题?有两种方法
paintComponent
(标准方式)将图像放入JPanel
JLabel
在API中没有任何LayoutManager
,您必须设置LayoutManager
,然后JLabel
将被删除paintComponent
(标准方式)将图像放入JPanel
JLabel
在API中没有任何LayoutManager
,您必须设置LayoutManager
,然后JLabel
将被删除那么,你到底想在这里完成什么?在Swing中分层组件并不是那么容易。有关更多信息,请参阅。首先,向我们展示您的尝试,然后制作一个描述您的需求的图像,将其上载到某个图像托管站点并在您的问题中链接。如果您想保持简单,我将使用JLayeredPane:)您可以使用图像创建一个JButton,那么JLabel为您做了什么?下面给出了一个示例。你应该根据自己的需要选择一个合适的布局管理器。那么,你到底想在这里实现什么呢?在Swing中分层组件并不是那么容易。有关更多信息,请参阅。首先,向我们展示您的尝试,然后制作一个描述您的需求的图像,将其上载到某个图像托管站点并在您的问题中链接。如果您想保持简单,我将使用JLayeredPane:)您可以使用图像创建一个JButton,那么JLabel为您做了什么?下面给出了一个示例。您应该根据需要选择合适的布局管理器。建议+1。我认为OP面临的问题是缺少
JLabel
的布局管理器。建议+1。我认为OP面临的问题是缺少JLabel
的布局管理器。
ImageIcon img = null;
class Panel extends JPanel{
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (img == null){
img = new ImageIcon("d:\\picture.jpg");
g.drawImage(img.getImage(), 0, 0, null);
}
}
}
//in the constructor
JButton button = new JButton( "OK");
Panel panel = new Panel();
panel.add(button);
add(panel);