当前位置: 首页 > news >正文

网站运营专员具体每天怎么做/深圳网络营销推广培训

网站运营专员具体每天怎么做,深圳网络营销推广培训,wordpress手机验证码登录,wordpress日历更新前面已经把树的基本使用、树的事件和树的数据取得写完了,并看了一个Sun提供的最简单的树的例子,这一专题我们讲两个方面,一个是使用树的Renderer和Editor构造一棵我们自己的树;一个树使用SwingWorker完成一棵资源管理器树的加载.先看渲染的例子:我们为我们的树增加了可用与否、…

前面已经把树的基本使用、树的事件和树的数据取得写完了,并看了一个Sun提供的最简单的树的例子,这一专题我们讲两个方面,一个是使用树的Renderer和Editor构造一棵我们自己的树;一个树使用SwingWorker完成一棵资源管理器树的加载.

先看渲染的例子:

5e6ffe592914168d531190ce23f279e3.png

31a8bcc3527af6260c52f1a9895e4ce7.png

我们为我们的树增加了可用与否、可见与否和节点图片的属性,当然你也可以自己添加想要的属性,比如顺序等.

整个实现的过程很清晰,也不复杂,我们首先实现我们自己的TreeNode,它继承于DefaultMutableTreeNode,我们在里面添加自己的属性;然后是实现树的节点的Renderer和Editor,在Renderer里我们设置可用也否,选择状态,节点图片等;在Editor里我们设置树的容器布局.最后构造树时使用setRenderer和setEditor就可以了,需要注意的是如果仅仅是呈现,设置Renderer就可以了,如果除了呈现还有操作的话,必须都要设置.

先看我们自己的TreeNode类, 继承于DefaultMutableTreeNode,

/**

* the tree node that I rewrite it.

*/

publicclassMyTreeNodeextendsDefaultMutableTreeNode {

我们添加了属性:

/** is

select or not. */

privatebooleanisSelected=false;

节点的选择状态

/** is

enable. */

privatebooleanenabled=false;

节点使用与否

/** is

visible or not. */

privatebooleanisVisible=false;

节点可见与否

/** it's

icon. */

privateIconicon=null;

/** icon

name. */

privateStringiconName=null;

节点图片和图片名字

然后是构造函数,我们初始化属性,或使用默认的:

publicMyTreeNode() {

this(null,true,false,true,true,null);

}

publicMyTreeNode(Object userObject,booleanallowsChildren,

booleanisSelected,booleanenabled,booleanisVisible, Icon icon) {

super(userObject, allowsChildren);

this.isSelected= isSelected;

this.enabled= enabled;

this.isVisible= isVisible;

this.icon= icon;

setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTI

ON);

}

然后就是一些设置和取得属性的方法,这个类就相当于一个Bean.

然后就是Rnederer了,我们这里继承于DefaultTreeCellRenderer

publicclassMyTreeRendererextendsDefaultTreeCellRenderer {

然后复写它的getTreeCellRendererComponent方法:

@Override

publicComponent getTreeCellRendererComponent(JTree

tree, Object value,booleansel,booleanexpanded,booleanleaf,introw,

booleanhasFocus) {

然后设置节点的属性:

首先是显示文本:

String stringValue = tree.convertValueToText(value, sel,

expanded, leaf, row, hasFocus);

setText(stringValue);

然后是可用与否:

booleannodeIsEnabled = ((MyTreeNode) value).isEnabled();

booleanisEnabled =

(treeIsEnabled && nodeIsEnabled);

setEnabled(isEnabled);

然后是是图片

Icon icon = ((MyTreeNode) value).getIcon();

setIcon(icon);

还有一些基本的属性,比如背景色等:

setForeground(getTextSelectionColor());

再来需要看的类就是Editor了,它继承于DefaultTreeCellEditor:

publicclassMyCellEditorextendsDefaultTreeCellEditor {

因为我们使用的是JLabel作为显示控件,所以我们的主要实现是布局处理,对于事件可以不需要考虑.我们复习了DefaultTreeCellEditor的默认布局:

/**

*

Container responsible for placing the editingComponent.

*/

privateclassMyEditorContainerextends

DefaultTreeCellEditor.EditorContainer

{

复写它的doLayout方法:

@Override

publicvoiddoLayout() {

取得节点的边缘和大小:

r =tree.getBounds(r);

eSize.width= r.width- (offset* n);

editingComponent.setLocation(offset, 0);

设置节点的位置和大小:

setSize(newDimension(eSize.width+offset, cSize.height));

最后就是使用了,很简单和以前一样,直接使用JTree的设置方法就可以了:

MyTreeRenderer renderer =newMyTreeRenderer();

tree.setCellRenderer(renderer);

tree.setEditable(true);

tree.setCellEditor(newMyCellEditor(tree,

(DefaultTreeCellRenderer)tree.getCellRenderer()));

http://www.lbrq.cn/news/1532773.html

相关文章:

  • 网站结构优化包括哪些/免费推广方式有哪些
  • 沈阳做招聘网站/今日国际新闻最新消息事件
  • 电子商务网站功能页面/个人网站怎么建立
  • 西安网站设计西安搜推宝/app拉新放单平台
  • 安阳手机网站建设/免费发布推广的网站有哪些
  • 部门网站建设宗旨/百度大数据分析平台
  • 公众号在哪里找/seo挂机赚钱
  • 做时彩网站违法吗/培训机构招生方案
  • 地接做的网站/百度竞价推广教程
  • 孙俪做的网站广告/精准营销平台
  • 动态网站开发过程/苏州seo报价
  • 网站手机模板的特点/yandex搜索引擎
  • 专门做童装的网站有哪些/国家新闻最新消息今天
  • 网站商城系统/最近三天的新闻大事
  • php抗议小卫士填报代码网页制作网站/百度一下你知道主页官网
  • 鞍山站/搜索引擎优化的流程
  • wordpress页面的添加背景音乐/网站seo诊断
  • jsp网站开发详解 pdf/百度关键词搜索排名
  • 制作logo的网站/软文营销方法有哪些
  • 南京浦口做网站点/我要推广
  • 建设网站要不要投资钱/2000元代理微信朋友圈广告
  • 大丰市市城乡建设局网站/友情链接交易平台
  • 厦门建设网站/电商运营培训课程
  • 湖北工程建设信息网/石家庄seo扣费
  • 交互式网站备案难吗/企业培训公司
  • 南宁网站建设产品/网络营销项目策划
  • 望城做网站找谁/抖音账号权重查询入口
  • 织梦模板如何安装/福州短视频seo推荐
  • 网站建设经费方案/百度指数人群画像
  • 京东网站设计的特点/2023年新闻摘抄十条
  • leetcode-python-242有效的字母异位词
  • 大语言模型原理(Transformer架构)
  • 【STM32】HAL库中的实现(九):SPI(串行外设接口)
  • Ubuntu网络图标消失/以太网卡显示“未托管“
  • 新手向:Python 3.12 新特性实战详解
  • 如何使用Prometheus + Grafana + Loki构建一个现代化的云原生监控系统