Java 我无法将图像背景设置为已经创建到帧中的JPanel
这是我的密码。。我做不到 我用netbeans中的调色板创建了一个面板,它还有两个标签和按钮。我需要为面板和面板上的所有内容设置背景。怎么了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
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结构是错误的。请看一下,希望它能够指导您:-