ここから本文です

先ほどのプログラムだとただラジオボタンを押したら「手を出す」を押下したら画像...

せいさん

2015/9/2512:57:26

先ほどのプログラムだとただラジオボタンを押したら「手を出す」を押下したら画像が表示されるだけなのですがじゃんけんゲームにするにはどうしたら良いですか。

現在プログラム
import javax.swing.JRadioButton;
import javax.swing.ImageIcon;
import java.applet.*;
import java.awt.image.BufferedImage;
import javax.swing.ButtonGroup;
import java.util.Scanner;
import java.util.Random;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.imageio.ImageIO;

import java.awt.event.ActionListener;
import javax.swing.JButton;
import java.awt.GridLayout;

//さらに追加
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Container;
import java.awt.BorderLayout;
import javax.swing.*;
import java.awt.event.*;

public class Janken_05 extends JFrame implements ActionListener {
JPanel mainPanel, aitePanel;
JRadioButton GuButton, TyokiButton, PaButton;
ButtonGroup aiteGroup;
JButton setTeButton;
JLabel labe;
ImageIcon guImageIcon, tyokiImageIcon, paImageIcon;

public Janken_05() {
setSize(500, 400);
setLocationRelativeTo(null);
setLayout(new BorderLayout());

setPanel();
setAitePanel();
setImage();
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}

private void setImage() {
guImageIcon = new ImageIcon("guu_01.png");
tyokiImageIcon = new ImageIcon("cyoki_01.png");
paImageIcon = new ImageIcon("pa01.png");
}

private void setPanel() {
mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());
add(mainPanel, BorderLayout.CENTER);
labe = new JLabel();
mainPanel.add(labe, BorderLayout.CENTER);

setTeButton = new JButton("手を出す");
setTeButton.addActionListener(this);
add(setTeButton, BorderLayout.SOUTH);
}

private void setAitePanel() {
aitePanel = new JPanel();
aitePanel.setLayout(new GridLayout(1, 3));
add(aitePanel, BorderLayout.NORTH);

//じゃんけんの手
GuButton = new JRadioButton("グー");
TyokiButton = new JRadioButton("チョキ");
PaButton = new JRadioButton("パー");

aiteGroup = new ButtonGroup();
aiteGroup.add(GuButton);
aiteGroup.add(TyokiButton);
aiteGroup.add(PaButton);
aitePanel.add(GuButton);
aitePanel.add(TyokiButton);
aitePanel.add(PaButton);
}

@Override
public void actionPerformed(ActionEvent e) {
if(GuButton.isSelected()) {
//↓追加!!
labe.setIcon(guImageIcon);//グーを表示

}else if(PaButton.isSelected()) {
labe.setIcon(paImageIcon);//パーを表示

}else if(TyokiButton.isSelected()) {
labe.setIcon(tyokiImageIcon);//チョキを表示
}
}

public static void main(String[] args) {
new Janken_05();

}
}

大至急お願い致します。

また、画像を真ん中に持っていくのと、タイトルやアイコン/背景をつけるにはどうしたら良いでしょうか。
分んないので教えてください。

補足アイコンは変更はできました。

TyokiButton,new ImageIcon,tyokiImageIcon,aiteGroup.add,aitePanel.add,public Janken,JLabel.CENTER

閲覧数:
147
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

sintyokunaiさん

2015/9/2517:24:27

一度にやるのは大変だと思います。少しずつ進めましょう
まず、一番簡単なところから。
・タイトル
コンストラクタ内(public Janken_05() {の中)で
setTitle("じゃんけんゲーム");//追加

・アイコン
これもコンストラクタ内で・電卓のプログラムと同じです!!!
//アイコンの設定
java.net.URL url = クラス名.class.getResource("icon.png");//icon.pngを適切な位置へ配置する
this.setIconImage(java.awt.Toolkit.getDefaultToolkit().createImage(url));

・画像を真ん中に持っていく
labe = new JLabel();の下に
labe.setHorizontalAlignment(JLabel.CENTER);//追加!!! 水平方向で中央

まずここまでやってみましょう
背景画像ですが単純にaddしても背景画像or手の画像どちらかが表示されないと思います。正確に言えば上のコンポーネントが邪魔して見えません

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2015/9/28 10:00:16

おかげさまで背景なしのじゃんけんが出来ました。
ご協力ありがとうございます。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる