2013-04-29 83 views
-5

我不知道是怎麼回事內運行的命令不工作,這是我的代碼:大小()當包含方法是一個靜態方法

import java.io.*; 
File file; 
static void main(String[] Args){ 
    try{ 
    new MeshViewer().init(Args[0]); 
    }catch (ArrayIndexOutOfBoundsException e){ 
    new MeshViewer().setup(); 
    } 
} 
void init(String file){ 
    this.file = new File(file); 
    setup(); 
} 
void setup(){ 
    size(500,500); 
} 
void loop(){ 

} 

這個程序還沒有完成,所以不用擔心關於空白loop()方法,我的問題是size()會導致此錯誤:

Null Pointer Exception: 

Exception in thread "main" java.lang.NullPointerException 
    at processing.core.PApplet.size(PApplet.java:1587) 
    at processing.core.PApplet.size(PApplet.java:1560) 
    at MeshViewer.setup(MeshViewer.java:32) 
    at MeshViewer.main(MeshViewer.java:24) 

我在做什麼錯?

+2

那麼'PApplet.java'行1587使用了什麼?從根本上說,您在這裏沒有給我們提供足夠的信息。 – 2013-04-29 15:00:57

+0

我不知道,我只知道通常說'尺寸(寬度,高度);'它設置窗口大小,但在這裏它不起作用 – SuperKael 2013-04-29 15:03:27

+0

也許你應該發佈你的尺寸的一些代碼(...)方法,以便我們可以查看發生錯誤的位置? – redc0w 2013-04-29 15:03:39

回答

0

如果您希望size()方法調整窗口大小,您至少需要聲明一個窗口。我建議你更換

void setup(){ 
    size(500,500); 
} 

void setup(){ 
    JFrame myFrame = new JFrame(); 
    myFrame.setSize(500,500); 
    myFrame.setVisible(true);  
} 
+0

謝謝,那修復了我的問題 – SuperKael 2013-04-29 15:20:28

+0

我以爲是這樣,但'line(int,int,int,int)'命令和其他圖形命令不起作用 – SuperKael 2013-04-29 15:39:45

2

類的聲明應沿的線條更:

class MeshView extends PApplet { 

這意味着MeshView延伸PAppletPApplet繼承一方法setSize(int,int)java.awt.Component

已經這樣做了,

void setup(){ 
    setSize(500,500); 
} 

..should工作!

+0

尼古拉斯已經解決了這個問題 – SuperKael 2013-04-29 15:47:32

+1

真的? *「但是'line(int,int,int,int)'命令和其他圖形命令不起作用」*對我來說聽起來不是很「固定」! – 2013-04-29 15:49:06

+0

但你的不能修復 – SuperKael 2013-04-29 15:58:09