こんにちは、私はJavaのGUIを初めて使用し、スプラッシュ画面または画像を3秒間表示しようとしました。その後、メインプログラムに移動します。これを行う方法のアイデア、またはチュートリアルにリンクできますか?
これまで私はこれを行いましたが、ここからどこに行くべきかわかりません。
public static void main(String[] args)
{
splashInit(); // initialize splash overlay drawing parameters
appInit(); // simulate what an application would do
}
最も簡単な方法は、JFrame
を作成し、それにscreen
を追加してから、Thread.Sleep(long millies)
を使用することです。
このコードを試してください:
JWindow window = new JWindow();
window.getContentPane().add(
new JLabel("", new ImageIcon(new URL("http://docs.Oracle.com/javase/tutorial/uiswing/examples/misc/SplashDemoProject/src/misc/images/splash.gif")), SwingConstants.CENTER));
window.setBounds(500, 150, 300, 200);
window.setVisible(true);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
window.setVisible(false);
JFrame frame = new JFrame();
frame.add(new JLabel("Welcome"));
frame.setVisible(true);
frame.setSize(300,100);
window.dispose();
または次のことができます スプラッシュ画面の作成SplashScreen クラス
AWTベースのスプラッシュ機能については、 スプラッシュ画面の作成方法 も参照してください。
私はこのコードを使用します。たぶんあなたはいくつかの部分を変更する必要があります:
import javax.swing.*;
import Java.awt.*;
public class SplashScreen {
private final JWindow window;
private long startTime;
private int minimumMilliseconds;
public SplashScreen() {
window = new JWindow();
var image = new ImageIcon("C:\\example.jpg");
window.getContentPane().add(new JLabel("", image, SwingConstants.CENTER));
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
window.setBounds((int) ((screenSize.getWidth() - image.getIconWidth()) / 2),
(int) ((screenSize.getHeight() - image.getIconHeight()) / 2),
image.getIconWidth(), image.getIconHeight());
}
public void show(int minimumMilliseconds) {
this.minimumMilliseconds = minimumMilliseconds;
window.setVisible(true);
startTime = System.currentTimeMillis();
}
public void hide() {
long elapsedTime = System.currentTimeMillis() - startTime;
try {
Thread.sleep(Math.max(minimumMilliseconds - elapsedTime, 0));
} catch (InterruptedException e) {
e.printStackTrace();
}
window.setVisible(false);
}
}
そして、これがそれを使用する方法です:
var splash = new SplashScreen();
splash.show(2000);
// Initializing...
splash.hide();
これにより、スプラッシュが少なくとも2秒間表示されます。