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);

}

});

}

}

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

  1. java getselectedrow_Java swing(2)自己设计完善的独特功能图书管理系统,获取下拉框等的文字内容等...

    总框架: 本篇所含框架: package denglu; import java.awt.event.ActionEvent; import java.awt.event.ActionListener ...

  2. java el表达式 导航规则_诺禾:在jsp里面如何不写java代码展示数据(EL表达式的使用)...

    EL表达式可以简化jsp中写的java代码 在jsp里面如何不写java代码展示数据(EL表达式的使用) 在jsp里面如何不写java代码展示数据(EL表达式的使用) 在jsp里面如何不写java代码 ...

  3. 使用Stream流的方式,遍历集合,对集合中的数据进行过滤

    Stream的更优写法 下面来看一下借助Java 8的Stream API,什么才叫优雅: package com.learn.demo01.Stream;import java.util.Array ...

  4. Java架构师,大数据架构师,高并发设计模式,机器学习知识点分享

    第一章:java精品课程目录大全 1.亿级流量电商详情页系统的大型高并发与高可用缓存架构实战 1课程介绍以及高并发高可用复杂系统中的缓存架构有哪些东西?32分钟 2基于大型电商网站中的商品详情页系统贯 ...

  5. 【java毕业设计】基于java+Tomcat +Swing的出租车计价器设计与实现(毕业论文+程序源码)——出租车计价器

    基于java+Tomcat +Swing的出租车计价器设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Tomcat +Swing的出租车计价器设计与实现,文章末尾附有本毕业设计的 ...

  6. 面向对象程序设计实验 如何使用JTable来展示数据

    目录 1.绘制出带滚动条的JTable表格并填充数据 2.创建一个JPanel用来显示在表格中选中的数据 3.使在选中的表格中的一行下添加新的一行 4.Java代码部分 5.Github仓库地址 1. ...

  7. java通过url读取远程数据并保持到本地

    前几天老姐突然告诉我,她在JD上买了本电子图书,然后买完发现,只能在线或者使用它自己的阅读器看,很不方便,让我给想想办法. 然后我就开始琢磨,最开始,我直接使用Acrobat Reader打开,发现只 ...

  8. 使用传统的方式,遍历集合,对集合中的数据进行过滤

    循环遍历的弊端 Java 8的Lambda让我们可以更加专注于做什么(What),而不是怎么做(How),这点此前已经结合内部类进行 了对比说明.现在,我们仔细体会一下上例代码,可以发现: for循环 ...

  9. java中使用es的dsl_基于DSL的基于图论的Java程序中输入图数据的方法

    java中使用es的dsl 我们大多数人已经编写了一些处理图论算法的程序,例如找到两个顶点之间的最短路径,找到给定图的最小生成树等等. 在这些算法的每一种中,表示图形的编程方式是使用邻接矩阵或邻接列表 ...

最新文章

  1. MySQL-基础操作之增删改查
  2. 设备驱动--中断开关执行的匹配
  3. 有返回值的多线程demo
  4. ubuntu修改顶栏颜色
  5. 10人以下小团队管理手册-学习笔记
  6. matlab 锐化降噪,matlab 图形锐化 滤波
  7. 饿了么前端DEMO 网址 VUE.js
  8. 【英语学习】【English L06】U04 Adventure L4 I got lost in New York
  9. javaWEB的三大组件(入门基础总结)
  10. 服务器登陆地址怎么修改,服务器登陆地址怎么修改
  11. matlab 提示用户输入姓名,MATLAB程序设计-asp net的作业-WinFrom控件库|.net开源控件库|HZHControls官网...
  12. php 阶乘函数,什么是PHP中的RECURSIVE函数?
  13. 万字长文带你从头构建文本分类器
  14. 培训变成了闹剧,却不想怎么改进
  15. DSP6678入门必看
  16. HTML中使用IconFont图标
  17. 每个产品经理都应该了解的5大技术技能
  18. pr导出的avi文件,如何才能被imageJ读read?
  19. 读书笔记12 《新周刊485期 三商:智商、情商、时间商》
  20. Mini CFA 考试练习题 Macroeconomics

热门文章

  1. 安装Qemu-6.1.0
  2. x86和amd64指令参考
  3. Linux内核内存管理(1):内存块 - memblock
  4. 分级时间轮优化普通时间轮定时器
  5. mybatis ------ mybatis和spring整合(十一)
  6. Spark 多语言编程的简介(X)
  7. java的一些小知识总结
  8. Java按包编译jar_java用命令行编译运行时带有包和使用外部jar包的情况
  9. python读取linux内存_使用python获取CPU和内存信息(linux系统)
  10. security面试_41 道 Spring Boot 面试题,帮你整理好了!