Java JDesktopPane背景和分辨率

Java JDesktopPane背景和分辨率,java,swing,user-interface,netbeans,Java,Swing,User Interface,Netbeans,我在这里读过一些关于改变JdesktopPane图像背景的帖子, 但它似乎不起作用: 我正在使用netbeans,因此它位于构造函数中: ImageIcon icon = new ImageIcon("/gui/orange.png"); img = icon.getImage(); //this is a field Image img; theDesktop = new javax.swing.JDesktopPane() { @Override

我在这里读过一些关于改变JdesktopPane图像背景的帖子, 但它似乎不起作用:

我正在使用netbeans,因此它位于构造函数中:

  ImageIcon icon = new ImageIcon("/gui/orange.png");
            img = icon.getImage();   //this is a field Image img;
theDesktop = new javax.swing.JDesktopPane()
{
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(img, 0, 0, this);
    }
在init方法中(也在构造函数中):

我是新手,所以我不能真正理解我做错了什么。 我想知道它什么时候工作——因为每台计算机可能使用不同的分辨率——背景匹配每台计算机的解决方案是什么?(例如,当用户希望窗口为最大大小时)


非常感谢你

您需要进行一些调试,我建议的第一步是分而治之。我建议您将显示图像所采取的步骤进行划分,以找出是哪个步骤导致了您的问题。我首先从磁盘读取图像,并在JOptionPane中显示ImageIcon。请注意,我自己通常在使用
ImageIO.read(…)
中读取图像,并且通常将其作为资源而不是文件获取。此外,如果仍然处于这些调试尝试的末尾,那么您将要考虑创建和发布A。请考虑一下演示如何缩放图像,同时保持其纵横比,并讨论缩放算法什么帖子?什么没用?谢谢你的帮助!问题是我忘记了这一行:getClass().getResource(…),用于从文件中读取图片。