📄 showrecord.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 + -