import javax.swing.*;importjavax.swing.table.DefaultTableModel;import java.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;public class Demo extends JFrame {//窗体类

private DefaultTableModel model;//表格模型

private JTable table;//表格

private JButton addButton, delButton, updButton;//增删改三个按钮

private JTextField aTextField, bTextField;//按钮旁边的输入框

public Demo() {//窗体构造方法

setTitle("表格模型");

setBounds(100, 100, 400, 200);

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

String[] columnNames= {"A", "B"};//定义表格列名

String[][] tableValues = {{"A1", "B1"}, {"A2", "B2"}, {"A3", "B3"}};//表格内容

model= new DefaultTableModel(tableValues, columnNames);//设置模型

table = new JTable(model);//引用模型,或table.setModel(model);

JScrollPane sc = newJScrollPane(table);

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

buttonInit();//调用按钮,按钮初始化

addMyListener();//组件的监听事件

}private voidbuttonInit() {final JPanel panel = new JPanel();//内部默认流布局

getContentPane().add(panel, BorderLayout.SOUTH);

panel.add(new JLabel("A:"));

aTextField= new JTextField("A4", 5);//文本框的内容和宽度

panel.add(aTextField);

panel.add(new Label("B:"));

bTextField= new JTextField("B4", 5);

panel.add(bTextField);

addButton= new JButton("增加");

delButton= new JButton("删除");

updButton= new JButton("修改");

panel.add(addButton);

panel.add(delButton);

panel.add(updButton);

}private voidaddMyListener() {

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

String rowData[]={aTextField.getText(), bTextField.getText()};

model.addRow(rowData);//在表格模型中增加一行内容(文本框内容)

int rowCount = table.getRowCount() + 1;//获取当前行数+1

aTextField.setText("A" + rowCount);//文本框中内容增1

bTextField.setText("B" +rowCount);

}

});

updButton.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {int selectedRow = table.getSelectedRow();//获取被选中行的索引

if (selectedRow != -1) {//存在被选中行

model.setValueAt(aTextField.getText(), selectedRow, 0);//修改第1列的值

model.setValueAt(bTextField.getText(), selectedRow, 1);//修改第2列的值

}

}

});

delButton.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent e) {int selectedRow =table.getSelectedRow();if (selectedRow != -1) {

model.removeRow(selectedRow);//删除选中的行

}

}

});

}public static voidmain(String[] args) {

Demo frame= newDemo();

frame.setVisible(true);

}

}

java tablemodel_高级组件——表格模型TableModel相关推荐

  1. Java Swing高级组件——表格组件

    Swing 表格组件 表格是最常用的数据统计形式之一,在日常生活中经常需要表格来统计数据.在 Java Swing 中由JTable类实现表格. 一,创建表格 在 JTable 类中除了默认的构造方法 ...

  2. Java Swing高级组件——分割面板

    分割面板 分割面板由 JSplitPane 类实现,用来将其所在的区域分割成两部分,可根据情况决定是水平方向分割还是垂直方向分割,分割的两部分之间会有一个分隔条,通过调整分隔条的位置,可以自定义两部分 ...

  3. Java程序设计——Swing UI 高级组件(三)

    目录 Timer:计时器 JFileChooser:文件选择器 JColorChooser:颜色选择器 BorderFactory:边框 JTable:表格 JOptionPane:标准对话框 JTr ...

  4. java中怎么创建表格_Java中的表格怎么利用表格模型进行创建

    Java中的表格怎么利用表格模型进行创建 发布时间:2020-12-03 16:44:43 来源:亿速云 阅读:89 作者:Leah 本篇文章给大家分享的是有关Java中的表格怎么利用表格模型进行创建 ...

  5. java表格模型_java 的表格模型是什么?

    展开全部 DefaultTableModel是常用的java表格模型. 参考代码: package com.dusd; import java.awt.BorderLayout; import jav ...

  6. eclipse java ui,Eclipse Forms筹划漂亮UI之高级组件[Java编程]

    赞助商链接 本文"Eclipse Forms筹划漂亮UI之高级组件[Java编程]"是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价 ...

  7. 22、Java Swing JTable:表格

    表格是 Swing 新增加的组件,主要功能是把数据以二维表格的形式显示出来,并且允许用户对表格中的数据进行编辑.表格组件是最复杂的组件之一,它的表格模型功能非常强大.灵活而易于执行.由于篇幅有限,本节 ...

  8. [Qt教程] 第25篇 数据库(五)SQL表格模型QSqlTableModel

    [Qt教程] 第25篇 数据库(五)SQL表格模型QSqlTableModel 楼主  发表于 2013-5-21 20:36:22 | 查看: 923| 回复: 7 SQL表格模型QSqlTable ...

  9. java 8书籍_清华大学出版社-图书详情-《Java 8高级应用与开发》

    前言 本书不是一本简单的Java教材,不是知识点的铺陈,而是致力于将知识点融入实际项目的开发中.作为Java技术教材,最困难的事情是将一些复杂.难以理解的技术和思想让初学者能够轻松理解并快速掌握.本书 ...

最新文章

  1. Nature子刊 | 翟冰等造血干细胞移植中的肠道真菌菌群动态变化与临床结果分析(招聘博后、助研)...
  2. dfs解决选或不选问题
  3. 数据库异常关闭后无法启动问题处理
  4. 小心!你家的 IoT 设备可能已成为僵尸网络“肉鸡”
  5. java位运算(、|、 ~、、 、 ^)
  6. Windows Media Services 9 系列常见问题解答
  7. 苹果电脑制作Windows U盘系统
  8. 阿里国际站出口通升级金品诚企详细流程
  9. 蛋白二级结构预测(ANN神经网络、BP算法)
  10. CLI (命令行接口) 简易开发
  11. 01 创建一个二维地图
  12. jq的深浅复制:extend()
  13. 论邮政有多硬核!邮车意外滑落悬崖,快递员的行为让人动容!
  14. 引用 当鱼爱上了白蝴蝶
  15. 2022暑初二信息竞赛学习成果分享2
  16. java爬虫系列第二讲-爬取最新动作电影《海王》迅雷下载地址
  17. 电脑音频转换mp3格式怎么弄,教你音频怎么转换mp3格式
  18. 机器学习K均值聚类 python
  19. 数据分析-Tableau01-柱状图、堆积柱状图、直方图系列
  20. e4a官方服务器php中间件,e4a接入博维云无服务器平台的接口函数实例

热门文章

  1. 深度学习常见问题解析
  2. Laravel Dcat-admin 详情页多栏布局开发
  3. Thrift的服务器和客户端Python案例
  4. 【CV】吴恩达机器学习课程笔记第18章
  5. C++ 判断字符串是否为空
  6. UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe6 in position 0: ordinal not in range(128)
  7. java面向过程和面向对象
  8. 题解 P4692 【[Ynoi2016]谁的梦】
  9. LOJ 2537 「PKUWC2018」Minimax
  10. [Offer收割]编程练习赛63