JTable组件的使用、从数据库中取出表格结合JTable组件的使用


JTable组件的使用


/**
 * Jtable的使用
 */
package com.stuAS;

import java.util.*;
import javax.swing.*;


public class Demo1 extends JFrame{
	
	//rowData用来存放行数据
	//columnNames存放列名
	Vector rowData,columnNames;
	JTable jTable=null;
	JScrollPane jScrollPane=null;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Demo1 demo1=new Demo1();
	}
	
	public Demo1(){
		//
		columnNames=new Vector<>();
		
		//设置列名
		columnNames.add("学号");
		columnNames.add("名字");
		columnNames.add("性别");
		columnNames.add("年龄");
		columnNames.add("籍贯");
		columnNames.add("系别");
		
		rowData=new Vector<>();
		//rowData可以存放多行
		Vector hang=new Vector<>();
		hang.add("sp001");
		hang.add("孙悟空");
		hang.add("男");
		hang.add("50");
		hang.add("花果山");
		hang.add("少林派");
		//加到rowData
		rowData.add(hang);
		
		//初始化JTable
		jTable=new JTable(rowData, columnNames);
		
		//初始化滚动条jscrollpane,实现滚轮滑动表格
		jScrollPane=new JScrollPane(jTable);
		//将组件添加到JFrame中
		this.add(jScrollPane);
		
		//设置窗口属性
		this.setTitle("学生管理系统");
		this.setSize(400, 300);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		this.setVisible(true);
		
		
	}

}


从数据库中取出表格结合JTable组件的使用

/**
 * 使用数据库的表格内容向JTable组件添加内容
 */
package com.stuAS;
import java.sql.*;
import java.util.*;
import javax.swing.*;

public class Demo2 extends JFrame{

	//rowData用来存放行数据
	//columnNames存放列名
	Vector rowData,columnNames;
	JTable jTable=null;
	JScrollPane jScrollPane=null;
	//定义操作数据库的内容
	PreparedStatement preparedStatement=null;
	Connection connection=null;
	ResultSet resultSet=null;
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Demo2 demo2=new Demo2();

	}
	public Demo2(){
		//先引入sqljdbc4.jar包
		//
		columnNames=new Vector<>();
		
		//设置列名
		columnNames.add("学号");
		columnNames.add("名字");
		columnNames.add("性别");
		columnNames.add("年龄");
		columnNames.add("籍贯");
		columnNames.add("系别");
		
		//rowData存放多行
		rowData=new Vector<>();
		
		try {
			//操作数据库的对象的建立
			//加载驱动
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			//连接数据源---创建连接的
			connection=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=stu","sa","sql@2018");
			//创建preparedstatement对象
			preparedStatement=connection.prepareStatement("select * from stu");
			//执行
			resultSet=preparedStatement.executeQuery();
			//循环取出数据库表中的每行内容存放在hang中,并添加到vector
			while (resultSet.next()) {
				Vector hang=new Vector<>();
				hang.add(resultSet.getString(1));
				hang.add(resultSet.getString(2));
				hang.add(resultSet.getString(3));
				hang.add(resultSet.getInt(4));
				hang.add(resultSet.getString(5));
				hang.add(resultSet.getString(6));
				//该行加到rowData
				rowData.add(hang);
			}
		
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}finally {
			//关闭流
			try {
				if (resultSet!=null) {
					resultSet.close();
				}
				if (preparedStatement!=null) {
					preparedStatement.close();
				}
				if (connection!=null) {
					connection.close();
				}
			} catch (Exception e2) {
				// TODO: handle exception
				e2.printStackTrace();
			}
			if (resultSet!=null) {
				
			}
		}
	
		
		//初始化JTable
		jTable=new JTable(rowData, columnNames);
		
		//初始化滚动条jscrollpane,实现滚轮滑动表格
		jScrollPane=new JScrollPane(jTable);
		//将组件添加到JFrame中
		this.add(jScrollPane);
		
		//设置窗口属性
		this.setTitle("学生管理系统");
		this.setSize(400, 300);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		this.setVisible(true);
		
		
	}

}



 
 


猜你喜欢

转载自blog.csdn.net/noreaday/article/details/79615139