大虾,问问,想用swing table 做个象是web table效果出来就是鼠标放在某一行上这一行的backgound变色,然后鼠标变成手指,,如果哪位知道,希望分享以下
1条回答 默认 最新
- hunterli0408 2009-07-20 21:43关注
呵呵,有点复杂。
1.鼠标变成手指
给JTable加一个鼠标侦听器(MouseAdapter),重写其mouseEntered(MouseEvent e)和mouseExited(MouseEvent e) 两个方法。当鼠标进入时,调用下面的代码将鼠标设为手型。
[code="java"]JTable.setCursor(new Cursor(Cursor.HAND_CURSOR)) [/code]
当鼠标离开JTable时,再将鼠标设置为系统默认的形态。
[code="java"]JTable.setCursor(Cursor.getDefaultCursor()) [/code]
2.行backgound变色
为JTable添加一个鼠标移动侦听器(MouseMotionAdapter),重写mouseMoved(MouseEvent e) 方法。当鼠标在JTable上移动时,取出鼠标的坐标(MouseEvent.getPoint()),根据该坐标确定JTable的行号(rowAtPoint(Point point)),然后使这一行变为选中状态(setRowSelectionInterval(int index0, int index1)),从而间接地改变该行的背景色。当然,如果不喜欢默认的背景色,可以通过setSelectionBackground(Color selectionBackground) 方法来修改被选中行的背景色。OK,差不多了,大体思路就是这些,具体代码就不写了。
不过,要完美的实现这个效果的话,估计还有很多细节问题需要解决。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效