我有一個(gè)帶有樹的 jTable,它會(huì)自動(dòng)從上一個(gè)操作中選擇相應(yīng)的行。但是 changeSelection 滾動(dòng)并選擇底部最后可見的行。對(duì)我來說很不舒服,因?yàn)樗菢?,最好滾動(dòng)并選擇行作為表格頂部的第一個(gè)可見部分。我正在嘗試table.scrollRectToVisible(table.getCellRect(row,column, true));相同的結(jié)果并嘗試自定義設(shè)置 scrollBar 值,但我不知道正確的值,因?yàn)槊姘蹇梢愿淖兇笮?。我希望自?dòng)滾動(dòng)到行并且該行將標(biāo)記在表格的頂部?,F(xiàn)在自動(dòng)滾動(dòng)到行并標(biāo)記在表格底部。
1 回答

幕布斯7119047
TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
該scrollRectToVisible(...)方法僅滾動(dòng) 的JViewport以JScrollPane確保Rectangle可見。所以當(dāng)你向下滾動(dòng)時(shí)。它將顯示在底部。如果向上滾動(dòng),它將顯示在頂部。
控制滾動(dòng)的更簡單方法是JViewport自己設(shè)置位置:
JViewport viewport = (JViewport)scrollPane.getViewport();
Rectangle rectangle = table.getCellRect(row, column, true);
Point point = new Point(rectangle.x, rectangle.y);
viewport.setViewPosition( point );
添加回答
舉報(bào)
0/150
提交
取消