大虾,问问,想用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,差不多了,大体思路就是这些,具体代码就不写了。
不过,要完美的实现这个效果的话,估计还有很多细节问题需要解决。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料