📄 configuration.java
字号:
/*
* Created on 2005-3-16
*/
package jcase.lianliankan;
import java.util.Hashtable;
import java.util.Properties;
import java.awt.BasicStroke;
import java.awt.Component;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Stroke;
import java.awt.Toolkit;
import java.io.IOException;
/**
* @author javacat
*
*/
public class Configuration {
/**
* get specified icon occording to the character
* @param c
* @return
*/
public static CharIcon getIcon(char c){
Object icon = icons.get(new Character(c));
if(null == icon){
try {
icon =iconImplementation.newInstance();
((CharIcon)icon).setChar(c);
} catch (InstantiationException e) {
e.printStackTrace();
icon = new SimpleCharIcon(c);
} catch (IllegalAccessException e) {
e.printStackTrace();
icon = new SimpleCharIcon(c);
}
icons.put(new Character(c),icon);
}
return (CharIcon)icon;
}
public static int getIconWidth(){
return iconWidth;
}
public static int getIconHeight(){
return iconHeight;
}
public static Image getImage(char c){
Character ch = new Character(c);
Image img = (Image)images.get(ch);
if(null == img){
img = Toolkit.getDefaultToolkit().getImage(
Configuration.class.getResource(configs.getProperty(c+".icon")));
images.put(ch,img);
}
return img;
}
private static Hashtable images = new Hashtable();
private static Hashtable icons= new Hashtable();
private static Properties configs;
private static int iconWidth,iconHeight;
private static Class iconImplementation;
private static Stroke stroke = new BasicStroke(2.0f);
private static int levels=0;
private static int credit=0;
static Image bg =null;
static{
reload();
}
public static void reload(){
try{
loadConfig();
} catch (IOException e) {
Log.log("Can't load config file(config.properties).",e);
}
}
private static void loadConfig() throws IOException
{
if(configs ==null){
// load config
configs = new Properties();
}
configs.load(Configuration.class.getResourceAsStream("/config.properties"));
iconWidth = Integer.parseInt(configs.getProperty("icon.width","40"));
iconHeight = Integer.parseInt(configs.getProperty("icon.height","40"));
try{ // load background iamge
String bgsrc = configs.getProperty("background");
if(null!=bgsrc && bgsrc.trim().length()>0){
bg = Toolkit.getDefaultToolkit().getImage(
Configuration.class.getResource(bgsrc));
}
}catch(Exception e){}
try{
iconImplementation = Class.forName(configs.getProperty("icon.implementation"));
}catch(Exception e){
iconImplementation = SimpleCharIcon.class;
}
//load images
}
/**
* 得到指定配置的属性
* @param key
* @return
*/
public static String getConfig(String key){
return configs.getProperty(key);
}
public static String getConfig(String key,String defaultValue){
return configs.getProperty(key,defaultValue);
}
public static int getLevels(){
if(levels==0){
levels = Integer.parseInt(configs.getProperty("levels","3"));
}
return levels;
}
public static int[] getDimension(int level){
String s = configs.getProperty("level."+level);
int index = s.indexOf('*');
int[] d = new int[2];
d[0]=Integer.parseInt(s.substring(0,index));
d[1]=Integer.parseInt(s.substring(index+1));
return d;
}
/**
* @return
*/
public static Stroke getLinkStroke() {
return stroke;
}
/**
* @return
*/
public static int getCredit() {
if(credit==0){
credit = Integer.parseInt(configs.getProperty("credit.seconds","3"));
}
return credit;
}
public static int getConfigedInt(String key,int defaultValue){
try{
String s = configs.getProperty(key);
return Integer.parseInt(s);
}catch(Exception e){
return defaultValue;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -