001 package org.util.env; 002 003 import java.util.*; 004 import java.io.*; 005 import java.net.*; 006 import java.awt.*; 007 import java.awt.event.*; 008 import javax.swing.*; 009 import javax.swing.event.*; 010 011 public class LaunchInformation { 012 013 private static boolean initialized_; 014 private static boolean jar_mode_; 015 private static URL jar_base_url_; 016 private static URL jar_parent_url_; 017 018 019 public static void init() { 020 if(initialized_) return ; 021 022 URL launch_information_class_url = ClassLoader.getSystemClassLoader().getResource("org/util/env/LaunchInformation.class"); 023 jar_mode_ = (launch_information_class_url.getProtocol().toLowerCase().equals("jar")); 024 025 if(jar_mode_) { 026 String licu_text = launch_information_class_url.toString(); 027 try{ 028 jar_base_url_ = new URL(licu_text.substring(0, licu_text.indexOf("!")+2)); 029 jar_parent_url_ = new URL(licu_text.substring(4, licu_text.indexOf("!"))); 030 }catch(Exception e){ 031 e.printStackTrace(); 032 } 033 System.out.println(jar_base_url_); 034 } 035 initialized_ = true; 036 } 037 038 public static boolean isJarMode() { 039 init(); 040 return jar_mode_; 041 } 042 public static URL getJarParentURL() { 043 init(); 044 return jar_parent_url_; 045 } 046 public static URL getJarBaseURL() { 047 init(); 048 return jar_base_url_; 049 } 050 public static URL createJarURL(String path) throws Exception { 051 init(); 052 return new URL(jar_base_url_, path); 053 } 054 public static URL createJarParentURL(String path) throws Exception { 055 init(); 056 return new URL(jar_parent_url_, path); 057 } 058 059 }