调整JDatePicker Java Swing

时间:2018-04-21 13:14:37

标签: java swing

我正在使用http://jdatepicker.org中的JDatePicker。它很酷但我找不到任何方法来改变文本框和按钮的大小。 setSize()仅更改容器的大小,如下图所示。有什么建议吗?

enter image description here

更新:我找到了一种方法,即使用JFormattedTextField指向datepicker文本字段的实例并调整其大小。代码如下:

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);

仍有按钮无法调整大小。所以我不确定是否有其他方法可以解决这个问题

1 个答案:

答案 0 :(得分:1)

您可以查找JDatePickerImpl的组件(此类只有两个)

尝试一下:

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);