Author: jflesch
Date: 2007-01-02 22:24:00 +0000 (Tue, 02 Jan 2007)
New Revision: 11545
Added:
trunk/apps/Thaw/images/mainWindow.png
Modified:
trunk/apps/Thaw/src/thaw/core/Core.java
trunk/apps/Thaw/src/thaw/core/IconBox.java
trunk/apps/Thaw/src/thaw/core/SplashScreen.java
Log:
Improve splashscreen
Added: trunk/apps/Thaw/images/mainWindow.png
===================================================================
(Binary files differ)
Property changes on: trunk/apps/Thaw/images/mainWindow.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/apps/Thaw/src/thaw/core/Core.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/Core.java 2007-01-02 21:44:33 UTC (rev
11544)
+++ trunk/apps/Thaw/src/thaw/core/Core.java 2007-01-02 22:24:00 UTC (rev
11545)
@@ -98,15 +98,19 @@
* @return true is success, false if not
*/
public boolean initAll() {
+ IconBox.loadIcons();
+
splashScreen = new SplashScreen();
splashScreen.display();
splashScreen.setProgressionAndStatus(0, "Loading configuration
...");
+ splashScreen.addIcon(IconBox.settings);
if(!initConfig())
return false;
splashScreen.setProgressionAndStatus(10, "Connecting ...");
+ splashScreen.addIcon(IconBox.connectAction);
if(!initNodeConnection())
new WarningWindow(this,
I18n.getMessage("thaw.warning.unableToConnectTo")+
" "+ config.getValue("nodeAddress")+
@@ -114,10 +118,12 @@
splashScreen.setProgressionAndStatus(30, "Preparing the main
window ...");
+ splashScreen.addIcon(IconBox.mainWindow);
if(!initGraphics())
return false;
splashScreen.setProgressionAndStatus(40, "Loading plugins ...");
+ splashScreen.addIcon(IconBox.add);
if(!initPluginManager())
return false;
@@ -307,8 +313,6 @@
public boolean initGraphics() {
initializeLookAndFeel();
- IconBox.loadIcons();
-
mainWindow = new MainWindow(this);
configWindow = new ConfigWindow(this);
Modified: trunk/apps/Thaw/src/thaw/core/IconBox.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/IconBox.java 2007-01-02 21:44:33 UTC (rev
11544)
+++ trunk/apps/Thaw/src/thaw/core/IconBox.java 2007-01-02 22:24:00 UTC (rev
11545)
@@ -63,7 +63,10 @@
public static ImageIcon folderNew;
+ public static ImageIcon mainWindow;
+ public static ImageIcon add;
+
/**
* Not really used
*/
@@ -120,6 +123,7 @@
IconBox.indexBrowser = IconBox.loadIcon("indexBrowser.png");
IconBox.minIndexBrowser =
IconBox.loadIcon("min-indexBrowser.png");
IconBox.addToIndexAction = IconBox.loadIcon("add.png");
+ IconBox.add = IconBox.loadIcon("add.png");
IconBox.insertAndAddToIndexAction =
IconBox.loadIcon("index.png");
IconBox.makeALinkAction = IconBox.loadIcon("makeLink.png");
IconBox.reconnectAction = IconBox.loadIcon("refresh.png");
@@ -132,6 +136,7 @@
IconBox.folderNew = IconBox.loadIcon("folder-new.png");
IconBox.help = IconBox.loadIcon("help.png");
IconBox.minHelp = IconBox.loadIcon("min-help.png");
+ IconBox.mainWindow = IconBox.loadIcon("mainWindow.png");
}
}
Modified: trunk/apps/Thaw/src/thaw/core/SplashScreen.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/SplashScreen.java 2007-01-02 21:44:33 UTC
(rev 11544)
+++ trunk/apps/Thaw/src/thaw/core/SplashScreen.java 2007-01-02 22:24:00 UTC
(rev 11545)
@@ -1,6 +1,7 @@
package thaw.core;
import java.awt.BorderLayout;
+import java.awt.GridLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
@@ -9,37 +10,59 @@
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
+import javax.swing.ImageIcon;
+import java.util.Vector;
-
public class SplashScreen {
public final static int SIZE_X = 500;
- public final static int SIZE_Y = 100;
+ public final static int SIZE_Y = 150;
+ public final static int NMB_ICONS = 4;
public JDialog splashScreen;
public JProgressBar progressBar;
+ public JPanel iconPanel;
+ public int nmbIcon = 0;
+ public Vector emptyLabels;
+
public SplashScreen() {
}
public void display() {
final JPanel panel = new JPanel();
+ JPanel subPanel = new JPanel();
+ iconPanel = new JPanel();
+
splashScreen = new JDialog();
splashScreen.setUndecorated(true);
splashScreen.setResizable(false);
panel.setLayout(new BorderLayout(10, 10));
+ subPanel.setLayout(new GridLayout(2, 1));
+ iconPanel.setLayout(new GridLayout(1, NMB_ICONS));
+ emptyLabels = new Vector();
+ /* it's a dirty method to keep the NMB_ICONS parts of the panel
at the same size */
+ for (int i = 0 ; i < NMB_ICONS ; i++) {
+ JLabel lb = new JLabel();
+ emptyLabels.add(lb);
+ iconPanel.add(lb, i);
+ }
+
final JLabel thawLabel = new JLabel(" Thaw");
- thawLabel.setFont(new Font("Dialog", Font.BOLD, 30));
+ thawLabel.setFont(new Font("Dialog", Font.BOLD, 42));
- panel.add(thawLabel, BorderLayout.CENTER);
+ subPanel.add(thawLabel);
+ subPanel.add(iconPanel);
+ panel.add(subPanel, BorderLayout.CENTER);
+
progressBar = new JProgressBar(0, 100);
progressBar.setStringPainted(true);
progressBar.setString("Wake up Neo ...");
@@ -71,8 +94,28 @@
public void setProgression(final int progress) {
if(progressBar != null)
progressBar.setValue(progress);
+
+ splashScreen.getContentPane().validate();
}
+
+ public void addIcon(ImageIcon icon) {
+ JLabel lb = new JLabel(icon);
+
+ lb.setHorizontalAlignment(JLabel.CENTER);
+ lb.setVerticalAlignment(JLabel.CENTER);
+
+ iconPanel.remove((java.awt.Component)emptyLabels.get(0));
+
+ iconPanel.add(lb, nmbIcon);
+
+ emptyLabels.removeElementAt(0);
+
+ nmbIcon++;
+
+ splashScreen.getContentPane().validate();
+ }
+
public int getProgression() {
if(progressBar != null)
return progressBar.getValue();
@@ -84,6 +127,8 @@
public void setStatus(final String status) {
if(progressBar != null)
progressBar.setString(status);
+
+ splashScreen.getContentPane().validate();
}
public void setProgressionAndStatus(final int progress, final String
status) {