package com.neusoft.test;

import java.awt.BorderLayout;
import java.awt.Choice;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel; public class Test05 extends JFrame implements ActionListener, ItemListener{
int m = 1;
int n = 2;
int peace = 0;
int win = 0;
int lose = 0;
int all = 0;
JButton jb1,jb2;
JLabel jl1,jl2,jl2i,jl3,jl3i,jl4,jl5;
ImageIcon img1,img2;
Choice ch;
JPanel jp1,jp2,jp3,jp4,jp5,jp6; public Test05(){
jb1 = new JButton("确定出拳");
jb2 = new JButton("退出"); //设置监听
jb1.addActionListener(this);
jb2.addActionListener(this); jl1 = new JLabel("猜拳小游戏");
jl2 = new JLabel("我方出拳");
jl3 = new JLabel("敌方出拳");
jl4 = new JLabel("请出拳...");
jl5 = new JLabel("您玩了"+all+"局,平了"+peace+"局,赢了"+win+"局,输了"+lose+"局"); System.out.println(m);
img1 = new ImageIcon("D:/mkn/test/img/"+m+".png");
img2 = new ImageIcon("D:/mkn/test/img/"+n+".png"); jl2i = new JLabel(img1);
jl3i = new JLabel(img2); ch = new Choice();
ch.add("石头");
ch.add("剪刀");
ch.add("布");
ch.addItemListener(this); jp1 = new JPanel(new BorderLayout());
jp2 = new JPanel();
jp3 = new JPanel(new BorderLayout());
jp4 = new JPanel(new BorderLayout());
jp5 = new JPanel(new GridLayout(5,1));
jp6 = new JPanel(new BorderLayout()); jp2.setSize(600, 25);
jp2.setBackground(Color.red);
jp3.setSize(280, 300);
jp4.setSize(280, 300);
jp5.setSize(40, 300);
jp6.setSize(600, 25);
// jp6.setBackground(Color.GRAY);
jp2.add(jl1); //标题
jp3.add(jl2,BorderLayout.NORTH); //
jp3.add(jl2i,BorderLayout.CENTER);
jp4.add(jl3,BorderLayout.NORTH);
jp4.add(jl3i, BorderLayout.CENTER);//敌方出拳
jp5.add(ch);
jp5.add(jb1);
jp5.add(jb2);
jp6.add(jl4,BorderLayout.WEST);
jp6.add(jl5,BorderLayout.EAST);//结果 jp1.add(jp2,BorderLayout.NORTH);
jp1.add(jp3,BorderLayout.WEST);
jp1.add(jp4,BorderLayout.CENTER);
jp1.add(jp5,BorderLayout.EAST);
jp1.add(jp6,BorderLayout.SOUTH); this.add(jp1); this.setTitle("猜拳小游戏");
this.setSize(540,300);
// this.setLayout(new BorderLayout());
this.setLocationRelativeTo(null); //居中
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setResizable(false); //窗口大小可变 } @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand()=="确定出拳"){
n = (int)(1+Math.random()*(3));
jl3i.setIcon(new ImageIcon("D:/mkn/test/img/"+n+".png"));
if (m - n == 0) {
jl4.setText("您和计算机平局");
peace++;
}
if (m - n == -1||m - n == 2) {
jl4.setText("您赢了!!!");
win++;
}
if (m - n == -2||m - n == 1) {
jl4.setText("您输了!!!");
lose++;
}
all++;
jl5.setText("您玩了"+all+"局,平了"+peace+"局,赢了"+win+"局,输了"+lose+"局");
// System.out.println(n);
}else{
this.dispose();
}
}
public static void main(String[] args) {
Test05 test05 = new Test05();
} @Override
public void itemStateChanged(ItemEvent e) {
if(e.getSource()==ch){
Choice temp=(Choice)e.getSource();
if (temp.getSelectedItem() == "石头") {
m = 1;
}
if (temp.getSelectedItem() == "剪刀") {
m = 2;
}
if (temp.getSelectedItem() == "布") {
m = 3;
}
jl2i.setIcon(new ImageIcon("D:/mkn/test/img/"+m+".png"));
// System.out.println(m);
} } }

运行结果:

最新文章

  1. 你可能不知道的陷阱, IEnumerable接口
  2. *HDU1325 并查集
  3. weblogic应用平台常见问题小结
  4. Linux 控制 配置 减少 交换分区 SWAP 虚拟内存使用
  5. Servlet、MySQL中文乱码
  6. jquery . fancybox()
  7. 程序猿都是project师吗?
  8. 表格无边框,有内框,在table嵌套时,防止出现重复边线
  9. ubuntu远程windows服务器
  10. Sublime Text 3 注册码
  11. 软工+C(2017第3期) 超链接
  12. leetcode每日刷题计划-简单篇day12
  13. checkbox选中相关问题总结
  14. WebView使用_WebView监听网页下载_DownloadManager使用
  15. Textview文字监控(输入到某个字符后,进行操作)
  16. WEB服务器控件对应生成的HTML标签 及最常应用事例
  17. Exchange 2010 服务器邮件传输配额设置详解
  18. Enumeration的学习
  19. appium+python自动化26-模拟手势点击坐标(tap)
  20. 安装MySQLdb模块遭遇"fatal error: my_config.h: No such file or directory"的处理

热门文章

  1. ztree树形图自定义图标在jeecg框架中不显示
  2. Azure 4月新公布
  3. Java线程堆栈分析
  4. Centos 7.0_64bit 下安装 Zabbix server 3.0服务器的安装
  5. Element-ui安装与使用(网站快速成型工具)
  6. COGS 2091. Asm.Def的打击序列
  7. Linux 使用第三方邮箱发邮件的设置
  8. IOS 打开照相机 打开相册
  9. percona-toolkit 工具集安装
  10. Linux 初学者:移动文件