May 22, 2002: 作成
JDK1.3で確認済みです。
年と月を与えることにより、カレンダーを表示してくれる JavaBeans コンポーネントです。
また、一ヶ月前後に移動するためのメソッドも用意してあります。
以下は、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);
}
}
プロパティ:
| プロパティ名 | 型 | 初期値 | 概要 | 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) | プロパティが変更されたときに発火します。 |