当我在 Java 中使用 Applet 时如何调用特定的 class 一次
How to call a particular class once when I am using Applet in Java
package Program1;
import java.applet.Applet;
import java.awt.Dimension;
import java.awt.Graphics;
import java.util.Scanner;
public class Demo extends Applet{
static int i=0;
public static void test(){
i=50;
System.out.println("This is my static method");
}
public void paint (Graphics g) {
test();
g.drawOval (60, 20, i, i);
}
}
我有两种方法绘画和测试。我只想执行一次测试方法,这将初始化 i 的值,并且我将在 paint 方法中使用它。但问题是当我执行程序时它调用文本方法一次,当我重新调整小程序的大小时 window 它一次又一次地调用该测试方法。
对于我的程序,文本方法会进行大量计算,因此调用测试方法只是为了一次又一次地赋值并不是一个好的选择。如何只调用该 Demo class 一次?
使用构造函数class我可以调用一次这个测试方法。
package Program1;
import java.applet.Applet;
import java.awt.Dimension;
import java.awt.Graphics;
import java.util.Scanner;
public class Demo extends Applet{
static int i=0;
public static void test(){
i=50;
System.out.println("This is my static method");
}
public Demo(){
test();
}
public void paint (Graphics g) {
g.drawOval (60, 20, i, i);
}
}
package Program1;
import java.applet.Applet;
import java.awt.Dimension;
import java.awt.Graphics;
import java.util.Scanner;
public class Demo extends Applet{
static int i=0;
boolean hasRun = false;
public Demo (){
this.test();
this.hasRun = true;
}
public static void test(){
if (hasRun==false){
i=50;
System.out.println("This is my static method");
}
}
public void paint (Graphics g) {
test();
g.drawOval (60, 20, i, i);
}
}
如果您不希望 Demo 具有构造函数,则创建一个调用的方法并在初始化后调用它。
public void setFlag() {
hasRun = false;
}
您可以使用Applet class init() 方法..这是专门为此目的提供的。
package Program1;
import java.applet.Applet;
import java.awt.Dimension;
import java.awt.Graphics;
import java.util.Scanner;
public class Demo extends Applet{
static int i=0;
public static void test(){
i=50;
System.out.println("This is my static method");
}
public void paint (Graphics g) {
test();
g.drawOval (60, 20, i, i);
}
}
我有两种方法绘画和测试。我只想执行一次测试方法,这将初始化 i 的值,并且我将在 paint 方法中使用它。但问题是当我执行程序时它调用文本方法一次,当我重新调整小程序的大小时 window 它一次又一次地调用该测试方法。
对于我的程序,文本方法会进行大量计算,因此调用测试方法只是为了一次又一次地赋值并不是一个好的选择。如何只调用该 Demo class 一次?
使用构造函数class我可以调用一次这个测试方法。
package Program1;
import java.applet.Applet;
import java.awt.Dimension;
import java.awt.Graphics;
import java.util.Scanner;
public class Demo extends Applet{
static int i=0;
public static void test(){
i=50;
System.out.println("This is my static method");
}
public Demo(){
test();
}
public void paint (Graphics g) {
g.drawOval (60, 20, i, i);
}
}
package Program1;
import java.applet.Applet;
import java.awt.Dimension;
import java.awt.Graphics;
import java.util.Scanner;
public class Demo extends Applet{
static int i=0;
boolean hasRun = false;
public Demo (){
this.test();
this.hasRun = true;
}
public static void test(){
if (hasRun==false){
i=50;
System.out.println("This is my static method");
}
}
public void paint (Graphics g) {
test();
g.drawOval (60, 20, i, i);
}
}
如果您不希望 Demo 具有构造函数,则创建一个调用的方法并在初始化后调用它。
public void setFlag() {
hasRun = false;
}
您可以使用Applet class init() 方法..这是专门为此目的提供的。