我正在将应用程序从java 1.5迁移到1.6(是的,我知道)。JTable冻结列不滚动(Java 1.6)
我们有一张带有一些冷冻柱的桌子。构建像这样(大约)
JScrollPane tablePane = new JScrollPane();
JTable mainTable = new JTable();
JTable frozenTable = new JTable()
JPanel rowHeaderPanel = new JPanel();
rowHeaderPanel.add(frozenTable);
tablePane.setRowHeaderView(rowHeaderPanel);
tablePane.setViewportView(mainTable);
(表车型为主要和frozenTable总是有相同的行数)
这个工作,因为我们在Java 1.5的希望,即:我们有一个数据表左侧有许多冻结的柱子。垂直滚动窗格同时滚动两个表。
除了迁移到java 1.6之外,没有任何代码更改,现在我们有一个间歇性和(在开发环境中)不可重现的错误。
有时,当您仅垂直滚动主表滚动时 - 冻结表不会滚动。这些表格未链接。
以前有没有人看过类似的东西?
同意 - 这是一个很难的,虽然我们有一些生产用户向我们大喊大叫。在我们移植到1.6后,它肯定出现了,我们第一次看到它的产品版本与之前的1.5版本完全相同,但是重新编译 - 我们确信这一点。实际的代码是相当可怕的早期摇摆代码。如果没有可重复性,真的不可能做得太多,但无所事事不是一种选择。 – ashbyp
我的猜测是在可怕的Swing代码中。也许使用今天的Swing重新编写一些它。 – jzd
@jzd有很多变化,也许当前版本的Java 1.5基于Bug(自定义表),然后+1 – mKorbel