Java-Work11-图形界面设计1(2)

package work11;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

@SuppressWarnings("serial")
public class Work11_2 extends JFrame implements ActionListener
{
int win, lose, score, draw;
JLabel label;
JTextArea textArea;
JButton scissors, stone, cloth, clear;
JPanel panel1, panel2;
JScrollPane jsp;

public Work11_2()
{
	setTitle("Small Game");
	setLocation(250, 250);
	setSize(350, 350);
	
	win = lose = score = draw = 0;
	
	panel1 = new JPanel();
	label = new 
			JLabel("赢: "+Integer.toString(win)+
			"  平: "+Integer.toString(draw)+
			"  输: "+Integer.toString(lose)+
			"  得分: "+Integer.toString(score));
	panel1.add(label);
	
	
	textArea = new JTextArea();
	textArea.setEditable(false);

// textArea.setLineWrap(true);
textArea.setBackground(Color.orange);
textArea.setFont(new Font("隶书", Font.BOLD, 21));
textArea.setForeground(Color.BLACK);
textArea.append("第"+Integer.toString(win+lose+draw+1)+"回合\n");
jsp = new JScrollPane(textArea);

	panel2 = new JPanel();
	scissors = new JButton("剪刀");
	stone = new JButton("石头");
	cloth = new JButton("布");
	clear = new JButton("清楚分数");
	scissors.addActionListener(this);
	stone.addActionListener(this);
	cloth.addActionListener(this);
	clear.addActionListener(this);
	panel2.add(scissors);
	panel2.add(stone);
	panel2.add(cloth);
	panel2.add(clear);
	
	add(panel1, BorderLayout.NORTH);
	add(jsp, BorderLayout.CENTER);
	add(panel2, BorderLayout.SOUTH);
}

@Override
public void actionPerformed(ActionEvent e)
{
	if(e.getSource() == scissors)
	{
		textArea.append("你出: 剪刀\n");
		int i = (int)(Math.random()*10%3);
		switch(i)
		{
			case 0:
				textArea.append("电脑出: 剪刀\n");
				textArea.append("结果: 平\n");
				draw += 1;
				break;
			case 1:
				textArea.append("电脑出: 石头\n");
				textArea.append("结果: 输\n");
				lose += 1;
				score -= 1;
				break;
			case 2:
				textArea.append("电脑出: 布\n");
				textArea.append("结果: 赢\n");
				win += 1;
				score += 2;
				break;
		}
	}
	else if(e.getSource() == stone)
	{
		textArea.append("你出: 石头\n");
		int i = (int)(Math.random()*10%3);
		switch(i)
		{
			case 0:
				textArea.append("电脑出: 剪刀\n");
				textArea.append("结果: 赢\n");
				win += 1;
				score += 2;
				break;
			case 1:
				textArea.append("电脑出: 石头\n");
				textArea.append("结果: 平\n");
				draw += 1;
				break;
			case 2:
				textArea.append("电脑出: 布\n");
				textArea.append("结果: 输\n");
				lose += 1;
				score -= 1;
				break;
		}
	}
	else if(e.getSource() == cloth)
	{
		textArea.append("你出: 布\n");
		int i = (int)(Math.random()*10%3);
		switch(i)
		{
			case 0:
				textArea.append("电脑出: 剪刀\n");
				textArea.append("结果: 输\n");
				lose += 1;
				score -= 1;
				break;
			case 1:
				textArea.append("电脑出: 石头\n");
				textArea.append("结果: 赢\n");
				win += 1;
				score += 2;
				break;
			case 2:
				textArea.append("电脑出: 布\n");
				textArea.append("结果: 平\n");
				draw += 1;
				break;
		}
	}
	else if(e.getSource() == clear)
	{
		win = 0;
		lose = 0;
		draw = 0;
		score = 0;
		textArea.setText("");
	}
	textArea.append("第"+Integer.toString(win+lose+draw+1)+"回合\n");
	label.setText("赢: "+Integer.toString(win)+
				"  平: "+Integer.toString(draw)+
				"  输: "+Integer.toString(lose)+
				"  得分: "+Integer.toString(score));
}

public static void main(String[] args)
{
	Work11_2 frame = new Work11_2();
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.setVisible(true);
}

}

上一篇:Python开发入门与实战20-微信开发配置


下一篇:程序改错——计算学生的总分和平均分