0

私はJCalendarを使用しており、次のように初期化します。

popup = new JPopupMenu();
calendar = new JCalendar();
popup.add(calendar);
calendar.addDateListener(new DateListener() {
    @Override
    public void dateChanged(DateEvent de) {
       Calendar c = de.getSelectedDate();
       if (c != null) {
          String data = c.get(Calendar.DAY_OF_MONTH) + "-" + (c.get(Calendar.MONTH) + 1) + "-" + c.get(Calendar.YEAR);
          dateTextField.setText(data);
          popup.setVisible(false);
       }
    }
});
dateTextField.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e) {
        popup.show(e.getComponent(), e.getX(), e.getY());
        popup.setVisible(true);  
    }
});

このように、テキストフィールドをクリックするdateTextFieldとポップアップJCalendarが表示されますが、選択した今日の日付が表示されます。テキストフィールドにその日付を表示する場合は、別の日付を選択してから、今日の日付を選択する必要があります。デフォルトで選択された日付を削除するにはどうすればよいですか?ありがとう!!!

4

1 に答える 1

0

JCalendar を使用して正確に実行する方法はないようです。別の方法として、現在選択されている日付を取得し、ボタンのテキストを設定して、ポップアップを閉じる「完了」ボタンをポップアップに追加することもできます。ユーザーが誤って間違った日付をクリックすると、ポップアップが閉じるのが少し混乱する可能性があるため、とにかく、ユーザーにとってはより直感的かもしれません.

于 2012-10-05T22:33:34.563 に答える