📄 appstate.java
字号:
//AppState.javapackage com.cy;import java.util.*;import java.io.*;public class AppState { static Vector userList; //普通用户数据容器 static Vector luckyUserList; //幸运用户数据容器 static String configFileName = "drawlot.cfg"; //配置文件名 static Properties configProps; //应用程序属性对象 static String dataFileName=null; //当前对应的数据文件名 static int currentSN=0; //用户编号,对每个用户唯一,通过系统自动生成 static MainFrame mainFrame=null; //主窗口对象 static int[] roundCount = {5,3}; //抽奖的轮数及每次抽出的奖项数 /** * 将参数装入系统 */ static void initConfig() throws Exception{ try { configProps=loadConfig(configFileName); loadParam(); } catch (Exception ex) { System.out.println("ERROR: CAN NOT LOAD THE CONFIGRATION"); System.exit(-1); } } /** * 将当前设置保存到配置文件 */ static void saveConfig(String fileName,Properties props) throws Exception { FileOutputStream out = new FileOutputStream(fileName); props.store(out,"-- Config File -- "); out.close(); } /** * 将配置文件内的内容读入系统 */ static Properties loadConfig(String fileName) throws Exception{ Properties props=new Properties(); FileInputStream in = new FileInputStream(fileName); props.load(in); in.close(); return props; } /** * 用读入的配置信息来设置程序的一些属性 */ static void loadParam(){ currentSN = Integer.parseInt((String)configProps.getProperty("CurrentSerialNumber")); dataFileName=(String)configProps.get("LastOpenedFile"); } /** * 保存当前程序的状态到程序属性对象中 */ static void saveParam(){ configProps.setProperty("CurrentSerialNumber",currentSN+""); configProps.setProperty("LastOpenedFile",dataFileName); } /** * 将数据文件装入 */ static void loadData(String fileName) throws Exception{ try { FileUtility.loadData(fileName); } catch (Exception ex) { System.out.println("Error: Load data file failed"); } userList = FileUtility.v1; luckyUserList = FileUtility.v2; if (userList==null){ userList= new Vector(); } if (luckyUserList==null){ luckyUserList= new Vector(); } } /** * 将当前系统内的数据保存到文件 */ static void saveData() throws Exception{ FileUtility.saveData(dataFileName,userList,luckyUserList); } /** * 保存当前设置到配置文件中 */ public static void saveConfig() throws Exception{ FileOutputStream out = new FileOutputStream(configFileName); configProps.setProperty("LastOpenedFile",dataFileName); configProps.setProperty("CurrentSerialNumber",currentSN+""); configProps.store(out,"No comments"); out.close(); } /** * 重新初始应用程序状态 */ public static void initState()throws Exception{ initConfig(); loadData(dataFileName); } /** * 将所有的状态清空 */ public static void resetAllState(){ setUserList(new Vector()); setLuckyUserList(new Vector()); setDataFileName(""); } public static int getCurrentSN(){ return currentSN; } public static void stepUpSN(){ currentSN++; } public static void addUser(UserInfo info){ userList.addElement(info); } public static void addLuckyUser(LuckyUserInfo info){ luckyUserList.addElement(info); } public static void removeUser(int index){ userList.remove(index); } public static void updateUser(UserInfo info,int index){ userList.setElementAt(info,index); } public static void setMainFrame(MainFrame frame){ mainFrame = frame; } public static MainFrame getMainFrame(){ return mainFrame; } public static Vector getLuckyUserList() { return luckyUserList; } public static void setLuckyUserList(Vector list) { luckyUserList = list; } public static Vector getUserList() { return userList; } public static void setUserList(Vector list) { userList = list; } public static String getDataFileName() { return dataFileName; } public static void setDataFileName(String name) { dataFileName = name; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -