Swing 表格

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

Swing 使用 JTable 类实现表格,常用构造方法如下所示。

  • JTable():构造一个默认的 JTable,使用默认的数据模型、默认的列模型和默认的选择模型对其进行初始化。
  • JTable(int numRows,int numColumns):使用 DefaultTableModel 构造具有 numRows 行和 numColumns 列个空单元格的 JTable。
  • JTable(Object[][] rowData,Object[] columnNames):构造一个 JTable 来显示二 维数组 rowData 中的值,其列名称为 columnNames。


创建一个带有滚动条的 JTable 对象非常简单,如下所示。

JTable table=new JTable(5,6);
JScrollPane pane=new JScrollPane(table);

第一条

### 关于Java Swing JTable的使用教程与示例 #### 创建基本表格 为了创建一个基础的`JTable`实例,可以通过继承`AbstractTableModel`来自定义数据模型。下面是一个简单的例子,展示了如何构建一个拥有10行10列数字的表格: ```java import javax.swing.*; import java.awt.*; public class SimpleTableExample { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); TableModel dataModel = new AbstractTableModel() { // 定义表格的数据源 @Override public int getColumnCount() { return 10; } @Override public int getRowCount() { return 10;} @Override public Object getValueAt(int row, int col) { return Integer.valueOf(row * col); } }; JTable table = new JTable(dataModel); // 初始化表格并关联到指定的数据源 JScrollPane scrollPane = new JScrollPane(table); // 将表格放入滚动面板以便处理大量数据时能够正常显示 frame.add(scrollPane, BorderLayout.CENTER); frame.setSize(400, 300); frame.setVisible(true); } } ``` 这段代码实现了创建一个带有简单乘法运算结果填充的小型表格,并将其放置在一个窗口内的滚动容器中[^1]。 #### 实现增删改查功能 对于更复杂的交互需求,比如监听用户的点击动作以移除选定行,则需进一步扩展应用逻辑。这里给出了一段用于响应“删除”按钮事件的方法实现片段: ```java protected void do_button_actionPerformed(ActionEvent e){ DefaultTableModel model=(DefaultTableModel) table.getModel(); // 获取当前使用的表格模型 int[] selectedRows=table.getSelectedRows(); // 得到用户选中的所有行索引数组 while(selectedRows.length>0){ // 遍历所选项直至全部被清除 model.removeRow(selectedRows[0]); selectedRows=table.getSelectedRows(); // 更新剩余的选择项列表 } table.setModel(model); // 刷新视图使更改生效 } ``` 此部分代码演示了怎样安全地从表格中去除多条记录而不影响其他未选择的内容[^3]。 通过上述两个案例的学习,开发者可以获得足够的基础知识去探索更多高级特性和定制化配置的可能性。值得注意的是,在实际开发过程中应当充分考虑用户体验以及性能优化等方面的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑石课堂

请给我打钱!!!谢谢,不客气!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值