gpt4 book ai didi

java - 在 NetBeans Visual Library 教程上添加背景图像

转载 作者:行者123 更新时间:2023-12-01 13:19:43 25 4
gpt4 key购买 nike

我正在做一个教程,并会添加背景图像。我尝试过这样做:

public void run() {
JFrame frame = new JFrame("VisLibDemo");
try{
frame.setContentPane(new JLabel( new ImageIcon(ImageIO.read(new File("C:/Users/RPR1BRG/Pictures/Brg800.jpg")))));
}catch(IOException e){
System.out.println("Error");
}
frame.setMinimumSize(new Dimension(500, 400));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new VisLibDemo());
frame.pack();
frame.setVisible(true);

}

但是我没有得到。

或者不显示背景图像,或者当它出现时位于顶部而其余部分不会出现。

这就是我所拥有的:

我想将图像添加到背景...

我这样做:

  public void run() {
ImageIcon icon = new ImageIcon(
getClass().getResource("/Images/Brg800.jpg"));
JLabel label = new JLabel(icon);
label.setLayout(new BorderLayout());

JFrame frame = new JFrame("VisLibDemo");
//frame.add(new VisLibDemo());
frame.setContentPane(label);
VisLibDemo demo = new VisLibDemo();
demo.setOpaque(false); frame.add(demo);
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}

但我只能看到一点点背景图片(“/Images/Brg800.jpg”)

抱歉,这个解释不好。但我需要一些帮助!

请帮帮我!!

最佳答案

将布局设置为JLabel

JLabel label = new JLabel( new ImageIcon(ImageIO.read(new File("C:/Users/RPR1BRG/Pictures/Brg800.jpg")))));
label.setLayout(new BorderLayout());
frame.setContentPane(label);
<小时/>

旁注

在处理将嵌入到程序中的图像时,您需要通过资源加载,而不是通过文件加载,因为这在除该系统之外的其他系统上不起作用你正在发展。按资源使用情况加载

getClass().getResource("/path/to/image.png");

您的图像应该位于 src 中的某个位置,它将被构建到类路径中。所以有了这个文件结构

ProjectRoot
src
Pictures
Brg800.jpg

你会用这个

ImageIcon icon = new ImageIcon(getClass().getResource("/Pictures/Brg800.jpg"));
JLabel label = new JLabel(icon);
label.setLayout(new BorderLayout());
frame.setContentPane(label);

查看更多信息embedded resources底部的链接标签维基

<小时/>

这是上述所有内容的示例

import java.awt.*;
import javax.swing.*;

public class ASimpleExample {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run() {
ImageIcon icon = new ImageIcon(
getClass().getResource("/images/stackoverflow5.png"));
JLabel label = new JLabel(icon);
label.setLayout(new BorderLayout());

JPanel panel = new JPanel(new GridBagLayout());
panel.setOpaque(false);
panel.add(new JButton("Button"));

JFrame frame = new JFrame();
frame.setContentPane(label);
frame.add(panel);
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
});
}
}

enter image description here

enter image description here

关于java - 在 NetBeans Visual Library 教程上添加背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22146147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com