- 浏览: 234734 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
annyliyear:
找到的ExtJS实现多选下拉框3个代码 -
yinboxian:
源码太乱了
JXTA中使用JxtaServerPipe和JxtaBiDiPipe实现双向可靠的通信 -
yinboxian:
我的peers第一次执行时可以得到正确的结果,以后就不行了。不 ...
JXTA中基于管道监听方式通信 -
cuizhenfu#gmail.com:
http://www.cnblogs.com/cuizhf
JXTA中使用JxtaServerPipe和JxtaBiDiPipe实现双向可靠的通信 -
luxing44530:
请问, jsp页面如果在 META-INF 中, 改怎么访问? ...
Servlet3.0 新特性之模块化实践
1 通过Java Swing实现的一个三态树组件,包括选择、去选择、半选择等状态,适合网管等C/S结构的软件
2 代码是整合完善多个版本/多位大侠的工作后,输出的一个较为满意的版本,还有很多值得优化的空间,欢迎大家修改完善。
3 大家在使用时放到一个包里即可运行, 三态树的节点为任意的Object,可以根据具体情况设置对象类型,可以很好的进行多态等处理, 代码简洁, Cell可以设置属性,可以根据具体情况扩展
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class FilterTreeCell
implements Cloneable
{
public static final int NONE_SELECT = 0;
public static final int ALL_SELECT = 1;
public static final int PART_SELECT = 2;
int iState;
Object filterObject;
private String attribute = null;
public FilterTreeCell(Object filterObject, int state)
{
iState = state;
this.filterObject = filterObject;
}
public FilterTreeCell(Object filterObject)
{
this(filterObject, NONE_SELECT);
}
public FilterTreeCell()
{
this(new String(), NONE_SELECT);
}
public Object getFilterObject()
{
return filterObject;
}
public void setFilterObject(Object filterObject)
{
this.filterObject = filterObject;
}
public String toString()
{
return filterObject.toString();
}
public void changeState()
{
if (iState == PART_SELECT || iState == ALL_SELECT)
{
changeState(NONE_SELECT);
}
else if (NONE_SELECT == iState)
{
changeState(ALL_SELECT);
}
}
public void changeState(int state)
{
if (iState == state)
{
return;
}
else
{
iState = state;
return;
}
}
public int getState()
{
return iState;
}
public Object clone()
{
FilterTreeCell newCell = null;
try
{
newCell = (FilterTreeCell)super.clone();
newCell.changeState(getState());
}
catch (Exception e)
{}
return newCell;
}
public boolean equals(Object obj)
{
if (obj instanceof FilterTreeCell)
{
return filterObject.equals( ( (FilterTreeCell) obj).filterObject);
}
else
{
return false;
}
}
/**
* @return Returns the attribute.
*/
public String getAttribute()
{
return attribute;
}
/**
* @param attribute The attribute to set.
*/
public void setAttribute(String attribute)
{
this.attribute = attribute;
}
}
import java.awt.*;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class FilterTreeCellRenderer
extends DefaultTreeCellRenderer
{
private JLabel label = new JLabel();
private JPanel panel = new JPanel();
private JCheckBox checkBox = new JCheckBox();
private Icon allSelectIcon = new ImageIcon(getClass().getResource("all.gif"));
private Icon partSelectIcon = new ImageIcon(getClass().getResource("part.gif"));
private Icon noneSelectIcon = new ImageIcon(getClass().getResource("none.gif"));
public FilterTreeCellRenderer()
{
setOpenIcon(null);
setClosedIcon(null);
setLeafIcon(null);
panel.setLayout(new FlowLayout(0, 0, 0));
panel.setBackground(getBackgroundNonSelectionColor());
checkBox.setPreferredSize(new Dimension(18, 18));
checkBox.setBorderPainted(false);
checkBox.setBackground(getBackgroundNonSelectionColor());
label.setBackground(getBackgroundNonSelectionColor());
panel.setBackground(getBackgroundNonSelectionColor());
panel.add(checkBox);
panel.add(label);
}
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded,
boolean leaf, int row, boolean hasFocus)
{
if (value instanceof DefaultMutableTreeNode)
{
Object obj = ( (DefaultMutableTreeNode) value).getUserObject();
if (obj instanceof FilterTreeCell)
{
FilterTreeCell cell = (FilterTreeCell) obj;
label.setText(cell.getFilterObject().toString());
int state = cell.getState();
switch (state)
{
case FilterTreeCell.NONE_SELECT:
checkBox.setSelected(false);
checkBox.setIcon(noneSelectIcon);
break;
case FilterTreeCell.PART_SELECT:
checkBox.setSelected(false);
checkBox.setIcon(partSelectIcon);
break;
case FilterTreeCell.ALL_SELECT:
checkBox.setSelected(true);
checkBox.setIcon(allSelectIcon);
break;
}
label.setEnabled(tree.isEnabled());
if (selected)
{
panel.setBackground(getBackgroundSelectionColor());
label.setForeground(getTextSelectionColor());
}
else
{
panel.setBackground(getBackgroundNonSelectionColor());
label.setForeground(getTextNonSelectionColor());
}
panel.setComponentOrientation(tree.getComponentOrientation());
return panel;
}
}
return super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
}
}
发表评论
-
内存池的实现原理
2024-04-07 16:20 01、内存池的概念 内存池是一种用于管理内存分配和释放的技术 ... -
Java NIO - Buffer
2024-04-06 18:06 0Java NIO中的Buffer用于和NIO通道进行交互。数 ... -
Java NIO - Socket通道
2024-04-06 01:11 01、新的Socket通道类可 ... -
Maven打成Zip包
2013-11-13 17:06 10748如果当前项目是使用Maven管理,并且需要打成Zip,按平 ... -
sigar开发注意点
2013-11-13 16:50 3167<dependency> < ... -
asfasdfasdfasdf
2012-10-11 21:48 0request.setCharacterEncoding(&q ... -
java.lang.NoClassDefFoundError: javax/persistence/EntityListener
2010-12-30 16:08 0正确答案是:添加hibernate3.5.*/lib/jpa/ ... -
共享spket和axis教程
2010-11-26 22:04 1212共享spket和axis教程 -
Try/catch/finally的另一种写法
2010-05-28 21:26 1700从学习Java以来,只是知道try/catch/finally ... -
如何在Eclipse安装反编译工具jad插件
2010-05-01 00:59 32941,将net.sf.jadclipse_3.3.0.jar拷贝 ... -
二分搜寻法(搜寻原则的代表)
2010-04-15 15:42 865如果搜寻的数列已经有排序,应该尽量利用它们已排序的特性,以减少 ... -
如何提高自己的Java编程水平
2010-04-09 00:21 116981. 扎实的基础。数 ... -
把多个任务分派给多个线程去执行
2010-03-28 17:38 2045要把多个任务分派给Java的多个线程去执行,这其中就会有一个任 ... -
剑客vs刀客 Java vs .NET之飘逸的Java
2010-03-28 11:42 708剑,一把好剑,重三两三分,轻如蝉翼,千年寒冰所铸,剑身咖啡色, ... -
Log4j基本使用方法
2010-03-28 10:57 812Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输 ... -
Directory Chooser API
2010-03-26 23:42 904Java swing provides File choose ... -
Java操作Word文档封装类
2010-03-25 18:46 1494基于开源项目jacob的基础上,封装了操作Word常用的方法和 ... -
[Java]双缓冲技术
2010-03-25 00:59 4387我们很多用Java中的g.drawImage()方法导入图像时 ... -
Java String转Date
2010-03-06 08:37 944Date date = new Date();String s ... -
利用Transaction ProxyFactoryBean 生成事务代理
2010-03-06 08:36 1298采用这种方式的配置时,其配置文件的增加非常快,每个bean 有 ...
相关推荐
Java GUI(图形用户界面)编程是开发桌面应用程序的重要部分,它可以提供丰富的用户交互体验。炫酷的皮肤包为GUI增加了视觉吸引力,使应用更具个性化。本皮肤包专注于为Java GUI应用提供美观、现代的设计元素,以...
《生命游戏:Java GUI实现与美观界面设计》 生命游戏,又称康威生命游戏,是英国数学家约翰·何顿·康威在1970年提出的一种简单的模拟生命现象的数学模型。在这个游戏中,细胞在二维网格上遵循一套简单的规则进行...
在本项目中,我们将探讨如何使用Java图形用户界面(GUI)技术来实现一个用户登录界面。这个任务适合大学二年级的学生作为编程作业,特别是在学习Java基础和GUI编程时。Java GUI允许开发者创建丰富的、交互式的应用...
Java GUI(图形用户界面)开发是Java编程领域中的一个重要部分,它允许开发者创建具有交互性的桌面应用程序。在Java中,我们可以使用多种库来构建GUI,其中最常用的包括Swing和JavaFX。本项目中提到的"javaGUI开发的...
Java 图形程序设计类的层次结构可以分为三组:容器类、组件类和辅助类。容器类如 JFrame、JPanel 和 JApplet 等,用来包含其他组件。组件类如 JButton、JTextField、JTextArea 等,是 JComponent 类的子类,通常为...
Java GUI程序设计
内容概要:通过程序注释带着读者了解GUI界面构建过程,初步了解 java GUI的使用,理解GUI框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:登陆确认、随机出题、题目文本导入等内容实现。 适合人群:具备...
Java GUI超市管理系统是一款基于MySQL数据库和Java编程语言的软件应用,专为课程设计或小型商业环境中的超市管理而开发。这个系统充分利用了Java的图形用户界面(GUI)库,如Swing或JavaFX,来创建直观易用的操作...
Java图形用户界面(GUI)美化包是一套专门用于提升Java应用程序界面美观度的工具和库。在Java中,我们通常使用Java Swing或JavaFX来创建GUI应用,但这些默认的组件样式可能相对朴素,不能满足所有开发者对于界面设计...
Java图形用户界面(GUI,Graphical User Interface)是Java编程中的一个重要组成部分,它允许开发者创建交互式的桌面应用程序。本资源“Java GUI实例下载”提供了一系列关于Java GUI编程的实例,涵盖了事件处理、...
Java GUI(图形用户界面)是Java编程中一个重要的部分,它允许开发者创建具有交互性的桌面应用程序。本资源包含了一系列的Java GUI源代码,非常适合初学者学习和实践。这些源代码涵盖了多种GUI组件和布局管理器的...
综上所述,这个"java编写的GUI树的创立和遍历程序"是一个综合性的项目,涵盖了数据结构、算法、GUI编程和事件处理等多个重要概念。通过这个程序,开发者能够向用户展示如何在Java环境中创建、操作和可视化树数据结构...
Java GUI生成二维码是一种在Java平台上使用图形用户界面(GUI)创建和显示二维码的技术。二维码,全称为二维条形码,是一种高效的信息编码方式,能够存储大量数据,如文本、URL、联系信息等,并且可以被智能手机等...
Java图形用户界面(GUI,Graphical User Interface)是Java编程中的一个重要部分,它允许开发者创建交互式的桌面应用程序。"Java GUI万能模板"通常是指一套通用的、可复用的代码结构,帮助开发者快速构建GUI应用,...
【JAVA-GUI学生管理系统】是一种基于Java图形用户界面(GUI)技术开发的系统,主要用于管理学生信息。在Java编程环境中,GUI(图形用户界面)允许开发者创建交互式的应用程序,使得用户可以通过直观的图形元素如按钮...
Java GUI(图形用户界面)生成器是一款工具,它允许开发者通过可视化的方式设计和构建Java应用程序的用户界面,而无需直接编写大量的布局和组件代码。这种工具对于初学者来说尤其有益,因为它降低了学习Java GUI编程...
JavaGUI,全称为Java图形用户界面(Graphical User Interface),是Java编程语言中用于创建交互式用户界面的技术。JavaGUI允许开发者构建具有按钮、文本框、菜单等元素的桌面应用程序,使得用户可以通过视觉方式进行...
Java GUI(图形用户界面)编程是Java开发中的一个重要领域,它允许开发者创建具有交互性的桌面应用程序。本资源“JAVA GUI编程实例集.rar”显然是为初学者设计的,旨在通过实例帮助学习者掌握Java GUI的基本概念和...
Java GUI 组件包括 AWT、Swing 和 SWT 三种类型。 AWT(Abstract Window Toolkit)是 Java 的 GUI 编程的基础,提供了丰富的图形、用户界面组件和布局管理器的支持。AWT 是重量级组件,依赖于本地平台决定组件外观...