Python 使用jython单击按钮后从getDirectory分配值

Python 使用jython单击按钮后从getDirectory分配值,python,jython,imagej,Python,Jython,Imagej,我正在尝试编写一个简单的GUI,使用jython向Imagej插件输入一些数据 单击两个相应的按钮后,要输入的部分数据是两个目录(输入和输出)。我的问题是,我不知道如何将getDirectory获得的特定值分配给变量。如果我将变量“out”(在MyListener类中)设置为全局变量,我可以使用它,但这样我只能使用它一次,因为第二次它将删除第一个目录 问题是如何使类“MyListener”返回所选目录并将其设置为特定变量 通用对话框代码如下所示: 从ij.gui导入GenericDialog,D

我正在尝试编写一个简单的GUI,使用jython向Imagej插件输入一些数据

单击两个相应的按钮后,要输入的部分数据是两个目录(输入和输出)。我的问题是,我不知道如何将getDirectory获得的特定值分配给变量。如果我将变量“out”(在MyListener类中)设置为全局变量,我可以使用它,但这样我只能使用它一次,因为第二次它将删除第一个目录

问题是如何使类“MyListener”返回所选目录并将其设置为特定变量

通用对话框代码如下所示:

从ij.gui导入GenericDialog,DialogListener
从ij.io导入目录选择器
从java.awt导入按钮
从java.awt.event导入ActionListener,ActionEvent
从ij.plugin.frame.Editor执行导入操作
类MyListener(ActionListener):
执行的def操作(自身、事件):
out=DirectoryChooser(“选择!!”).getDirectory()
返回
def getOptions():
bt01=按钮(“获取目录”)
bt02=按钮(“获取目录”)
bt01.addActionListener(MyListener())
bt02.addActionListener(MyListener())
gd=通用对话框(“目录”)
gd.addStringField(“FA名称”、“文件名”)
gd.add(bt01)
gd.add(bt02)
gd.showDialog()
如果gd.wascelected():
打印“用户已取消。正在退出…”
返回
返回bt01,bt02
options=getOptions()
如果选项不是“无”:
dir01,dir02=选项
打印dir01,dir02'
谢谢

在类中使用
getDirectory()
helper函数:

从ij导入ij
从ij.gui导入GenericDialog
def getOptions():
dir1=IJ.getDirectory(“选择第一个目录”)
dir2=IJ.getDirectory(“选择第二个目录”)
gd=通用对话框(“目录”)
gd.addStringField(“FA名称”、“文件名”)
gd.showDialog()
如果gd.wascelected():
打印“用户已取消。正在退出…”
返回
fileName=gd.getNextString()
返回dir1、dir2、fileName
options=getOptions()
如果选项不是“无”:
dir01,dir02,name=options
打印dir01、dir02、name
或者,如果您希望避免连续弹出对话框,并且希望使用包含所有选项的单个对话框,则可以在斐济内部使用。此类提供了一个
addDirectoryField(字符串标签,字符串默认路径)
方法