luffy520

posts(2) comments(0) trackbacks(0)
  • BlogJava
  • 联系
  • RSS 2.0 Feed 聚合
  • 管理

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔档案

  • 2005年12月 (2)

搜索

  •  

最新评论

阅读排行榜

评论排行榜

View Post

记忆力测试

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.LinkedList;
public class Memory extends JFrame implements ActionListener
{
  JMenuBar bar;
  JMenu fileMenu;
  JMenuItem 初级,中级,高级,初级排行榜,中级排行榜,高级排行榜;
  Block block[];
  ImageIcon icon[];
  MemoryTestPane 记忆测试板=null;
  File file初级=new File("初级记忆排行榜.txt"),
       file中级=new File("中级记忆排行榜.txt"),
       file高级=new File("高级记忆排行榜.txt");

  LinkedList 成绩表=null;
  ShowRecord 显示成绩表对话框=null;
  int m=5,n=6;                                       
  int 图标个数=0;
  Container con=null;
  JTextField 提示条=null;
  File gradeFile=null;           
  public  Memory()
  {
    block=new Block[m*n];
    图标个数=m;
    icon=new ImageIcon[图标个数];
    for(int i=0;i<icon.length;i++)
       {
         icon[i]=new ImageIcon("a"+i+".gif");
       }
    for(int i=0;i<block.length;i++)
       {
         block[i]=new Block();
         block[i].设置关闭时的图标(new ImageIcon("关闭.gif"));
       }
 
    bar=new JMenuBar();
    fileMenu=new JMenu("记忆力测试");
    初级=new JMenuItem("初级");
    中级=new JMenuItem("中级");
    高级=new JMenuItem("高级");
    fileMenu.setMnemonic('G');
    初级.setMnemonic('B');
    中级.setMnemonic('I');
    高级.setMnemonic('E');
    高级排行榜=new JMenuItem("高级排行榜");
    中级排行榜=new JMenuItem("中级排行榜");
    初级排行榜=new JMenuItem("初级排行榜");
    初级.setMnemonic('T');
    fileMenu.add(初级);
    fileMenu.add(中级);
    fileMenu.add(高级);
    fileMenu.add(初级排行榜);
    fileMenu.add(中级排行榜);
    fileMenu.add(高级排行榜);
    bar.add(fileMenu);
    setJMenuBar(bar);
    初级.addActionListener(this);
    中级.addActionListener(this);
    高级.addActionListener(this);
    初级排行榜.addActionListener(this);
    中级排行榜.addActionListener(this);
    高级排行榜.addActionListener(this);
    成绩表=new LinkedList();
    if(!file初级.exists())                        
     {
      try{
          FileOutputStream out=new FileOutputStream("初级记忆排行榜.txt");
          ObjectOutputStream object_out=new ObjectOutputStream(out);
          object_out.writeObject(成绩表);
          object_out.close();
          out.close();
         }
      catch(IOException e)
         {
         }
     }
     if(!file中级.exists())
     {
      try{
          FileOutputStream out=new FileOutputStream("中级记忆排行榜.txt");
          ObjectOutputStream object_out=new ObjectOutputStream(out);
          object_out.writeObject(成绩表);
          object_out.close();
          out.close();
         }
      catch(IOException e)
         {
         }
     }
     if(!file高级.exists())
     {
      try{
          FileOutputStream out=new FileOutputStream("高级记忆排行榜.txt");
          ObjectOutputStream object_out=new ObjectOutputStream(out);
          object_out.writeObject(成绩表);
          object_out.close();
          out.close();
         }
      catch(IOException e)
         {
         }
     }
    gradeFile=file初级;
    setBounds(100,100,300,260);
    setVisible(true);
    addWindowListener(new WindowAdapter()
      {
        public void windowClosing(WindowEvent e)
         {
          System.exit(0);
         }
      });
    con=getContentPane();
    记忆测试板=new MemoryTestPane(block,icon,m,n,gradeFile);
    提示条=new JTextField("初级:您需要连续找出"+6+"个相同图标的方块");
    提示条.setEditable(false);
    提示条.setForeground(Color.red);
    con.add(记忆测试板,BorderLayout.CENTER);
    con.add(提示条,BorderLayout.SOUTH);
    con.validate();
    this.validate();
 }
 public void 给出级别测试(int 宽,int 高,File f)
 {   
    m=宽;
    n=高;
    图标个数=m;
    gradeFile=f;
    block=new Block[m*n];
    icon=new ImageIcon[图标个数];
       for(int i=0;i<icon.length;i++)
       {
         icon[i]=new ImageIcon("a"+i+".gif");
       }
    for(int i=0;i<block.length;i++)
       {
         block[i]=new Block();
         block[i].设置关闭时的图标(new ImageIcon("关闭.gif"));
       }
    记忆测试板=new MemoryTestPane(block,icon,m,n,gradeFile);
    con.removeAll();
    con.add(记忆测试板,BorderLayout.CENTER);
    con.add(提示条,BorderLayout.SOUTH);
    con.validate();
    this.validate();
 }
 public void actionPerformed(ActionEvent event)
 {
   if(event.getSource()==初级)
       { 
         给出级别测试(5,6,file初级);
         setBounds(100,100,300,260);
         this.validate();
         提示条.setText("初级:您需要连续找出"+6+"个相同图标的方块");
       }
   if(event.getSource()==中级)
       {
         给出级别测试(6,7,file中级);
         setBounds(100,100,340,280);
         this.validate();
         提示条.setText("中级:您需要连续找出"+7+"个相同图标的方块");
       }
   if(event.getSource()==高级)
       { 
         给出级别测试(7,8,file高级);
         setBounds(100,100,360,300);
         this.validate();
         提示条.setText("高级:您需要连续找出"+8+"个相同图标的方块");
       }
   if(event.getSource()==高级排行榜)
       {
         显示成绩表对话框=new ShowRecord(this,file高级);
         显示成绩表对话框.setVisible(true);
       }
    if(event.getSource()==中级排行榜)
       {
         显示成绩表对话框=new ShowRecord(this,file中级);
         显示成绩表对话框.setVisible(true);
       }
     if(event.getSource()==初级排行榜)
       {
         显示成绩表对话框=new ShowRecord(this,file初级);
         显示成绩表对话框.setVisible(true);
       }
 }

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

posted on 2005-12-18 10:44 luffy520 阅读(585) 评论(0)  编辑  收藏

新用户注册  刷新评论列表  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问   管理
 
 
Powered by:
BlogJava
Copyright © luffy520