本文主要是介绍jtable单元格的悬浮提示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
swing 项目时遇到这样一个问题:jtable显示内容时其中某列内容比较长通常显示不下,又因为某些原因不想或不能给予这列足够的空间,于是就想到了ToolTip。
查了下java API发现jtbale中只有个getToolTipText的方法须在渲染器中设置,由于没有使用自定义的Render,所以使用了父类JComponent的setToolTipText方法。具体原理为:setToolTipText是整个jtable单元格的提示,可在鼠标事件中根据不同的单元格提示不同的信息。
代码如下:
//悬浮提示单元格的值 table.addMouseMotionListener(new MouseAdapter(){public void mouseMoved(MouseEvent e) {int row=table.rowAtPoint(e.getPoint());int col=table.columnAtPoint(e.getPoint());if(row>-1 && col>-1){Object value=table.getValueAt(row, col);if(null!=value && !"".equals(value))table.setToolTipText(value.toString());//悬浮显示单元格内容elsetable.setToolTipText(null);//关闭提示}}});
后来发现直接重写jtable的public String getToolTipText(MouseEvent e)方法也可以
这篇关于jtable单元格的悬浮提示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!