⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memory.java

📁 这是关于java编程的一本书书的源代码 一共有15章
💻 JAVA
字号:
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();
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -