2013-04-29 89 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