将自定义初始屏幕置于NetBeans平台应用程序中的自定义框中

时间:2012-08-20 13:18:21

标签: java netbeans-platform

我正在尝试创建NetBeans平台应用程序。我创建了自己的启动画面。初始屏幕显示在默认的关于框中。

但是当我自定义about框时,会出现NetBeans的默认启动画面。

这是我的飞溅img的位置。 的品牌/型芯/ core.jar添加/组织/ netbeans的/核心/启动/ splash.gif

这就是我试图访问它并失败的原因。

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

有人可以帮助我在关于盒子的习惯中使用img吗?

2 个答案:

答案 0 :(得分:2)

是的,很容易。只需右键单击项目 - 应用程序, - >品牌 - > splash scree - >浏览。 ..

答案 1 :(得分:1)

我很抱歉误会。

所以这也很容易。

1)您修改App /重要文件/项目属性添加以下行:

#for run

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

#从IDE运行

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

2)创建项目JavaApplication splah和类CustomStartup,然后从dist构建并复制jar到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);
   }
}

班级不是我的头脑,我发现它在某个地方,但我不记得在哪里。

日尔卡