Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Засыпание потока для Splash Screen 
:(
    Опции темы
freshAngel
  Дата 9.10.2009, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Привет.
Подключаю Substance в отдельном потоке.
Код

public static void main(String[] args) {

JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);

SwingUtilities.invokeLater(new Runnable()
            {
            @Override
            public void run()
            {
                try   {
        UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceCremeCoffeeLookAndFeel");
                } catch (Exception e)
                {
                    e.printStackTrace();
                }
// Create splash

SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
splashWindow.setVisible(true);
}
});

// Засыпание 9 секунд...
try {
      Thread.sleep(9000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }



// Показ основного окна, тоже в отдельном потоке.

      }
      });


} // public static void main


Сплэшскрин не показывается!
Программа просто ждет 9 секунд, а потом показывает основное окно вместе со сплэш окном!
Как можно сделать правильную задержку!?
PM MAIL   Вверх
dorogoyIV
Дата 9.10.2009, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



Код

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class FreshAngelThreadTest extends JFrame
{
 public static void main(String [] args)
 {
  new Splash();
 }

 public static void showFrame()
 {
  FreshAngelThreadTest f = new FreshAngelThreadTest();
  f.setSize(400, 300);
  f.setDefaultCloseOperation(3);
  f.setLocationRelativeTo(null);
  f.setVisible(true);
 }
}

class Splash implements Runnable
{
 private static JDialog jd;
 private static int sleep = 3;

 Splash()
 {
  createDialog();
  new Thread(this).start();
 }

 private static void createDialog()
 {
  jd = new JDialog();
  jd.add(new JLabel("Wait ... (вместо JDialog можно воткнуть JWindow с картинкой)"));
  jd.pack();
  jd.setLocationRelativeTo(null);
  jd.setVisible(true);
 }

 public void run()
 {
  try
  {
   int i = 0;

   while(i <= sleep)
   {
    Thread.currentThread().sleep(1000);
    i++;

    if(i == sleep)
    {
     FreshAngelThreadTest.showFrame();
     jd.dispose();
     return;
    }
   }
  }
  catch(Exception ex)
  {
   System.out.println(ex);
  }
 }
}


Это сообщение отредактировал(а) dorogoyIV - 10.10.2009, 01:09
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.1798 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.