在import java.awt.*;
import javax.swing.*;public class p179a extends Frame{ static TextField textfield1=new TextField("textField1");
static Checkbox checkbox1=new Checkbox("checkbox1");
static Label label1=new Label("label1");
static Button button1=new Button("button1"); public static void main(String[] args){
p179a frame1=new p179a();
frame1.setSize(300,200);
frame1.add(textfield1,BorderLayout.NORTH);
frame1.add(checkbox1,BorderLayout.WEST);
frame1.add(label1,BorderLayout.EAST);
frame1.add(button1,BorderLayout.SOUTH);
frame1.setVisible(true);
}
}\
main是STATIC 的.所以他调用的变量也是STATIC 的.所以frame1必须定义成STATIC .
import java.awt.*;public class AWTCompFrame extends Frame {
Button button1 = new Button();
Checkbox checkbox1 = new Checkbox();
TextField textField1 = new TextField();
Label label1 = new Label();
public static void main(String agrs[]) {
AWTCompFrame frame1=new AWTCompFrame();
frame1.go();
frame1.setSize(300,200);
frame1.setVisible(true);
}
void go(){
button1.setLabel("button1");
checkbox1.setLabel("checkbox1");
textField1.setText("textField1");
label1.setText("label1");
this.add(button1, BorderLayout.SOUTH);
this.add(checkbox1, BorderLayout.WEST);
this.add(textField1, BorderLayout.NORTH);
this.add(label1, BorderLayout.EAST);
}
} 这个程序中用对象调用go()方法,而go()不是STATIC 的.所以他里面的也不用提前定义成STATIC .
不知你明白没.
import javax.swing.*;public class p179a extends Frame{ static TextField textfield1=new TextField("textField1");
static Checkbox checkbox1=new Checkbox("checkbox1");
static Label label1=new Label("label1");
static Button button1=new Button("button1"); public static void main(String[] args){
p179a frame1=new p179a();
frame1.setSize(300,200);
frame1.add(textfield1,BorderLayout.NORTH);
frame1.add(checkbox1,BorderLayout.WEST);
frame1.add(label1,BorderLayout.EAST);
frame1.add(button1,BorderLayout.SOUTH);
frame1.setVisible(true);
}
}\
main是STATIC 的.所以他调用的变量也是STATIC 的.所以frame1必须定义成STATIC .
import java.awt.*;public class AWTCompFrame extends Frame {
Button button1 = new Button();
Checkbox checkbox1 = new Checkbox();
TextField textField1 = new TextField();
Label label1 = new Label();
public static void main(String agrs[]) {
AWTCompFrame frame1=new AWTCompFrame();
frame1.go();
frame1.setSize(300,200);
frame1.setVisible(true);
}
void go(){
button1.setLabel("button1");
checkbox1.setLabel("checkbox1");
textField1.setText("textField1");
label1.setText("label1");
this.add(button1, BorderLayout.SOUTH);
this.add(checkbox1, BorderLayout.WEST);
this.add(textField1, BorderLayout.NORTH);
this.add(label1, BorderLayout.EAST);
}
} 这个程序中用对象调用go()方法,而go()不是STATIC 的.所以他里面的也不用提前定义成STATIC .
不知你明白没.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货