java将一个值从一个类中传递到另一个类中的某个方法内
使用Java开发一个记事本,实现查找一段字符并且定位到字符所在位置,我的主类调用另一个类(我们叫它A类)中的一个方法来获取字符串在文本中的位置index,这个index的值再A类中,我想将这个index的值再重新传回我的主类当中,以实现定位功能,但是由于项目问题我无法再重新new一个主类,new一个主类传值会重新生成一个记事本界面且文本域中无内容,所以有没有其它的方法将index变量的值传回我的主类当中。谢谢。
回答
哈哈哈好,最近我也在用GUI写界面,一个Redis的客户端,我也经常遇到这个值到处传递的问题。
我最常用的办法就是,被调用的类也就是你说的A类,写一个返回的方法返回index值
这是最直接的。如果这个不行。那就在主类写一个回调的钩子函数,再把主类或者钩子函数传递到A中,在完成查找之后调用主类的钩子函数,将index给主类,还有很多其他的,看场景。
我不知道你的主类是什么就叫它R吧
class R(){
public void indexCallback(int index){
...
}
}
Tihuan(R r,String listx){
this.r = r;
}
Tihuan find=new Tihuan(this, youInput);
if(index==-1) {
JOptionPane.showMessageDialog(null, "没有找到目标字符,请重新确认(查找为大小写敏感)");
}
else {
//新弹出一个对话框显示你要查找的字符串再我文档的第几个
JOptionPane.showMessageDialog(null,index+1);
r.indexCallback(index);
//希望将index的值传回上面主类中的方法
}