0
头像

命名标签选项

options.addLabel 函数不允许我为标签指定名称。我希望能够以编程方式修改标签并检索它们的值,例如,使用 options.getValueAsString。

我看到有一个构造函数,我可以在其中创建一个具有指定名称的新标签:

Options.LabelOption(字符串名称,字符串标签)

但我不知道如何将它添加到菜单布局中。

“addCustomOption”是正确的方法吗?我觉得既然标签不是自定义选项,也许有更喜欢的方式。

肖恩·约翰逊

3 条评论

0
头像

这有点奇怪,但我推荐以下内容:

Option labelOption = addCustomComponent(new JLabel("hello world"));

然后您可以使用 labelOption.getComponent() 来获取您的 JLabel。

理查德·摩尔 0 票
评论动作 永久链接
0
头像

感谢您的回复。我不确定这对我有用。

我特别想给标签名称并能够使用 options.getValueAsString 检索它们

这是因为我希望能够在 getOptions 方法中设置它们的值并在 performOperation 方法中将其取回。据我所知,在这两种方法之间传递信息的唯一方法是通过 getOptions 返回的“options”变量。

作为最后的手段,我正在考虑制作阴影字符串选项来跟踪标签值,例如使用以下内容:

options.addStringOption("Label_1_value", "",labelOption.getValue()).setHidden(true);

但这似乎很笨拙,如果可能的话,我想避免它。

肖恩·约翰逊 0 票
评论动作 永久链接
0
头像

是的,在这种情况下,我认为您可以使用:

addCustomOption(new LabelOption("name", "label"));

然后 getValueAsString("name") 应该可以检索“标签”。

理查德·摩尔 0 票
评论动作 永久链接