当前位置:  技术问答>java相关

我都帖了好几边了 ,大家谁能帮我解决JTREE刷新问题(100)酬谢

    来源: 互联网  发布时间:2017-04-25

    本文导语:  最好谁能给我一个刷新JTREE的代码段,本人不胜感激 | 看看有没有用,不知道你要干什么? import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.tree.*; public class TreeEditTest {  ...

最好谁能给我一个刷新JTREE的代码段,本人不胜感激

|
看看有没有用,不知道你要干什么?

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;

public class TreeEditTest
{  public static void main(String[] args)
   {  JFrame frame = new TreeEditFrame();
      frame.show();
   }
}

class TreeEditFrame extends JFrame
   implements ActionListener
{  public TreeEditFrame()
   {  setTitle("TreeEditTest");
      setSize(300, 200);
      addWindowListener(new WindowAdapter()
         {  public void windowClosing(WindowEvent e)
            {  System.exit(0);
            }
         } );

      // construct tree

      TreeNode root = makeSampleTree();
      model = new DefaultTreeModel(root);
      tree = new JTree(model);
      tree.setEditable(true);

      // add scroll pane with tree to content pane

      Container contentPane = getContentPane();
      JScrollPane scrollPane = new JScrollPane(tree);
      contentPane.add(scrollPane, "Center");

      // make button panel

      JPanel panel = new JPanel();
      addSiblingButton = new JButton("Add Sibling");
      addSiblingButton.addActionListener(this);
      panel.add(addSiblingButton);
      addChildButton = new JButton("Add Child");
      addChildButton.addActionListener(this);
      panel.add(addChildButton);
      deleteButton = new JButton("Delete");
      deleteButton.addActionListener(this);
      panel.add(deleteButton);
      contentPane.add(panel, "South");
   }

   public TreeNode makeSampleTree()
   {  DefaultMutableTreeNode root
         = new DefaultMutableTreeNode("World");
      DefaultMutableTreeNode country
         = new DefaultMutableTreeNode("USA");
      root.add(country);
      DefaultMutableTreeNode state
         = new DefaultMutableTreeNode("California");
      country.add(state);
      DefaultMutableTreeNode city
         = new DefaultMutableTreeNode("San Jose");
      state.add(city);
      city = new DefaultMutableTreeNode("Cupertino");
      state.add(city);
      state = new DefaultMutableTreeNode("Michigan");
      country.add(state);
      city = new DefaultMutableTreeNode("Ann Arbor");
      state.add(city);
      country = new DefaultMutableTreeNode("Germany");
      root.add(country);
      state = new DefaultMutableTreeNode("Schleswig-Holstein");
      country.add(state);
      city = new DefaultMutableTreeNode("Kiel");
      state.add(city);
      return root;
   }

   public void actionPerformed(ActionEvent event)
   {  DefaultMutableTreeNode selectedNode
         = (DefaultMutableTreeNode)
            tree.getLastSelectedPathComponent();

      if (selectedNode == null) return;

      if (event.getSource().equals(deleteButton))
      {  if (selectedNode.getParent() != null)
            model.removeNodeFromParent(selectedNode);
         return;
      }

      // add new node as sibling or child

      DefaultMutableTreeNode newNode
         = new DefaultMutableTreeNode("New");

      if (event.getSource().equals(addSiblingButton))
      {  DefaultMutableTreeNode parent
            = (DefaultMutableTreeNode)selectedNode.getParent();

         if (parent != null)
         {  int selectedIndex = parent.getIndex(selectedNode);
            model.insertNodeInto(newNode, parent,
               selectedIndex + 1);
         }
      }
      else if (event.getSource().equals(addChildButton))
      {  model.insertNodeInto(newNode, selectedNode,
            selectedNode.getChildCount());
      }

      // now display new node

      TreeNode[] nodes = model.getPathToRoot(newNode);
      TreePath path = new TreePath(nodes);
      tree.scrollPathToVisible(path);
   }

   private DefaultTreeModel model;
   private JTree tree;
   private JButton addSiblingButton;
   private JButton addChildButton;
   private JButton deleteButton;
   private JButton editButton;
}

    
 
 

您可能感兴趣的文章:

  • javamail问题,如果哪位老大帮忙解决了,一定酬谢!!
  • 关于linux的ftp服务器?解决问题者,重分酬谢。
  • 急,关于TCP滑动窗口!能解决,可RMB酬谢!
  • 紧急求助,有关mount刷新的问题!解决了还可以加分!
  • 大家帮我解决刷新率问题吧!
  • 解决ie动态修改link样式,import css不刷新的问题
  • jquery在firefox中刷新iframe页面,提示重复之前动作的解决方法
  • android中ListView多次刷新重复执行getView的解决方法
  • 显卡不支持,现在屏幕刷新率只有H40, V60有没有高手能帮我解决?
  • php后台经常提示无法连接mysql 刷新后又可以访问的解决方法
  • JSP刷新页面表单重复提交问题解决办法分享
  • asp.net页面刷新后字体等变大问题的解决方法
  • 【已解决】标签页刷新问题
  • 如何解决 asp.net 点击验证码不刷新的问题
  • c#(asp.net)防止刷新重复提交数据的解决方法
  • ASP.NET防止页面刷新的两种解决方法小结
  • 解决JSTL foEach标签 刷新报错的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 奇怪,怎么“已解决”问题只有4页(10/17日之后的),以前的已解决问题到哪里看?
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 硬盘分区后出现的问题,急待解决!!问题解决马上给分。
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 解决多级索引速度慢的问题可否像解决多级页表那样使用TLB?
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 呵呵,前段时间Ubuntu服务器版的问题总算解决了,解决方法就是重新安装桌面版-_-!
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • 问发这问题"arprequest : Invalid argument"的朋友,你的问题解决了吗?
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 现在在公司遇到一个解决不了的页面缓存问题,在线等到下班,谁解决谁100分
  • c/c++服务器程序内存泄露问题分析及解决
  • linux下的vi中的乱码问题(急急急,在线等待!!!!!!,解决问题给高分)
  • Linux 下c++开发error while loading shared libraries问题解决
  • 如何解决安装问题!!??
  • HTML <!DOCTYPE> 标签用法详解及如何解决<!DOCTYPE html>未声明时导致页面无效的问题
  • 超初级问题:显示乱码的问题怎么解决?
  • Windows C/ C++堆相关问题及解决思路
  • 有关ResultSet的问题,帮助解决问题者另外加分...
  • Andriod上ANR介绍及ANR问题解决方法
  • 亟待解决的问题!Makefile问题
  • secureCRT下Linux终端汉字乱码解决方法
  • VS2005解决方案管理器中不显示解决方案节点的解决办法
  • window.onload事件覆盖掉body onload事件(window.onload和html body onload事件冲突)解决办法
  • 有高手能破解RAR的密码吗,至今没有找到人能解决?(先只给10分意思意思,若解决,至少给解决的人500分!说话算话!)
  • andriod中UIScrollView无法正常滚动的解决方法
  • 解决 select 挡住div的解决方法
  • windows server2008上PowerBuilder程序系统错误解决方法
  • 解决!解决!求助如何安装多系统!
  • Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3