FukaCalendar

星 大樹 hoshi@fuka.info.waseda.ac.jp

May 22, 2002: 作成

戻る(FukaBeans)

配布

環境

JDK1.3で確認済みです。

FukaCalendar とは?

年と月を与えることにより、カレンダーを表示してくれる JavaBeans コンポーネントです。
また、一ヶ月前後に移動するためのメソッドも用意してあります。

利用例

Java プログラム中で用いる

以下は、FukaTextBean と組み合わせて用いる使用例です。

import jp.ac.waseda.info.fuka.beans.FukaCalendar;
import jp.ac.waseda.info.fuka.beans.FukaTextBean;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeEvent;

class FukaCalendarExample extends JFrame{
	protected FukaCalendar fukaCalendar = null;
	protected FukaTextBean textYear = null;
	protected FukaTextBean textMonth = null;
	protected JButton prevButton = null;
	protected JButton nextButton = null;

	public FukaCalendarExample(){
		fukaCalendar = new FukaCalendar();

		textYear = new FukaTextBean();
		textYear.addPropertyChangeListener(new PropertyChangeListener(){
			public void propertyChange(PropertyChangeEvent pce){
				fukaCalendar.setYearAsString(textYear.getText());
			}
		});

		textMonth = new FukaTextBean();
		textMonth.addPropertyChangeListener(new PropertyChangeListener(){
			public void propertyChange(PropertyChangeEvent pce){
				fukaCalendar.setMonthAsString(textMonth.getText());
			}
		});

		prevButton = new JButton("Previous");
		prevButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				fukaCalendar.prev();
			}
		});

		nextButton = new JButton("Next");
		nextButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				fukaCalendar.next();
			}
		});
		
		getContentPane().setLayout(new BorderLayout());
		JPanel textPanel = new JPanel();
		textPanel.setLayout(new GridLayout(1,2));
		textPanel.add(textYear);
		textPanel.add(textMonth);
		JPanel buttonPanel = new JPanel();
		buttonPanel.add(prevButton);
		buttonPanel.add(nextButton);
		
		getContentPane().add(textPanel,BorderLayout.NORTH);
		getContentPane().add(buttonPanel,BorderLayout.SOUTH);
		getContentPane().add(fukaCalendar,BorderLayout.CENTER);
	}

	public static void main(String args[]) {
		FukaCalendarExample example = new FukaCalendarExample();
		
		example.setSize(150, 200);
		example.setVisible(true);
	}
}

BeanBox 等の JavaBeans 対応開発ツール上で用いる

  1. カレンダーを表示したいところへ FukaCalendar を置きます。
  2. FukaTextBean を置いて、FukaTextBean の text プロパティと FukaCalendar の yearAsString プロパティをバインドプロパティします。
  3. FukaTextBean を置いて、FukaTextBean の text プロパティと FukaCalendar の monthAsString プロパティをバインドプロパティします。
  4. OurButton を置いて、OurButton の actionPerformed メソッドから、FukaCalendar の prev メソッドを呼び出すようにします。
  5. OurButton を置いて、OurButton の actionPerformed メソッドから、FukaCalendar の next メソッドを呼び出すようにします。

コンポーネント仕様

プロパティ:

プロパティ名 初期値 概要 Getter有無 Setter有無
month int 4 月 許容範囲は 1〜12
monthAsString String "4" 月 許容範囲は "1"〜"12"
year int 2002 年 許容範囲は 1901〜2099
yearAsString String "2002" 年 許容範囲は "1901"〜"2099"

メソッド:

メソッド名 構造 概要
next void next() 次の月を表示します
prev void prev() 前の月を表示します

イベント:

イベント名 リスナ名 通知メソッド 概要
PropertyChangeEvent PropertyChangeListener propertyChange(PropertyChangeEvent) プロパティが変更されたときに発火します。


戻る(FukaBeans)