主题:[讨论]关于一个awt程序添加组件的问题
程序如下:
import java.awt.*;
import java.awt.event.*;
class My extends Button implements ActionListener{
String name;
TextField text;
Container con;
My(String s,Container con){
super(s);
this.con=con;\\这一句有什么用?
text=new TextField(8);
text.addActionListener(this);
this.addActionListener(this);
con.add(text);
con.add(this);
}
public void actionPerformed(ActionEvent e){
name=text.getText();
this.setLabel(name);
con.validate();
}
}
class Win extends Frame{
My button;
Win(){
setLayout(new FlowLayout());
button=new My("确定",this);\\为什么此处不加这句程序依然正确?
setBounds(100,200,300,400);
setVisible(true);
validate();
}
}
public class Example6{
public static void main(String df[]){
Win win=new Win();
}
}
说明:我自己已经调试过了,程序中的win类中若不要:add(button);这句依然正确,这是为什么呀;还有My类中"this.con=con;"有什么用啊?
谢谢解答;
import java.awt.*;
import java.awt.event.*;
class My extends Button implements ActionListener{
String name;
TextField text;
Container con;
My(String s,Container con){
super(s);
this.con=con;\\这一句有什么用?
text=new TextField(8);
text.addActionListener(this);
this.addActionListener(this);
con.add(text);
con.add(this);
}
public void actionPerformed(ActionEvent e){
name=text.getText();
this.setLabel(name);
con.validate();
}
}
class Win extends Frame{
My button;
Win(){
setLayout(new FlowLayout());
button=new My("确定",this);\\为什么此处不加这句程序依然正确?
setBounds(100,200,300,400);
setVisible(true);
validate();
}
}
public class Example6{
public static void main(String df[]){
Win win=new Win();
}
}
说明:我自己已经调试过了,程序中的win类中若不要:add(button);这句依然正确,这是为什么呀;还有My类中"this.con=con;"有什么用啊?
谢谢解答;