JTable+数据库(mysql)小例子

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


public class JTableDemo
{
public static void main (String[] args)
{
Connection con;
Statement stmt;
ResultSet rs;
Vector vector1=new Vector();
Vector vector3=new Vector();

vector1.addElement("学号");
vector1.addElement("姓名");
vector1.addElement("专业");
vector1.addElement("年龄");
vector1.addElement("家庭住址");
vector1.addElement("联系电话");
vector1.addElement("期末总评");
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundException e){
e.printStackTrace();
}

try{
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","123");
stmt=con.createStatement();
rs=stmt.executeQuery("select * from student order by sno");

while(rs.next())
{
Vector vector2=new Vector();

vector2.addElement(rs.getString(1));
vector2.addElement(rs.getString(2));
vector2.addElement(rs.getString(3));
vector2.addElement(rs.getString(4));
vector2.addElement(rs.getString(5));
vector2.addElement(rs.getString(6));
vector2.addElement(rs.getString(7));
vector3.addElement(vector2);

}
}catch(SQLException ee){
ee.printStackTrace();
}

JTable student = new JTable (vector3,vector1);
student.setPreferredScrollableViewportSize(new Dimension(1000, 100));//设置表格的大小
student.setRowHeight (30);//设置每行的高度为20
student.setSelectionForeground (Color.black);//设置所选择行的前景色
student.setGridColor (Color.black);//设置网格线的颜色
student.setShowGrid (true);//是否显示网格线
student.setShowHorizontalLines (true);//是否显示水平的网格线
student.setShowVerticalLines (true);//是否显示垂直的网格线
student.doLayout ();//使表布局行与列
student.setBackground (Color.lightGray);//表格背景


JScrollPane pane3 = new JScrollPane (student);

JPanel panel = new JPanel (new GridLayout (0, 1));
panel.setPreferredSize (new Dimension (1000,400));
panel.add (pane3);

JFrame frame = new JFrame ("JTableDemo");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

frame.setContentPane (panel);//将Panel加入窗口中

frame.setBounds(200, 200, 1000, 300);
frame.setVisible(true);

}
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要建立一个JTable对象和一个TableModel对象。TableModel是一个接口,它定义了用于管理表格数据的方法。 下面是一个简单的例子,展示如何将MySQL中的数据插入到JTable中: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class MySQLToJTableExample { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "root"; String password = "mypassword"; String query = "SELECT * FROM mytable"; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // Connect to the database conn = DriverManager.getConnection(url, user, password); // Create a statement stmt = conn.createStatement(); // Execute the query rs = stmt.executeQuery(query); // Get the number of columns in the result set int numColumns = rs.getMetaData().getColumnCount(); // Create a DefaultTableModel with the column names DefaultTableModel model = new DefaultTableModel(); for (int i = 1; i <= numColumns; i++) { model.addColumn(rs.getMetaData().getColumnName(i)); } // Add the rows to the table model while (rs.next()) { Object[] rowData = new Object[numColumns]; for (int i = 1; i <= numColumns; i++) { rowData[i - 1] = rs.getObject(i); } model.addRow(rowData); } // Create a JTable with the table model JTable table = new JTable(model); // Create a scroll pane and add the table to it JScrollPane scrollPane = new JScrollPane(table); // Create a new JFrame and add the scroll pane to it JFrame frame = new JFrame(); frame.add(scrollPane); // Set the frame properties frame.setTitle("MySQL to JTable Example"); frame.setSize(500, 500); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } catch (SQLException ex) { ex.printStackTrace(); } finally { try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException ex) { ex.printStackTrace(); } } } } ``` 在这个例子中,我们首先连接到数据库,然后执行一个查询并获取结果集。我们使用ResultSetMetaData获取结果集中的列数和列名,并使用DefaultTableModel创建一个表格模型。接下来,我们将每一行的数据添加到表格模型中。最后,我们创建一个JTable并使用它来创建一个JScrollPane。最后,我们将滚动窗格添加到一个新的JFrame中并显示它。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值