import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class gamen1 {
// 共通領域
public HashMap map = null;
// モデル
public Shori shori = null;
// 画面項目項目
JFrame ff;
Container f;
JButton b1;
JButton b2;
JTextArea t1;
int seikai = 0;
int phaseNo = 0;
int curno = 0;
/*
* 生成
*/
public gamen1(HashMap map)
{
this.map = map;
map.put("gamen1",this);
this.shori = (Shori)map.get("shori");
initAppData();
}
/*
* 表示
*/
public void initAppData()
{
// フレームを作成する
ff =new JFrame("test");
f = ff.getContentPane();
ff.setSize(240,320);
f.setLayout(null);
// アクションを作成する
gamen1_HandleEvent al = new gamen1_HandleEvent();
// ラベル
JLabel l1 = new JLabel("早うちの練習");
l1.setLocation(10,30);
l1.setSize(100,30);
f.add(l1);
JLabel l2 = new JLabel("これは、練習文です。");
l2.setLocation(10,120);
l2.setSize(150,30);
f.add(l2);
JLabel l3 = new JLabel("以下の文を打とう!");
l3.setLocation(10,70);
l3.setSize(100,30);
f.add(l3);
// テキスト
t1 = new JTextArea();
t1.setLocation(10,160);
t1.setSize(150,80);
f.add(t1);
// ボタン作成
b1 = new JButton("挑戦する");
b1.setLocation(120,70);
b1.setSize(100,30);
b1.addActionListener(al);
f.add(b1);
// ボタン作成
b2 = new JButton("打ち終わった!");
b2.setLocation(10,250);
b2.setSize(100,30);
b2.addActionListener(al);
f.add(b2);
// 表示
ff.setVisible(true);
DispAppData();
}
/*
* 再描画
*/
public void DispAppData()
{
// 画面間引数を受け取る
String rensyu = "";
if ( map != null )
{
rensyu = (String)map.get("rensyu");
if (rensyu == null )
rensyu = "";
}
// 画面表示
if ( t1 != null )
{
t1.setText(rensyu);
}
}
/*
* 終了
*/
public void freeAppData()
{
// 2度目にもとってきたときのため、初期化
map.remove("rensyu");
phaseNo = 0;
curno = 0;
String dis = (String)map.get("dispose");
if ( dis == null )
return;
if ( dis.equals("yes") == true )
{
ff.dispose();
map.remove("gamen1");
}
}
/*
* イベントリスナー
*/
private class gamen1_HandleEvent
implements ActionListener
{
/*
* ボタンが押されたときの処理
*/
public void actionPerformed(ActionEvent e)
{
Object o = e.getSource();
if ( o.equals(b1)== true)
{ // 挑戦する
System.out.println("挑戦する");
//======================//
// 内容の取得 //
//======================//
map.put("rensyu",t1.getText());
//======================//
// 処理 //
//======================//
if ( shori == null )
return;
shori.shori1();
//======================//
// 次の画面処理 //
//======================//
phaseNo = 1;
curno = 1;
DispAppData();
return;
}
if ( o.equals(b2)== true)
{ // 打ち終わった!
//======================//
// 内容の取得 //
//======================//
map.put("rensyu",t1.getText());
//======================//
// 処理 //
//======================//
if ( shori == null )
return;
shori.shori2();
//======================//
// 次の画面処理 //
//======================//
// 第二画面表示
gamen2 g2 = (gamen2)map.get("gamen2");
if ( g2 == null )
{
g2 = new gamen2(map);
}
else
{
// 再描画
g2.DispAppData();
}
// 消す
freeAppData();
}
}
}
}
|