じゃばばばば

Javaとかいろいろ

じゃんけんするだけのアプリ(pc用)

じゃんけんするだけのアプリ出来ました。

package swing.sample;

import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.Random;

public class jankengui implements ActionListener {
    int a=0;
    private JFrame mainFrame;
    private Container contentPane;
    private JTextArea textArea;
    private JScrollPane scrollPane;
    private JPanel buttonPane;
    private JButton Button1;
    private JButton Button2;
    private JButton Button3;

    public jankengui() {
        mainFrame = new JFrame("じゃんけん");
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        mainFrame.setSize(800, 600);
        mainFrame.setLocationRelativeTo(null);
        contentPane = mainFrame.getContentPane();
        textArea = new JTextArea();
        scrollPane = new JScrollPane(textArea);
        Button1 = new JButton("グー");
        Button2 = new JButton("チョキ");
        Button3 = new JButton("パー");
        Button1.addActionListener(this);
        Button2.addActionListener(this);
        Button3.addActionListener(this);
        buttonPane = new JPanel();
        buttonPane.add(Button1);
        buttonPane.add(Button2);
        buttonPane.add(Button3);
        contentPane.add(scrollPane, BorderLayout.CENTER);
        contentPane.add(buttonPane, BorderLayout.SOUTH);
        mainFrame.setVisible(true);
    }
    public void janken(int a){
        int cpu;
        Random rnd=new Random();
        cpu=rnd.nextInt(3);
        if(cpu==a){
            textArea.append("あいこ\n");
        }else{switch(cpu) {
        case 0: switch(a){
            case 1: textArea.append("負け\n");break;
            case 2: textArea.append("勝ち\n");break;
        }break;
        case 1: switch(a){
            case 0: textArea.append("勝ち\n");break;
            case 2: textArea.append("負け\n");break;
        }break;
        case 2: switch(a){
            case 0: textArea.append("負け\n");break;
            case 1: textArea.append("勝ち\n");break;
        }break;
        }
        }
    }

    public void actionPerformed(ActionEvent event) {
        if (event.getSource() == Button1) {
            a=0;
            janken(a);
        }
        if (event.getSource() == Button2) {
            a=1;
            janken(a);
        }
        if (event.getSource() == Button3) {
            a=2;
            janken(a);
        }
    }

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

public jankengui()

public void actionPerformed(ActionEvent event)

はActionListenerの使い方が分からなかったので
SwingでJavaに強くなる(4):Swingのイベント処理を知る (2/2) - @IT
こちらのサイトのコードをコピペ&改変して作らせて頂きました。

ボタンをクリックすると画像のように勝敗の結果がテキストエリアに追加されていきます。
f:id:oKiNaWa:20140927102526p:plain

今はまだ勝敗を文字で表示するだけですが、これからいろいろ機能を追加していこうと思います。