java getselectedrow_Java Swing实现展示数据,以及过滤排序

public class JtableDemo4 extendsJFrame {

JtableDemoTbale2 defaultTableModel;/*** 取消按钮*/

privateJButton cancelBtn;//选中行索引

intselectedRow;public static voidmain(String[] args) {

JtableDemo4 demo= newJtableDemo4();

demo.setVisible(true);

}publicJtableDemo4() {this.setTitle("进项发票关联成本合同");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setSize(700, 450);//JFrame窗体居中

this.setLocationRelativeTo(null);

String src= "/image/logo.png"; //图片路径

Image image = null;try{

image= ImageIO.read(this.getClass().getResource(src));

}catch(IOException e) {

e.printStackTrace();

}//创建图片对象

this.setIconImage(image); //设置图标

final JScrollPane scrollPane = newJScrollPane();this.getContentPane().add(scrollPane, BorderLayout.CENTER);//设置JTable中的列名

Vector columnNames = new Vector();

columnNames.add("组织");

columnNames.add("合同编码");

columnNames.add("合同主键");

Vector> tableValues = new Vector>();for (int row = 1; row < 29; row++) {

Vector rowV = new Vector();

rowV.add("A" +row);

rowV.add("B" +row);

rowV.add("C" +row);

tableValues.add(rowV);

}//创建JTable (表格)

final JTable table = newJTable();//创建表格模型

defaultTableModel = newJtableDemoTbale2(tableValues, columnNames);final TableRowSorter sorter = new TableRowSorter(

defaultTableModel);

table.setRowSorter(sorter);//设置JTable的表格模型

table.setModel(defaultTableModel);

table.getTableHeader().setReorderingAllowed(false);/** 将JTable添加到JScrollPane中,*/scrollPane.setViewportView(table);//设置表格的选择模式---为单选模式

table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);final JPanel panel = newJPanel();

panel.setBackground(Color.gray);this.getContentPane().add(panel, BorderLayout.SOUTH);final JTextField filterText = new JTextField(20);

JButton gl= new JButton("过滤");

JButton glcbht= new JButton("关联成本合同");

panel.add(filterText);

panel.add(gl);

panel.add(glcbht);/*** 点击JScrollPane滚动面板,取消选中的行*/scrollPane.addMouseListener(newMouseAdapter() {

@Overridepublic voidmouseClicked(MouseEvent e) {//取消掉选中行,但是选中行的索引值还是在的,没有取消掉

table.clearSelection();//显示选中行的索引值。

System.out.println("-----------------" +selectedRow);

}

});

gl.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {

String text=filterText.getText();if (text.length() == 0) {

sorter.setRowFilter(null);

}else{

sorter.setRowFilter(RowFilter.regexFilter(text));

}

}

});

glcbht.addActionListener(newActionListener() {

@Overridepublic voidactionPerformed(ActionEvent e) {//获取到JTable中选定行的---索引值

selectedRow =table.getSelectedRow();//获取到指定单元格的值

if(selectedRow < 0)return;int i =table.convertRowIndexToModel(table.getSelectedRow());

Object oa= defaultTableModel.getValueAt(i, 0);

Object ob= defaultTableModel.getValueAt(i, 1);

Object oc= defaultTableModel.getValueAt(i, 2);int row = selectedRow+1;

System.out.println("第" + row + "行," + "内容:" + oa + " "

+ ob + " " +oc);

}

});

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值