Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我无法将图像背景设置为已经创建到帧中的JPanel_Java_Image_Swing_Background_Jpanel - Fatal编程技术网

Java 我无法将图像背景设置为已经创建到帧中的JPanel

Java 我无法将图像背景设置为已经创建到帧中的JPanel,java,image,swing,background,jpanel,Java,Image,Swing,Background,Jpanel,这是我的密码。。我做不到 我用netbeans中的调色板创建了一个面板,它还有两个标签和按钮。我需要为面板和面板上的所有内容设置背景。怎么了 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 Pane

这是我的密码。。我做不到 我用netbeans中的调色板创建了一个面板,它还有两个标签和按钮。我需要为面板和面板上的所有内容设置背景。怎么了

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 PanelPrincipal extends javax.swing.JPanel {

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); 
}
}
        /**
         * Creates new form PanelPrincipal
         */
    public PanelPrincipal(VentanaPrincipal ventanaPrincipal) {
        initComponents();

1为了更快地获得更好的帮助,请发布一个最小的完整且可验证的示例。2获取图像的一种方法(例如)是热链接到中看到的图像。我首先关心的不是调用super.paintComponent,另一个问题是知道图像在哪里是public void paintComponentGraphics g{g.drawImageimg,0,0,null;。应该是public void paintComponentGraphics g{super.paintComponentg;g.drawImageimg,0,0,this;.1 setLayoutnull;在不添加组件时不需要,在添加组件时不可用。2部署时,该映像可能会成为。在这种情况下,必须通过URL而不是文件访问它。有关形成URL的方法,请参阅标签。可能是目录st结构是错误的。请看一下,希望它能够指导您:-