和暦・西暦変換
- 目的
和暦(元号)から西暦に相互変換します。
- 手法
- 和暦>西暦
元号はリストボックスから選択する
年を入力し、変換ボタンを押す
- 西暦>和暦
西暦を入力する
変換ボタンを押す
元号と年次を表示する
- リストボックス
項目の追加は、Choiceクラスのadditemメソッドを利用します。
Choice choice1;
choice1.addItem("平成");
選択されている項目は
choice1.getSelectedItem()
で知ることができます。
- プロジェクト
- レイアウト
layoutをnullにします。
元号のリストボックスを配置する:choice1
和暦の元号を表示するラベルを配置する:label1
和暦の年を表示、入力するテキストフィールドを配置する:textfield1
変換用のボタンを配置する:button1,button2
西暦の年を表示、入力するテキストフィールドを配置する:textfield2
- プログラム
- 初期化:init()
初期化関数に、メニューの項目を設定する以下を追加する。
choice1.addItem("平成");
choice1.addItem("昭和");
choice1.addItem("大正");
choice1.addItem("明治");
- 和暦>西暦変換
ボタン1のイベント処理関数として追加します。
各元号毎の処理をしています
- void button1_actionPerformed(ActionEvent e) {
//和暦>西暦
int nen;
String str1,str2;
if(choice1.getSelectedItem()=="昭和"){
str1=textField1.getText();
nen=1925 + Integer.parseInt(str1);
str2=Integer.toString(nen);
textField2.setText(str2);
}
if(choice1.getSelectedItem()=="平成"){
str1=textField1.getText();
nen=1988 + Integer.parseInt(str1);
str2=Integer.toString(nen);
textField2.setText(str2);
}
................
- 西暦>和暦
ボタン2のイベント処理関数として追加する。
各元号毎の処理をしています。
- void button2_actionPerformed(ActionEvent e) {
int nen;
nen=Integer.parseInt(textField2.getText());
if (nen>1988) {
nen=nen-1988;
label1.setText("平成");
textField1.setText(Integer.toString(nen));
}
else if (nen>1925) {
nen=nen-1925;
label1.setText("昭和");
textField1.setText(Integer.toString(nen));
}
else if (nen>1911) {
nen=nen-1911;
label1.setText("大正");
textField1.setText(Integer.toString(nen));
}
- 実行
次のアプレットで、左のリストボックスで和暦を選択し、年を入力し、右向きボタンを押します。左に西暦が表示されます。もた右で西暦を入力し、左向き矢印を押します。元号と年次が表示されます。
トップに戻る