Java swing 窗体如何设置背景图片?

2024年12月04日 23:06
有3个网友回答
网友(1):

background = new ImageIcon("images/backImage.png");

backImage = new JLabel(background);

backImage.setBounds(0, 0, background.getIconWidth(),

background.getIconHeight());

backPanel = (JPanel) this.getContentPane();

backPanel.setOpaque(false);

this.getLayeredPane().setLayout(null);

this.getLayeredPane().add(backImage, new Integer(Integer.MIN_VALUE));

backPanel.setLayout(new BorderLayout());

这个是我程序里面复制出来的,效果就下面图一样。

网友(2):

可以使用jlabel设置图片,也可以使用panel来设置图片,例如:
class MyPanelkLogin extends JPanel {
/**
* 自定义JPanel
*/
private static final long serialVersionUID = 1L;

@Override
public void paintComponent(Graphics g) { /* 重绘函数 */
Graphics2D g2 = (Graphics2D) g;
super.paintComponent(g);
// String directory = ".//images//background3.jpg";
URL imgURL = this.getClass().getResource("/images/background2.png");
// this.getClass().getClassLoader().getResource(directory);
Image img = Toolkit.getDefaultToolkit().getImage(imgURL);
// Image img = Toolkit.getDefaultToolkit().getImage(this.getClass().getClassLoader().getResource(directory));
// // 在面板上绘制背景图片/////////
g2.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
}
}

然后使用JPanel myjpanel = new MyPanelkLogin();创建一个panel对象就可以实现带背景图片的窗体了

网友(3):

背景图片?
class MyJFrame extends JFrame{
public MyJFrame() {
this.setIconImage(new ImageIcon("xxxx.jpg"));//貌似这样可以。
}
}