我正在尝试创建NetBeans平台应用程序。我创建了自己的启动画面。初始屏幕显示在默认的关于框中。
但是当我自定义about框时,会出现NetBeans的默认启动画面。
这是我的飞溅img的位置。 的品牌/型芯/ core.jar添加/组织/ netbeans的/核心/启动/ splash.gif
这就是我试图访问它并失败的原因。
getClass().getResource("/org/netbeans/core/startup/splash.gif")
有人可以帮助我在关于盒子的习惯中使用img吗?
答案 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);
}
}
班级不是我的头脑,我发现它在某个地方,但我不记得在哪里。
日尔卡