JustinKSU рассмотрел техническую часть вопроса.
Лучшей стратегией было бы использование image
param
для отображения «всплеска» до появления апплета.См. Специальные атрибуты апплетов для получения дополнительной информации.
Я хочу один на фиксированный промежуток времени ... не только загрузка.
В этом случае поместите CardLayout
в апплет.Добавьте «всплеск» на первую карту, остальную часть графического интерфейса на другую.В конце init()
создайте неповторяющийся Swing Timer
, который будет переворачиваться на карту с основным графическим интерфейсом.
EG
// <applet code='SplashApplet' width='400' height='400'></applet>
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SplashApplet extends JApplet {
public void init() {
final CardLayout cardLayout = new CardLayout();
final JPanel gui = new JPanel(cardLayout);
JPanel splash = new JPanel();
splash.setBackground(Color.RED);
gui.add(splash, "splash");
JPanel mainGui = new JPanel();
mainGui.setBackground(Color.GREEN);
gui.add(mainGui, "main");
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent ae) {
cardLayout.show(gui, "main");
}
};
Timer timer = new Timer(3000, listener);
// only needs to be done once
timer.setRepeats(false);
setContentPane(gui);
validate();
timer.start();
}
}