Swing-JTable(表格控件)1/9

直接上代码:

3个类:student+frame+main

student:

package swing01;

/*
 * 表格里得数据
 */
public class Student 
{
	public String id;
	public String name;
	public boolean sex;
	public String birthday;
	public String cellphone;
}

frame

package swing01;

import java.awt.BorderLayout;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class MyFrame extends JFrame
{
	
	//Model:负责数据
	DefaultTableModel tableModel=new DefaultTableModel();
	
	//View:负责显示,创建JTable的时候指定一个Model
	
	JTable table=new JTable(tableModel);
	
	public MyFrame(String title)
	{
		super(title);
		
		JPanel root=new JPanel();
		this.setContentPane(root);
		root.setLayout(new BorderLayout());
		
		//添加至滚动面板
		JScrollPane scrollPane=new JScrollPane(table);
		table.setFillsViewportHeight(true);//确保表永远不会小于视图区
		table.setRowSelectionAllowed(true);//整行选择
		root.add(scrollPane, BorderLayout.CENTER);
		
		//初始化设置
		tableModel.addColumn("学号");
		tableModel.addColumn("姓名");
		tableModel.addColumn("性别");
		tableModel.addColumn("出生日期");
		tableModel.addColumn("手机号");
		
		//添加数据行1
		Student stu=new Student();
		stu.id="20175104014";
		stu.name="郭少";
		stu.sex=true;
		stu.birthday="2019-7-23";
		stu.cellphone="15137724640";
		addTabelRow(stu);
		
		//添加数据行2
		Student stu2=new Student();
		stu2.id="20175062026";
		stu2.name="张少";
		stu2.sex=false;
		stu2.birthday="2019-7-23";
		stu2.cellphone="17837724640";
		addTabelRow(stu2);
		
	}
	
	//
	private void addTabelRow(Student stu)
	{
		//方法01
		//import java.util.Vector是个泛型,表示数组
//		Vector<Object>rowData=new Vector<>();
//		rowData.add(stu.id);
//		rowData.add(stu.name);
//		rowData.add(stu.sex);
//		rowData.add(stu.birthday);
//		rowData.add(stu.cellphone);
//		tableModel.addRow(rowData);
		
		//方法2
		Object[] rowData=new Object[5];
		rowData[0]=stu.id;
		rowData[1]=stu.name;
		rowData[2]=stu.sex;
		rowData[3]=stu.birthday;
		rowData[4]=stu.cellphone;
		tableModel.addRow(rowData);
		
		
		
	}
}

 main

package swing01;
 
import java.awt.Container;
import java.awt.FlowLayout;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
 
public class MyDemo
{
	private static void createGUI()
	{
		// JFrame指一个窗口,构造方法的参数为窗口标题
		JFrame frame = new MyFrame("信息列表");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
				// 设置窗口的其他参数,如窗口大小
		frame.setSize(400, 300);
		
		// 显示窗口
		frame.setVisible(true);
	}
	
	public static void main(String[] args)
	{

		javax.swing.SwingUtilities.invokeLater(new Runnable() {
			public void run()
			{
				createGUI();
			}
		});
 
	}
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值