java表格选择的行_Java从入门到精通 – Swing表格JTable选中行及列的位移 | 学步园…

  • Post author:
  • Post category:java


import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Vector;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

public class JTableOperation extends JFrame {

public JTableOperation()

{

super();

setTitle(“表格”);

setBounds(100,100,500,500);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JScrollPane scrollPane = new JScrollPane();   //支持滚动

getContentPane().add(scrollPane,BorderLayout.CENTER);

String[] columnNames = {“A”,”B”,”C”,”D”,”E”,”F”,”G”};

Vector columnNameV = new Vector();    //获得表头

for(int column = 0;column

{

columnNameV.add(columnNames[column]);

}

Vector tableValueV = new Vector();

for(int row = 1;row<21;row++)    //获得数据

{

Vector rowV = new Vector();

for(int column = 0;column

{

rowV.add(columnNames[column]+row);  //数据

}

tableValueV.add(rowV);

}

final JTable table = new MyTable(tableValueV,columnNameV);   //自定义的表格 请参考上一页上的自定义类

table.setRowSelectionInterval(1, 3); //设置选择中行

table.addRowSelectionInterval(5, 5);  //追加

scrollPane.setViewportView(table);

JPanel buttonPanel =new JPanel();   //按钮面板

getContentPane().add(buttonPanel,BorderLayout.SOUTH);  //在下方。

JButton selectAllButton = new JButton(“全部选择”);

selectAllButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

table.selectAll();    //选中所有的行

}

});

buttonPanel.add(selectAllButton);

JButton clearSelectionButton = new JButton(“取消选择”);

clearSelectionButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

table.clearSelection();  //取消选择

}

});

buttonPanel.add(clearSelectionButton);

System.out.println(“表格共有:”+table.getRowCount()+”行 “+ table.getColumnCount()+”列”);

System.out.println(“共有:”+table.getSelectedRowCount()+”行被选中”);

System.out.println(“第三行的状态:”+table.isRowSelected(2)); //第三行

System.out.println(“第5行的状态:”+table.isRowSelected(4));//第5行

System.out.println(“被选中的第一行的索引:”+table.getSelectedRow());   //被选中的第一行的索引,没有选中返回-1

int [] selectRows = table.getSelectedRows();  //获得所有被选中的索引

System.out.println(“以下为所有被选中的行:”);

for(int i=0;i

System.out.println(selectRows[i]+” “);

}

System.out.println();

System.out.println(“列移动前第2列的名称是:”+table.getColumnName(1));  //第2列

System.out.println(“列移动前第2行第2列的值:”+table.getValueAt(1, 1)); //2,2

table.moveColumn(1, 5);

System.out.println(“列移动后第2列的名称:”+table.getColumnName(1));

System.out.println(“列移动后第2行第2列的值:”+table.getValueAt(1, 1));

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

//JTableOperation

JTableOperation jTableOperation= new JTableOperation();

jTableOperation.setVisible(true);

}

}



版权声明:本文为weixin_36486217原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。