[英]Im triying to use a JLabel as a BackGround and I cant
f = new JFrame();
f.setExtendedState(JFrame.MAXIMIZED_BOTH);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
d = new JPanel();
f.add(d);
ImageIcon icon = new ImageIcon("C:\\Users\\jean\\Pictures\\988057.jpg");
JLabel background = new JLabel(icon);
background.setSize(d.getSize());
background.setLocation(0,0);
d.add(background);
d.setLayout(null);
background.setOpaque(true);
d.add(background, BorderLayout.CENTER, 0);
我正在尝试使用 JLabel 来显示背景图像,但是尽管图像的路径是正确的,但这段代码不起作用。 这个问题的原因是什么?
在向其添加 label 和图标之前,您正在调用 f.setVisible(true)。 而且您不想在 label 和 fram 之间添加面板。 你可以试试这个方法,
f = new JFrame();
f.setExtendedState(JFrame.MAXIMIZED_BOTH);
f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
ImageIcon icon = new ImageIcon("C:\\Users\\jean\\Pictures\\988057.jpg");
JLabel background = new JLabel();
background.setIcon(icon);
background.setSize(f.getSize());
f.add(background);
f.setVisible(true);
我希望这会解决你的问题。
解决方案。 多谢你们。
f = new JFrame();
f.setExtendedState(JFrame.MAXIMIZED_BOTH);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
d = new JPanel();
d.setSize(f.getSize());
f.add(d);
File file = new File("C:\\Users\\jean\\Pictures\\988057.jpg");
try {
BufferedImage image = ImageIO.read(file);
JLabel label = new JLabel(new ImageIcon(image));
label.setSize(d.getSize());
d.add(label);
} catch (IOException e) {
e.printStackTrace();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.