package 表格;import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;import javax.swing.*;public class JTableText extends JFrame{public JTableText() {super();setTitle("操作表格");setBounds(100,100,500,400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Container c=getContentPane();String []columnNames= {"A","B","c","d","e","f","g"};//定义表格列String [][] tableValues=new String[20][columnNames.length];//定义数字,用来存储表格数据for(int row=0;row<tableValues.length;row++) {for(int column=0;column<columnNames.length;column++) {tableValues[row][column]=columnNames[column]+row;}}JTable table=new JTable(tableValues,columnNames);JScrollPane jp=new JScrollPane(table);c.add(jp,BorderLayout.CENTER);table.setSelectionForeground(Color.BLUE);//设置前景色table.setSelectionBackground(Color.yellow);//设置背景色table.setRowHeight(30);//行高像素/** MULTIPLE_INTERVAL_SELECTION 随便选* SINGLE_INTERVAL_SELECTION  连选* SINGLE_SELECTION  单选*/table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//选择模式System.out.println("表格一共有"+table.getRowCount()+"列,"+table.getColumnCount()+"列");System.out.println("第二列的名称:"+table.getColumnName(1));System.out.println("第二行第san列的值为:"+table.getValueAt(1,2));}public static void main(String[] args) {JTableText a=new JTableText();a.setVisible(true);}}

package 表格;import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.*;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;import SWING程序设计2.JTEXTFIELD;public class TableMpoodelTest extends JFrame {public static void main(String[] args) {TableMpoodelTest a=new TableMpoodelTest();}private DefaultTableModel tableModel;private JTable table;private JTextField aJTextField;private JTextField bJTextField;private JButton addButton,delButton,upButton;public TableMpoodelTest() {setTitle("维护表格模型");Container c=getContentPane();setBounds(100, 100, 500, 300);setDefaultCloseOperation(EXIT_ON_CLOSE);String[]columnNames= {"A","B"};//定义列表名数组String[][] tableValues= {{"A1","B1"},{"A2","B2"},{"A3","B3"}};//定义表格数据数组tableModel=new DefaultTableModel(tableValues,columnNames);table=new JTable(tableModel);JScrollPane jsp=new JScrollPane(table);c.add(jsp,BorderLayout.CENTER);buttonInit();setVisible(true);}public void buttonInit() {//按钮初始化方法JPanel panel=new JPanel();Container c=getContentPane();c.add(panel,BorderLayout.SOUTH);panel.add(new JLabel("A:"));aJTextField=new JTextField("A4",5);panel.add(aJTextField);panel.add(new Label("B:"));bJTextField =new JTextField("B4",5);panel.add(bJTextField);addButton=new JButton("添加");upButton=new JButton("修改");delButton=new JButton("删除");panel.add(addButton);panel.add(upButton);panel.add(delButton);addButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String rowdata[]= {aJTextField.getText(),bJTextField.getText()};tableModel.addRow(rowdata);//表格模型添加一行数据int rowcount=table.getRowCount();//当前行数+1aJTextField.setText("A"+rowcount);bJTextField.setText("B"+rowcount);// TODO 自动生成的方法存根}});upButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int selectedrow=table.getSelectedRowCount();//选中行的索引if(selectedrow != -1){tableModel.setValueAt(aJTextField.getText(),selectedrow,0);//修改表格模型tableModel.setValueAt(bJTextField.getText(),selectedrow,1);}// TODO 自动生成的方法存根}});delButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int selectedrow=table.getSelectedRowCount();if(selectedrow != -1) {tableModel.removeRow(selectedrow);}// TODO 自动生成的方法存根}});tableModel.addTableModelListener(new TableModelListener() {@Overridepublic void tableChanged(TableModelEvent e) {int type=e.getType();//获取事件类型int row=e.getFirstRow();int column=e.getColumn();if(type==TableModelEvent.INSERT) {System.out.println("此事件由\"插入\"触发");System.out.println("此次插入的是"+row);}if(type==TableModelEvent.UPDATE) {System.out.println("此事件由\"修改\"触发");System.out.println("此次修改的是"+row);}if(type==TableModelEvent.DELETE) {System.out.println("此事件由\"删除\"触发");System.out.println("此次删除的是"+row);}// TODO 自动生成的方法存根}});}}

十四、JTABLE类相关推荐

  1. C++编程入门系列之十四(类与对象:构造函数和析构函数)

    C++编程入门系列之十四(类与对象:构造函数和析构函数) 鸡啄米上一节中给大家讲解了类的声明.成员的访问控制和对象,今天鸡啄米给大家讲C++编程入门时同样必须掌握的构造函数和析构函数.从上一讲开始已经 ...

  2. 前端一HTML:二十四伪类

    类选择器作用:是用来给对应的类标签设置样式. 伪类也是给对应的标签设置样式.伪类选择器的样式要显示出来,这个标签就必须具备对应的条件. a:link  设置元素没有被访问过的样式. 如果已经点击了一次 ...

  3. CorelDRAWX4的VBA插件开发(四十四)建立类(1)汇总相似功能简化重复代码:一键建立设计外框加出血线和等分折页线

    这次主要来浅讲一下"类"这个功能,先上一下要实现的功能,建立设计外框加出血线和等分折页线,先上图 那什么是类呢?类其实就是CLASS,用来封装成员参数和函数的,拆开来里面就是这些东 ...

  4. Kotlin学习笔记 第二章 类与对象 第十四 十五节 委托 委托属性

    参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...

  5. 【零基础学Java】—Calendar类(三十四)

    [零基础学Java]-Calendar类(三十四) java.util.Calendar日历类 Calendar类是一个抽象类,里面提供了很多操作日历字段的方法 Calendar类无法直接创建对象,里 ...

  6. 二叉树类图_数据结构(十四)——二叉树

    数据结构(十四)--二叉树 一.二叉树简介 1.二叉树简介 二叉树是由n(n>=0)个结点组成的有序集合,集合或者为空,或者是由一个根节点加上两棵分别称为左子树和右子树的.互不相交的二叉树组成. ...

  7. C++语言学习(十四)——C++类成员函数调用分析

    C++语言学习(十四)--C++类成员函数调用分析 一.C++成员函数 1.C++成员函数的编译 C++中的函数在编译时会根据命名空间.类.参数签名等信息进行重新命名,形成新的函数名.函数重命名的过程 ...

  8. 第十四届全国大学生数学竞赛河南赛区(非数学类)决赛试题+参考解答发布

    第十四届全国大学生数学竞赛河南赛区(非数学类)决赛试题+参考解答发布! 竞 赛 试 题: 仅供无偿分享提供给广大学子学习,如有侵权,请联系客服删除! 参 考 答 案: 对于基础薄弱的同学,我们也可以多 ...

  9. javaSE学习笔记——第十四天正则表达式、Math类、System类、Data类、Calendar类等

    javaSE学习第十四天 java知识 正则表达式的概述和简单使用 A:正则表达式 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. 作用:比如 ...

  10. java第十四章上机四客户类_java语言程序设计教学大纲.doc

    java语言程序设计教学大纲.doc 还剩 5页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 第六章 结构控制 2 2第七章 数组 2第八章 字符串 ...

最新文章

  1. TensorFlow Keras API用法
  2. 2012-12-21
  3. LiveBos---扩展按钮调用方法
  4. FZU 1901 Period II(KMP中的next)题解
  5. ffmpeg.c学习-1-框架分析及命令行解析
  6. source 1.5 中不支持 diamond 运算符
  7. 微信和钉钉电脑客户端多开的解决方法(Windows 10)
  8. MySQL-5.6.14-winx64的免安装配置方法
  9. [渝粤教育] 西南科技大学 理论力学 在线考试复习资料(1)
  10. JS动态插入插件后,不能马上使用,必须刷新
  11. SharePoint 2013 Error - File names can't contain the following characters: ? # {} % ~ / \.
  12. 计算机输入什么指令关机,电脑自动关机命令是什么
  13. CSDN图片去除水印
  14. Mac屏幕录制与视频压缩
  15. 企业实现均衡生产,车间管理系统来支持
  16. 数字科技陪伴企业成长|突破封锁,庚顿数据助力中国名牌全球瞩目
  17. 咻咻验证码,见证百合网发展壮大!
  18. CSS:三种背景(斑马线,棋盘,格子)
  19. PPT文档打不开提示访问出错怎么办
  20. 王者链游西坦竞技场(Thetan Arena)攻略来了

热门文章

  1. 地平线检测horizon line detection
  2. lua mysql 事务_Lua 操作数据库(MySQL)
  3. 【大数据采集技术与应用】【期末复习题】
  4. 相对布局RelativeLayout音乐播放器界面
  5. 透射电镜测试样品的制备要求和方法
  6. Java通过Freemarker生成docx文件
  7. JavaScript 发布订阅者模式和观察者模式及区别
  8. 关于hpv3000HPDV2000想把vista改成xp的朋友可以看下
  9. 电子计算机发明于1946年对不对,国家公务员测验考试常识题.doc
  10. SpringBoot网上书城的设计与实现源码+文档