当前位置: 代码迷 >> Java Web开发 >> 紧急求助变量访问问题
  详细解决方案

紧急求助变量访问问题

热度:111   发布时间:2007-09-18 19:58:28.0
紧急求助变量访问问题
我想在菜单添加一个菜单项,功能和打开类似,不同的是选中文件后,不是打开文件,而是获取选中文件的目录和文件名,并赋值给一个String型变量,请问如何在事件监听器外获取事件监听器里的这个String型变量,请高手指点,谢谢!
搜索更多相关主题的帖子: 变量  访问  

----------------解决方案--------------------------------------------------------

这个问题很难吗?都不敢说了...直接做个public 变量不就行了吗?


----------------解决方案--------------------------------------------------------

我试过了,如果在监听器里面设变量,在监听器外根本就访问不了的;如果在监听器外设变量,它的值又不改变。
我菜菜的,高手帮忙啊


----------------解决方案--------------------------------------------------------

public class Test {

public String str=null;
public static void main(String[] args) {
Test test=new Test();
test.setStr();
System.out.println(test.str);
}
public void setStr()
{
str="赋值";
}
}
就你所说的给 String 变量赋值而论:

看这个和你所说的不是同一种情况吗 ?

如果监听方法 和 需要得到String变量方法不在同一类
那在要得到String变量的方法的地方必须有监听类的实例


----------------解决方案--------------------------------------------------------

public class Test {

private JMenuItem import1;//菜单项
....
//为import1添加事件监听器
import1.addActionListener(
new ActionListener(){
public String d=null;
public void actionPerformed(ActionEvent e){
JFileChooser fileChooser=new JFileChooser();//文件选择对话框
...
d=fileChooser.getSelectedFile().toURI().toString();
}
} );
public String getName()
{
return d;//这里的d是事件监听器里面的d值
}
}

就是这个d的问题,像上面这样,在监听器里面定义d,外边这个方法根本就访问不了,说没有定义,如果在监听器外定义,返回的d值是null


----------------解决方案--------------------------------------------------------
  相关解决方案