当我运行代码时,它只会打开一个空窗口 我也很重视任何必要的事情
代码的相关部分:
public class Game extends JFrame implements ActionListener,KeyListener{
private JLabel background;
....
public Game(){
background=new JLabel(new ImageIcon("/graphics/board.gif"));
...
this.add(background);
this.setSize(800,600);
this.setVisible(true);...
我尝试将JLabel添加到JPanel然后将其添加到框架中,但它仍然没有在窗口中显示任何内容
答案 0 :(得分:2)
最初的代码是:
JLabel background = new JLabel("/graphics/board.gif");
这不会在所描述的路径上设置图像,建议使用以下方法(这可以简化为仅使用不同的JLabel构造函数,但为了清晰起见,显示了步骤)
创建并加载图像,然后设置标签的图标如下
ImageIcon icon = new ImageIcon("/graphics/board.gif");
JLabel background = new JLabel();
background.setIcon(icon);
答案 1 :(得分:0)
在布局中设置元素的显示顺序非常重要,也许您可以在标签上显示一些内容。
答案 2 :(得分:0)
我猜你的目录结构如下:
-c:\java - source (for source and class files) - graphic (for your images)
background=new JLabel(new ImageIcon("/graphics/board.gif"));
不要在文件名中指定前导“/”。这告诉Java查看C驱动器的根目录,而不是在执行类的目录。
另外,请勿使用:
this.setSize(800,600);
图像不会拉伸以填充框架的大小。您应该使用Intead:
this.pack();
所以框架将是图像的大小。