我正在尝试创建一个当时仅显示一行的 JTable。当您按“下一页”/“上一页”时,表格将显示下一行或上一行,具体取决于按下的按钮。如果没有下一个/上一个,JTable 将显示第一个/最后一个元素。
一次只显示一行的代码:
tableModel = new DefaultTableModel(data, columnNames);
tableModel.setRowCount(0); //If I remove this, the things I add ends up att the 2nd line.
tableModel.addTableModelListener(resultTable);
resultTable = new JTable(tableModel);
scroll = new JScrollPane(resultTable, JScrollPane.VERTICAL_SCROLLBAR_NEVER, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
final int rows = 1;
Dimension d = resultTable.getPreferredSize();
resultTable.setPreferredSize(new Dimension(d.width,resultTable.getRowHeight()*rows));
“下一步”按钮的代码(不起作用,该怎么办?显示与之前相同的元素):
int height = resultTable.getRowHeight()*(rows-1);
JScrollBar bar = scroll.getVerticalScrollBar();
bar.setValue( bar.getValue()+height);
上一个按钮的代码(不起作用,与上面相同,没有任何反应/变化。)
int height = resultTable.getRowHeight()*(rows-1);
JScrollBar bar = scroll.getVerticalScrollBar();
bar.setValue(bar.getValue()-height);
做什么?一些帮助将不胜感激。一直在努力解决这个问题。
编辑:尝试遵循这里的代码:JTable行限制但无法让它工作..虽然我只想显示1行,而不是10行。
从上面您指定行数以获取表中的单行
final int rows = 2;
或者,您可以尝试使用带有行标题的表格。这是一个示例 http://www.java2s.com/Code/Java/Swing-Components/TableRowHeaderExample.htm