Swingでカレンダー型日付選択ダイアログのサンプルを作ってみました。

カレンダーパネルを使ったサンプル


カレンダーダイアログのサンプル

  • サンプルはMyJCalendar.javaのmainメソッドに同梱されていまする

  • Swingでカレンダーを表示するサンプルを簡単に作ろうと思ってたのに、気がついたらコメント空行込みで600行のご立派な物になってしまいました。
  • 作ってる途中でJCalendarで検索したら、先に作って公開してる人がいましたorz(でも公開します

使い方

  • 日付選択ダイアログを表示
    • Date date = MyJCalendar.showCalenderDialog(frame, button, "日付選択", date);
      • 日付を選択されない場合、dateはnullになります。
  • カレンダーパネルを取得
    • MyJCalendar p = new MyJCalendar();
  • Date型のパラメータを渡すと、その日が選択されたパネルが取得出来ます
    • MyJCalendar p = new MyJCalendar(new Date());
  • 日付をクリックされた時に、値を設定するコンポーネントを設定
    • p.addClickDateListenerObject(datetf2);
      • コンポーネントに「setText(String)」があれば、そこにyyyy/MM/ddに変換した文字列を設定します。
  • フレームにカレンダーパネルを追加
    • frame.add(p);
      • JPanelを継承して作られているので、普通にコンポーネントとして追加出来ます。
  • カレンダーパネルからクリックされた日付を取得
    • Date date = p.getClickDate();

できること

  1. 日付指定での起動、前月、次月ボタン、プルダウンによる年月選択、日曜日赤色表示
  2. 日付選択ダイアログの表示
    1. クリックされた日付の返却
  3. 日付選択パネルの作成
    1. クリックされた日付はgetClickDateで取り出すか、setTextを持つコンポーネントをaddClickDateListenerObjectで追加

できないこと

  1. 日付選択によるイベント発行
    1. イベントの作り方を勉強して機能を追加したい
  2. 祝日の赤表示

サンプルダウンロード


コメント

名前: