Jlabel 中图标和文字 如何只编辑其中的文字(实现类似于windows中文件夹改名的显示效果)

pest1999 2009-04-07 11:25:27
通过JLabel 的 setIcon() 和 setText() 方法设置了图标和文字

现在需要对其中的文字进行编辑

需要实现: 类似于windows中文件夹改名,前面图标不动,点文件名,出现类似于jtextfield的界面进行编辑


尝试实现CellEditor还是无法对其编辑
各位什么想法?
...全文
389 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pest1999 2009-04-09
  • 打赏
  • 举报
回复
目前通过组合控件的方法可以实现但是显示时有些问题

组合控件:imagepanel + jtextarea
方法
imagepanel放图标,jtextarea 放文字
默认jtextarea seteditor(false) setborder(null)
鼠标单击,或要改名
seteditor(true)
setborder(createborder())

问题:
1、在jtextarea 变为可编辑后 鼠标光标不见了。当updateui 后光标有了,但是不闪烁,同时如果推出编辑,再次进入后出现错误

2、如何让jtextarea像windows一样随着输入字符的长度自动调整长高,到一定长度后换行,到一定高度无法增加,再显示变成“...”,再次进入编辑又可显示


目的很明确实现windows文件夹+文件名 可编辑效果,不可编辑的已经可以实现了
还有需要说明的,该控件我还要嵌套使用到JTree 中,所以本身不能过于复杂


所以楼上所说:
[Quote=引用 3 楼 hnwlh 的回复:]
O了

可以加一个隐藏的jTextfield
在右击时显示嘛
输完后再显示不可见
[/Quote]
需控件太多,无法调度。在jtree中我要根据鼠标点击判断控件,并分解的,加那么多,我怎么分解啊……
hjianke 2009-04-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hnwlh 的回复:]
O了

可以加一个隐藏的jTextfield
在右击时显示嘛
输完后再显示不可见
[/Quote]

这个方法还不错
pest1999 2009-04-08
  • 打赏
  • 举报
回复
如果有需要可以换用其他控件

只要能实现要求即可

1、带图标和文字
2、文字部分可编辑,编辑界面类似于jtextfield
3、编辑结束时显示效果与jlabel类似


以下是个人的一些想法:
1、将jlabel变成可编辑,仿照jtextfield实现celleditor,个人测试未通过,不知是不是水平有限过错了
2、改写jtextfield,使其可以插入图标,并在双击时设置可editor,否则can't
3、自定义控件,包括两个部分“jlabel 、 jtextfield”。看似容易实现,不过会影响显示效果,毕竟不够紧贴。
4、改写jtable,不要列名,实际是两列,一列插入图标,一列插文字。同样的问题,显示效果的控制,这个类比较复杂,不熟,有知道控制显示效果能实现上述要求的,简要说明,谢谢


接下来倾听各位高见
hnwlh 2009-04-08
  • 打赏
  • 举报
回复
O了

可以加一个隐藏的jTextfield
在右击时显示嘛
输完后再显示不可见
hnwlh 2009-04-08
  • 打赏
  • 举报
回复
刚学GUI
汗,在NetBeans里弄了下,没成功!~~
horizonlyhw 2009-04-08
  • 打赏
  • 举报
回复
我想 出jlabel的目的 就是为了不能修改

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧