我有一个 JTree 呈现信息(通过 DefaultMutableTreeModel)。
此信息来自用户操作或异步
通过网络发送消息。
我的问题是,是否可以让树节点的文本开始“闪烁”(我猜这是颜色的快速变化),以便提醒用户添加了新内容?如果是怎么办?
谢谢!
最佳答案
问题有两部分。
检测最近更改的节点。 您可以将
TreeModelListener
添加到您的模型并获取更改/插入节点的列表。闪烁。 创建一个自定义渲染器,它可以根据闪烁状态以两种颜色渲染同一节点(例如,背景或前景从黑色切换到红色,然后再切换回来)。在渲染器中检查节点是否已更改(存在于列表中)并将背景设置为红色。
添加一个 javax.swing.Timer
以每 0.5 秒更改一次颜色,并调用节点区域的重绘(使用 getRowBounds
或 getPathBunds
JTree
的方法)。
关于java - jtree 让用户通过 "blinking"查看更新(颜色快速变化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4506780/