2013-04-21 14 views
5

Witam, jestem nowy w GUI w Javie i starałem się, aby ekran powitalny lub obraz pojawił się przez 3 sekundy. Potem przejdzie do mojego głównego programu. Czy ktoś ma pomysły, jak to zrobić, czy może połączyć mnie z samouczkami?Jak zrobić ekran powitalny dla GUI?

Do tej pory zrobiłem to, ale nie wiem, dokąd się udać.

public static void main(String[] args) 
{ 
    splashInit();   // initialize splash overlay drawing parameters 
    appInit();    // simulate what an application would do 
} 
+2

Spróbuj [link] (http://docs.oracle.com/javase/tutorial/uiswing/misc/splashscreen.html) i [to], Przykład (http://docs.oracle .com/javase/tutorial/uiswing/examples/misc/SplashDemoProject/src/misc/SplashDemo.java) –

+0

Najprostszym sposobem jest uśpienie wątku na 3000 milisekund przed wyświetleniem aplikacji. 'Thread.sleep (3000);' –

+2

@GnomezGrave: lepiej użyć Swing Timer, jeśli nie chcesz wchodzić na wątek zdarzenia swing. –

Odpowiedz

8

najprostsza, jest stworzenie JFrame i dodaj swoją screen na niego a następnie użyć Thread.Sleep(long millies)

Spróbuj kod:

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(); 

Albo można Create a Splash Screen za pomocą SplashScreen klasę

+0

Dziękuję bardzo! –

+1

Jesteś mile widziany :) –

+7

Prawy pomysł, zły kierunek, nigdy nie dzwoń Thread.sleep w EDT lub twórz/modyfikuj komponenty Swing UI z zewnątrz EDT – MadProgrammer

3

Jest całkiem zejście początkujących samouczek here który wyjaśnia, jak stworzyć taki ekran, z krok po kroku, jak się tam dostać. Nie powiedziałbym, że nie zaszkodzi Google.

Powiązane problemy