Часто у пользователей встает вопрос о том как сделать заставку в своем приложении, что бы оно смотрелось покрасивее и интереснее.В java на базе Swing имеется метод реализации собственных заставки. Это простое приложение, чтобы показать изображение, в центре экрана в течение времени, заданного в конструкторе. Этот класс включает в себя основной main() метод, чтобы проверить заставку, но она предназначается для использования с другими приложениями.
И так приступим к рассмотрению кода приложения:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
import java.awt.*; import javax.swing.*; public class SplashScreen extends JWindow { private int duration; public SplashScreen(int d) { duration = d; } // Простой способ показать центре экрана // сумму времени, указанного в конструкторе public void showSplash() { JPanel content = (JPanel)getContentPane(); content.setBackground(Color.white); // Устанавливаем границы окна, и производим центрирование окна int width = 450; int height =115; Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); int x = (screen.width-width)/2; int y = (screen.height-height)/2; setBounds(x,y,width,height); // Создания заставки JLabel label = new JLabel(new ImageIcon("java-tip.gif")); JLabel copyrt = new JLabel ("Copyright 2002, O'Reilly & Associates", JLabel.CENTER); copyrt.setFont(new Font("Sans-Serif", Font.BOLD, 12)); content.add(label, BorderLayout.CENTER); content.add(copyrt, BorderLayout.SOUTH); Color oraRed = new Color(156, 20, 20, 255); content.setBorder(BorderFactory.createLineBorder(oraRed, 10)); // Отображения setVisible(true); // Подождать некоторое время, возможно, во время загрузки ресурсов try { Thread.sleep(duration); } catch (Exception e) {} setVisible(false); } public void showSplashAndExit() { showSplash(); System.exit(0); } public static void main(String[] args) { // Маленький заголовок на экране SplashScreen splash = new SplashScreen(10000); // Как правило, мы вызываем splash.showSplash() splash.showSplashAndExit(); } } |