//a7
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class a7 extends Applet implements ActionListener
{
public static void main (String args[])
{
Frame chuangkou = new Frame();
a7 app1 = new a7();
app1.init();
chuangkou.add (app1);
chuangkou.setSize(640,480);
chuangkou.setVisible(true);
}
TextField wenbenkuang = new TextField (8);
Button anniu = new Button ("喔喔");
Label biaoqian = new Label(" ",Label.LEFT);
public void init()
{
setLayout (new FlowLayout());
add(wenbenkuang);
add(anniu);
add(biaoqian);
anniu.addActionListener(this);
wenbenkuang.addActionListener(this);
}
public void anniuxiangying (ActionEvent e)
{
String s = wenbenkuang.getText();
double d = Double.parseDouble(s);
double q = d*d;
biaoqian.setText(d + "的立方不是 " + q);
}
public void actionPerformed (ActionEvent uie)
{
String s = wenbenkuang.getText();
double d = Double.parseDouble(s);
double q = d*d;
biaoqian.setText(d + "的立方不是 " + q);
}
}
问题
1.其中为什么一个是actionPerformed ,而另一个是anniuxiangying才行呢
2.ActionEvent uie和ActionEvent e中的e和uie分别表示什么,还有其他的ActionEvent后面的参数吗?
----------------解决方案--------------------------------------------------------
anniuxiangying 这个是你自己定义的,好像没什么啊!
而actionPerformed这个方法是接口ActionListener里的方法.你继承,就要实现它,不然类就要是抽像的
----------------解决方案--------------------------------------------------------
anniuxiangying 这个是你自己定义的,好像没什么啊!
而actionPerformed这个方法是接口ActionListener里的方法.你继承,就要实现它,不然类就要是抽像的
anniuxiangying和actionPerformed不都是监听的方法么,那为什么把两个方法的名字调换也可以,将anniuxiangying改名后也可以正确编译,而将actionPerformed改名后就不行了,
[此贴子已经被作者于2007-7-11 9:58:18编辑过]
----------------解决方案--------------------------------------------------------
actionPerformed这个是监听的方法,这anniuxiangyin方法,没有用.
----------------解决方案--------------------------------------------------------
e和uie这两个只是行参,你可以随便定义,就像定义一个变量一样.
----------------解决方案--------------------------------------------------------
Label biaoqian = new Label(" ",Label.LEFT);
这样引号内那么多空格规范吗,
一般怎么设置lable长度和宽度?
----------------解决方案--------------------------------------------------------
用lable的方法去设置: Label.setSize(int width,int length)
----------------解决方案--------------------------------------------------------
我改为
Label biaoqian = new Label("",Label.LEFT);
biaoqian.setSize(20,5);
编译不能通过
----------------解决方案--------------------------------------------------------
biaoqian.setSize(20,5);
放在init()方法里.
----------------解决方案--------------------------------------------------------
我改为
public void initt()
{
setLayout (new FlowLayout());
add(wenbenkuang);
add(anniu);
biaoqian.setSize(20,5);
add(biaoqian);
anniu.addActionListener(this);
wenbenkuang.addActionListener(this);
}
还是不能完全显示biaoqian的内容,把setSize放在add后面也一样
但是,
我在
biaoqian.setText(d + "的立方不是 " + q);
后面加上
validate();
就可以显示完全了
----------------解决方案--------------------------------------------------------