[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

Splash (logo) screen in Java

Posted on 2000-03-26
1
Medium Priority
?
312 Views
Last Modified: 2012-05-04
How to display an application logo screen (a rectangular graphic) in Java? From what I know every Java application must start with a frame but I need to start it with some kind of container with no buttons or titlebars but with an image inside.
0
Comment
Question by:mrmind3
1 Comment
 
LVL 2

Accepted Solution

by:
stalefish earned 400 total points
ID: 2659369
I found this at http://www.tactika.com/realhome/realhome.html

import java.awt.*;
 import java.awt.event.*;

 public class Splash extends Window {
   private Image splashImage;
   private int imgWidth, imgHeight;
   private String imgName;
   private static final int BORDERSIZE = 5;
   private static final Color BORDERCOLOR = Color.blue;
   Toolkit tk;
 
   public Splash(Frame f, String imgName) {
     super(f);
     this.imgName = imgName;
     tk = Toolkit.getDefaultToolkit();
     splashImage = loadSplashImage();
     showSplashScreen();
     f.addWindowListener(new WindowListener());
     }
   public Image loadSplashImage() {
     MediaTracker tracker = new MediaTracker(this);
     Image result;
     result = tk.getImage(imgName);
     tracker.addImage(result, 0);
     try {
       tracker.waitForAll();
       }
     catch (Exception e) {
       e.printStackTrace();
       }
     imgWidth = result.getWidth(this);
     imgHeight = result.getHeight(this);
     return (result);
     }

   public void showSplashScreen() {
     Dimension screenSize = tk.getScreenSize();
     setBackground(BORDERCOLOR);
     int w = imgWidth + (BORDERSIZE * 2);
     int h = imgHeight + (BORDERSIZE * 2);
     int x = (screenSize.width - w) /2;
     int y = (screenSize.height - h) /2;
     setBounds(x, y, w, h);
     setVisible(true);
     }

   public void paint(Graphics g) {
     g.drawImage(splashImage, BORDERSIZE, BORDERSIZE,
       imgWidth, imgHeight, this);
     }

   class WindowListener extends WindowAdapter {
     public void windowActivated(WindowEvent we) {
       setVisible(false);
       dispose();
       }
     }
   }


The following example use this image  (jht.gif) as the splash image.

 import java.awt.*;
 import java.awt.event.*;

 public class TestSplash {
   MyFrame theFrame;
   
   
   public static void main (String args[]){
     TestSplash t = new TestSplash();
     t.createMainFrame();
     }
     
   private void createMainFrame() {
     theFrame = new MyFrame("A Dummy Frame");  
     theFrame.setVisible(true);
     }

 }

 class MyFrame extends Frame {
   Splash mySplash;
   public MyFrame(String title){
     super(title);
     addWindowListener
       (new WindowAdapter() {
         public void windowClosing(WindowEvent e) {
           System.exit(0);
           }
         }
        );
     mySplash = new Splash(this, "jht.gif");
     
     // dummy delay so we can see the Splash!
     for(int i = 0; i < 3000; i++) {
       System.out.println(i) ;
       }
     setSize(200,200);
     }      
   }
0

Featured Post

[Webinar] Improve your customer journey

A positive customer journey is important in attracting and retaining business. To improve this experience, you can use Google Maps APIs to increase checkout conversions, boost user engagement, and optimize order fulfillment. Learn how in this webinar presented by Dito.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
The viewer will learn how to implement Singleton Design Pattern in Java.
Suggested Courses

590 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question