Java Swing桌面应用开发-组件-表格(JTable)

    xiaoxiao2025-07-24  17

    1:JTable的基本使用

    如下图 做这样的表格的代码实现如下

    package Swing; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; public class Main10 extends JFrame{ public static void main(String[] args) { Main10 main10 = new Main10(); main10.Run(); } public void Run(){ //创建表格 设置表格的起始位置和高度 宽度 JTable table = new JTable(30,4);//设置为三行四列 //设置table的股东窗体 JScrollPane jScrollPane = new JScrollPane(table); jScrollPane.setBounds(30, 30, 440, 200); //创建container Container container = this.getContentPane(); container.add(jScrollPane); // 设置布局管理器 this.setLayout(null); /** * 设置窗体属性 */ this.setTitle("表格学习"); this.setVisible(true); this.setSize(500, 500); this.setLocationRelativeTo(null);// 设置居中显示 // 设置Jframe窗体关闭时 程序结束 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

    2:JTable表格数据的来源

    2.1:数组作为数据来源

    数组作为数据来源中 正文为二维数组;表头为一维数组

    package Swing; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; public class Main10 extends JFrame{ public static void main(String[] args) { Main10 main10 = new Main10(); main10.Run(); } public void Run(){ //表格数据来源 Object[][] context = new Object[][]{ {"1","张三1","男","高三(1)班"}, {"2","张三2","男","高三(2)班"}, {"3","张三3","男","高三(3)班"}, {"4","张三4","男","高三(4)班"} }; Object[] title = new Object[]{"编号","姓名","性别","班级"}; //创建表格 设置表格的起始位置和高度 宽度 JTable table = new JTable(context,title);//设置为三行四列 //设置table的股东窗体 JScrollPane jScrollPane = new JScrollPane(table); jScrollPane.setBounds(30, 30, 440, 200); //创建container Container container = this.getContentPane(); container.add(jScrollPane); // 设置布局管理器 this.setLayout(null); /** * 设置窗体属性 */ this.setTitle("表格学习"); this.setVisible(true); this.setSize(500, 500); this.setLocationRelativeTo(null);// 设置居中显示 // 设置Jframe窗体关闭时 程序结束 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

    2.2:使用DefaultTableModel模型管理器管理数组

            //表格数据来源         Object[][] context = new Object[][]{             {"1","张三1","男","高三(1)班"},             {"2","张三2","男","高三(2)班"},             {"3","张三3","男","高三(3)班"},             {"4","张三4","男","高三(4)班"}         };                  Object[] title = new Object[]{"编号","姓名","性别","班级"};                  DefaultTableModel model = new DefaultTableModel(context, title);         //创建表格 设置表格的起始位置和高度 宽度         JTable table = new JTable(model);         //设置table的股东窗体         JScrollPane jScrollPane = new JScrollPane(table);         jScrollPane.setBounds(30, 30, 440, 200);

    2.3:使用Vector来作为数据容器

    package Swing; import java.awt.Container; import java.util.Vector; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class Main10 extends JFrame{ public static void main(String[] args) { Main10 main10 = new Main10(); main10.Run(); } public void Run(){ //表格数据来源 Vector<Object> vector1 = new Vector<>(); vector1.add("张三1"); vector1.add("17"); vector1.add("179"); Vector<Object> vector2 = new Vector<>(); vector2.add("张三2"); vector2.add("17"); vector2.add("179"); Vector<Object> vector3 = new Vector<>(); vector3.add("张三3"); vector3.add("17"); vector3.add("179"); Vector<Vector<Object>> vectorContext = new Vector<>(); vectorContext.add(vector1); vectorContext.add(vector2); vectorContext.add(vector3); Vector<Object> vectorTitle = new Vector<>(); vectorTitle.add("姓名"); vectorTitle.add("年龄"); vectorTitle.add("身高"); DefaultTableModel model = new DefaultTableModel(vectorContext, vectorTitle); //创建表格 设置表格的起始位置和高度 宽度 JTable table = new JTable(model);//设置为三行四列 //设置table的股东窗体 JScrollPane jScrollPane = new JScrollPane(table); jScrollPane.setBounds(30, 30, 440, 200); //创建container Container container = this.getContentPane(); container.add(jScrollPane); // 设置布局管理器 this.setLayout(null); /** * 设置窗体属性 */ this.setTitle("表格学习"); this.setVisible(true); this.setSize(500, 500); this.setLocationRelativeTo(null);// 设置居中显示 // 设置Jframe窗体关闭时 程序结束 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

     

    最新回复(0)