Java Swing的日期选择器GUI组件

7
我相信这个问题之前已经被问过了,但我找不到答案。我正在寻找一个可以从Netbeans IDE中拖放的日期选择器GUI组件。我找到了以下内容。
  1. http://toedter.com/software/ - 这个需要付费才能商用。

  2. http://plugins.netbeans.org/plugin/658/jdatechooser-1-2 - 这个有问题,日期不可见。

所以,是否有人知道是否有免费用于商业用途的Java日期选择器组件,我们可以从Netbeans中拖放?

@Sniper 我认为被接受的答案指向了 JCalendar,它是 Swing 的一部分... - msrd0
@msrd0:JCalender不是Swing的一部分,它是一个自定义组件。商业使用需要付费。 - PeakGen
@Sniper 还有一个人指出 Swing 有一个 JSpinner 的模型,也可以使用。 - msrd0
Go nuts的意思是,尽情地去做,玩得开心,放手一搏,完成它。你可以看看SwingLabs、SwingX库,我很确定其中有一个。 - MadProgrammer
显示剩余14条评论
2个回答

6
Netbeans将允许您拖动任何继承自JComponent的组件,只要该类在项目的类路径中即可。
一旦将jar文件链接到您的项目中,您应该能够展开jar内容(在库节点下)并将类拖放到窗体上。
我经常对自己的自定义组件(.java文件)执行此操作。
如果这看起来很麻烦,您也可以将组件添加到Swing组件面板中。
从“工具”菜单中选择“面板”->“Swing/AWT组件”
为您的组件创建一个新类别
选择“从Jar添加...”
选择Jar文件,确保Jar文件位于稳定位置,并已添加到想要使用组件的任何项目中!
向导将扫描内容并向您呈现可以添加的选项,请选择实际想要的组件
选择要将其添加到的类别(可能是您刚刚添加的类别),然后选择“完成”
在面板中,展开您的类别(确保您在“面板管理器”中选择了它),您应该会看到所有的组件。

DatePicker

一个通用的、免费使用的组件库是SwingLabs, SwingX library,只要您不试图销售它,就可以自由地使用,您还可以获得源代码,因此如果您想要添加功能,也应该可以。我建议,如果您这样做,您应该通知他们并提供您所能的更改,以便社区可以受益。

JXDatePicker高度可定制,但您需要动手编写一些代码以获得最佳功能...


我已经完成了这一步并成功添加,但是当我拖动时,没有任何东西放置在框架上。框架发生了一些变化。我可以说这是因为该文件被突出显示(这意味着在NetBeans中未保存)。你能帮忙吗? - Nikitha
@NikithaReddy 我能在没有任何上下文的情况下提出的唯一建议是,布局管理器已设置为“null”(或“AbsoluteLayout”)。 - MadProgrammer
不是 null,但最后我用了一个错误的 jar 包...而且组件也不正确...例如,它是 jDatePickerUtil 而不是 jDatePicker..你能给我推荐一下你使用的 jar 包吗?我试过 jxdatepicker-support-1.0.jar,但它对我没用..现在我正在使用 jcalendar-1.4.jar(这个可以用)。 - Nikitha
1
LGoodDatePicker 库包含一个好用的 DatePicker 组件(以及 TimePicker 和 DateTimePicker 类)。这三个组件都非常简单易用,可以从 NetBeans 可视化设计器中使用(也适用于其他流行的 IDE)。该库采用 MIT 开源许可证。项目主页上提供了截图和演示应用程序:github.com/LGoodDatePicker/LGoodDatePicker。 - BlakeTNC

4
你可以使用JDatePicker。从这个链接下载:http://sourceforge.net/projects/jdatepicker/ 它的使用方式与其他Swing组件相同:
UtilDateModel model = new UtilDateModel();
JDatePanelImpl datePanel = new JDatePanelImpl(model);
JDatePickerImpl datePicker = new JDatePickerImpl(datePanel);

frame.add(datePicker);

3
无法在Netbeans中进行拖放操作。 - PeakGen
1
请使用 http://jdatepicker.org 的下载链接,二进制文件通过maven中央仓库进行分发。 - juanheyns

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接