Апплет SplashScreen, JWIndow? - PullRequest
       18

Апплет SplashScreen, JWIndow?

0 голосов
/ 01 марта 2010

Это мой третий ТАК вопрос. Пожалуйста, помогите еще раз ... Я хочу установить заставку на мой апплет. При этом я использовал компонент JWindow. Я уже использовал его при создании заставок для моего автономного Java-приложения, поэтому я подумал, что он также будет работать с апплетом. Проблема в том, что это не работает. Можно ли использовать Jwindow с апплетом? Есть ли лучший способ сделать это? TNX много!

Я создаю экземпляр объекта LoadingScreen в методе запуска апплета? Вот код:

public class LoadingScreen extends JWindow{
private static final long serialVersionUID = 1L;
private Image image1;
private ImageIcon icon1;

public LoadingScreen(){
//image = Toolkit.getDefaultToolkit().getImage("WebContent/images/loadbar.gif");
image1 = getImage(getCodeBase(), "images/loadbar.gif");

icon1= new ImageIcon(image1);
setSize(icon1.getIconWidth(), icon1.getIconHeight());
setLocationRelativeTo(null);
setVisible(true);

try{
//Make JWindow appear for 5 seconds before disappear
Thread.sleep(5000);
dispose();
System.exit(0);
 }catch(Exception exception){
exception.printStackTrace();
}
} 
 public void paint(Graphics g){
   super.paint(g);
   g.drawImage(image1,0,0,null);
}

}

Обновление! Задача решена. Вызов статического метода Thread.sleep внутри метода запуска апплета как бы останавливает загрузку ресурсов (изображения), поэтому он не отображается. Это было исправлено путем создания отдельного таймера Thread для выполнения фактического подсчета ... Просто, чтобы все знали ...:)

Ответы [ 2 ]

0 голосов
/ 11 марта 2010

Проблема решена. Вызов статического метода Thread.sleep внутри метода запуска апплета как бы останавливает загрузку ресурсов (изображения), поэтому он не отображается. Это было исправлено путем создания отдельного таймера Thread для выполнения фактического подсчета ... Просто, чтобы все знали ...:)

0 голосов
/ 01 марта 2010

Почему вы переопределили метод рисования (...) для отображения изображения? Добавьте ImageIcon в JLabel и добавьте метку в окно. Затем вы просто используете метод pack () для определения размера окна.

Я не знаю, работает ли JWindow или нет. Возможно, размер равен нулю, потому что изображение не было загружено при установке размера.

Или, вы можете попробовать использовать неокрашенный JFrame.

...