package com.swing.demo; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; import java.awt.Dimension; import java.awt.GridLayout; /*** * 基于Java图形界面JTable测试案例 * * @author Administrator * */ public class TableSortDemo extends JPanel { private boolean DEBUG = false; public TableSortDemo() { super(new GridLayout(1,0)); JTable table = new JTable(new MyTableModel()); table.setPreferredScrollableViewportSize(new Dimension(500, 70)); table.setFillsViewportHeight(true); /** * */ table.setAutoCreateRowSorter(true);//这句话是重点 //Create the scroll pane and add the table to it. JScrollPane scrollPane = new JScrollPane(table); //Add the scroll pane to this panel. add(scrollPane); } class MyTableModel extends AbstractTableModel { //设置每一列的列名 private String[] columnNames = {"First Name", "Last Name", "Sport", "# of Years", "Vegetarian" }; //设置列的值 private Object[][] data = { {"Mary", "Campione", "Snowboarding", new Integer(5), new Boolean(false)}, {"Alison", "Huml", "Rowing", new Integer(3), new Boolean(true) }, {"Kathy", "Walrath", "Knitting", new Integer(2), new Boolean(false)}, {"Sharon", "Zakhour", "Speed reading", new Integer(20), new Boolean(true)}, {"Philip", "Milne", "Pool", new Integer(10), new Boolean(false)}, }; public int getColumnCount() { return columnNames.length; } public int getRowCount() { return data.length; } public String getColumnName(int col) { return columnNames[col]; } public Object getValueAt(int row, int col) { return data[row][col]; } /* * * * JTable uses this method to determine the default renderer/ * * * editor for each cell. If we didn't implement this method, * * then the last column would contain text ("true"/"false"), * rather than a check box. */ public Class getColumnClass(int c) { return getValueAt(0, c).getClass(); } /* * Don't need to implement this method unless your table's * editable. * * */ public boolean isCellEditable(int row, int col) { if (col < 2) { return false; } else { return true; } } /* * Don't need to implement this method unless your table's * data can change. */ public void setValueAt(Object value, int row, int col) { if (DEBUG) { System.out.println("Setting value at " + row + "," + col + " to " + value + " (an instance of " + value.getClass() + ")"); } data[row][col] = value; if (DEBUG) { System.out.println("New value of data:"); printDebugData(); } } private void printDebugData() { int numRows = getRowCount(); int numCols = getColumnCount(); for (int i=0; i < numRows; i++) { System.out.print(" row " + i + ":"); for (int j=0; j < numCols; j++) { System.out.print(" " + data[i][j]); } System.out.println(); } System.out.println("--------------------------"); } } private static void createAndShowGUI() { JFrame frame = new JFrame("TableSortDemo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); TableSortDemo newContentPane = new TableSortDemo(); newContentPane.setOpaque(true); //content panes must be opaque frame.setContentPane(newContentPane); //Display the window. frame.setSize(500,500); frame.setVisible(true); } public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } }

20100919_Dawning_JTable测试相关推荐

  1. locust入门:单机使用locust运行压力测试

    locust的官方文档在这里: http://docs.locust.io/en/stable/ 前置:locust的测试脚本使用为python(若未安装python环境,可以搜索安装python) ...

  2. HA: InfinityStones靶机渗透测试

    文章目录 靶机信息 一.信息收集 1.主机发现 2.端口扫描 3.目录扫描 二.漏洞挖掘 1.访问 192.168.1.108 2.访问 /img 目录 3.访问 https 服务(443)端口 4. ...

  3. HA: Forensics靶机渗透测试

    文章目录 靶机说明: 一.信息收集 1.主机发现 2.端口扫描 二.漏洞挖掘 1.访问靶机 web 服务 2.使用 dirb 进行目录扫描 3.使用 exiftool 提取数据 4.使用 dirb 扫 ...

  4. YOLOv4 资源环境配置和测试样例效果

    YOLOv4 资源环境配置和测试样例效果 基本环境:cuda=10.0,cudnn>=7.0, opencv>=2.4 一.下载yolov4 git clone https://githu ...

  5. 大数据调度平台Airflow(八):Airflow分布式集群搭建及测试

    目录 Airflow分布式集群搭建及测试 一.节点规划 二.airflow集群搭建步骤 1.在所有节点安装python3.7 2.在所有节点上安装airflow 三.初始化Airflow 1.每台节点 ...

  6. 2021年大数据ELK(九):使用VSCode测试分词器

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 使用VSCode测试分词器 一.准备VSCode开发环境 1.打开VSCode ...

  7. [FaceBook]测试、发布和分享小游戏

    FaceBook小游戏 测试.发布和分享小游戏 对于小游戏,您现在可以十分轻松地在本地测试开发版本,自动完成发布流程,以及与团队分享编译版本.本文档会详细说明这些步骤. 通过本地服务器测试游戏 小游戏 ...

  8. [JAVAEE] 使用Postman测试接口

    使用Postman测试接口 HelloController.java package com.example.demo.controller;import org.springframework.we ...

  9. Android 弱网测试(小米手机切换3g和2g)

    Android 弱网测试,目前主要的是4g 弱网的话我们可以使用3g和2g 对app 进行测试 现在以小米手机为例 我们测试不同网络下的加载情况 第一步 第二步 第三步: 然后我们就可以根据不同的网络 ...

最新文章

  1. 北师大计算机网络原理和应用作业,北师大网络作业计算机组成原理 作业一(可编辑)...
  2. 瞎了,苹果说这两个Logo过于相似而提起诉讼...
  3. JAVA基础-面向对象07
  4. 【学习笔记】智能制造之精益思想
  5. java - 方法的重载
  6. 使命召唤ios_使命召唤的精巧UI:战地
  7. js 和java有关系吗,javascript和JAVA有什么关系
  8. Python笔记-U2解锁手机九宫格
  9. 关于Python局部变量和全局变量必须知道的几句话
  10. weblogic 文件打开数_WebLogic任意文件上传漏洞(CVE20192618)复现
  11. windows控制台中文乱码解决方法
  12. python 学习之路1-如何入门
  13. java设置http超时时间_Java设置Http请求超时时间
  14. MySQL数据库基础理论
  15. PHP如何在两个大文件中找出相同的记录?
  16. Android 增强版百分比布局库 为了适配而扩展
  17. Context 是什么意思
  18. Appium自动化框架从0到1之 测试用例封装
  19. 国产麒麟系统忘记密码重置办法(5步解决)
  20. linux的s权限和t权限

热门文章

  1. 四川店盈通电子商务有限公司:拼多多推广方法有哪些
  2. kie-server搭建(drools 7.6.0版本)
  3. Java、JSP学籍管理系统
  4. lk boot bootimg
  5. 蒋勋:衣食住行中的美
  6. 酒店评论数据分析(英文文本多分类)
  7. 国内站的ai聊天网站
  8. Java项目:SSM物业缴费管理系统
  9. 你在世界杯期间看球,DBA在世界杯期间……
  10. Matlab GUI设计