package com;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Date;
/**
*/
class WelcomeJPanel{
private CardLayout cardLayout=new CardLayout();
private JPanel cardPanel=new JPanel(cardLayout);
private JScrollPane scrollPane=new JScrollPane();
private JPanel q=new JPanel();
private String username="";
private JButton stb,list;
private JButton clear,back,tryagain;
private JComboBox levelselect,levelnumselect;
private String levelname=null;
private String levelnum=null;
private String chars="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private Thread thread,thread2,thread3;
private Runnable runnable,runnable2,runnable3;
private JLabel letter;
private String resuu="";
private JPanel panel1,panel2,panel21,panel3,panel31;
private static JTextArea paiming=new JTextArea(30,30);
private JTextField result;
private JFrame jf;
private int type;
private Icon img1=new ImageIcon("image/zb.jpg");
private Icon success=new ImageIcon("image/success.jpg");
private Icon waitimage=new ImageIcon("image/hg.jpg");
private Icon errorimage=new ImageIcon("image/error.jpg");
private Icon success2=new ImageIcon("image/success2.jpg");
private static int gamerun=0;
private int a;
private StopTime stopTime=new StopTime();
private int gamenum=0;
public ImageIcon setimage(String path){
ImageIcon icon=new ImageIcon("image/"+path+".jpg");
return icon;
}
public WelcomeJPanel() {
//------------------------------------------------------JPanel1-------------------------------------------------------------------------------------------------
stb = new JButton("开始");
list = new JButton("英雄榜");
String level[] = {"——初级——", "——中级——", "——高级——"};
levelselect = new JComboBox(level);
levelselect.setBorder(BorderFactory.createTitledBorder("选择难度"));
levelname = levelselect.getSelectedItem().toString();
levelselect.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
levelname = levelselect.getSelectedItem().toString();
}
});
String num[]={"第 1 关","第 2 关","第 3 关","第 4 关","第 5 关"};
levelnumselect=new JComboBox(num);
levelnumselect.setBorder(BorderFactory.createTitledBorder("选择难度"));
levelnum=levelnumselect.getSelectedItem().toString();
levelnumselect.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
levelnum=levelnumselect.getSelectedItem().toString();
switch (levelnum){
case "第 1 关":
a=2;
break;
case "第 2 关":
a=4;
break;
case "第 3 关":
a=6;
break;
case "第 4 关":
a=8;
break;
case "第 5 关":
a=10;
break;
default:
System.err.println("关卡选择错误");
break;
}
resuu="";
result.setText(null);
System.out.println("难度已经改变 " + levelname+levelnum);
}
});
q.add(list);
q.add(levelselect);
q.add(levelnumselect);
q.add(stb);
panel1 = new JPanel();
panel1.setLayout(new BorderLayout());
panel1.add(q, BorderLayout.SOUTH);
JTextArea jta = new JTextArea(
"欢迎来到记忆测试系统\n" +
"记忆测试系统\n" +
"使用方法:选择难度等级——选择关卡——>开始\n" +
"答案不区分大小写\n"+
"\n\n\n" +
"已有:"+gamerun+"次挑战,其中挑战成功的请看英雄榜");
panel1.add(jta, BorderLayout.CENTER);
jta.setEditable(false);
paiming.setEditable(false);
stb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
gamerun++;
jta.setText(
"欢迎来到记忆测试系统\n" +
"记忆测试系统\n" +"使用方法:选择难度等级——选择关卡——>开始\n" +
"答案不区分大小写\n"+
"\n\n\n"
+"已有:"+gamerun+" 次挑战,其中挑战成功的请看英雄榜");
cardLayout.show(cardPanel, "2");
while (username.equals("")) {
username = JOptionPane.showInputDialog(null, "请输入玩家名以开始");
}
jf.setTitle("欢迎使用记忆测试系统"+"____玩家:"+username);
switch (levelname) {
case "——初级——":
type = 1;
result.setText("");
new Thread(runnable).start();
break;
case "——中级——":
type = 2;
result.setText("");
new Thread(runnable2).start();
break;
case "——高级——":
Object[] options1={"就是要装逼","吓死宝宝了","不好意思点错"};
int choose = JOptionPane.showOptionDialog(null, "装逼模式即将开启\n" + "是否继续", "最高难度", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,img1,options1,options1[0]);
switch (choose) {
case 0:
type = 3;
result.setText("");
new Thread(runnable3).start();
break;
case 1:
break;
case 2:
cardLayout.first(cardPanel);
break;
}
break;
default:
break;
}
}
});
list.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
paiming.setText(filedeal.showFile());
if(paiming.getText().equals(""))
JOptionPane.showMessageDialog(null,"历史等你创造");
else{
cardLayout.last(cardPanel);
}
}
});
//------------------------------------------------------JPanel2-------------------------------------------------------------------------------------------------
letter = new JLabel(" ");
letter.setFont(new Font("宋体",Font.BOLD, 35));
back=new JButton("返回");
back.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cardLayout.first(cardPanel);
}
});
tryagain=new JButton("重来");
panel21 = new JPanel();
JLabel resultname = new JLabel("你的答案");
result = new JTextField(20);
JButton
没有合适的资源?快使用搜索试试~ 我知道了~
基于Java的记忆测试系统的设计与实现
共17个文件
xml:8个
java:3个
jpg:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 92 浏览量
2024-05-20
13:08:01
上传
评论
收藏 57KB ZIP 举报
温馨提示
【作品名称】:基于Java的记忆测试系统的设计与实现 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:线程重启问题: 12-1 runnable 分出失败 加入重试按钮:获取前一次的等级标识,调用对应线程X————调试失败,原因:当线程的run()执行到最后一行,退出之后,这个线程就结束了,不能再通过start()方法重启,孩子能重新构造一个线程对象,再调用其start()方法来启动,当这个对象和原来的对象已经不痛。 获取前一次等级标识,新建线程,调用线程————调试成功,但是resu结果是几次线程的相加 增加变量resuu 线程运行时 resu加每个字符 在结束时resu结果赋值给resuu 同时resu置为“”,其他程序只调用resuu,resu改为局部声明——调试成功 提示框美化:加入图片,调整用户名输入在挑战成功之后——调试成功 返回键逻辑调整:不再是重新启动JFra
资源推荐
资源详情
资源评论
收起资源包目录
MemoryTest-code.zip (17个子文件)
MemoryTest-code
image
success2.jpg 33KB
error.jpg 11KB
src
META-INF
MANIFEST.MF 53B
com
filedeal.java 2KB
StopTime.java 1014B
WelcomeJPanel.java 20KB
readme 2KB
.idea
.name 10B
uiDesigner.xml 9KB
artifacts
MemoryTest1215_jar.xml 439B
misc.xml 873B
dataSources.xml 843B
compiler.xml 686B
modules.xml 260B
encodings.xml 159B
copyright
profiles_settings.xml 74B
MemoryTest.iml 532B
共 17 条
- 1
资源评论
MarcoPage
- 粉丝: 3401
- 资源: 4200
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java-leetcode题解之第173题二叉搜索树迭代器.zip
- java-leetcode题解之第100题相同的树.zip
- java-leetcode题解之第101题对称二叉树.zip
- java-leetcode题解之第128题最长连续序列.zip
- java-leetcode题解之第94题二叉树的中序遍历.zip
- java-leetcode题解之第98题验证二叉搜索树.zip
- java-leetcode题解之第200题岛屿数量.zip
- java-leetcode题解之第130题被围绕的区域.zip
- java-leetcode题解之第41题缺失的第一个正数.zip
- 英语词汇学习用软件-保存单词含义例句等
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功