【问题标题】:Add image to JPanel将图像添加到 JPanel
【发布时间】:2012-07-12 11:47:04
【问题描述】:

我想在没有paint()/init() 和这样的applet 方法的情况下使用swing 将图像添加到我的JPanel。在 JPanel 上还有一些我想保持可见的其他组件。

简而言之,我想将背景图像添加到我的 JPanel。

【问题讨论】:

    标签: java image swing background jpanel


    【解决方案1】:

    您可以像link 中所示那样扩展JPanel

    引用上述链接

    public class ImageTest {
    
      public static void main(String[] args) {
        ImagePanel panel = new ImagePanel(new ImageIcon("images/background.png").getImage());
    
        JFrame frame = new JFrame();
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
      }
    }
    
    class ImagePanel extends JPanel {
    
      private Image img;
    
      public ImagePanel(String img) {
        this(new ImageIcon(img).getImage());
      }
    
      public ImagePanel(Image img) {
        this.img = img;
        Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
        setPreferredSize(size);
        setMinimumSize(size);
        setMaximumSize(size);
        setSize(size);
        setLayout(null);
      }
    
      public void paintComponent(Graphics g) {
        g.drawImage(img, 0, 0, null);
      }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-07
      • 2010-09-22
      • 2013-12-16
      • 1970-01-01
      相关资源
      最近更新 更多