如何将JButton放在带有图像的JLabel上?

时间:2013-11-24 19:15:57

标签: java swing jbutton jlabel

我使用NetBeans IDE使用java创建应用程序。我想在JButton上添加JLabel图片。实际上,当我在JButton上添加JLabel时,它会插入,但它会透明,名称和按钮不会显示。似乎要在JLabel下添加按钮。我怎样才能克服这个问题?

2 个答案:

答案 0 :(得分:4)

有两种方式

  1. 通过覆盖JPanel(标准方式)将图片投放到paintComponent

  2. JLabel API中没有任何LayoutManager,您必须设置LayoutManager,然后JLabel将是容器

答案 1 :(得分:0)

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);