来看一个复杂的CheckBox Tree完成
最后就是我对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#不一定都能做到。毕竟是抄袭吗。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 是一种使用者不需花费很多时间学习的语言 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 是一种使用者不需花费很多时间学习的语言 是一种语言,用以产生「小应用程序(Applet(s))
页:
[1]