[Java Swing 大富翁]Java常用的文件、图片、音频 ===通用工具类

/**
 * 该类用于处理项目资源的工具类
 * <p>
 * 要注意的是:项目资源必须要放到工程目录src下,也可以应用项目外部资源需指明绝对路径
 */
public class FileUtil {
	//项目文件必须位于src目录下的下列3个子文件夹之一
	private static final String FILE = "file/";	//存放普通文件
	private static final String IMAGE = "images/";	//存放图片文件
	private static final String AUDIO = "music/";	//存放音频文件
	private static final HashMap<String, String> MAP = new HashMap<String, String>();
	static {
		MAP.put("file", FILE);
		MAP.put("image", IMAGE);
		MAP.put("audio", AUDIO);
	}

	/**
	 * 返回资源文件的URL地址
	 * @param type 资源文件类型,包括文件、图片和音频
	 * @param path 资源文件路径 外部文件时要用绝对路径 (如 C:/me.jpg) 如果是内部文件则是文件名称(如:me.jpg)
	 * @return 资源文件的URL地址
	 */
    public static URL getURL(String type, String path) {
    	String dir = MAP.get(type);
    	return URLClassLoader.getSystemClassLoader().getResource(dir + path);
    }

    //获取文件资源
    public static File getFile(String path) {
    	URL url = getURL("file", path);
    	if (url == null) {
    		return null;
    	}
    	return new File(url.getFile());
    }

    //获取图片资源
    public static Image getImage(String path) {
    	URL url = getURL("image", path);
    	if(url == null) {
    		return null;
    	}
    	return Toolkit.getDefaultToolkit().getImage(url);
    }

    //获取音频资源
    public static AudioClip getAudio(String path) {
    	URL url = getURL("audio", path);
    	if(url == null) {
    		return null;
    	}
    	return Applet.newAudioClip(url);
    }

}

  用法简单明了。需要的朋友自取。

时间: 2024-08-29 22:15:34

[Java Swing 大富翁]Java常用的文件、图片、音频 ===通用工具类的相关文章

Java Swing界面编程(7)---JButton设置图片

package com.beyole.util; import java.awt.Font; import java.io.File; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; public class test5 { public static void main(String[] args) { JFrame fra

java swing几种常用容器简单实现

一:分隔面板 JSplitPanel 代码: import javax.swing.JFrame ; import javax.swing.JButton ; import javax.swing.JLabel ; import javax.swing.JPanel ; import javax.swing.JSplitPane ; import java.awt.Container ; class Tester { public static void main(String args[])

[Java Swing 大富翁] swing下使用JPanel 模拟 按钮实现。

按钮点击需要让jpanel实现鼠标点击事件.跟随着效果的切换,即可实现按钮的效果. 举个例子: 有一个"购买"按钮,images如下 normal:  mouseOver: disabled: pressed: 代码如下: public class ShopButton extends JPanel implements MouseListener { private Shop shopUI; private Image[] img; private Image normalImage

Java Swing中Substance常用皮肤

AutumnSkin; BusinessSkin; BusinessBlackSteelSkin; BusinessBlueSteelSkin; ChallengerDeepSkin; CremeSkin; CremeCoffeeSkin; EmeraldDuskSkin; FindingNemoSkin; FieldOfWheatSkin; GreenMagicSkin; MangoSkin; MagmaSkin; MistAquaSkin; MistSilverSkin; ModerateS

Java常用工具类---image图片处理工具类、Json工具类

package com.jarvis.base.util; import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;im

java socket通信-传输文件图片--传输图片

ClientTcpSend.java   客户端发送类 package com.yjf.test; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.net.InetSocketAddress; import java.net.Socket; public class ClientTcpSend { public static String clien

JFileChooser (Java Swing提供的文件选择对话框)

JFileChooser() 构造一个指向用户默认目录的 JFileChooser. JFileChooser(File currentDirectory) 使用给定的 File 作为路径来构造一个 JFileChooser. setFileSelectionMode(int mode) 设置 JFileChooser,以允许用户只选择文件.只选择目录,或者可选择文件和目录. mode参数:FILES_AND_DIRECTORIES   指示显示文件和目录. FILES_ONLY        

atitit.D&amp;D drag&amp;drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结

atitit.D&D drag&drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结 1. DND的操作流程 1 2. Html5 注解事件 document.dragover >>preventDefault 1 3. 代码(js) 1 4. C++ 实现拖曳 2 5. QT拖拽功能简介 - pcsuite的专栏 - 博客频道 - CSDN.NET.htm 2 1. DND的操作流程 Dragenter 事件::更改提示的颜色

Java Swing界面编程(5)---JLabel中设置图片

package com.beyole.util; import java.awt.Color; import java.io.File; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class test4 { public static void main(String[] args) { JFrame fra