Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 保持JTable选择_Java_Swing_Jtable_Selectionmodel - Fatal编程技术网

Java 保持JTable选择

Java 保持JTable选择,java,swing,jtable,selectionmodel,Java,Swing,Jtable,Selectionmodel,当我调用时,我正在使用JTable和MULTIPLE\u INTERVAL\u SELECTION int[] selectedRows = jtable.getSelectedRows(); 我正在获取所选行的数组索引,如eg的5,6,8。如果出现错误,我希望保持相同的选择 我正在努力 _selectionModel.setSelectionInterval(selectedRows[0], selectedRows[selectedRows.length-1]); 但它是从5到8中选择

当我调用时,我正在使用
JTable
MULTIPLE\u INTERVAL\u SELECTION

 int[] selectedRows = jtable.getSelectedRows();
我正在获取所选行的数组索引,如eg的
5,6,8
。如果出现错误,我希望保持相同的选择

我正在努力

_selectionModel.setSelectionInterval(selectedRows[0], selectedRows[selectedRows.length-1]);

但它是从5到8中选择行,我如何避免选择以前未选择的行数7?

为此,您可以使用方法而不是
setSelectionInterval()
。例如:

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;

public class Example  {

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JTable t = new JTable(10,1);
        frame.add(new JScrollPane(t));

        t.getSelectionModel().clearSelection();
        t.getSelectionModel().addSelectionInterval(5, 6);
        t.getSelectionModel().addSelectionInterval(8, 8);
        frame.pack();
        frame.setVisible(true);
    }

}

为什么不使用for循环并分别选择每一行呢?或者不可能直接将int数组与另一个方法一起使用吗?我不确定,除此之外没有找到任何方法。for(int I=0;I