有个计算器的程序是这样写的: //实现监听接口的actionPerformed方法
public void actionPerformed(ActionEvent e)
{
String comm = e.getActionCommand();
if(comm.matches("\\d")) //用正则表达式判断输出的是否是0~9
{
if(append)//如果是,追加显示
{
String temp = jtf.getText();
jtf.setText(temp + comm);
}else //如果不是,显示该字符并将追加设置为true
{
jtf.setText(comm);
append = true;
}
}
.........
}里面那个append在这是怎么个用法,希望详细解释下
public void actionPerformed(ActionEvent e)
{
String comm = e.getActionCommand();
if(comm.matches("\\d")) //用正则表达式判断输出的是否是0~9
{
if(append)//如果是,追加显示
{
String temp = jtf.getText();
jtf.setText(temp + comm);
}else //如果不是,显示该字符并将追加设置为true
{
jtf.setText(comm);
append = true;
}
}
.........
}里面那个append在这是怎么个用法,希望详细解释下
刚开始是false
于是事件第一次被监听到的时候执行else中的代码,执行过后append变成true了
于是以后同样的事件再来,就只会执行if里的代码了,else里的就不会执行了
这样啊,我一直在往String上面想, 我现在想知道, append是哪个类里面的变量?我的窗口类么?实现actionPerfomed接口后就有这个变量??一旦事件触发就会变成false???
不,你必须自己定义它并给它赋予初始值false