X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=inline;f=src%2Fmain%2Fjava%2Fde%2Ftodesbaum%2Futil%2Fimage%2FIconLoader.java;fp=src%2Fmain%2Fjava%2Fde%2Ftodesbaum%2Futil%2Fimage%2FIconLoader.java;h=ff6441af043cc8ce8bbcf3b2618b7e7c769859e5;hb=0e88169c3e8decfcd99f39f5ecf3a85df50c3fca;hp=0000000000000000000000000000000000000000;hpb=953de352675a4ad91fe307d816a4ea7780c94274;p=jSite.git diff --git a/src/main/java/de/todesbaum/util/image/IconLoader.java b/src/main/java/de/todesbaum/util/image/IconLoader.java new file mode 100644 index 0000000..ff6441a --- /dev/null +++ b/src/main/java/de/todesbaum/util/image/IconLoader.java @@ -0,0 +1,53 @@ +/* + * jSite - IconLoader.java - Copyright © 2006–2012 David Roden + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +package de.todesbaum.util.image; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; + +import javax.swing.Icon; +import javax.swing.ImageIcon; + +/** + * @author David Roden + * @version $Id$ + */ +public class IconLoader { + + public static Icon loadIcon(String resourceName) { + try { + InputStream resourceStream = IconLoader.class.getResourceAsStream(resourceName); + if (resourceStream == null) { + return null; + } + ByteArrayOutputStream imageOutput = new ByteArrayOutputStream(); + byte[] buffer = new byte[16384]; + int r = 0; + while ((r = resourceStream.read(buffer)) != -1) { + imageOutput.write(buffer, 0, r); + } + imageOutput.flush(); + return new ImageIcon(imageOutput.toByteArray()); + } catch (IOException e) { + } + return null; + } + +}