gpt4 book ai didi

java - ImageJ:获取特定的Radiobox

转载 作者:行者123 更新时间:2023-12-02 13:22:06 27 4
gpt4 key购买 nike

我正在开发一个用于压缩图像的插件。在“奇迹发生”之前,用户应该决定是否要使用具有三个或四个邻居的方法。为此,我创建了一个带有 RadioButtonGroup 的通用对话框。

这工作正常,我的问题是如何获得用户的选择?方法 getRadioButton 返回一个 Vector。但我不知道如何处理这个问题。我的计划是使用按钮的索引,该索引被选择作为我的主类的参数,但我没有找到管理它的方法。

你有什么想法吗?

编辑:我的代码(无需导入)

public class FrameDemo_ extends PlugInFrame {
public FrameDemo_ (){
super("FrameDemo");
}

public void run (String arg){
String[] items = {"Option A", "Option B"};
GenericDialog gd = new GenericDialog("FrameDemo settings");
gd.addRadioButtonGroup("Test",items,2,1,"0");
gd.showDialog();
if (gd.wasCanceled()){
IJ.error("PlugIn canceled!");
return;
}
String input;
Vector vec = gd.getRadioButtonGroups();
Object obj = vec.elementAt(0);
input = obj.toString();

this.setSize(250, 250);
this.add(new Label(input, Label.CENTER));
this.setVisible(true);
}
}

我的目标是做类似的事情:

input = obj.Somefunction; // Input contains for exampe "A" for Option A

class RealPlugin (parameter input){
if(input == A) { do something } // Pseudocode...not the real if for a string

else if {input == B) {do something else }

我的问题是,当我将对象转换为字符串时,它是:

java.awt.CheckboxGroup[selectedCheckbox=java.awt.Checkbox[checkbox0,0,0,66x23,invalid,label=Option A,state=true}}

我确信有一种方法可以进行字符串操作,但我认为这不是正确的方法。我的意思是这一定是一个非常典型的工作(使用单选按钮组来获得用户选择),必须有一个聪明的方法或功能......

最佳答案

注意:此类问题通常可以在 ImageJ forum 上更快地得到解答。 ,更多 ImageJ 专家将在这里阅读它们。

<小时/>

要从单选按钮组检索结果,请使用 GenericDialoggetNextRadioButton 方法。这是一个可以直接从 script editor 运行的小型 Groovy 脚本。在 ImageJ 中:

import ij.gui.GenericDialog

gd = new GenericDialog("FrameDemo Settings")

items = ["Option A", "Option B"]
gd.addRadioButtonGroup("Test", (String[]) items, 2, 1, "0")

gd.showDialog()

if (gd.wasOKed()) {
answer = gd.getNextRadioButton()
println answer
}
<小时/>

ImageJ2 (包含在 ImageJ 的 Fiji 发行版中),使用 SciJava script parameters 更容易获得这种选择。 :

// @String(label="Choice", choices={"Option A", "Option B"}, style="radioButtonVertical") choice

println choice

在 Java 中,同样看起来像这样:

@Plugin(type = Command.class, menuPath = "Plugins>My New Plugin")
public class MyNewPlugin implements Command {

@Parameter (label="Choice", choices={"Option A", "Option B"}, style="radioButtonVertical")
private String choice;

// your code here
}

有关完整示例,请参阅 https://github.com/imagej/example-imagej-command

关于java - ImageJ:获取特定的Radiobox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43521428/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com