:あなたのボタンがopen.pngという名前のアイコンを使用して「開く」とします。
public class JarLocation {
public static void main(String[] args) {
new JarLocation().say();
}
public void say() {
String className = this.getClass().getName().replace('.', '/');
String classJar =
this.getClass().getResource("/" + className + ".class").toString();
if (classJar.startsWith("jar:")) {
System.out.println("*** running from jar!");
}
javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)
null, classJar, "jar location",
javax.swing.JOptionPane.DEFAULT_OPTION);
}
}
まず、現在のクラスの "パス"を "。"に置き換えます。 "/"によって、.classをリソースとして取得します。 jarファイルがあるディレクトリを取得するために与えられた文字列あなたのパースそこから
jar:file:/C:/temp/testing.jar!/my/package/JarLocation.class
:のtoString()メソッドは次のように返します。
コードの最初のチャンクはjarファイルで動作しますが、ファイルを移動しない限り、eclipseから実行するとブレークします。残念ながら、jar内のリソースをパッケージ化することは、ユーザーがそれらを構成する必要があるため、オプションではありません。 – job