SplashScreen extends JWindow : Splash Screen « Swing JFC « Java





SplashScreen extends JWindow

SplashScreen extends JWindow
       
//package com.towel.swing.splash;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;

import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JWindow;

public class SplashScreen extends JWindow {
  private JProgressBar bar;
  private JLabel label;

  public SplashScreen(final BufferedImage img) {
    JPanel panel = new JPanel() {
      public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g.create();

        g2d.drawImage(img, 0, 0, img.getWidth(), img.getHeight(),
            SplashScreen.this);
      }
    };
    panel.setPreferredSize(new Dimension(img.getWidth(), img.getHeight()));

    Container content = getContentPane();
    content.setLayout(new BorderLayout());
    content.add(panel, BorderLayout.NORTH);
    content.add(label = new JLabel(), BorderLayout.CENTER);
    content.add(bar = new JProgressBar(), BorderLayout.SOUTH);
    pack();
    setLocationRelativeTo(null);
  }

  public void setMessage(String msg) {
    label.setText(msg);
    pack();
  }

  public void setProgress(int prog) {
    bar.setValue(prog);
  }
  
  public void setIndeterminateProgress(boolean value){
    bar.setIndeterminate(value);
  }
}

   
    
    
    
    
    
    
  










Related examples in the same category

1.A simple application to show a title screen in the center of the screenA simple application to show a title screen in the center of the screen
2.A simple Splash screen
3.Simple splash screenSimple splash screen
4.A splash screen for an application
5.A progress bar indicating the progress of application initialization
6.Class representing an application splash screenClass representing an application splash screen
7.JSplash extends JWindow
8.Splash Screen based on JWindowSplash Screen based on JWindow