RAJ*_* KV -2 java swing jcalendar
我正在开发一个Java桌面应用程序.我想用JCalendar实现出生日期选择.我有一个JLabel,这个jCalendar被添加到JLabel.并使用setBounds()设置位置.但日历与其他组件重叠,我无法选择日期,所以我该怎么办?
这是我的代码片段
JCalendar dob=new JCalendar();
raillabel. add(dob);
dob.setBounds(250, 186, 320, 330);
Run Code Online (Sandbox Code Playgroud)
首先,为什么你想添加JCalendar到JLabel?您可以轻松地将其添加到JPanel:
JPanel panel = new JPanel();
panel.add(new JCalendar());
Run Code Online (Sandbox Code Playgroud)
如果您仍想将其添加JCalendar到a,JLabel则需要为此最后一个提供LayoutManager,以便正确地向其添加组件:
JCalendar calendar = new JCalendar();
JLabel label = new JLabel("Select date of birth:");
label.setLayout(new BorderLayout());
label.add(calendar, BorderLayout.EAST);
Run Code Online (Sandbox Code Playgroud)
看一下布局管理器的可视指南.
正如@mKorbel在他的评论中所说,你不应该使用NullLayout和setBounds()方法来设置组件的位置/大小.这是管理员的任务布局.
最后:
我想实施出生日期选择使用
JCalendar.
您可能想要尝试JDateChooser,它允许选择日期或手动输入:
JDateChooser chooser = new JDateChooser();
chooser.setLocale(Locale.US);
JPanel panel = new JPanel();
panel.add(new JLabel("Date of Birth:"));
panel.add(chooser);
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
13778 次 |
| 最近记录: |