限制JTable + Next / Previous按钮中显示的行

时间:2012-10-16 10:57:30

标签: java jtable

我试图创建一个当时只显示一行的JTable。当您按下下一个/上一个时,表格将显示在下一行或上一行中,具体取决于按下的按钮。如果没有Next / Previous,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 row limitation但无法使其正常工作..虽然我只想显示1行,而不是10行。

1 个答案:

答案 0 :(得分:0)

从上面你可以指定行数来获取表中的单行

 final int rows = 2;

或者你可以尝试使用带有Row标题的表。这是一个例子 http://www.java2s.com/Code/Java/Swing-Components/TableRowHeaderExample.htm