普通网友 2009-07-20 20:50
浏览 179
已采纳

关于swing table效果的问题

大虾,问问,想用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磁芯的详细资料