我想爲我的Java應用程序創建啓動畫面。我設法使用NetBeans默認工具來完成此操作,該工具允許我放置一些圖像。但是,我希望有一些「活動」,例如顯示應用程序加載狀態的進度條,一些動態文本等。我的Java應用程序的動態啓動畫面
我該怎麼做?我需要知道什麼才能開始做這樣的事情?
我想爲我的Java應用程序創建啓動畫面。我設法使用NetBeans默認工具來完成此操作,該工具允許我放置一些圖像。但是,我希望有一些「活動」,例如顯示應用程序加載狀態的進度條,一些動態文本等。我的Java應用程序的動態啓動畫面
我該怎麼做?我需要知道什麼才能開始做這樣的事情?
關鍵是要建立一個飛濺然後使用swing調用屏幕,然後使用Java反射方法調用該方法,該方法位於另一個.java文件中,該方法會阻止該應用程序。加載完成後,處理你的啓動畫面。
檢查代碼後,您將瞭解它是如何工作的,現在按自己的方式進行自定義。
下面是一些代碼:
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JDialog;
/**
*
* @author martijn
*/
public class Splash {
public static void splash() {
try {
final BufferedImage img = ImageIO.read(Splash.class.getResourceAsStream("/path/to/your/splash/image/splash.png"));
JDialog dialog = new JDialog() {
@Override
public void paint(Graphics g) {
g.drawImage(img, 0, 0, null);
}
};
// use the same size as your image
dialog.setPreferredSize(new Dimension(450, 300));
dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
dialog.setUndecorated(true);
dialog.pack();
dialog.setLocationRelativeTo(null);
dialog.setVisible(true);
dialog.repaint();
try {
// Now, we are going to init the look and feel:
Class uim = Class.forName("javax.swing.UIManager");
uim.getDeclaredMethod("setLookAndFeel", String.class).invoke(null, (String) uim.getDeclaredMethod("getSystemLookAndFeelClassName").invoke(null));
// And now, we are going to invoke our loader method:
Class clazz = Class.forName("yourpackage.YourClass");
dialog.dispose();
// suppose your method is called init and is static
clazz.getDeclaredMethod("init").invoke(null);
} catch (Exception ex) {
ex.printStackTrace();
}
dialog.dispose();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
這裏是Java教程,引導你準確地完成你想要做的事情。你可以在命令行上設置的圖像,使其立即顯示,那麼你可以操縱它一旦JVM初始化添加文本,進度條等
http://download.oracle.com/javase/tutorial/uiswing/misc/splashscreen.html