调整JDatePicker Java Swing的大小
我正在使用来自的调整JDatePicker Java Swing的大小,java,swing,Java,Swing,我正在使用来自的JDatePicker。这很酷,但我找不到任何方法来更改文本框和按钮的大小。setSize()仅更改容器的大小,如下图所示。有什么建议吗 更新:我找到了一种方法,使用JFormattedTextField指向datepicker的textfield实例并调整其大小。代码如下: UtilDateModel model = new UtilDateModel(); Properties p = new Properties(); p.put("text.today"
JDatePicker
。这很酷,但我找不到任何方法来更改文本框和按钮的大小。setSize()
仅更改容器的大小,如下图所示。有什么建议吗
更新:我找到了一种方法,使用JFormattedTextField指向datepicker的textfield实例并调整其大小。代码如下:
UtilDateModel model = new UtilDateModel();
Properties p = new Properties();
p.put("text.today", "Today");
p.put("text.month", "Month");
p.put("text.year", "Year");
JDatePanelImpl datePanel = new JDatePanelImpl(model, p);
JDatePickerImpl dpDoB = new JDatePickerImpl(datePanel, af);
dpDoB.setPreferredSize(new Dimension(195, 45));
JFormattedTextField tf = dpDoB.getJFormattedTextField();
tf.setPreferredSize(new Dimension(195, 35));
Font font = new Font("Tahoma", 0, 16);
tf.setFont(font);
dpDoB.setShowYearButtons(false);
dpDoB.setTextEditable(true);
panelDoB.add(dpDoB);
仍然存在无法调整大小的按钮。因此,我不确定是否有其他方法可以解决这个问题,您可以查找JDatePickerImpl的componet(这个类只有两个)尝试以下方法:
UtilDateModel model = new UtilDateModel();
Properties p = new Properties();
p.put("text.today", "Today");
p.put("text.month", "Month");
p.put("text.year", "Year");
JDatePanelImpl datePanel = new JDatePanelImpl(model, p);
datePicker = new JDatePickerImpl(datePanel, new DateLabelFormatter());
datePicker.setPreferredSize(new Dimension(120,20));
datePicker.getComponent(0).setPreferredSize(new Dimension(100,20)); //JFormattedTextField
datePicker.getComponent(1).setPreferredSize(new Dimension(20,20));//JButton
add(datePicker);
它附带源代码,因此您可以看到它是如何构造的。但更重要的是,你没有展示你自己的代码,你如何使用它,最重要的是,你正在使用什么布局管理器。如果只是使用FlowLayout,则不会调整大小。您尝试过BoxLayout或其他经理吗?谢谢您的评论。我找到了一种方法,使用JFormattedTextField指向文本框的实例,然后调整其大小。尽管仍有一个按钮无法访问。您好,感谢您的贡献。我设法解决了这个案子。