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

📄 configuration.java

📁 一个JAVA写的连连看游戏,非常不错,是学习JAVA的好资料,值得下载
💻 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 + -