Добавление JDatepicker в Jframe

Я хочу разработать настольное приложение Swing с jlabel, JDateChooser и кнопкой отправки.

Я использую ниже код:

public class Homeg {
    public static void main(String args[]) {

        JFrame frame=new JFrame("date display");
        JDatePickerImpl datePicker;
        UtilDateModel model = new UtilDateModel();
        model.setDate(1990, 8, 24);
        model.setSelected(true);
        JDatePanelImpl datePanel = new JDatePanelImpl(model,null);
        datePicker = new JDatePickerImpl(datePanel, null);
        frame.setLayout(new FlowLayout());
        JLabel label=new JLabel("Date");
        JButton submit=new JButton("SUBMIT");
        frame.add(label);
        frame.add(datePicker);
        frame.add(submit);
        frame.setSize(400,400);
        frame.setVisible(true);
    }
}

И это дает вывод только JDatechooser.

Вместо этого я хотел вывод, который должен иметь JLabel, JDatePicker и кнопку отправки. Здесь он показывает только JDatePicker.

1 ответ

Вы должны всегда вызывать pack() перед вызовом setVisible();

{
    ...

    frame.setSize(400,400);
    frame.pack();
    frame.setVisible(true);
}

Затем, чтобы сделать дату, нажмите кнопку "Отправить", чтобы использовать дату:

JButton submit= new JButton("SUBMIT");
submit.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {
        Date date = (Date) datePicker.getModel().getValue();
        /* do something with 'date' */
    }
});
Другие вопросы по тегам