This presentation guide you how to make a custom Splash Screen step by step using Java Programming. In addition, you will learn the concept and usage of Java Timer, Java Progress Bar and Window ...
3. Splash Screen Introduction
?A Splash Screen is an image that appears while a game or program is loading¡
?Splash Screens are typically used by particularly large applications to notify the user that the program is in the process of loading¡
?Also, sometimes can be used for the advertisement purpose ¡
3
https://www.facebook.com/Oxus20
7. Required Components to Build a Splash Screen
?JTimer
?JProgressBar
?JWindow
7
https://www.facebook.com/Oxus20
8. JTimer (Swing Timer)
?A Swing timer (an instance of javax.swing.Timer) fires one or more action events after a specified delay.
?Do not confuse Swing timers with the general-purpose timer facility in the java.util package.
?You can use Swing timers in two ways:
?To perform a task once, after a delay. For example, the tool tip manager uses Swing timers to determine when to show a tool tip and when to hide it.
?To perform a task repeatedly. For example, you might perform animation or update a component that displays progress toward a goal.
8
https://www.facebook.com/Oxus20
10. // Customize text field that shows the time.
timeField = new JTextField(5);
timeField.setEditable(false);
timeField.setFont(new Font("sansserif", Font.PLAIN, 48));
this.add(timeField);
// Create JTimer which calls action listener every second
Timer timer = new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// Get the current time and show it in the textfield
Calendar now = Calendar.getInstance();
int hour = now.get(Calendar.HOUR_OF_DAY);
int minute = now.get(Calendar.MINUTE);
int second = now.get(Calendar.SECOND);
timeField.setText("" + hour + ":" + minute + ":" + second);
}
});
timer.start();
this.pack();
this.setVisible(true);
}
10
https://www.facebook.com/Oxus20
11. public static void main(String[] args) {
new TextClockDemo();
}
}
11
https://www.facebook.com/Oxus20
13. JProgressBar
?A progress bar is a component in a Graphical User Interface (GUI) used to visualize the progression of an extended computer operation such as
?a download
?file transfer
?or installation
?Sometimes, the graphic is accompanied by a textual representation of the progress in a percent format.
13
https://www.facebook.com/Oxus20
14. JProgressBar Constructors:
?public JProgressBar()
JProgressBar aJProgressBar = new JProgressBar();
?public JProgressBar(int orientation)
JProgressBar aJProgressBar = new JProgressBar(JProgressBar.VERTICAL);
JProgressBar bJProgressBar = new JProgressBar(JProgressBar.HORIZONTAL);
?public JProgressBar(int minimum, int maximum)
JProgressBar aJProgressBar = new JProgressBar(0, 100);
?public JProgressBar(int orientation, int minimum, int maximum)
JProgressBar aJProgressBar = new JProgressBar(JProgressBar.VERTICAL, 0, 100);
?public JProgressBar(BoundedRangeModel model)
DefaultBoundedRangeModel model = new DefaultBoundedRangeModel(0, 0, 0, 250);
JProgressBar aJProgressBar = new JProgressBar(model);
14
https://www.facebook.com/Oxus20
15. JProgressBar Demo
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.Timer;
public class JProgressDemo extends JFrame {
private static JProgressBar progressBar;
private Timer timer;
private static int count = 1;
private static int PROGBAR_MAX = 100;
public JProgressDemo() {
this.setTitle("JProgress Bar Demo");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setSize(300, 80);
15
https://www.facebook.com/Oxus20
16. progressBar = new JProgressBar();
progressBar.setMaximum(100);
progressBar.setForeground(new Color(2, 8, 54));
progressBar.setStringPainted(true);
this.add(progressBar, BorderLayout.SOUTH);
timer = new Timer(300, new ActionListener() {
public void actionPerformed(ActionEvent ae) {
progressBar.setValue(count);
if (PROGBAR_MAX == count) {
timer.stop();
}
count++;
}
});
timer.start();
this.setVisible(true);
}
16
https://www.facebook.com/Oxus20
17. public static void main(String[] args) {
new JProgressDemo();
}
}
17
https://www.facebook.com/Oxus20
19. JWindow
?A Window object is a top-level window with no borders and no menubar.
?The default layout for a window is BorderLayout.
? JWindow is used in splash screen in order to not be able to close the duration of splash screen execution and progress.
19
https://www.facebook.com/Oxus20