【发布时间】:2017-02-02 12:21:14
【问题描述】:
在使用基于 java 的处理 (processing.org) 编码后,我对纯 java 很陌生。在处理中,您在主类中有一个 setup 方法(构造函数)和一个 draw 方法。
draw 方法一遍又一遍地循环,直到你关闭程序。在绘图中,我从其他类运行我的方法。
我如何在 Java 中做到这一点?例如,在下面的这段代码中让计数器计数?
public class Testing3 {
public static void main(String[] args) {
MyClass c = new MyClass();
System.out.println("c = " + c.getCount());
}
}
还有班级:
public class MyClass {
private int value;
public MyClass() {
}
public void setCount(int startV) {
value = startV;
}
public int getCount() {
value++;
int counter = value % 10;
return counter;
}
}
我知道我当然可以将 printmessage 放在一个 while 循环中并以这种方式循环,但我想还有其他方法吗?
我还通过 netbeans 中的 GUI 构建器使用了一些 swing。在那里我无法在主方法中访问我的对象,获取 “无法从静态内容引用非静态变量”。仅通过以下功能。但是,如果我想在不按我在构建器等中创建的按钮的情况下获得我的计数器怎么办?
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {}
我知道这是一个新问题,但我有点困惑。
【问题讨论】:
-
在核心 java 中,您实际上必须使用循环来执行此操作。但是 JavaFX 中有 Timer 类,它们在设定的时间间隔内触发事件。然后,您的事件处理程序可以在每次触发这些事件时运行代码。
-
要在 Swing 中以设定的时间间隔(一次或重复)发生某些事情,请使用 javax.swing.Timer。
getting the "non static variable我建议发布minimal reproducible example