Java怎么输出一个表格

Python014

Java怎么输出一个表格,第1张

用java输出数据库表 示例:

import java.awt.BorderLayout

import java.awt.Color

import java.awt.Font

import java.beans.Statement

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.util.Vector

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JScrollPane

import javax.swing.JTable

public class Stmessege1 extends JFrame {

private static final long serialVersionUID = 1L

private JTable table// 声明表格

void Stmessege11() {

setSize(460, 320)

setVisible(true)

}

public Vector getDataVector() throws SQLException, ClassNotFoundException {

Connection conn = null

java.sql.Statement stmt = null

Class.forName("com.mysql.jdbc.Driver")

String dburl = "jdbc:mysql://localhost:3306/hp"

String dbuser = "root"

String dbpassword = "19920102"

conn = DriverManager.getConnection(dburl, dbuser, dbpassword)

stmt = conn.createStatement()

String sql = "select* from xsgli"

ResultSet rs = stmt.executeQuery(sql)

Vector dataVector = new Vector()

while (rs.next()) {

Vector rowVector = new Vector()

for (int i = 1i <= 7i++) {

if (i == 2 || i == 4) {

rowVector.add(String.valueOf(rs.getInt(i)))

} else {

rowVector.add(rs.getString(i))

}

}

dataVector.add(rowVector)

}

return dataVector

}

public Vector getColumnVector() {

Vector columnVector = new Vector()

columnVector.add("姓名")

columnVector.add("学号")

columnVector.add("性别")

columnVector.add("班级")

columnVector.add("系别")

columnVector.add("成绩")

columnVector.add("专业")

return columnVector

}

public Stmessege1() throws SQLException, ClassNotFoundException {

super()

setTitle("学生学籍数据显示")

setBounds(100, 100, 382, 223)

// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

Connection conn = null

Statement stmt = null

Class.forName("com.mysql.jdbc.Driver")

String dburl = "jdbc:mysql://localhost:3306/hp"

String dbuser = "root"

String dbpassword = "19920102"

conn = DriverManager.getConnection(dburl, dbuser, dbpassword)

java.sql.Statement st = conn.createStatement()

String sql = "select* from xsgli"

ResultSet rs = st.executeQuery(sql)

Vector columnVector = getColumnVector()

Vector dataVector = getDataVector()

final JScrollPane scrollPane = new JScrollPane()

getContentPane().add(scrollPane, BorderLayout.CENTER)

table = new JTable(dataVector, columnVector)

table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF)

scrollPane.setViewportView(table)

}

}

java表格就是java swing。

//创建表头

String[] columnNames = { "First Name", "Last Name", "Sport",

"# of Years", "Vegetarian" }

//创建显示数据

Object[][] data = {

{ "Kathy", "Smith", "Snowboarding", new Integer(5),

new Boolean(false) },

{ "John", "Doe", "Rowing", new Integer(3), new Boolean(true) },

{ "Sue", "Black", "Knitting", new Integer(2),

new Boolean(false) },

{ "Jane", "White", "Speed reading", new Integer(20),

new Boolean(true) },

{ "Joe", "Brown", "Pool", new Integer(10), new Boolean(false) } }

/*

* JTable还提供了一个重载的构造方法,传入两个Vector

* JTable(Vector rowData, Vector columnNames)

*

*/

final JTable table = new JTable(data, columnNames)

table.setBackground(Color.YELLOW)

JTable单元格是由单元格绘制器绘制出来的,这是一些执行TableCellRenderer接口的类。TableCellRenderer接口定义了唯一的getTableCellRendererComponent方法,返回对Component的引用,二Component则用来实现绘图操作。但是因为定义单独的类来执行TableCellRenderer比较方便,而且可以实现绘图操作,所以TablecellRenderer通常只返回对自己的引用。下面是传递给getTableCellRendererComponent()方法的几个参数:

对JTable的引用,含有要绘制的单元格

对单元格值的引用

boolean标记,用来表示单元格是否被选中

boolean标记,用来表示单元格是否为输入焦点

绘制的单元格的行索引号

绘制的单元格的列索引号