java - 如何创建自定义 JPanel 扩展并从 NetBeans 面板中使用它?

标签 java swing netbeans

我有一个自己编写的 JPanel 扩展,并且希望能够在 NetBeans 设计器中使用它。该组件只是添加了一些自定义绘画,并继续充当在每次使用时进行自定义的容器。

除了标准 JPanel 属性之外,我还有要公开的属性,并且有一个自定义 paintComponent() 方法,我希望能够在使用时看到该方法建立 GUI。理想情况下,我还希望将一个图标与该组件相关联,以便我的同事可以轻松识别它。

实现这一目标的最佳方法是什么?

最佳答案

我在 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 组件。

它甚至具有与我在另一个容器中进行拖放操作时在重写的绘制方法中绘制的相同外观。不过我没有将图标与其关联。

希望这有帮助。

关于java - 如何创建自定义 JPanel 扩展并从 NetBeans 面板中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/237131/

相关文章:

java - 如何在Java SE7中实例化Runnable类型?

java - 客户端-服务器-卡住按钮

java - 在下拉列表始终可见的 JTable 中创建 JComboBox

java - HypergraphDB Netbeans 设置

java - 线程 "main"java.lang.NoClassDefFoundError : org/apache/http/NoHttpResponseException 中出现异常

java - Math.scalb 有什么用?

Java:查找列表中的每个唯一单词并将它们添加到新列表中

java - JXTreeTable 结合 TreeCellRender 和 selectedBackground 与 ColorHighlighter

java - 在 NetBeans 上的 JPanel 中用鼠标绘制线条

java - 将嵌入式插件 jar 文件添加到项目中