0

私のプログラムはJDialogs を使用してフォームを開きJCalendar、ユーザーが日付を選択するために使用したいフォームで、後で他の方法で使用するために使用します。

JCalendarライブラリをダウンロードしました。いくつかのサンプル コードを読みましたが、その方法はまだわかりません。フォームでボタン (Select Date) を押すと小さなウィンドウが開きJCalendar、日付が選択されるとフォームに TextField として表示されるという考えがあります。

誰かがこれを最小限のトラブルで行う方法を私に勧めることができますか?

4

1 に答える 1

3

フォームでボタン (日付の選択) を押すと、その JCalendar で小さなウィンドウが開き、日付が選択されるとフォームに TextField として表示されるという考えがあります。

ライブラリにJDateChooser存在するクラスを試してみてください。これにより、日付を選択したり、手動で入力したりできます。2 番目の部分については、「日付」プロパティの変更をリッスンし、それに応じてテキスト フィールドのテキストを更新するために、 PropertyChangeListenerJCalendarを日付チューザに提供する必要があります。たとえば、次のようなものです。

final JTextField textField = new JTextField(15);

JDateChooser chooser = new JDateChooser();
chooser.setLocale(Locale.US);

chooser.addPropertyChangeListener("date", new PropertyChangeListener() {
    @Override
    public void propertyChange(PropertyChangeEvent evt) {
        JDateChooser chooser = (JDateChooser)evt.getSource();
        SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
        textField.setText(formatter.format(chooser.getDate()));
    }
});

JPanel content = new JPanel();
content.add(chooser);
content.add(textField);

JDialog dialog = new JDialog ();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.getContentPane().add(content);
dialog.pack();
dialog.setLocationRelativeTo(null);
dialog.setVisible(true);
于 2014-02-21T22:20:59.780 に答える