一度に 1 行しか表示しない JTable を作成しようとしています。[次へ/前へ] を押すと、押したボタンに応じて、表に次の行または前の行が表示されます。Next/Previous がない場合、JTable は最初/最後の要素を表示します。
一度に 1 行だけを表示するコード:
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 行の制限ですが、それを機能させることはできません..10 行ではなく 1 行のみを表示したいのですが。