0

NetBeans プラットフォーム アプリケーションを作成しようとしています。独自のスプラッシュ スクリーンを作成しました。スプラッシュ スクリーンは、デフォルトの [About] ボックスに表示されます。

しかし、about ボックスをカスタマイズすると、NetBeans のデフォルトのスプラッシュ画面が表示されます。

これは私のスプラッシュ画像の場所です。 branding/core/core.jar/org/netbeans/core/startup/splash.gif

これが私がそれにアクセスしようとして失敗した方法です。

getClass().getResource("/org/netbeans/core/startup/splash.gif")

カスタム アバウト ボックスに私のスプラッシュ画像を表示するのを手伝ってくれませんか?

4

2 に答える 2

2

はい、簡単です。右クリックしてプロジェクト - アプリケーション -> ブランディング -> スプラッシュ画面 -> ブラウズします。..

于 2012-10-14T07:04:26.910 に答える
1

誤解を招いて申し訳ありません。

だからそれも簡単です。

1)アプリ/重要なファイル/プロジェクトのプロパティを変更するには、次の行を追加します:

#実行用

run.args=-J-Dnetbeans.mainclass=splah.CustomStartup --nosplash

#IDE から実行する場合

run.args.extra=-J-Dnetbeans.mainclass=splah.CustomStartup --nosplash

2) プロジェクト JavaApplication スプラーとクラス CustomStartup を作成し、jar をビルドして dist から App/ にコピーします。

package splah;

import java.awt.Dimension;
import java.awt.Toolkit;
import java.lang.reflect.Method;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JWindow;


public class CustomStartup {

private static final String NB_MAIN_CLASS = "org.netbeans.core.startup.Main";
private static final int width = 500, height = 400;

public static void main(String[] args) throws Exception {
    // do whatever you need here (e.g. show a custom login form)
    System.out.println("Hello world! I am a custom startup class");

    JDialog splash = new JDialog();
    splash.setUndecorated(true);
    //
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    splash.setBounds(width, height, (screenSize.width-width)/2, (screenSize.height-height)/2);
    splash.setVisible(true);

    // once you're done with that, hand control back to NetBeans
    ClassLoader classloader = Thread.currentThread().getContextClassLoader();
    Class<?> mainClass = Class.forName(NB_MAIN_CLASS, true, classloader);

    Object mainObject = mainClass.newInstance();
    Method mainMethod = mainClass.getDeclaredMethod("main", new Class[]{String[].class});
    mainMethod.invoke(mainObject, (Object) args);

    splash.setVisible(false);
   }
}

クラスは私の頭からではありません。どこかで見つけましたが、どこにあるか覚えていません。

ジルカ

于 2012-10-16T06:48:56.307 に答える