迷你Appletviewer : Applet程序 « 开发相关 « Java 教程

En
Java 教程
1. 语言基础
2. 数据类型
3. 操作符
4. 流程控制
5. 类定义
6. 开发相关
7. 反射
8. 正则表达式
9. 集合
10. 线
11. 文件
12. 泛型
13. 本土化
14. Swing
15. Swing事件
16. 二维图形
17. SWT
18. SWT 二维图形
19. 网络
20. 数据库
21. Hibernate
22. JPA
23. JSP
24. JSTL
25. Servlet
26. Web服务SOA
27. EJB3
28. Spring
29. PDF
30. 电子邮件
31. 基于J2ME
32. J2EE应用
33. XML
34. 设计模式
35. 日志
36. 安全
37. Apache工具
38. 蚂蚁编译
39. JUnit单元测试
Java
Java 教程 » 开发相关 » Applet程序 
6. 28. 8. 迷你Appletviewer
import java.applet.Applet;
import java.applet.AppletContext;
import java.applet.AppletStub;
import java.applet.AudioClip;
import java.awt.BorderLayout;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Enumeration;
import java.util.Iterator;

import javax.swing.JFrame;

public class MinAppletviewer {
  public static void main(String args[]) throws Exception {
    AppSupport theAppSupport = new AppSupport();
    JFrame f = new JFrame();
    URL toload = new URL(args[0]);
    String host = toload.getHost();
    int port = toload.getPort();
    String protocol = toload.getProtocol();
    String path = toload.getFile();
    int join = path.lastIndexOf('/');
    String file = path.substring(join + 1);
    path = path.substring(0, join + 1);

    theAppSupport.setCodeBase(new URL(protocol, host, port, path));
    theAppSupport.setDocumentBase(theAppSupport.getCodeBase());

    URL[] bases = theAppSupport.getCodeBase() };
    URLClassLoader loader = new URLClassLoader(bases);
    Class theAppletClass = loader.loadClass(file);
    Applet theApplet = (Applet) (theAppletClass.newInstance());

    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    f.add(theApplet, BorderLayout.CENTER);

    theApplet.setStub(theAppSupport);

    f.setSize(200200);
    f.setVisible(true);
    theApplet.init();
    theApplet.start();
  }
}

class AppSupport implements AppletStub, AppletContext {
  private URL codeBase;

  private URL documentBase;

  public AppSupport() throws Exception {
    URL url = null;
    String urlpart = System.getProperty("user.dir");
    urlpart = urlpart.replace(File.separatorChar, '/');
    url = new URL("file://" + urlpart + "/");
    codeBase = documentBase = url;
  }

  public void appletResize(int w, int h) {
  }

  public AppletContext getAppletContext() {
    return (AppletContextthis;
  }

  public URL getDocumentBase() {
    return documentBase;
  }

  public void setDocumentBase(URL url) {
    documentBase = url;
  }

  public URL getCodeBase() {
    return codeBase;
  }

  public void setCodeBase(URL url) {
    codeBase = url;
  }

  public String getParameter(String s) {
    return null;
  }

  public boolean isActive() {
    return true;
  }

  public Applet getApplet(String name) {
    return null;
  }

  public Enumeration getApplets() {
    return new Enumeration() {
      public boolean hasMoreElements() {
        return false;
      }

      public Object nextElement() {
        return null;
      }
    };
  }

  public AudioClip getAudioClip(URL url) {
    return Applet.newAudioClip(url);
  }

  public Image getImage(URL url) {
    return Toolkit.getDefaultToolkit().getImage(url);
  }

  public void showDocument(URL url) {
  }

  public void showDocument(URL url, String target) {
  }

  public void showStatus(String status) {
    System.err.println(status);
  }

  public void setStream(String key, InputStream streamthrows IOException {
  }

  public InputStream getStream(String key) {
    return null;
  }

  public Iterator<String> getStreamKeys() {
    return null;
  }
}
6. 28. Applet程序
6. 28. 1. Applet程序
6. 28. 2. 一个真正的Applet程序
6. 28. 3. 添加JButton到JApplet
6. 28. 4. 访问applet的参数
6. 28. 5. 一个Swing为基础的程序骨架
6. 28. 6. Swing程序
6. 28. 7. 一个简单的Swing为基础的程序
6. 28. 8. 迷你Appletviewer
6. 28. 9. 战术游戏
6. 28. 10. WeatherWizard JApplet
6. 28. 11. 改变一个applet的背景颜色
6. 28. 12. 读取一个applet参数
6. 28. 13. 一个applet到JavaScript的方法调用
6. 28. 14. 参数传递到Java小程序
6. 28. 15. 在浏览器显示信息状态栏
6. 28. 16. Applet访问系统属性
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.