【问题标题】:loading image in a JPanel在 JPanel 中加载图像
【发布时间】:2011-10-10 06:24:18
【问题描述】:

我有一个 JPanel(我使用 netbeans 创建的),我需要根据上一页的选择在其中加载图像。任何人都可以建议如何做到这一点。 JPanel 也是做我想做的事情的最佳方式,还是我可以做其他事情?

感谢您的努力!

【问题讨论】:

  • 每个 stackoverflow 页面的右上角都有一个文本框,其中有一个灰色提示:“search”。这意味着您可以单击此框并输入一些单词(例如“image jpanel”)并按回车键。网页神奇地重新加载并向您显示包含这些单词的问题(和答案!)列表。我为你解决了这个问题,我很自豪地向你展示第二次点击:stackoverflow.com/questions/1242581/… ;-)

标签: java image swing netbeans jlabel


【解决方案1】:

显示图像的最简单方法是使用JLabel 并调用其setIcon 方法(或其构造函数)。可以使用ImageIcon 类的构造函数之一加载图标。

有关示例,请参阅 http://download.oracle.com/javase/tutorial/uiswing/components/label.html

【讨论】:

    【解决方案2】:

    在 Java 中有多种方法可以read/load 图像。看看this教程。

    【讨论】:

    • 嘿!谢谢...但是我正在使用JPanel,并且我已经使用Netbeans中的拖放初始化了我的面板...我现在必须弄清楚如何使用Image加载它...感谢您的努力+1
    【解决方案3】:

    这是一个示例代码,演示如何在JPanel 中加载图像; background.jpg 是我们正在加载到 JPanel 的图像。另请注意,此图像应在源中可用。

    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Image;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    
    public class ImageTest {
    
        public static void main(String[] args) {
            ImagePanel panel = new ImagePanel(
                new ImageIcon("background.jpg").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-12-28
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-12
      • 2013-05-07
      • 2012-07-12
      相关资源
      最近更新 更多