create splash screen with java step by step

23
https://www.facebook.com/Oxus20 [email protected] JAVA Splash Screen » JTimer » JProgressBar » JWindow » Splash Screen Prepared By: Azita Azimi Edited By: Abdul Rahman Sherzad

Upload: abdul-rahman-sherzad

Post on 06-May-2015

2.118 views

Category:

Education


3 download

DESCRIPTION

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 ...

TRANSCRIPT

Page 1: Create Splash Screen with Java Step by Step

https://www.facebook.com/Oxus20

[email protected]

JAVA Splash Screen

» JTimer

» JProgressBar

» JWindow

» Splash Screen

Prepared By: Azita Azimi

Edited By: Abdul Rahman Sherzad

Page 2: Create Splash Screen with Java Step by Step

Agenda

» Splash Screen

˃ Introduction

˃ Demos

» JTimer

» JProgressBar

» JWindow

» Splash Screen Code

2

https://www.facebook.com/Oxus20

Page 3: Create Splash Screen with Java Step by Step

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

Page 4: Create Splash Screen with Java Step by Step

Splash Screen Demo

4

https://www.facebook.com/Oxus20

Page 5: Create Splash Screen with Java Step by Step

Splash Screen Demo

5

https://www.facebook.com/Oxus20

Page 6: Create Splash Screen with Java Step by Step

Splash Screen Demo

6

https://www.facebook.com/Oxus20

Page 7: Create Splash Screen with Java Step by Step

Required Components to Build a Splash Screen

» JTimer

» JProgressBar

» JWindow

7

https://www.facebook.com/Oxus20

Page 8: Create Splash Screen with Java Step by Step

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

Page 9: Create Splash Screen with Java Step by Step

Text Clock Demo import java.awt.FlowLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Calendar; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.Timer; class TextClockDemo extends JFrame { private JTextField timeField; public TextClockDemo() { // Customize JFrame this.setTitle("Clock Demo"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLayout(new FlowLayout()); this.setLocationRelativeTo(null); this.setResizable(false);

9

https://www.facebook.com/Oxus20

Page 10: Create Splash Screen with Java Step by Step

// 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

Page 11: Create Splash Screen with Java Step by Step

public static void main(String[] args) {

new TextClockDemo();

}

}

11

https://www.facebook.com/Oxus20

Page 12: Create Splash Screen with Java Step by Step

Text Clock Demo Output

12

https://www.facebook.com/Oxus20

Page 13: Create Splash Screen with Java Step by Step

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

Page 14: Create Splash Screen with Java Step by Step

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

Page 15: Create Splash Screen with Java Step by Step

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

Page 16: Create Splash Screen with Java Step by Step

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

Page 17: Create Splash Screen with Java Step by Step

public static void main(String[] args) {

new JProgressDemo();

}

}

17

https://www.facebook.com/Oxus20

Page 18: Create Splash Screen with Java Step by Step

JProgressBar Output

18

https://www.facebook.com/Oxus20

Page 19: Create Splash Screen with Java Step by Step

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

Page 20: Create Splash Screen with Java Step by Step

Splash Screen Code import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.JWindow; import javax.swing.Timer; public class SplashScreen extends JWindow { private static JProgressBar progressBar; private static int count = 1; private static int TIMER_PAUSE = 100; private static int PROGBAR_MAX = 105; private static Timer progressBarTimer;

20

https://www.facebook.com/Oxus20

Page 21: Create Splash Screen with Java Step by Step

public SplashScreen() { createSplash(); } private void createSplash() { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); JLabel splashImage = new JLabel(new ImageIcon(getClass().getResource("image.gif")));

panel.add(splashImage); progressBar = new JProgressBar(); progressBar.setMaximum(PROGBAR_MAX); progressBar.setForeground(new Color(2, 8, 54)); progressBar.setBorder(BorderFactory.createLineBorder(Color.black)); panel.add(progressBar, BorderLayout.SOUTH); this.setContentPane(panel); this.pack(); this.setLocationRelativeTo(null); this.setVisible(true); startProgressBar(); } 21

https://www.facebook.com/Oxus20

Page 22: Create Splash Screen with Java Step by Step

private void startProgressBar() {

progressBarTimer = new Timer(TIMER_PAUSE, new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

progressBar.setValue(count);

if (PROGBAR_MAX == count) {

SplashScreen.this.dispose();

progressBarTimer.stop();

}

count++;

}

});

progressBarTimer.start();

}

public static void main(String[] args) {

new SplashScreen();

}

} 22

https://www.facebook.com/Oxus20

Page 23: Create Splash Screen with Java Step by Step

END

https://www.facebook.com/Oxus20

23