Beans の基礎

C:\DATA\Java2\01Dos\14Beans>java GetToday
年: 2011
月: May
日: 24
10時29分
 -- Press any key to exit (Input "c" to continue) --

Beans で作成した Calendar(日付/時刻)の Object です。
Java Beans は定められたルールに従って作成された普通の Object Class です。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. Beans(ビーンズ)はネットワークプログラムで使われることが多いのですが Console Mode でも使われます。
    メモ帳などでタイプして GetToday.java の名前で保存して下さい。
    元は apache-tomcat のサンプルプログラムです。
    //★ beans(ジャバ ビーンズ) の基礎
    import java.util.Calendar;
    import java.util.Date;
    
    public class GetToday
    {   public static void main(String args[])
        {   TodayBean   bean= new TodayBean();
    
            System.out.println("年: " + bean.getYear());
            System.out.println("月: " + bean.getMonth());
            System.out.println("日: " + bean.getDate());
            System.out.println(bean.getHour() + "時" + bean.getMinute() + "分");
        }
    }
    
    //★ 日付のプロパティを持つ Bean
    class TodayBean
    {   private Calendar calendar;
    
        public TodayBean()
        {   calendar = Calendar.getInstance();
            Date d = new Date();
            calendar.setTime(d);
        }
    
        public int getYear()
        {   return calendar.get(Calendar.YEAR);  }
    
        public String getMonth()
        {   int m = calendar.get(Calendar.MONTH);
            String[] months = new String []
            {   "January", "February", "March", "April", "May",
                "June", "July", "August", "September", "October",
                "November", "December"
            };
            return months[m];
        }
    
        public int getDate()
        {   return calendar.get(Calendar.DATE);  }
    
        public int getHour()
        {   return calendar.get(Calendar.HOUR_OF_DAY);  }
        
        public int getMinute()
        {   return calendar.get(Calendar.MINUTE);  }
    }
    
  2. GetToday.java をコンパイルして GetToday.class を作成して下さい。
    GetToday.class を実行して次の画面が表示されたら完成です。
    年: 2011
    月: May
    日: 24
    10時29分
    

プログラムの説明

  1. Beans は Applet や JSP や Servlets などネットワークプログラムで使われることが多いのですが Console Mode でも使われます。
    説明は後にして、まずサンプルプログラムを動かしてみて下さい。
    Beans の説明は「プログラム入門(Java Netgame)/Java Applet 基礎/Java Beans」を参照して下さい。
    一般的に Main と Beans は別ファイルにするのですが、今回は一つのファイルにまとめてみました。
  2. Main では TodayBean をインスタンス化して「年,月,日,時,分」を印字します。
        public static void main(String args[])
        {   TodayBean   bean= new TodayBean();
    
            System.out.println("年: " + bean.getYear());
            System.out.println("月: " + bean.getMonth());
            System.out.println("日: " + bean.getDate());
            System.out.println(bean.getHour() + "時" + bean.getMinute() + "分");
        }
        
  3. class TodayBean は Main とは独立した Beans(部品)です。
    今回のように、日付や時刻を取得したい時には簡単に組み込むことが出来ます。
    TodayBean のコンストラクタで、現在の日付と時刻を取得して Calendar に設定します。
        public TodayBean()
        {   calendar = Calendar.getInstance();
            Date d = new Date();
            calendar.setTime(d);
        }
        
  4. 後は get メソッドで日付や時刻(プロパティ)を返すだけです。
    一般的にはプロパティに値を設定する set メソッドも定義するのですが、今回は必要ありません。
    set メソッドは次のページを、Beans の詳しい説明は「プログラム入門(Java Netgame)/Java Beans」を参照して下さい。

超初心者のプログラム入門(Java2)