サンプルを作ってみました、多分、イメージとは異なるとは思いますが、たたき台にでもしてやってください。
for java1.5
-------------------------------------------------------------------
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
/*
<applet code="Sample.class" width="100" height="90"></applet>
*/
enum JankenKind { ぐー, ちょき, ぱー };
enum JankenJudge { 勝ち, 負け, あいこ };
public class Sample extends Applet implements ActionListener {
Label compSelect, msg, result;
JankenButton goo, choki, par;
JankenKind select;
int win = 0, loose = 0;
public void init(){
setLayout(new BorderLayout());
// メッセージとコンピュータの手の表示
Panel top = new Panel();
top.setLayout(new GridLayout(2,1));
msg = new Label("じゃんけんしましょう", Label.CENTER);
top.add(msg);
compSelect = new Label("?", Label.CENTER);
top.add(compSelect);
add(top, BorderLayout.NORTH);
// ユーザの選ぶボタンの表示
Panel center = new Panel();
center.setLayout(new GridLayout(1,3));
goo = new JankenButton(JankenKind.ぐー);
goo.addActionListener(this);
center.add(goo);
choki = new JankenButton(JankenKind.ちょき);
choki.addActionListener(this);
center.add(choki);
par = new JankenButton(JankenKind.ぱー);
par.addActionListener(this);
center.add(par);
add(center, BorderLayout.CENTER);
// 対戦結果表示
result = new Label(""+win+"勝"+loose+"敗です", Label.CENTER);
add(result, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e){
select = Janken.select();//コンピュータの手
compSelect.setText("私の手:"+select.toString());
JankenButton bt = (JankenButton)e.getSource();//選択した手
switch(Janken.judge(bt.kind(), select)){//判定
case 勝ち:
win++;
msg.setText("あなたの勝ちです");
break;
case 負け:
loose++;
msg.setText("あなたの負けです");
break;
case あいこ:
msg.setText("あいこです");
break;
}
result.setText(""+win+"勝"+loose+"敗です");
if(win+loose == 3){//都合3戦した(あいこはノーカウント)
goo.setVisible(false);//ボタンを非表示にする
choki.setVisible(false);
par.setVisible(false);
}
}
}
class Janken {
public static JankenKind select(){
switch((int)(1+3*Math.random())){
case 1://ぐー
return JankenKind.ぐー;
case 2://ちょき
return JankenKind.ちょき;
case 3://ぱー
return JankenKind.ぱー;
}
return null;
}
public static JankenJudge judge(JankenKind me, JankenKind you){
if(me == you)
return JankenJudge.あいこ;
else if(me == JankenKind.ぐー && you == JankenKind.ちょき ||
me == JankenKind.ちょき && you == JankenKind.ぱー ||
me == JankenKind.ぱー && you == JankenKind.ぐー)
return JankenJudge.勝ち;
else
return JankenJudge.負け;
}
}
class JankenButton extends Button{
protected JankenKind kind;
public JankenButton(JankenKind k){
super(k.toString());
kind=k;
}
public JankenKind kind(){
return kind;
}
}