添加自定义用户界面元素
了解如何将自定义面板添加到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对话框
打开设置>首选项菜单并查看现有的首选项对话框。如您所见,有几个选项卡包含用户可以进行的特定设置。对于您的扩展,您可以创建自己的选项卡。
中构建您自己的选项卡,请完成这三个步骤首选项对话框:
调整文件
settingsNAME.xml
,其中'NAME'是您的扩展名。然后,为选项卡名称和您想要添加的单个首选项指定键。例如:< ?xml version="1.0" encoding="UTF-8"?>
调整文件
SettingsNAME.properties
,其中'NAME'再次是您的扩展名。为您在第一步中定义的键指定名称。extension_name。title =我的扩展名extension_name.description = extension_name.url。title =服务器URL extension_name.url.description =服务器URL的默认值
改变方法
initPlugin ()
在你的PluginInit
类并注册要添加到控件的设置首选项对话框。公共静态无效initPlugin() {ParameterService。registerParameter(new ParameterTypeString("extension_name. name "))url”,“服务器url”,“http://localhost:8080”));}
如果你想使用布尔值设置(一个复选框),像这样注册它:
ParameterService。registerParameter(new ParameterTypeBoolean)url","使用url ?", false));