gpt4 book ai didi

java - 如何使用键盘箭头键将行标题 JTable 滚动与另一个表同步

转载 作者:行者123 更新时间:2023-12-01 12:03:29 25 4
gpt4 key购买 nike

在组件类中,我有 2 个 JTable,一个是固定行标题表,另一个是包含行标题值的数据表。我为数据表设置了一个 JScrollPane,这样它就会同时滚动两个表。

在另一个类中,我有一个 JPanel,我添加了上面的组件类来显示。

在面板中,当我使用鼠标滚轮或单击滚动条滚动时,表格的滚动效果很好。但是,如果我选择行标题并按键盘上的向下或向上箭头键,我注意到只有行标题继续滚动,但数据表不会移动。因此,表格行不再正确对齐。

在另一则注释中,我注意到,如果我选择数据表行并使用向上/向下箭头键滚动,两个表都能够同步正确滚动!

有谁知道为什么会这样以及如果选择行标题表我如何解决滚动问题?

最佳答案

查看Fixed Column Table

其中的逻辑使用 ChangeListener 来同步行标题的滚动与滚动 Pane 的垂直滚动条。

基本代码是:

scrollPane.getRowHeader().addChangeListener( this );

和听众:

public void stateChanged(ChangeEvent e)
{
// Sync the scroll pane scrollbar with the row header

JViewport viewport = (JViewport) e.getSource();
scrollPane.getVerticalScrollBar().setValue(viewport.getViewPosition().y);
}

关于java - 如何使用键盘箭头键将行标题 JTable 滚动与另一个表同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27846261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com