You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ap...@apache.org on 2007/12/28 21:17:35 UTC
svn commit: r607321 - in
/harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer:
AppletFrame.java AppletInfo.java ViewerAppletContext.java
ViewerAppletStub.java
Author: apetrenko
Date: Fri Dec 28 12:17:35 2007
New Revision: 607321
URL: http://svn.apache.org/viewvc?rev=607321&view=rev
Log:
Initial status bar implementation
Applet frames shutdown handler is implemented
Modified:
harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/AppletFrame.java
harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/AppletInfo.java
harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/ViewerAppletContext.java
harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/ViewerAppletStub.java
Modified: harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/AppletFrame.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/AppletFrame.java?rev=607321&r1=607320&r2=607321&view=diff
==============================================================================
--- harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/AppletFrame.java (original)
+++ harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/AppletFrame.java Fri Dec 28 12:17:35 2007
@@ -20,17 +20,27 @@
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Dimension;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowListener;
import java.net.URL;
import java.net.URLClassLoader;
+import java.util.HashSet;
import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.SwingConstants;
class AppletFrame extends JFrame {
private final AppletInfo appletInfo;
private final Applet applet;
+ private final JLabel statusLabel;
+
+ private static ShutdownHandler shutdownHandler = new ShutdownHandler();
public AppletFrame(AppletInfo appletInfo) throws Exception {
this.appletInfo = appletInfo;
+ shutdownHandler.addFrame(this);
// Load applet class
URL []urls = new URL[1];
@@ -42,8 +52,20 @@
// Create applet pane
setLayout(new BorderLayout());
+ JPanel appletPanel = new JPanel();
+ appletPanel.add(applet);
+ add(appletPanel, BorderLayout.CENTER);
applet.setPreferredSize(new Dimension(appletInfo.getWidth(), appletInfo.getHeight()));
- add(applet, BorderLayout.CENTER);
+
+ // Create status pane
+ JPanel panel = new JPanel();
+ statusLabel = new JLabel();
+ panel.add(statusLabel);
+ add(panel, BorderLayout.SOUTH);
+ appletInfo.setStatusLabel(statusLabel);
+
+ statusLabel.setMinimumSize(new Dimension(100, 40));
+ statusLabel.setHorizontalAlignment(SwingConstants.LEFT);
// Start applet and make frame visible
// Init should be called after pack to make components displayable
@@ -51,5 +73,38 @@
applet.init();
setVisible(true);
applet.start();
+ }
+
+ private static class ShutdownHandler implements WindowListener {
+ HashSet<JFrame> frameList = new HashSet<JFrame>();
+
+ public void windowActivated(WindowEvent e) {
+ }
+
+ public void windowClosed(WindowEvent e) {
+ }
+
+ public void windowClosing(WindowEvent e) {
+ frameList.remove(e.getWindow());
+ if (frameList.isEmpty())
+ System.exit(0);
+ }
+
+ public void windowDeactivated(WindowEvent e) {
+ }
+
+ public void windowDeiconified(WindowEvent e) {
+ }
+
+ public void windowIconified(WindowEvent e) {
+ }
+
+ public void windowOpened(WindowEvent e) {
+ }
+
+ public void addFrame(JFrame frame) {
+ frameList.add(frame);
+ frame.addWindowListener(this);
+ }
}
}
Modified: harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/AppletInfo.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/AppletInfo.java?rev=607321&r1=607320&r2=607321&view=diff
==============================================================================
--- harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/AppletInfo.java (original)
+++ harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/AppletInfo.java Fri Dec 28 12:17:35 2007
@@ -21,6 +21,8 @@
import java.net.URL;
import java.util.HashMap;
+import javax.swing.JLabel;
+
public class AppletInfo {
private static final int DEFAULT_WIDTH=300;
private static final int DEFAULT_HEIGHT=200;
@@ -31,6 +33,7 @@
private int width;
private int height;
private HashMap<String, String> params;
+ private JLabel statusLabel = null;
public AppletInfo() {
params = new HashMap<String, String>();
@@ -94,5 +97,14 @@
public void setHeight(String heightStr) {
this.height = (heightStr == null)?DEFAULT_HEIGHT:Integer.parseInt(heightStr);
+ }
+
+ public void setStatusLabel(JLabel statusLabel) {
+ this.statusLabel = statusLabel;
+ }
+
+ public void setStatus(String text) {
+ if (statusLabel != null)
+ statusLabel.setText(text);
}
}
Modified: harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/ViewerAppletContext.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/ViewerAppletContext.java?rev=607321&r1=607320&r2=607321&view=diff
==============================================================================
--- harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/ViewerAppletContext.java (original)
+++ harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/ViewerAppletContext.java Fri Dec 28 12:17:35 2007
@@ -29,7 +29,10 @@
import java.util.Iterator;
class ViewerAppletContext implements AppletContext {
- public ViewerAppletContext() {
+ private final AppletInfo appletInfo;
+
+ public ViewerAppletContext(AppletInfo appletInfo) {
+ this.appletInfo = appletInfo;
}
public Applet getApplet(String name) {
@@ -76,8 +79,6 @@
}
public void showStatus(String status) {
- // TODO Auto-generated method stub
-
+ appletInfo.setStatus(status);
}
-
}
Modified: harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/ViewerAppletStub.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/ViewerAppletStub.java?rev=607321&r1=607320&r2=607321&view=diff
==============================================================================
--- harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/ViewerAppletStub.java (original)
+++ harmony/enhanced/jdktools/trunk/modules/tools/src/main/java/org/apache/harmony/tools/appletviewer/ViewerAppletStub.java Fri Dec 28 12:17:35 2007
@@ -23,13 +23,17 @@
import java.awt.Dimension;
import java.net.URL;
+import javax.swing.JLabel;
+
class ViewerAppletStub implements AppletStub {
private final Component appletPane;
private final AppletInfo appletInfo;
+ private final AppletContext appletContext;
ViewerAppletStub(Component appletPane, AppletInfo appletInfo) {
this.appletPane = appletPane;
this.appletInfo = appletInfo;
+ this.appletContext = new ViewerAppletContext(appletInfo);
}
public boolean isActive() {
@@ -49,7 +53,7 @@
}
public AppletContext getAppletContext() {
- return new ViewerAppletContext();
+ return appletContext;
}
public void appletResize(int width, int height) {