【问题标题】:Adding components to the palette in NetBeans GUI Builder在 NetBeans GUI Builder 中将组件添加到选项板
【发布时间】:2012-08-11 23:31:56
【问题描述】:

我使用 NetBeans GUI Builder 创建了一些自定义的 JPanel 类。接下来,我将它们添加到调色板中。然后我创建了一个自定义JFrame 并能够将我的JPanels 拖到JFrame 上。当我只是在 GUI 前端工作时,这很有效。现在我正在处理后端逻辑,其中包括一些 JDBC 代码。我创建了一个BaseballCardIO 接口并在BaseballCardJDBCIO 中实现它以集中所有数据库内容。

现在,我的 JPanel 之一 AddCardsPanel 需要对其中一个 BaseballCardIOs 的引用。我首先在AddCardsPanel 构造函数中直接创建一个。 (我知道,无论如何,这不是最好的设计决定......)在我在 NetBeans 中打开我的 JFrame 类之前,一切都运行良好。它开始抱怨找不到 JDBC 驱动程序类。

我现在想继续使用 NetBeans GUI Builder。我有两个解决方案来解决我的问题:

1) 告诉 NetBeans 在哪里可以找到 JDBC 驱动程序并保持代码不变。我该怎么做?

2) 修改我的设计,使AddCardsPanel 有一个以BaseballCardIO 作为参数的构造函数。这实际上是可取的,因为由其他人负责创建 BaseballCardIO 而不是 AddCardsPanel 更有意义。但是,我仍然需要AddCardsPanel 才能很好地使用 NetBeans GUI Builder,这意味着它需要一个无参数的构造函数。我想我可以添加一些代码来检测 AddCardsPanel 是否被 NetBeans 用作 JavaBean,然后 JFrame 调用 noargs 构造函数。否则,如果我的应用程序正在运行,那么JFrame 会调用其他构造函数并向其发送BaseballCardIO

这是一个好方法吗?或者有人有其他可能的解决方案吗?

【问题讨论】:

    标签: java swing user-interface netbeans


    【解决方案1】:
    1. 将驱动程序 JAR 作为库添加到 NetBeans,显示为 here,并添加到您的项目中,显示为 here

    2. Window > Services > Database > New Connections,填写必填字段。

    3. 不要让 NetBeans GUI 构建器支配您的设计。隔离对TableModel 和其他组件模型的数据库访问。

    4. 编辑您的问题以包含sscce,以显示您遇到的任何问题;一个 .form 应该不需要

    【讨论】:

    • 我已经将 JAR 文件添加到我的项目库中。我不知道将它单独添加到 NetBeans。谢谢!
    • 好;你可以试试这个approach 来驯服 GUI 设计器。
    • 我重新审视了我的设计。无论如何,这是非常临时的,因为这是一个小项目。我决定要在main() 中创建我的BaseballCardIO 对象并将它们传递给我的JFrame,然后传递给需要它的JPanels。我认为这将在未来的版本中更容易添加配置选项,以便用户可以设置备用数据库后端或其他存储目标。
    • 我认为这是一个好计划。您需要构建一些小型组件和项目,以了解如何将它们组合成更大的组件。
    猜你喜欢
    • 2013-08-18
    • 2013-10-01
    • 2012-03-23
    • 2016-03-23
    • 2016-10-29
    • 2012-08-20
    • 1970-01-01
    • 2015-06-05
    • 2020-08-27
    相关资源
    最近更新 更多