仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 610|回复: 11
打印 上一主题 下一主题

[学习教程] 来看一个复杂的CheckBox Tree完成

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:19:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,net网页编程Beans等等,但是我认为如果java想超越.net网页编程,那么他首先要解决的就是IDE工具的整合。
CheckBoxTree是一个非常经常使用的UI组件,它能利用户便利地按特定例则勾选树中的节点。本文完成了一种复杂的Checking划定规矩:当勾选了某节点后,该节点的一切上级节点全体被勾选;当作废勾选某节点后,该节点的一切上级节点全体被作废勾选。(2009.08.05最初更新)
完成CheckBoxTree的经常使用办法,就是利用JCheckBox作为JTree的TreeCellRendrer,而且必要完成特定的Checking划定规矩来勾选/作废勾选CheckBox。
1.树节点
DefaultMutableTreeNode是最经常使用的TreeNode完成,此处我们将扩大这一完成--CheckBoxTreeNode,增添一个属性isChecked,用于标识该节点是不是要被勾选上。该类的完全代码以下所示:
public class CheckBoxTreeNode extends DefaultMutableTreeNode {
       private static final long serialVersionUID = 3195314943599939279L;
       private boolean isChecked = false;
       public CheckBoxTreeNode(Object userObject) {
               super(userObject);
       }
       public boolean isChecked() {
               return isChecked;
       }
       public void setChecked(boolean isChecked) {
               this.isChecked = isChecked;
       }
}
2.衬着器
如本文开首所述,我们将利用JCheckBox作为树节点展示情势的衬着器,同时断定对节点举行勾选或作废勾选的划定规矩。CheckBoxTreeCellRenderer自己便是一个JCheckBox,那末在完成getTreeCellRendererComponent办法时,只复杂地前往它本人的实例便可,而关于勾选或作废勾选的前提,则由CheckBoxTreeNode中的isChecked属性来断定,完全的代码以下所示:
public class CheckBoxTreeCellRenderer extends JCheckBox implements TreeCellRenderer {
       private static final long serialVersionUID = -6432020851855339311L;
       public CheckBoxTreeCellRenderer() {
               setOpaque(false);
       }
       public Component getTreeCellRendererComponent(JTree tree, Object value,
                       boolean selected, boolean expanded, boolean leaf, int row,
                       boolean hasFocus) {
               CheckBoxTreeNode node = ((CheckBoxTreeNode) value); // 猎取树节点对象。
               setText(node.toString()); // 设置CheckBox所展现的文本。
               // 当树节点被设置为勾选时,则该节点对应的CheckBox被勾选上;不然,作废勾选。
               if (node.isChecked()) {
                       setSelected(true);
                       setForeground(Color.BLUE);
               } else {
                       setSelected(false);
                       setForeground(tree.getForeground());
               }
               return this;
       }
}
<p>
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。
小魔女 该用户已被删除
沙发
发表于 2015-1-20 20:40:16 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
只想知道 该用户已被删除
板凳
发表于 2015-1-25 19:39:21 来自手机 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
若天明 该用户已被删除
地板
发表于 2015-2-1 16:07:46 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
金色的骷髅 该用户已被删除
5#
 楼主| 发表于 2015-2-7 07:41:33 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-21 00:32:14 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
若相依 该用户已被删除
7#
发表于 2015-2-22 18:31:41 | 只看该作者
是一种使用者不需花费很多时间学习的语言
活着的死人 该用户已被删除
8#
发表于 2015-2-25 19:08:51 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
变相怪杰 该用户已被删除
9#
发表于 2015-3-2 21:16:41 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
海妖 该用户已被删除
10#
发表于 2015-3-11 19:01:47 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
飘灵儿 该用户已被删除
11#
发表于 2015-3-19 08:40:05 | 只看该作者
是一种使用者不需花费很多时间学习的语言
兰色精灵 该用户已被删除
12#
发表于 2015-3-27 15:11:06 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 00:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表