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

📄 showrecord.java

📁 八皇后游戏
💻 JAVA
字号:
/*
 * ShowRecord.java
 *
 * Created on 2008年4月12日, 上午11:13
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package javaapplication15;
import java.io.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*; 

/**
 *
 * @author vivi
 */
public class ShowRecord extends JDialog implements ActionListener{                      //显示排行对话框
    File gradeFile=null;
    JButton sure,cancel;
    JTextArea show=null;
    /** Creates a new instance of ShowRecord */
    public ShowRecord(JFrame frame,File f) {
    super(frame,"英雄榜:"+f.toString());
    gradeFile=f;
    show=new JTextArea(6,4);
    sure=new JButton("显示排行榜");
    sure.addActionListener(this);
    cancel=new JButton("清除排行榜");
    cancel.addActionListener(this);
    Container con=getContentPane();
    con.add(new JScrollPane(show),BorderLayout.CENTER);
    JPanel p=new JPanel();
    p.add(sure);
    p.add(cancel);
    con.add(p,BorderLayout.SOUTH);
    setBounds(100,100,320,185);
    setVisible(false);
    setModal(true);
    
    addWindowListener(new WindowAdapter()
    {
        public void windowClosing(WindowEvent e)
        {
            setVisible(false);
            dispose();
        }
    } 
    
    );
    
    
    }

    public void actionPerformed(ActionEvent e) {                           //显示排行榜
        if(e.getSource()==sure)
        {
            try
            {
                show.setText(null);
                FileInputStream in=new FileInputStream(gradeFile);
                ObjectInputStream object_in=new ObjectInputStream(in);
                LinkedList scorelist=(LinkedList)object_in.readObject();
                object_in.close();
                sort(scorelist);
                for(int i=0;i<scorelist.size();i++)
                {
                    Player pl=(Player)scorelist.get(i);
                    show.append("\n"+"第"+(i+1)+"名"+"     "+pl.getName()+""+"成绩:"+""+pl.getTime()+"秒");
                    }
            }
      catch(Exception ee){
    }
 }
        if(e.getSource()==cancel)                                           //清除排行榜
        {
            try
            {
                FileInputStream in=new FileInputStream(gradeFile);
                ObjectInputStream object_in=new ObjectInputStream(in);
                LinkedList scorelist=(LinkedList)object_in.readObject();
                object_in.close();
                scorelist.clear();
                FileOutputStream out=new FileOutputStream(gradeFile);
                 ObjectOutputStream object_out=new ObjectOutputStream(out);
                 object_out.writeObject(scorelist);
                 out.close();
                 object_out.close();
                 show.setText("排行榜已被清空");
              }
            catch(Exception ee){
        }
    }
    }
    
    public void sort(LinkedList list)                                                  //成绩排序
    {
        for(int i=0;i<list.size()-1;i++)
        {
            for(int j=i+1;j<list.size();j++)
            {
                if(((Player)list.get(i)).getTime()>((Player)list.get(j)).getTime())
                {
                    Player temp=(Player)list.get(j);
                    list.set(j,(Player)list.get(i));
                    list.set(i,temp);
                }
            }
        }
         }
}

⌨️ 快捷键说明

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