From 35ac16bdff38d75ab22b82ca0017db03506da23b Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Sun, 27 Jul 2008 18:19:08 +0000 Subject: Created NetBeans project --- client/trunk/build.xml | 69 +++ client/trunk/manifest.mf | 3 + client/trunk/nbproject/build-impl.xml | 627 +++++++++++++++++++++ client/trunk/nbproject/genfiles.properties | 8 + client/trunk/nbproject/project.properties | 64 +++ client/trunk/nbproject/project.xml | 19 + .../services/org.jdesktop.application.Application | 1 + .../fourisland/instadisc/InstaDiscAboutBox.form | 203 +++++++ .../fourisland/instadisc/InstaDiscAboutBox.java | 137 +++++ .../src/com/fourisland/instadisc/InstaDiscApp.java | 44 ++ .../com/fourisland/instadisc/InstaDiscView.form | 168 ++++++ .../com/fourisland/instadisc/InstaDiscView.java | 207 +++++++ .../resources/InstaDiscAboutBox.properties | 14 + .../instadisc/resources/InstaDiscApp.properties | 11 + .../instadisc/resources/InstaDiscView.properties | 32 ++ .../com/fourisland/instadisc/resources/about.png | Bin 0 -> 8187 bytes .../instadisc/resources/busyicons/busy-icon0.png | Bin 0 -> 3588 bytes .../instadisc/resources/busyicons/busy-icon1.png | Bin 0 -> 3585 bytes .../instadisc/resources/busyicons/busy-icon10.png | Bin 0 -> 3568 bytes .../instadisc/resources/busyicons/busy-icon11.png | Bin 0 -> 3581 bytes .../instadisc/resources/busyicons/busy-icon12.png | Bin 0 -> 3589 bytes .../instadisc/resources/busyicons/busy-icon13.png | Bin 0 -> 3586 bytes .../instadisc/resources/busyicons/busy-icon14.png | Bin 0 -> 3586 bytes .../instadisc/resources/busyicons/busy-icon2.png | Bin 0 -> 3585 bytes .../instadisc/resources/busyicons/busy-icon3.png | Bin 0 -> 3572 bytes .../instadisc/resources/busyicons/busy-icon4.png | Bin 0 -> 3576 bytes .../instadisc/resources/busyicons/busy-icon5.png | Bin 0 -> 3580 bytes .../instadisc/resources/busyicons/busy-icon6.png | Bin 0 -> 3581 bytes .../instadisc/resources/busyicons/busy-icon7.png | Bin 0 -> 3598 bytes .../instadisc/resources/busyicons/busy-icon8.png | Bin 0 -> 3594 bytes .../instadisc/resources/busyicons/busy-icon9.png | Bin 0 -> 3581 bytes .../instadisc/resources/busyicons/idle-icon.png | Bin 0 -> 3360 bytes .../com/fourisland/instadisc/resources/splash.png | Bin 0 -> 21747 bytes 33 files changed, 1607 insertions(+) create mode 100644 client/trunk/build.xml create mode 100644 client/trunk/manifest.mf create mode 100644 client/trunk/nbproject/build-impl.xml create mode 100644 client/trunk/nbproject/genfiles.properties create mode 100644 client/trunk/nbproject/project.properties create mode 100644 client/trunk/nbproject/project.xml create mode 100644 client/trunk/src/META-INF/services/org.jdesktop.application.Application create mode 100644 client/trunk/src/com/fourisland/instadisc/InstaDiscAboutBox.form create mode 100644 client/trunk/src/com/fourisland/instadisc/InstaDiscAboutBox.java create mode 100644 client/trunk/src/com/fourisland/instadisc/InstaDiscApp.java create mode 100644 client/trunk/src/com/fourisland/instadisc/InstaDiscView.form create mode 100644 client/trunk/src/com/fourisland/instadisc/InstaDiscView.java create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/InstaDiscAboutBox.properties create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/InstaDiscApp.properties create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/InstaDiscView.properties create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/about.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon0.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon1.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon10.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon11.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon12.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon13.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon14.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon2.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon3.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon4.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon5.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon6.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon7.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon8.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon9.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/busyicons/idle-icon.png create mode 100644 client/trunk/src/com/fourisland/instadisc/resources/splash.png (limited to 'client') diff --git a/client/trunk/build.xml b/client/trunk/build.xml new file mode 100644 index 0000000..0d1ce86 --- /dev/null +++ b/client/trunk/build.xml @@ -0,0 +1,69 @@ + + + + + + Builds, tests, and runs the project InstaDisc. + + + diff --git a/client/trunk/manifest.mf b/client/trunk/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/client/trunk/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/client/trunk/nbproject/build-impl.xml b/client/trunk/nbproject/build-impl.xml new file mode 100644 index 0000000..3d947ad --- /dev/null +++ b/client/trunk/nbproject/build-impl.xml @@ -0,0 +1,627 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + diff --git a/client/trunk/nbproject/genfiles.properties b/client/trunk/nbproject/genfiles.properties new file mode 100644 index 0000000..2f0f521 --- /dev/null +++ b/client/trunk/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=cc16f453 +build.xml.script.CRC32=9d2b0f7e +build.xml.stylesheet.CRC32=be360661 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=cc16f453 +nbproject/build-impl.xml.script.CRC32=477290b4 +nbproject/build-impl.xml.stylesheet.CRC32=f1d9da08 diff --git a/client/trunk/nbproject/project.properties b/client/trunk/nbproject/project.properties new file mode 100644 index 0000000..cb41155 --- /dev/null +++ b/client/trunk/nbproject/project.properties @@ -0,0 +1,64 @@ +application.desc=A simple java desktop application based on Swing Application Framework +application.homepage=http://appframework.dev.java.net +application.title=Basic Application Example +application.vendor=Sun Microsystems Inc. +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/InstaDisc.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath=\ + ${libs.swing-app-framework.classpath} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.source=1.5 +javac.target=1.5 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir}:\ + ${libs.junit.classpath}:\ + ${libs.junit_4.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=com.fourisland.instadisc.InstaDiscApp +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project +# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value +# or test-sys-prop.name=value to set system properties for unit tests): +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/client/trunk/nbproject/project.xml b/client/trunk/nbproject/project.xml new file mode 100644 index 0000000..652e0df --- /dev/null +++ b/client/trunk/nbproject/project.xml @@ -0,0 +1,19 @@ + + + org.netbeans.modules.java.j2seproject + + + InstaDisc + 1.6.5 + + + + + + + + + + + + diff --git a/client/trunk/src/META-INF/services/org.jdesktop.application.Application b/client/trunk/src/META-INF/services/org.jdesktop.application.Application new file mode 100644 index 0000000..3e50bc1 --- /dev/null +++ b/client/trunk/src/META-INF/services/org.jdesktop.application.Application @@ -0,0 +1 @@ +com.fourisland.instadisc.InstaDiscApp \ No newline at end of file diff --git a/client/trunk/src/com/fourisland/instadisc/InstaDiscAboutBox.form b/client/trunk/src/com/fourisland/instadisc/InstaDiscAboutBox.form new file mode 100644 index 0000000..46e8a4d --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/InstaDiscAboutBox.form @@ -0,0 +1,203 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/client/trunk/src/com/fourisland/instadisc/InstaDiscAboutBox.java b/client/trunk/src/com/fourisland/instadisc/InstaDiscAboutBox.java new file mode 100644 index 0000000..1b8a978 --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/InstaDiscAboutBox.java @@ -0,0 +1,137 @@ +/* + * InstaDiscAboutBox.java + */ + +package com.fourisland.instadisc; + +import org.jdesktop.application.Action; + +public class InstaDiscAboutBox extends javax.swing.JDialog { + + public InstaDiscAboutBox(java.awt.Frame parent) { + super(parent); + initComponents(); + getRootPane().setDefaultButton(closeButton); + } + + @Action public void closeAboutBox() { + setVisible(false); + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + + closeButton = new javax.swing.JButton(); + javax.swing.JLabel appTitleLabel = new javax.swing.JLabel(); + javax.swing.JLabel versionLabel = new javax.swing.JLabel(); + javax.swing.JLabel appVersionLabel = new javax.swing.JLabel(); + javax.swing.JLabel vendorLabel = new javax.swing.JLabel(); + javax.swing.JLabel appVendorLabel = new javax.swing.JLabel(); + javax.swing.JLabel homepageLabel = new javax.swing.JLabel(); + javax.swing.JLabel appHomepageLabel = new javax.swing.JLabel(); + javax.swing.JLabel appDescLabel = new javax.swing.JLabel(); + javax.swing.JLabel imageLabel = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(com.fourisland.instadisc.InstaDiscApp.class).getContext().getResourceMap(InstaDiscAboutBox.class); + setTitle(resourceMap.getString("title")); // NOI18N + setModal(true); + setName("aboutBox"); // NOI18N + setResizable(false); + + javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(com.fourisland.instadisc.InstaDiscApp.class).getContext().getActionMap(InstaDiscAboutBox.class, this); + closeButton.setAction(actionMap.get("closeAboutBox")); // NOI18N + closeButton.setName("closeButton"); // NOI18N + + appTitleLabel.setFont(appTitleLabel.getFont().deriveFont(appTitleLabel.getFont().getStyle() | java.awt.Font.BOLD, appTitleLabel.getFont().getSize()+4)); + appTitleLabel.setText(resourceMap.getString("Application.title")); // NOI18N + appTitleLabel.setName("appTitleLabel"); // NOI18N + + versionLabel.setFont(versionLabel.getFont().deriveFont(versionLabel.getFont().getStyle() | java.awt.Font.BOLD)); + versionLabel.setText(resourceMap.getString("versionLabel.text")); // NOI18N + versionLabel.setName("versionLabel"); // NOI18N + + appVersionLabel.setText(resourceMap.getString("Application.version")); // NOI18N + appVersionLabel.setName("appVersionLabel"); // NOI18N + + vendorLabel.setFont(vendorLabel.getFont().deriveFont(vendorLabel.getFont().getStyle() | java.awt.Font.BOLD)); + vendorLabel.setText(resourceMap.getString("vendorLabel.text")); // NOI18N + vendorLabel.setName("vendorLabel"); // NOI18N + + appVendorLabel.setText(resourceMap.getString("Application.vendor")); // NOI18N + appVendorLabel.setName("appVendorLabel"); // NOI18N + + homepageLabel.setFont(homepageLabel.getFont().deriveFont(homepageLabel.getFont().getStyle() | java.awt.Font.BOLD)); + homepageLabel.setText(resourceMap.getString("homepageLabel.text")); // NOI18N + homepageLabel.setName("homepageLabel"); // NOI18N + + appHomepageLabel.setText(resourceMap.getString("Application.homepage")); // NOI18N + appHomepageLabel.setName("appHomepageLabel"); // NOI18N + + appDescLabel.setText(resourceMap.getString("appDescLabel.text")); // NOI18N + appDescLabel.setName("appDescLabel"); // NOI18N + + imageLabel.setIcon(resourceMap.getIcon("imageLabel.icon")); // NOI18N + imageLabel.setName("imageLabel"); // NOI18N + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(imageLabel) + .addGap(18, 18, 18) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(versionLabel) + .addComponent(vendorLabel) + .addComponent(homepageLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(appVersionLabel) + .addComponent(appVendorLabel) + .addComponent(appHomepageLabel))) + .addComponent(appTitleLabel, javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(appDescLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 266, Short.MAX_VALUE) + .addComponent(closeButton)) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(imageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(appTitleLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(appDescLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(versionLabel) + .addComponent(appVersionLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(vendorLabel) + .addComponent(appVendorLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(homepageLabel) + .addComponent(appHomepageLabel)) + .addGap(19, 19, Short.MAX_VALUE) + .addComponent(closeButton) + .addContainerGap()) + ); + + pack(); + }// //GEN-END:initComponents + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton closeButton; + // End of variables declaration//GEN-END:variables + +} diff --git a/client/trunk/src/com/fourisland/instadisc/InstaDiscApp.java b/client/trunk/src/com/fourisland/instadisc/InstaDiscApp.java new file mode 100644 index 0000000..806460a --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/InstaDiscApp.java @@ -0,0 +1,44 @@ +/* + * InstaDiscApp.java + */ + +package com.fourisland.instadisc; + +import org.jdesktop.application.Application; +import org.jdesktop.application.SingleFrameApplication; + +/** + * The main class of the application. + */ +public class InstaDiscApp extends SingleFrameApplication { + + /** + * At startup create and show the main frame of the application. + */ + @Override protected void startup() { + show(new InstaDiscView(this)); + } + + /** + * This method is to initialize the specified window by injecting resources. + * Windows shown in our application come fully initialized from the GUI + * builder, so this additional configuration is not needed. + */ + @Override protected void configureWindow(java.awt.Window root) { + } + + /** + * A convenient static getter for the application instance. + * @return the instance of InstaDiscApp + */ + public static InstaDiscApp getApplication() { + return Application.getInstance(InstaDiscApp.class); + } + + /** + * Main method launching the application. + */ + public static void main(String[] args) { + launch(InstaDiscApp.class, args); + } +} diff --git a/client/trunk/src/com/fourisland/instadisc/InstaDiscView.form b/client/trunk/src/com/fourisland/instadisc/InstaDiscView.form new file mode 100644 index 0000000..90b1160 --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/InstaDiscView.form @@ -0,0 +1,168 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/client/trunk/src/com/fourisland/instadisc/InstaDiscView.java b/client/trunk/src/com/fourisland/instadisc/InstaDiscView.java new file mode 100644 index 0000000..3b4daf4 --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/InstaDiscView.java @@ -0,0 +1,207 @@ +/* + * InstaDiscView.java + */ + +package com.fourisland.instadisc; + +import org.jdesktop.application.Action; +import org.jdesktop.application.ResourceMap; +import org.jdesktop.application.SingleFrameApplication; +import org.jdesktop.application.FrameView; +import org.jdesktop.application.TaskMonitor; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.Timer; +import javax.swing.Icon; +import javax.swing.JDialog; +import javax.swing.JFrame; + +/** + * The application's main frame. + */ +public class InstaDiscView extends FrameView { + + public InstaDiscView(SingleFrameApplication app) { + super(app); + + initComponents(); + + // status bar initialization - message timeout, idle icon and busy animation, etc + ResourceMap resourceMap = getResourceMap(); + int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout"); + messageTimer = new Timer(messageTimeout, new ActionListener() { + public void actionPerformed(ActionEvent e) { + statusMessageLabel.setText(""); + } + }); + messageTimer.setRepeats(false); + int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate"); + for (int i = 0; i < busyIcons.length; i++) { + busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]"); + } + busyIconTimer = new Timer(busyAnimationRate, new ActionListener() { + public void actionPerformed(ActionEvent e) { + busyIconIndex = (busyIconIndex + 1) % busyIcons.length; + statusAnimationLabel.setIcon(busyIcons[busyIconIndex]); + } + }); + idleIcon = resourceMap.getIcon("StatusBar.idleIcon"); + statusAnimationLabel.setIcon(idleIcon); + progressBar.setVisible(false); + + // connecting action tasks to status bar via TaskMonitor + TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext()); + taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() { + public void propertyChange(java.beans.PropertyChangeEvent evt) { + String propertyName = evt.getPropertyName(); + if ("started".equals(propertyName)) { + if (!busyIconTimer.isRunning()) { + statusAnimationLabel.setIcon(busyIcons[0]); + busyIconIndex = 0; + busyIconTimer.start(); + } + progressBar.setVisible(true); + progressBar.setIndeterminate(true); + } else if ("done".equals(propertyName)) { + busyIconTimer.stop(); + statusAnimationLabel.setIcon(idleIcon); + progressBar.setVisible(false); + progressBar.setValue(0); + } else if ("message".equals(propertyName)) { + String text = (String)(evt.getNewValue()); + statusMessageLabel.setText((text == null) ? "" : text); + messageTimer.restart(); + } else if ("progress".equals(propertyName)) { + int value = (Integer)(evt.getNewValue()); + progressBar.setVisible(true); + progressBar.setIndeterminate(false); + progressBar.setValue(value); + } + } + }); + } + + @Action + public void showAboutBox() { + if (aboutBox == null) { + JFrame mainFrame = InstaDiscApp.getApplication().getMainFrame(); + aboutBox = new InstaDiscAboutBox(mainFrame); + aboutBox.setLocationRelativeTo(mainFrame); + } + InstaDiscApp.getApplication().show(aboutBox); + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + + mainPanel = new javax.swing.JPanel(); + menuBar = new javax.swing.JMenuBar(); + javax.swing.JMenu fileMenu = new javax.swing.JMenu(); + javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem(); + javax.swing.JMenu helpMenu = new javax.swing.JMenu(); + javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem(); + statusPanel = new javax.swing.JPanel(); + javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator(); + statusMessageLabel = new javax.swing.JLabel(); + statusAnimationLabel = new javax.swing.JLabel(); + progressBar = new javax.swing.JProgressBar(); + + mainPanel.setName("mainPanel"); // NOI18N + + javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); + mainPanel.setLayout(mainPanelLayout); + mainPanelLayout.setHorizontalGroup( + mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 400, Short.MAX_VALUE) + ); + mainPanelLayout.setVerticalGroup( + mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 252, Short.MAX_VALUE) + ); + + menuBar.setName("menuBar"); // NOI18N + + org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(com.fourisland.instadisc.InstaDiscApp.class).getContext().getResourceMap(InstaDiscView.class); + fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N + fileMenu.setName("fileMenu"); // NOI18N + + javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(com.fourisland.instadisc.InstaDiscApp.class).getContext().getActionMap(InstaDiscView.class, this); + exitMenuItem.setAction(actionMap.get("quit")); // NOI18N + exitMenuItem.setName("exitMenuItem"); // NOI18N + fileMenu.add(exitMenuItem); + + menuBar.add(fileMenu); + + helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N + helpMenu.setName("helpMenu"); // NOI18N + + aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N + aboutMenuItem.setName("aboutMenuItem"); // NOI18N + helpMenu.add(aboutMenuItem); + + menuBar.add(helpMenu); + + statusPanel.setName("statusPanel"); // NOI18N + + statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N + + statusMessageLabel.setName("statusMessageLabel"); // NOI18N + + statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); + statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N + + progressBar.setName("progressBar"); // NOI18N + + javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel); + statusPanel.setLayout(statusPanelLayout); + statusPanelLayout.setHorizontalGroup( + statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE) + .addGroup(statusPanelLayout.createSequentialGroup() + .addContainerGap() + .addComponent(statusMessageLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 226, Short.MAX_VALUE) + .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(statusAnimationLabel) + .addContainerGap()) + ); + statusPanelLayout.setVerticalGroup( + statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(statusPanelLayout.createSequentialGroup() + .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(statusMessageLabel) + .addComponent(statusAnimationLabel) + .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(3, 3, 3)) + ); + + setComponent(mainPanel); + setMenuBar(menuBar); + setStatusBar(statusPanel); + }// //GEN-END:initComponents + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JPanel mainPanel; + private javax.swing.JMenuBar menuBar; + private javax.swing.JProgressBar progressBar; + private javax.swing.JLabel statusAnimationLabel; + private javax.swing.JLabel statusMessageLabel; + private javax.swing.JPanel statusPanel; + // End of variables declaration//GEN-END:variables + + private final Timer messageTimer; + private final Timer busyIconTimer; + private final Icon idleIcon; + private final Icon[] busyIcons = new Icon[15]; + private int busyIconIndex = 0; + + private JDialog aboutBox; +} diff --git a/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscAboutBox.properties b/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscAboutBox.properties new file mode 100644 index 0000000..b76ddd5 --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscAboutBox.properties @@ -0,0 +1,14 @@ +title = About: ${Application.title} ${Application.version} + +closeAboutBox.Action.text = &Close + +appDescLabel.text=${Application.description} + +versionLabel.text=Product Version\: + +vendorLabel.text=Vendor\: + +homepageLabel.text=Homepage\: + +#NOI18N +imageLabel.icon=about.png diff --git a/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscApp.properties b/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscApp.properties new file mode 100644 index 0000000..8e3b5ef --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscApp.properties @@ -0,0 +1,11 @@ +# Application global resources + +Application.name = InstaDisc +Application.title = Basic Application Example +Application.version = 1.0 +Application.vendor = Sun Microsystems Inc. +Application.homepage = http\://appframework.dev.java.net/ +Application.description = A simple Java desktop application based on Swing Application Framework. +Application.vendorId = Sun +Application.id = ${Application.name} +Application.lookAndFeel = system diff --git a/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscView.properties b/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscView.properties new file mode 100644 index 0000000..9825f7e --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscView.properties @@ -0,0 +1,32 @@ +# Resources for the InstaDiscView class + +# top-level menus + +fileMenu.text = File +helpMenu.text = Help + +# @Action resources + +showAboutBox.Action.text = &About... +showAboutBox.Action.shortDescription = Show the application's information dialog + +# status bar resources + +StatusBar.messageTimeout = 5000 +StatusBar.busyAnimationRate = 30 +StatusBar.idleIcon = busyicons/idle-icon.png +StatusBar.busyIcons[0] = busyicons/busy-icon0.png +StatusBar.busyIcons[1] = busyicons/busy-icon1.png +StatusBar.busyIcons[2] = busyicons/busy-icon2.png +StatusBar.busyIcons[3] = busyicons/busy-icon3.png +StatusBar.busyIcons[4] = busyicons/busy-icon4.png +StatusBar.busyIcons[5] = busyicons/busy-icon5.png +StatusBar.busyIcons[6] = busyicons/busy-icon6.png +StatusBar.busyIcons[7] = busyicons/busy-icon7.png +StatusBar.busyIcons[8] = busyicons/busy-icon8.png +StatusBar.busyIcons[9] = busyicons/busy-icon9.png +StatusBar.busyIcons[10] = busyicons/busy-icon10.png +StatusBar.busyIcons[11] = busyicons/busy-icon11.png +StatusBar.busyIcons[12] = busyicons/busy-icon12.png +StatusBar.busyIcons[13] = busyicons/busy-icon13.png +StatusBar.busyIcons[14] = busyicons/busy-icon14.png diff --git a/client/trunk/src/com/fourisland/instadisc/resources/about.png b/client/trunk/src/com/fourisland/instadisc/resources/about.png new file mode 100644 index 0000000..c6dfe0a Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/about.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon0.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon0.png new file mode 100644 index 0000000..242c0c8 Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon0.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon1.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon1.png new file mode 100644 index 0000000..9f6f634 Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon1.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon10.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon10.png new file mode 100644 index 0000000..c4ef4a1 Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon10.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon11.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon11.png new file mode 100644 index 0000000..6eca1f5 Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon11.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon12.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon12.png new file mode 100644 index 0000000..e447ee8 Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon12.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon13.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon13.png new file mode 100644 index 0000000..848a6f1 Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon13.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon14.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon14.png new file mode 100644 index 0000000..7b3561d Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon14.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon2.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon2.png new file mode 100644 index 0000000..c866e62 Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon2.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon3.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon3.png new file mode 100644 index 0000000..9be22fa Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon3.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon4.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon4.png new file mode 100644 index 0000000..f07c20d Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon4.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon5.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon5.png new file mode 100644 index 0000000..653fc9c Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon5.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon6.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon6.png new file mode 100644 index 0000000..7035572 Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon6.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon7.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon7.png new file mode 100644 index 0000000..49fbc6e Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon7.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon8.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon8.png new file mode 100644 index 0000000..e1a5a40 Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon8.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon9.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon9.png new file mode 100644 index 0000000..8278012 Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/busy-icon9.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/busyicons/idle-icon.png b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/idle-icon.png new file mode 100644 index 0000000..50312f8 Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/busyicons/idle-icon.png differ diff --git a/client/trunk/src/com/fourisland/instadisc/resources/splash.png b/client/trunk/src/com/fourisland/instadisc/resources/splash.png new file mode 100644 index 0000000..a1fbdc1 Binary files /dev/null and b/client/trunk/src/com/fourisland/instadisc/resources/splash.png differ -- cgit 1.4.1