这期看标题已经能猜到了,主要讲的是成绩排行功能,还有对应的文件读写。那么废话不多说,让我们有请今天的主角...的设计稿:
那么主角是何方神圣呢?当然是图中的大框框——TableView。关于这个控件的选取没有太多讲究,你也可以用文本域,手动换行来显示。我只是觉得使用表格显示看起来更规范些。接下来考虑数据来源,最直接的来源是每局游戏结束后的用时。不过这还不够,想要有排行一条记录可不行,也就是我们还要保存以往的记录,一般来讲10条即可。至于采用何种方式存取,那就具体情况具体分析了。像这个只是我本人制作分享,采用文件存取能够演示功能就行。有些朋友可能是为了课程设计来学习,需要配合数据库使用也可以,下面来看看文件存取的代码实现。
首先就是文件和目录的创建问题,都开始写代码了就尽量把这些工作交给程序来完成:
static {
// 每次调用此类都先判断目录和文件是否存在
try {
File directory = new File(PREFIX + "/src/ranks");
if (!directory.exists() || !directory.isDirectory()) {
// 目录不存在, 自动创建
directory.mkdirs();
}
for (String path : RECORD_PATHS) {
path = PREFIX + path;
File file = new File(path);
if (!file.exists()) {
// 文件不存在, 自动创建
if (file.createNewFile()) {
// 创建成功, 写入内置数据
BufferedWriter writer = new BufferedWriter(new FileWriter(path));
for (int i = 0; i < 10; ++i) {
writer.write("未命名 999\n");
}
writer.flush();
writer.close();
}
}
}
} catch (Exception e) {
System.out.println("Erro