gpt4 book ai didi

java - 使 Java 自定义控件可在 Eclipse WindowBuilder 中访问?

转载 作者:太空宇宙 更新时间:2023-11-04 14:51:16 24 4
gpt4 key购买 nike

这让我发疯。请帮忙。

在 Java 中,我创建了一个自定义用户控件。它是一个包含标签、文本字段和按钮的 JPanel。我正在使用 Eclipse 来完成这一切。我还使用 WindowBuilder 将 GUI 元素拖放到我的自定义控件上。

我希望其他应用程序能够从 WindowBuilder 访问此控件。

如何将此自定义控件添加到我创建的类别中的 Windows Builder?

在.Net中,我会告诉设计 View 引用我创建的用户控件的已编译DLL。我认为对于 WindowBuilder/Java 来说也是一样的。

如果有帮助,这是我的控件的代码。

package net.UserControl;

import javax.swing.*;

/* several java.swing imports here */


public class UserControl extends JPanel
{
private JTextField txtfTextField;
private JLabel lblTestLabel;


public UserControl(String greeting)
{
setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));

lblTestLabel = new JLabel("This textbox will greet you.");
lblTestLabel.setBounds(113, 12, 192, 15);
lblTestLabel.setHorizontalAlignment(SwingConstants.LEFT);
this.add(lblTestLabel);

txtfTextField = new JTextField();
txtfTextField.setBounds(66, 37, 303, 81);
txtfTextField.setHorizontalAlignment(SwingConstants.LEFT);
this.add(txtfTextField);
txtfTextField.setColumns(10);

JButton btnOkButton = new JButton("OK");
btnOkButton.setBounds(184, 130, 54, 25);
this.add(btnOkButton);

btnOkButton.addActionListener(new OkButtonClickManager());
txtfTextField.setText(greeting);

this.setPreferredSize(new Dimension(400, 250));

JScrollPane scrollPane = new JScrollPane(this,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.getViewport().setScrollMode(JViewport.SIMPLE_SCROLL_MODE);
scrollPane.setPreferredSize(new Dimension(300, 200));
scrollPane.setVisible(true);
}

private static class OkButtonClickManager implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}//end ClickManager

}//end userControl

我觉得我错过了一些简单的东西。任何帮助表示赞赏。谢谢。

最佳答案

请阅读这篇文章,它会对您有所帮助。 http://help.eclipse.org/juno/topic/org.eclipse.wb.doc.user/html/NewComponentsTutorial.pdf

在我们的项目中,有许多自定义 SWT 组件在 custom_pallet.xml 中共享,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<commands>

<addCategory
id="bbs.rcpkit.layout.components"
name="BBS RCPKit Layouts"
description="layout components"
visible="true"
open="true"/>

<addFactory
id="bbs.rcpkit.layout.components.palette"
name="Equal Width Grid"
description="createGrid():"
visible="true"
class="jp.co.bbs.bizwork.eclipse.swt.widgets.WidgetFactory"
signature="createGrid()"
static="true"
category="bbs.rcpkit.layout.components"/>
</command>

您可以像工厂方法一样定义构造函数,还可以添加一些注释来指示 WindowBuilder Pro 使用初始设置正确解析您的组件。

http://help.eclipse.org/juno/topic/org.eclipse.wb.doc.user/html/DesignerCustomizationAPI.pdf

关于java - 使 Java 自定义控件可在 Eclipse WindowBuilder 中访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23746167/

24 4 0
文章推荐: html - translateX 导致随机边框出现在
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com