JAVA图形界面(GUI)之表格的示例代码
表格(JTable)是我们在GUI开发中很常用的一个组件。表格在可视化编程中用于显示信息,在Swing编程中非常有用,当要显示大量数据时,用表格可以清晰的显示出来。
本篇博客将演示JTable的基本用法。
构造方法:
方法名 | 说明 |
---|---|
JTable() | 构造一个默认的 JTable,使用默认的数据模型、默认的列模型和默认的选择模型对其进行初始化 |
JTable(int numRows, int numColumns) | 使用 DefaultTableModel 构造具有 numRows 行和 numColumns 列个空单元格的 JTable |
JTable(Object[][] rowData, Object[] columnNames) | 构造一个 JTable 来显示二维数组 rowData 中的值,其列名称为 columnNames |
JTable(TableModel dm) | 构造一个 JTable,使用数据模型 dm、默认的列模型和默认的选择模型对其进行初始化 |
JTable(TableModel dm, TableColumnModel cm) | 构造一个 JTable,使用数据模型 dm、列模型 cm 和默认的选择模型对其进行初始化 |
JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm) | 构造一个 JTable,使用数据模型 dm、列模型 cm 和选择模型 sm 对其进行初始化 |
JTable(Vector rowData, Vector columnNames) | 构造一个 JTable 来显示 Vector 所组成的 Vector rowData 中的值,其列名称为 columnNames |
使用示例:
import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.MessageFormat; import java.util.Random; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; /** * 表格示例 * * @author jianggujin * */ public class TableDemo extends JFrame { // 默认表格模型 private DefaultTableModel model = null; private JTable table = null; private JButton addBtn = null; public TableDemo() { super("TableDemo"); String[][] datas = {}; String[] titles = { "列一", "列二" }; model = new DefaultTableModel(datas, titles); table = new JTable(model); addBtn = new JButton("添加数据"); addBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { model.addRow(new String[] { getRandomData(), getRandomData() }); } }); add(addBtn, BorderLayout.NORTH); add(new JScrollPane(table)); setSize(400, 300); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { new TableDemo(); } /** * 获得随机字符串,该方法仅用于获得随机字符串,可以忽略 * * @return */ private String getRandomData() { String source = "0123456789abcdefghijklmnopqrstuvwxyz"; int len = source.length(); Random random = new Random(System.currentTimeMillis()); return MessageFormat.format("{0}{0}{0}", source.charAt(random.nextInt(len))); } }
运行效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
赞 (0)