JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--JAVA技术--APPLET  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
[JAVA100例]076、在Applet中使用Swing
作者:     文章来源:
访问次数:527次     加入时间:2007年03月02日

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
import java.io.*;
import java.net.*;
import java.util.*;
import java.applet.*;
/**
 * <p>Title: Applet中使用SWING</p>
 * <p>Description: 使用SWING的JApplet实现树功能。</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Filename: PageTree.java</p>
 * @version 1.0
 */
public class PageTree extends JApplet implements TreeSelectionListener {
 DefaultMutableTreeNode[] nodeAt = new DefaultMutableTreeNode[256];
 String target = null;
 Hashtable links = new Hashtable();
 AppletContext context;
 public void init() {
  //获取Applet的内容
  context = getAppletContext();
  //定义根节点
  DefaultMutableTreeNode root = null;
  getContentPane().setLayout(new BorderLayout());
  //获取参数。定义的数据配置文件。
  String s = getParameter("file");
  if (s != null) {
   try {
    //使用URL方式打开数据文件,实现在网络上使用。
    URL url = new URL(getDocumentBase(), s);
    BufferedReader br = new BufferedReader(
     new InputStreamReader(url.openStream(), "JISAutoDetect"));
    //读取第一行数据,如果为空则不执行
    String line = br.readLine();
    if (line == null) return;
    root = new DefaultMutableTreeNode(line);
    nodeAt[0] = root;
    int level = 0;
    while ((line = br.readLine()) != null) {
     //使用“|”分开数据
     StringTokenizer st = new StringTokenizer(line, "|");
     String token = st.nextToken();
     int n = countSpaces(token);
     //添加节点名称
     DefaultMutableTreeNode node = new DefaultMutableTreeNode(token.trim());
     //计算节点级数
     for (int i = level + 1; i < n; i++) {
      DefaultMutableTreeNode dummy = new DefaultMutableTreeNode("");
      nodeAt[i].add(dummy);
      nodeAt[i+1] = dummy;
     }
     level = n;
     nodeAt[n].add(node);
     nodeAt[n+1] = node;
     //对“|”符号后的数据进行处理
     if (st.hasMoreTokens()) {
      token = st.nextToken();
      try {
       url = new URL(token.trim());
       links.put(node, url);
      } catch (MalformedURLException ex) {
       ex.printStackTrace();
      }
     }
    }
   } catch (MalformedURLException e) {
    e.printStackTrace();
   } catch (IOException e) {
    e.printStackTrace();
   }
   s = getParameter("target");
   if (s != null) target = s.trim();
   JTree tree = new JTree(root);
   //添加树的选择监听
   tree.addTreeSelectionListener(this);
   JScrollPane jsp = new JScrollPane(tree);
   getContentPane().add(jsp, BorderLayout.CENTER);
  }
 }
/**
 *<br>方法说明:计算空格数
 *<br>输入参数:
 *<br>返回类型:
 */ 
 private int countSpaces(String s) {
  int n = 0;
  while (s.charAt(n) == ´ ´) {
   n++;
  }
  return n;
 }
/**
 *<br>方法说明:树选择监听实现方法
 *<br>输入参数:TreeSelectionEvent e 选择树节点事件
 *<br>返回类型:
 */ 
 public void valueChanged(TreeSelectionEvent e) {
  TreePath path = e.getPath();
  Object o = path.getLastPathComponent();
  URL url = (URL)links.get(o);
  if (url != null) {
   System.out.println(links.get(o));
   //打开连接,通知浏览器加载网页(使用浏览器打开Applet的情况下)
   context.showDocument(url);
  }
 }


}

 
JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号