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

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);
	}
}

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值