java tablecelleditor_浅析JTable与TableModel、TableCellRenderer、TableCellEditor接口——使用JComboBox显示单元格的值...

本文详细解析了如何在Java Swing的JTable组件中使用JComboBox来展示单元格数据,通过实现TableModel、TableCellRenderer和TableCellEditor接口,实现了表格的自定义显示和编辑功能。示例代码展示了如何创建和配置表格,以及处理单元格的渲染和编辑过程。
摘要由CSDN通过智能技术生成

如同其它的Swing组件,JTable使用MVC(模型、试图、控制器)设计方式,将可视化组件(JTable实例)从其数据(TableModel实现)中分离出来。

·TableModel接口

1、TableModel为JTable提供

·显示的数据

·表格的维数

·表格中每一列所包含的数据类型

·应该显示的列标题

·是否允许编辑指定单元格的值

2、实现TableModel:

TableValues类

import javax.swing.table.AbstractTableModel;

/**

*     注意:一般使用AbstractTableModel创建TableModel的实现,只有少量数据时使用DefaultTableModel,

*/

public class TableValues extends AbstractTableModel{

private static final long serialVersionUID = -8430352919270533604L;

public final static int NAME = 0;

public final static int GENDER = 1;

public final static String[] columnNames = {"姓名", "性别"};

public Object[][] values = {

{"Cannel_2020",true},

{"Lucy",false},

{"韩梅",false},

{"李雷",true},

{"Jim",true}

};

publicint getColumnCount() {

return  values[0].length;

}

publicint getRowCount() {

return values.length;

}

public Object getValueAt(int rowIndex, int columnIndex) {

return values[rowIndex][columnIndex];

}

/**

* 获取列名

*/

publicString getColumnName(int column){

return columnNames[column];

}

}

SimpleTableTest类

import java.awt.BorderLayout;

import java.awt.Container;

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.TableColumn;

import javax.swing.table.TableColumnModel;

public class SimpleTableTest extends JFrame{

private static final long serialVersionUID = -4172876583187222326L;

protected JTable table;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值