JTables中的JScrollPane

我想知道你们有没有问题,如果你有一些JPanel有自己的JScrollPane而你的面板中你使用了很多JTable和他们自己的JScrollPane ,那么向上/向下滚动面板有问题吗?

我的意思是当你的鼠标在某个表的视口上时, JTable JScrollPane正在监听滚动,所以当我得到很多JTable时,我只能在面板的几个地方滚动,这太烦人了……

JTable滚动甚至没有显示时,是否有一些函数会将我的滚动事件发送到父JPanel JScrollPane ? 我的意思是我想在某些JTable不需要使用滚动时禁用JScrollPane (当它被隐藏时,因为记录太少)。

是的, JTable了解下面列出的几个命名滚动操作 。 它们通常用于键绑定 ,但您可以自己唤起它们,如此相关示例所示,该示例包含为滚动窗格定义的操作。

附录:概括地说,从组件的动作映射中获取命名操作:

 Action action = table.getActionMap().get(name); 

在需要时按名称唤醒操作:

 action.actionPerformed(new ActionEvent(table, 0, name)); 

滚动JTable相关操作名称:

 scrollDownChangeSelection scrollDownExtendSelection scrollLeftChangeSelection scrollLeftExtendSelection scrollRightChangeSelection scrollRightExtendSelection scrollUpChangeSelection scrollUpExtendSelection