2012-08-07 160 views
0

好的,我想说的第一件事是:我知道在java中设置背景图像有许多类似的问题。但是,自从我拿到一个由其他人启动的Java项目后,我的情况有点不同。我相信以前的程序员对于Java GUI编程来说是相当新的,而我自己也是新的Java GUI编程的非常。下面是该程序将不得不做:在Java中设置背景图像

  • 设置背景图片是我们的客户的网络地图
  • 将带宽映射到相应的客户端是通过一个URL获得
  • 刷新带宽图每5秒左右

,以前的程序员也成立了2班,唯一一个是主要的和一个设立,他有一个猴子从URL背景图像

现在,我决定使用MigLayout来组织一个网格,我将把带宽图像放在正确的位置。我遇到了麻烦,所以我决定开始缩小一点,并将猴子背景更改为网络地图。我将地图jpg添加到了src库中,并认为如果将URL切换到File,它会起作用。它并没有和我一直试图改变事情,让它工作,但没有雪茄。

下面是设置背景的代码。这是我第一次尝试发布代码,我希望它的作品:...以及我尝试了几次几次,并搜索了几次,但张贴我的代码没有工作,所以我拍了一个屏幕截图。今天什么都没有为我工作。 enter image description here

我得到的错误是:

Exception in thread "main" java.lang.NullPointerException 
    at javax.swing.ImageIcon.<init>(Unknown Source) 
    at bwMonBackground.<init>(bwMonBackground.java:21) 
    at bwMonBackgroundMain.main(bwMonBackgroundMain.java:7) 

编辑:我注释掉了18行下面是主要的:

public class bwMonBackgroundMain extends bwMonBackground{ 
     public static void main(String[] args) 
     { 
      bwMonBackground frame = new bwMonBackground(); 
      migLayout testing = new migLayout(); 
      testing.createLayout(); 
      frame.setVisible(true); 
      frame.setResizable(false); 
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      frame.pack(); 

     } 
} 

编辑2:有一次,我在bwMonBackground注释掉了18行。 java我得到以下错误:

javax.imageio.IIOException: Can't read input file! 
    at javax.imageio.ImageIO.read(Unknown Source) 
    at bwMonBackground.<init>(bwMonBackground.java:15) 
    at bwMonBackgroundMain.main(bwMonBackgroundMain.java:7) 
Exception in thread "main" java.lang.NullPointerException 
    at javax.swing.ImageIcon.<init>(Unknown Source) 
    at bwMonBackground.<init>(bwMonBackground.java:20) 
    at bwMonBackgroundMain.main(bwMonBackgroundMain.java:7) 
+0

唯一的例外是因为有些东西扔一个IOException,你甚至没有打印堆栈跟踪。所以当你创建你的标签时'image'仍然是空的。首先查看导致IOException的原因。 – Thomas 2012-08-07 19:56:30

+1

东西告诉我它是FileNotFoundException。 – evg 2012-08-07 20:03:51

回答

1

我敢打赌,你有IOException,你只是做没有什么可以捕捉,这就是为什么图像为空。带图标的JLabel并不是真正的背景图像,它的图标和你不能在其中放置元素。所以你需要阅读: java swing background image

它包含代码示例很好的答案,只需将URL更改为有效的图像并启动。

0

你可以显示bwMonBackgroundMain.java的来源吗?现在看起来它找不到你想要添加到标签的图像文件

0

IOException被抛出,你不能看到是否因为堆栈跟踪被注释掉。我假设在尝试读取文件时抛出IO异常。尝试打印堆栈跟踪,然后从那里解决。