0 0

JAVA swing JTree updateUI() 和 repaint()5

package com.hello.model;

import java.util.concurrent.TimeUnit;

import javax.swing.*;
import javax.swing.tree.*;

public class NewTree {

	JFrame frame = new JFrame();
	DefaultMutableTreeNode parent = new DefaultMutableTreeNode("baidu");
	DefaultMutableTreeNode child1 = new DefaultMutableTreeNode("sohu");
	DefaultMutableTreeNode child11 = new DefaultMutableTreeNode("sina");
	DefaultMutableTreeNode child12 = new DefaultMutableTreeNode("taobao");
	DefaultMutableTreeNode child2 = new DefaultMutableTreeNode("163");

	JTree tree = new JTree(parent);

	private void init() throws InterruptedException {
		
		parent.add(child1);
		parent.add(child2);

		child1.add(child11);
		child1.add(child12);

		tree.expandPath(new TreePath(child1.getPath()));

		frame.add(new JScrollPane(tree));
		frame.pack();
		frame.setVisible(true);
		
		TimeUnit.SECONDS.sleep(5);
		child1.remove(child11);
	        //tree.updateUI(); //1处代码可以更新UI
		tree.repaint();   //2处代码无法更新UI
	}

	public static void main(String[] args) throws InterruptedException {
		new NewTree().init();
	}
}



为什么1处代码可以更新UI,能够看到节点删除的效果,而2处就不可以?
2012年3月23日 21:54

1个答案 按时间排序 按投票排序

0 0

采纳的答案

updateUI()通常当look and feel发生变化时调用,从UIManager中获取新的L&F,应用到组件上,重绘的范围比较大,要稍微慢一些。repaint()只是通知RepaintManager重绘组件,不包括UI和布局的管理。

2012年3月24日 15:13

相关推荐

    java Swing JTree的教程实例

    总结来说,Java Swing的JTree组件是展示和操作层次数据的关键工具。掌握它的创建、显示、节点操作和编辑功能对于任何Java GUI开发者来说都是必要的。通过实例学习和实践,可以更好地理解和应用JTree在实际项目中的...

    java swing-jtree的用法

    总之,Java Swing的JTree组件是用于展示和操作层次数据的强大工具。通过组合使用不同的构造函数、TreeNode的实现以及事件监听机制,我们可以创建出符合用户需求的交互式树形界面。在设计和实现时,理解TreeNode接口...

    JAVA中的Swing的JTree操作的宝典

    本篇“JAVA中的Swing的JTree操作的宝典”将深入探讨如何进行树节点的增加、删除、修改和查询操作,帮助开发者更好地掌握JTree的高级用法。 1. **创建JTree** 创建JTree时,通常需要一个DefaultTreeModel或者自定义...

    directory-tree:具有文件系统目录层次结构的Java Swing JTree模型

    该项目的目标是提供具有文件系统目录层次结构的Java Swing JTree模型的高效且便捷的实现(例如,用于目录选择器组件)。 提供了一个演示应用程序。 参见org.swingk.io.dirtree.demo.Demo 。 该库被打包为Java 9...

    java Swing带复选框的树

    在描述中提到的“java Swing带复选框的树”,即在JTree的基础上增加了复选框功能,允许用户对树结构中的节点进行多选操作,这样的设计常见于文件管理器或配置设置界面。 复选框树的实现主要涉及到以下几个关键知识...

    java代码-使用java解决JTree JSON的源代码

    java代码-使用java解决JTree JSON的源代码 ——学习参考资料:仅用于个人学习使用!

    java swing漂亮界面 超酷 javaswing教程

    此外,Swing还提供了一些高级功能,如JTable用于显示和编辑表格数据,JTree用于展示树状结构的数据,以及JTabbedPane用于创建多标签界面。为了实现更酷炫的视觉效果,Swing还支持自定义外观(LookAndFeel),可以...

    Swing展示的文件系统树

    在Java的Swing库中,`JTree`组件是一个强大的工具,用于展示层次结构的数据,如文件系统目录结构。这个组件允许用户以图形化的方式浏览和操作这些数据,包括展开、折叠节点,以及选择和编辑特定节点。在"Swing展示的...

    java使用jtree动态实现二叉树

    在Java编程中,`JTree`是Swing库中的一个组件,用于展示树形数据结构。这个组件在GUI(图形用户界面)应用中非常常见,因为它可以清晰地展示层次关系的数据,比如文件系统目录结构。在Java中动态实现二叉树,即在...

    基于 java swing 开发的资源管理器。使用 java swing 美化包beautyeye对原生的 java.zip

    在Java Swing中,开发者可以使用JTree或JList组件来展示文件系统结构,结合JFileChooser对话框实现文件选择和打开。 4. **ZIP文件处理**:在Java中,处理ZIP文件主要涉及java.util.zip包。这个包提供了一些类,如...

    java swing tree树的懒加载

    在Swing中,`JTree`组件是用于显示和操作树形数据结构的控件。当我们处理大量数据时,一次性加载所有节点可能会导致性能问题,这时就需要用到“懒加载”(Lazy Loading)技术。 懒加载是一种优化策略,它只在需要时...

    Java swing+Jtree+Hibernate+Oracle企业人事管理系统

    结合Java Swing、JTree、Hibernate和Oracle,这个系统能够提供友好的用户界面、直观的组织结构展示、高效的数据持久化以及可靠的数据存储能力。 系统可能的架构包括: 1. 前端:使用Java Swing创建用户界面,JTree...

    java实验报告———JavaSwing编程.pdf

    - Java Swing库中的高级组件:除了JButton, JLabel, JTextField外,Swing还提供其他高级组件,例如JTable用于显示和编辑二维数据、JTree用于显示层次数据等。报告中可能会对这些组件进行探讨。 以上内容为根据给定...

    Java JTree+JTable应用

    在Java Swing库中,`JTree`和`JTable`是两种非常重要的组件,用于创建用户界面。`JTree`通常用于展示层次化的数据结构,而`JTable`则适用于二维表格数据的显示和操作。本项目是关于如何在Java应用程序中结合使用这两...

    The Definitive Guide to Java Swing Third Edition

    ### 《Java Swing 终极指南》第三版关键知识点概览 #### 一、书籍基本信息与版权信息 - **书名**:《Java Swing 终极指南》第三版 - **作者**:John Zukowski - **出版社**:本书由Springer-Verlag New York, Inc....

    《Java Swing(第二版)》

    在布局管理方面,《Java Swing(第二版)》会深入讨论不同的布局管理器,如FlowLayout、BorderLayout、GridLayout、CardLayout和BoxLayout,以及自定义布局管理器的实现。理解并熟练运用这些布局管理器,可以让你更好...

    JavaSwing界面设计(所有控件及示例)

    总结起来,Java Swing 提供了一整套组件和工具,用于创建丰富的图形用户界面,无论是在桌面应用还是轻量级应用中都有广泛的应用。理解和熟练掌握Swing,能够帮助开发者创建出高效、美观且易于使用的应用程序。

    Java Swing Menu组件,JTable组件,JTree组件小示例

    在Java Swing中,开发者可以使用一系列组件来构建用户界面,其中`JMenu`、`JTable`和`JTree`是三个非常关键的组件,它们在构建功能丰富的交互式应用中扮演着重要角色。 1. **JMenu组件**: `JMenu`组件用于创建...

Global site tag (gtag.js) - Google Analytics