类别

版本

添加自定义用户界面元素

了解如何将自定义面板添加到RapidMiner Studio的UI以及如何修改首选项对话到你的需要。

添加自定义面板

PluginInit类提供了修改GUI的能力。出于演示的目的,我们将在这里添加一个新窗口。我们所要做的就是实现一个实现可停靠的接口和组件,该组件由可停靠的

公共类SimpleWindow扩展JPanel实现Dockable{私有静态最终长serialVersionUID = 1L;private static final DockKey DOCK_KEY = new ResourceDockKey("tutorial.simple_window");private JLabel label = new JLabel("Hello user.");/** * {@link SimpleWindow}的构造函数。*/ public SimpleWindow(){//向窗口添加内容setLayout(new BorderLayout());添加(标签,BorderLayout.CENTER);} /** *设置简单的窗口标签** @param labelText *要显示的文本*/ public void setLabel(String labelText) {this.label.setText(labelText);System.out.println (labelText);重新验证();} @覆盖公共组件getComponent(){返回这个; } @Override public DockKey getDockKey() { return DOCK_KEY; } }

虽然窗口的内容相当简单,而且只是众所周知的“Hello world”程序的一个变体,但它说明了ResourceDockKey。一个DockKey包含有关可停靠的,例如,它存储窗口的名称和图标。的ResourceDockKey从GUI资源包中检索此信息,该资源包以依赖于语言的方式从资源文件加载GUIXXX.xml其中“XXX”是扩展名。下面是一个可能描述新窗口的示例:

gui.dockkey.tutorial.simple_window.name =一个简单的Window . gui.dockkey.tutorial.simple_window。图标= window2.png gui.dockkey.tutorial.simple_window. png提示=看看RapidMiner是怎么说的。

在本例中,图标window2.png已添加到文件夹图标/ 16乐鱼体育安装扩展的文件夹,使其在启动RapidMiner时可用。在看到新窗口之前的最后一个任务是在RapidMiner的注册主机。您希望独立于操作符的执行来完成此操作,并且实际上,希望在执行任何进程之前拥有该窗口。要做到这一点,请使用PluginInit钩子,所以我们要填满initGui方法:

initGui(MainFrame主机){MainFrame . getdockingdesktop()。registerDockable(新SimpleWindow (););}

就是这样!面板中选择新的面板视图>显示面板菜单。结果是这样的:

将自定义设置添加到Preferences对话框

打开设置>首选项菜单并查看现有的首选项对话框。如您所见,有几个选项卡包含用户可以进行的特定设置。对于您的扩展,您可以创建自己的选项卡。

中构建您自己的选项卡,请完成这三个步骤首选项对话框:

  1. 调整文件settingsNAME.xml,其中'NAME'是您的扩展名。然后,为选项卡名称和您想要添加的单个首选项指定键。例如:

    < ?xml version="1.0" encoding="UTF-8"?>     
  2. 调整文件SettingsNAME.properties,其中'NAME'再次是您的扩展名。为您在第一步中定义的键指定名称。

    extension_name。title =我的扩展名extension_name.description = extension_name.url。title =服务器URL extension_name.url.description =服务器URL的默认值
  3. 改变方法initPlugin ()在你的PluginInit类并注册要添加到控件的设置首选项对话框。

    公共静态无效initPlugin() {ParameterService。registerParameter(new ParameterTypeString("extension_name. name "))url”,“服务器url”,“http://localhost:8080”));}

如果你想使用布尔值设置(一个复选框),像这样注册它:

ParameterService。registerParameter(new ParameterTypeBoolean)url","使用url ?", false));