Java JLabel作为背景图像
我似乎无法理解这一点。Java JLabel作为背景图像,java,swing,background,jframe,jlabel,Java,Swing,Background,Jframe,Jlabel,我似乎无法理解这一点。 请帮助我解决此问题以继续我的项目。 Awww我必须添加这个,以允许我发布 import javax.swing.*; 导入java.awt.*; @抑制警告(“串行”) 公共类大型机扩展JFrame{ 公共静态无效抽取(){ 牵引架(); } 公共静态无效绘图框(){ int h=600; int w=340; JFrame=新JFrame(); JLabel background1=新的JLabel(新的图像图标(“/res/mariocraft_main.png”);
请帮助我解决此问题以继续我的项目。
Awww我必须添加这个,以允许我发布
import javax.swing.*;
导入java.awt.*;
@抑制警告(“串行”)
公共类大型机扩展JFrame{
公共静态无效抽取(){
牵引架();
}
公共静态无效绘图框(){
int h=600;
int w=340;
JFrame=新JFrame();
JLabel background1=新的JLabel(新的图像图标(“/res/mariocraft_main.png”);
frame.setresizeable(false);
框架设置尺寸(高、宽);
帧。设置标题(“MarioCraft”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
框架。添加(背景1);
背景1.设置可见(真实);
背景1.设置图标(新的图像图标(“/res/mariocraft_main.png”);
background1.setText(“后台加载失败”);
}
}
您需要将JLabel
实例添加到JFrame
中,然后才能实现它(即使其可见)。此外,请删除以下三个呼叫:
background1.setVisible(true);
background1.setIcon(new ImageIcon("/res/mariocraft_main.png"));
background1.setText("Background failed to load");
它们完全没有必要。另外,为组件设置背景图像的另一种方法是覆盖它的
paintComponent
方法,并将图像直接绘制到它的Graphics
对象。在实现它之前(即,使它可见),需要将JLabel
实例添加到JFrame
。此外,请删除以下三个呼叫:
background1.setVisible(true);
background1.setIcon(new ImageIcon("/res/mariocraft_main.png"));
background1.setText("Background failed to load");
它们完全没有必要。另外,为组件设置背景图像的另一种方法是覆盖组件的
paintComponent
方法,并将图像直接绘制到组件的Graphics
对象。JLabel始终以其实际大小显示图像,因此您不应手动设置帧的大小
相反,代码应该类似于:
JLabel background1 = new JLabel(new ImageIcon("/res/mariocraft_main.png"));
JFrame frame = new JFrame();
frame.add(background1);
frame.pack();
frame.setResizable(false);
frame.setVisible(true);
JLabel始终以其实际大小显示图像,因此不应手动设置帧的大小 相反,代码应该类似于:
JLabel background1 = new JLabel(new ImageIcon("/res/mariocraft_main.png"));
JFrame frame = new JFrame();
frame.add(background1);
frame.pack();
frame.setResizable(false);
frame.setVisible(true);
是否要将
JLabel
设置为JFrame
的背景图像。那么
frame.setContentPane(new JLabel(new ImageIcon("someimage.jpg"));
请参阅为其获取的示例代码段
是否要将
JLabel
设置为JFrame
的背景图像。那么
frame.setContentPane(new JLabel(new ImageIcon("someimage.jpg"));
请参阅为其获取的示例代码段
-你的问题是什么?与其添加无意义的文本,也许您应该尝试更彻底地解释您想要做什么我的意思是我尝试使用JLabel作为背景。问题就在标题里你在问什么?你的代码有什么问题?请不要只是将代码转储到一个问题中,然后说:“修复它”,解释你想说什么。-1你的问题是什么?与其添加无意义的文本,也许您应该尝试更彻底地解释您想要做什么我的意思是我尝试使用JLabel作为背景。问题就在标题里你在问什么?你的代码有什么问题?请不要只是将代码转储到一个问题中,然后说:“修复它”,解释你想说的话。你能制作一个paintComponent exampel吗?你能制作一个paintComponent exampel吗?这里图像将被放置在中间。我如何将图像设置为整个帧这里图像将被放置在中间。我如何将图像设置为整个帧