【发布时间】:2010-09-19 05:22:56
【问题描述】:
我编写了一个JPanel 扩展,希望能够在NetBeans 设计器中使用它。该组件只是添加了一些自定义绘画,并继续作为容器在每次使用时进行自定义。
除了标准的 JPanel 之外,我还有要公开的属性,并且我希望在构建 GUI 时能够看到使用的自定义 paintComponent() 方法。理想情况下,我还想将一个图标与该组件相关联,以便我的同事可以轻松识别它。
实现这一目标的最佳方法是什么?
【问题讨论】:
我编写了一个JPanel 扩展,希望能够在NetBeans 设计器中使用它。该组件只是添加了一些自定义绘画,并继续作为容器在每次使用时进行自定义。
除了标准的 JPanel 之外,我还有要公开的属性,并且我希望在构建 GUI 时能够看到使用的自定义 paintComponent() 方法。理想情况下,我还想将一个图标与该组件相关联,以便我的同事可以轻松识别它。
实现这一目标的最佳方法是什么?
【问题讨论】:
我在 NetBeans 中使用重写的绘制方法制作了 JPanel 组件:
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2 = (Graphics2D) g;
...
//draw elements
...
}
它有一些可通过 NetBeans 属性窗口访问的自定义属性。
public int getResolutionX() {
return resolutionX;
}
public void setResolutionX(int resolutionX) {
this.resolutionX = resolutionX;
}
public int getResolutionY() {
return resolutionY;
}
public void setResolutionY(int resolutionY) {
this.resolutionY = resolutionY;
}
我将它放在我的调色板中,使用: 工具->调色板->Swing/AWT 组件。
当我在另一个容器中进行拖放时,它甚至具有与我在覆盖的绘制方法中绘制的相同的外观。不过我没有将图标与它相关联。
希望这会有所帮助。
【讨论】:
http://www.netbeans.org 搜索马蒂斯。
【讨论】:
您可以将自定义组件添加到 matisse GUI 调色板。
现在您的面板已为 netbeans 所知,您可以将其拖到新面板中。
【讨论】: