当包含方法在静态方法中运行时,Size()命令不起作用



我不知道发生了什么,这是我的代码:

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)

我做错了什么?

这个类的声明应该更像这样:

class MeshView extends PApplet {

这意味着MeshView扩展了PApplet, PApplet java.awt.Component继承了方法setSize(int,int)

完成后,

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

. .应该工作!

如果你想要size()方法来调整你的窗口大小,你至少需要声明一个。我建议你替换

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

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

相关内容

  • 没有找到相关文章

最新更新