1

我正在尝试编写自己的日期选择器以用于学习目的。

显示日历弹出窗口的类型,我们可以选择一个日期。

我不知道那东西叫什么。它是没有窗口的 Jframe 吗?

它是什么以及如何在没有常规摆动框架或弹出窗口的情况下显示它?

4

2 回答 2

3

这可以通过使用 aJFrame并调用setUndecorated(true)它来完成。

示例代码:

// Left image
frame = new JFrame();
frame.add(new JButton("Decorated"));

// Right image
frame2 = new JFrame();
frame2.setUndecorated(true);
frame2.add(new JButton("Undecorated"));

结果:

结果

然后可以在选择日期时关闭另一个框架。也可以通过向父框架添加单击侦听器并关闭那里的框架来取消它,或者添加一个窗口状态侦听器以在拾取器框架失去焦点时立即关闭它。

于 2013-11-03T18:07:50.210 回答
1

在 JDatePicker 项目中,您可以找到这样的示例:

PopupFactory fac = new PopupFactory();
Point xy = getLocationOnScreen();
datePanel.setVisible(true);
popup = fac.getPopup(this, datePanel, (int) xy.getX(), (int) (xy.getY()+this.getHeight()));
popup.show();

检查源:

https://github.com/JDatePicker/JDatePicker/blob/master/src/main/java/org/jdatepicker/impl/JDatePickerImpl.java#L182

于 2014-10-10T09:09:53.623 回答