启动类:import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.util.*;
class Demo extends JFrame implements ActionListener
{
private ResultSet rs;
JButton jb=null;
JPanel jp1,jp2;
JScrollPane jsp=new JScrollPane();
JTable jtb;
Vector row=new Vector();
Vector col=new Vector();
DefaultTableModel dtm=new DefaultTableModel();
public Demo()
{
jtb=new JTable(dtm);
jtb.setPreferredScrollableViewportSize(new Dimension(200,200));
jsp.add(jtb);
jb=new JButton("ok");
jb.addActionListener(this);
jp1=new JPanel();
jp2=new JPanel();
jp2.setPreferredSize(new Dimension(300,300));
jsp.setPreferredSize(new Dimension(300,300));
jp2.setBackground(Color.red);
jp2.setLayout(new BorderLayout());
jp1.add(jb);
this.add(jp1,"North");
this.add(jp2);
this.add(jsp);
this.setSize(400,500);
this.show();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jb)
{
ConDatabase base=new ConDatabase("select * from mer");
rs=base.getrs();
try
{
ResultSetMetaData rsmd=rs.getMetaData();
for (int i = 1; i<=rsmd.getColumnCount(); i++)
{
col.add(rsmd.getColumnName(i));
}
while(rs.next())
{
Vector v=new Vector();
for (int i = 1; i<=6; i++)
{
v.add(rs.getString(i));
}
row.add(v);
}
dtm.setDataVector(row,col);
System.out.println ("ddddddddd");
}
catch (Exception ex)
{
System.out.println (ex.getMessage());
}
}
}
public static void main(String[] args)
{
new Demo();
}
}//数据库联接的类:
import java.sql.*;public class ConDatabase
{
ResultSet rs;
public ConDatabase(String str)
{
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
java.sql.Connection conn = java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=mer","sa","");
java.sql.Statement sta = conn.createStatement();
rs=sta.executeQuery(str);
}
catch (Exception ex)
{
System.out.println (ex.getMessage());
}
}
public ResultSet getrs()
{
return rs;
}
}//怎么显示不出来啊,谢谢了!在线等
import javax.swing.*;
import java.sql.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.util.*;
class Demo extends JFrame implements ActionListener
{
private ResultSet rs;
JButton jb=null;
JPanel jp1,jp2;
JScrollPane jsp=new JScrollPane();
JTable jtb;
Vector row=new Vector();
Vector col=new Vector();
DefaultTableModel dtm=new DefaultTableModel();
public Demo()
{
jtb=new JTable(dtm);
jtb.setPreferredScrollableViewportSize(new Dimension(200,200));
jsp.add(jtb);
jb=new JButton("ok");
jb.addActionListener(this);
jp1=new JPanel();
jp2=new JPanel();
jp2.setPreferredSize(new Dimension(300,300));
jsp.setPreferredSize(new Dimension(300,300));
jp2.setBackground(Color.red);
jp2.setLayout(new BorderLayout());
jp1.add(jb);
this.add(jp1,"North");
this.add(jp2);
this.add(jsp);
this.setSize(400,500);
this.show();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jb)
{
ConDatabase base=new ConDatabase("select * from mer");
rs=base.getrs();
try
{
ResultSetMetaData rsmd=rs.getMetaData();
for (int i = 1; i<=rsmd.getColumnCount(); i++)
{
col.add(rsmd.getColumnName(i));
}
while(rs.next())
{
Vector v=new Vector();
for (int i = 1; i<=6; i++)
{
v.add(rs.getString(i));
}
row.add(v);
}
dtm.setDataVector(row,col);
System.out.println ("ddddddddd");
}
catch (Exception ex)
{
System.out.println (ex.getMessage());
}
}
}
public static void main(String[] args)
{
new Demo();
}
}//数据库联接的类:
import java.sql.*;public class ConDatabase
{
ResultSet rs;
public ConDatabase(String str)
{
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
java.sql.Connection conn = java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=mer","sa","");
java.sql.Statement sta = conn.createStatement();
rs=sta.executeQuery(str);
}
catch (Exception ex)
{
System.out.println (ex.getMessage());
}
}
public ResultSet getrs()
{
return rs;
}
}//怎么显示不出来啊,谢谢了!在线等
import javax.swing.*;
import java.sql.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.util.*;class Demo extends JFrame implements ActionListener {
private ResultSet rs;
JButton jb=null;
JPanel jp1,jp2;
JScrollPane jsp=new JScrollPane();
JTable jtb;
Vector row=new Vector();
Vector col=new Vector();
DefaultTableModel dtm=new DefaultTableModel();
public Demo() {
jtb=new JTable(dtm);
jtb.setPreferredScrollableViewportSize(new Dimension(200,200));
jsp.add(jtb);
jb=new JButton("ok");
jb.addActionListener(this);
jp1=new JPanel();
jp2=new JPanel();
jp2.setPreferredSize(new Dimension(300,300));
jsp.setPreferredSize(new Dimension(300,300));
jp2.setBackground(Color.red);
jp2.setLayout(new BorderLayout());
jp1.add(jb);
this.add(jp1,"North");
this.getContentPane().add(jsp, BorderLayout.CENTER);
this.setSize(400,500);
this.show();
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jb) {
ConDatabase base=new ConDatabase("select * from audit_project");
rs=base.getrs();
try {
ResultSetMetaData rsmd=rs.getMetaData();
for (int i = 1; i<=rsmd.getColumnCount(); i++) {
col.add(rsmd.getColumnName(i));
}
System.out.println(col);
while(rs.next()) {
Vector v=new Vector();
for (int i = 1; i<=rsmd.getColumnCount(); i++) {
v.add(rs.getString(i));
}
row.add(v);
}
System.out.println(row);
dtm.setDataVector(row,col);
jsp.setViewportView(jtb);
System.out.println("ddddddddd");
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
public static void main(String[] args) {
new Demo();
}
}每次点击按钮,列数会增倍,只需要把两个vector clear()一下就行了,自己加吧。
ps:注意一下代码规范
package com.softfz.zxj;import java.util.ArrayList;import javax.swing.table.AbstractTableModel;public class MyTableModel extends AbstractTableModel {//
private ArrayList data = null;
private String[] columnNames = null;
public MyTableModel(String[] tableTitle,ArrayList tabledata)
{
columnNames = tableTitle;
data = tabledata;
}
public int getColumnCount(){
return columnNames.length;
}
public int getRowCount(){
return data.size();
} public String getColumnName(int col){
return columnNames[col];
} public Object getValueAt(int row,int col){
return ((ArrayList)data.get(row)).get(col);
}
/**
* @return 返回 data。
*/
public ArrayList getData() {
return data;
}
实例化时要传入两个参数tableTitle,tabledata
用法:tableTitle为表中每个字段的标题,tabledata这个参数是一个ArrayList
如:String[] title ={"name","age"};
ArrayList record=new ArrayList();
record.add("zxj");
record.add(new Integer(56))
ArrayList data = new ArrayList();
data.add(record);
table.setModel(new MyTableModel(title ,data));