Java大侠请进,几个小问题等您回答,谢谢~

来源:百度知道 编辑:UC知道 时间:2024/06/06 19:19:05
private class TextFieldHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String s="";
if(e.getSource()==textField)
s="textField:"+e.getActionCommand(); JOptionPane.showMessageDialog(null,s);
}
//System.out.println("1111111");

}
在这个监听器里面为什么字符串s一定得在if(e.getSource()==textField)外定义,在if(e.getSource()==text1)里面定义的话就报出“不是语句的错误”,还有函数体外面为什么不能有别的语句了,如System.out.println("1111111");报出了“非法类型的开始”;麻烦给解释下,谢谢~

1.不能在if条件内部定义s,

你可以将程序写的格式更清楚一些

String s="";
if(e.getSource()==textField)
{
s="textField:"+e.getActionCommand();
}
JOptionPane.showMessageDialog(null,s);
这样就不会误会了
2.java中方法功能应该在方法体内部,而不是类内部
如果要输出就在函数体内输出信息,类内部定义可以调用如下方法
a.构造方法 就是属性定义的初始化,如String str = new String("test");
b.静态代码段
static{
//类加载是执行的程序
}

//主意方法体 、 class主体、程序块 的 {} 使用方法
private class TextFieldHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{

if(e.getSource()==textField)//textField这个变量不知道是在哪里定义的
{
String s="";
s="textField:"+e.getActionCommand(); JOptionPane.showMessageDialog(null,s);
}
System.out.println("1111111");
}
}

很简单 是你的参数有问题.
而且你的函数设置是不准确的。。