JavaSwing绘制树形结构与实现标签的替换

JavaSwing绘制树形结构与实现标签的替换

2023年6月22日发(作者:)

JavaSwing绘制树形结构与实现标签的替换先上效果前⾔这⾥我们是对⼀个默认的⽬录树进⾏改造,让他按照我们的想法进⾏改变,⽐如说在原⽣的Swing,图标都是很难看的,所以我们这⾥就要对图标进⾏替换,让⽬录树达到我们想要的效果。⽬录树渲染器的构建这⾥想要改变⽬录树的图标,这⾥就是必须要的。。渲染器代码 /** * 设置 ⽬录树渲染器 */ class MaptempcatalogTreeRenderer extends DefaultTreeCellRenderer { int IMAGEICON_WIDTH = (int)(16.0F * temImageZoom()); int IMAGEICON_HEIGHT = (int)(16.0F * temImageZoom()); BufferedImage bufferedImage = new BufferedImage(IMAGEICON_WIDTH, IMAGEICON_HEIGHT, 2); Graphics graphics = phics(); //这⾥⼏个Icon是我⾃⼰的电脑⾥⾯的图⽚,你们可以⾃⼰进⾏替换

//n()这个⽅法使我们⾃⼰封装的⼀个⽅法,你们可以使⽤ ImageIcon updateloadimage=new ImageIcon(ss().getClassLoader().getResource("")); Icon Foldericon = n("/Catalog/Image_"); Icon Directoryicon = n("/Catalog/Image_"); Icon Mapicon = n("/Catalog/Image_"); public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { //执⾏⽗类默认的节点绘制操作 eCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); DefaultMutableTreeNode node = (DefaultMutableTreeNode)value; gData data = (

//gData 这个类是⾃⼰封装的⼀个类,⾥⾯主要是包含了是否⽗节点 ,⽬录名称还有⽬录数据。⼤家可以⾃⾏创建gData)rObject(); //⾥的数据决定节点图标 这⾥必须要对他进⾏Jlable渲染 JLabel label = new JLabel(); ImageIcon icon = new ImageIcon(); t(alogName()); lTipText(alogName());

if(nt()){ con(this,graphics,0,0); }else{ con(this,graphics,0,0); } //改变图标 ge(bufferedImage); n(icon); return label; } }渲染器构建完成之后当你的渲染器构建完成之后,就可以在创建的jtree⾥⾯调⽤:lRenderer(new MaptempcatalogTreeRenderer());⽅法就可以得到对应的图标类型

发布者:admin,转转请注明出处:http://www.yc00.com/web/1687385148a6112.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信