我试图用jython编写一个简单的GUI来向Imagej插件输入一些数据。在
单击两个相应的按钮后,要输入的一些数据是两个目录(输入和输出)。我的问题是我不知道如何将getDirectory获得的特定值赋给变量。如果我将变量“out”(在MyListener类中)设置为global,我可以使用它,但是这样我只能使用它一次,因为第二次它将删除第一个目录。在
问题是如何让类“MyListener”返回所选目录并将其设置为特定的变量。在
通用对话框代码如下:
from ij.gui import GenericDialog, DialogListener
from ij.io import DirectoryChooser
from java.awt import Button
from java.awt.event import ActionListener, ActionEvent
from ij.plugin.frame.Editor import actionPerformed
class MyListener (ActionListener):
def actionPerformed(self, event):
out = DirectoryChooser("Choose!!").getDirectory()
return out
def getOptions():
bt01 = Button("Get Directory")
bt02 = Button("Get Directory")
bt01.addActionListener(MyListener())
bt02.addActionListener(MyListener())
gd = GenericDialog("Directories")
gd.addStringField("FA Name", "File name")
gd.add(bt01)
gd.add(bt02)
gd.showDialog()
if gd.wasCanceled():
print "User canceled. Exiting...."
return
return bt01, bt02
options = getOptions()
if options is not None:
dir01, dir02 = options
print dir01, dir02'
谢谢你!!在
在^{} 类中使用
getDirectory()
助手函数:或者,如果您希望避免对话框的连续弹出,并且希望使用一个包含所有选项的对话框,那么您可以在Fiji中使用^{} 。此类提供一个
addDirectoryField(String label, String defaultPath)
方法。在相关问题 更多 >
编程相关推荐