在线等! 急!-能编译能运行!就是JtableI不显示!(求教高手!)做出给50分!不胜感激!!高手指一下哪错了??import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.lang.*;
import java.util.*;
import javax.swing.table.DefaultTableModel;
public class JF_view_syset_grade1 extends JFrame {
private JFrame frame;
private JLabel label1,label2;
private JButton button1,button2,button3,button4;
private JPanel panel1,panel2;
private JTextField textField1,textField2;
private JSplitPane splitpane;
private JScrollPane scrollpane;
public JTable table ;
private JPanel panel;
public PreparedStatement pstmt;
public ResultSet rs;
public DefaultTableModel dtm;
Vector<String> title = new Vector<String>();
public static final int WIDTH=380;
public static final int HEIGHT=300;
public void init() throws Exception {
JFrame frame = new JFrame("年级信息设置");
frame.setSize(WIDTH,HEIGHT);
frame.setResizable(false);
frame.setLocation(300,150); textField1 = new JTextField();
textField2 = new JTextField();
label1 = new JLabel("年级编号:");
label2 = new JLabel("年级名称:");
panel1 = new JPanel();
panel1.setLayout(new GridLayout(2,2)); scrollpane = new JScrollPane();
scrollpane.getViewport().add(table);
splitpane = new JSplitPane();
splitpane.setOrientation(splitpane.VERTICAL_SPLIT);
splitpane.add(scrollpane,splitpane.TOP);
splitpane.add(panel1,splitpane.BOTTOM);
panel1.add(label1);
panel1.add(textField1);
panel1.add(label2);
panel1.add(textField2);
splitpane.setDividerLocation(164);//设置分隔条的位置
button1 = new JButton("删除");
button2 = new JButton("添加");
button3 = new JButton("存盘");
button4 = new JButton("退出");
panel2 = new JPanel();
panel2.setLayout(new FlowLayout(FlowLayout.RIGHT));
panel2.add(button1);
panel2.add(button2);
panel2.add(button3);
panel2.add(button4);
panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.add(splitpane,BorderLayout.CENTER);
frame.add(panel,BorderLayout.CENTER);
frame.add(panel2,BorderLayout.SOUTH);
buildTable();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true); }
public void buildTable(){
String sql= "select * from user";
try{ String strurl =
"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=student.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(strurl);
Statement stmt = con.createStatement(); pstmt=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); rs=pstmt.executeQuery();
ResultSetMetaData dbmd=rs.getMetaData(); for(int i=1;i<=dbmd.getColumnCount();i++){
title.addElement(dbmd.getColumnName(i));
dtm=new DefaultTableModel(null,title);
table=new JTable(dtm);
initTable();
table.setRowHeight(24);
}
}catch(Exception e){e.printStackTrace();dispose();}
}
public void initTable(){
dtm.setRowCount(0);
try{
rs.beforeFirst();
while(rs.next()){ Vector<String> v1= new Vector<String>(); for(int i=1;i<=title.size();i++)
v1.addElement(rs.getString(i));
dtm.addRow(v1);
}
}
catch(SQLException e){e.printStackTrace();}
dtm.fireTableStructureChanged();
}
public JF_view_syset_grade1(){
try{
init();
}
catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args){
new JF_view_syset_grade1(); }}
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.lang.*;
import java.util.*;
import javax.swing.table.DefaultTableModel;
public class JF_view_syset_grade1 extends JFrame {
private JFrame frame;
private JLabel label1,label2;
private JButton button1,button2,button3,button4;
private JPanel panel1,panel2;
private JTextField textField1,textField2;
private JSplitPane splitpane;
private JScrollPane scrollpane;
public JTable table ;
private JPanel panel;
public PreparedStatement pstmt;
public ResultSet rs;
public DefaultTableModel dtm;
Vector<String> title = new Vector<String>();
public static final int WIDTH=380;
public static final int HEIGHT=300;
public void init() throws Exception {
JFrame frame = new JFrame("年级信息设置");
frame.setSize(WIDTH,HEIGHT);
frame.setResizable(false);
frame.setLocation(300,150); textField1 = new JTextField();
textField2 = new JTextField();
label1 = new JLabel("年级编号:");
label2 = new JLabel("年级名称:");
panel1 = new JPanel();
panel1.setLayout(new GridLayout(2,2)); scrollpane = new JScrollPane();
scrollpane.getViewport().add(table);
splitpane = new JSplitPane();
splitpane.setOrientation(splitpane.VERTICAL_SPLIT);
splitpane.add(scrollpane,splitpane.TOP);
splitpane.add(panel1,splitpane.BOTTOM);
panel1.add(label1);
panel1.add(textField1);
panel1.add(label2);
panel1.add(textField2);
splitpane.setDividerLocation(164);//设置分隔条的位置
button1 = new JButton("删除");
button2 = new JButton("添加");
button3 = new JButton("存盘");
button4 = new JButton("退出");
panel2 = new JPanel();
panel2.setLayout(new FlowLayout(FlowLayout.RIGHT));
panel2.add(button1);
panel2.add(button2);
panel2.add(button3);
panel2.add(button4);
panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.add(splitpane,BorderLayout.CENTER);
frame.add(panel,BorderLayout.CENTER);
frame.add(panel2,BorderLayout.SOUTH);
buildTable();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true); }
public void buildTable(){
String sql= "select * from user";
try{ String strurl =
"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=student.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(strurl);
Statement stmt = con.createStatement(); pstmt=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); rs=pstmt.executeQuery();
ResultSetMetaData dbmd=rs.getMetaData(); for(int i=1;i<=dbmd.getColumnCount();i++){
title.addElement(dbmd.getColumnName(i));
dtm=new DefaultTableModel(null,title);
table=new JTable(dtm);
initTable();
table.setRowHeight(24);
}
}catch(Exception e){e.printStackTrace();dispose();}
}
public void initTable(){
dtm.setRowCount(0);
try{
rs.beforeFirst();
while(rs.next()){ Vector<String> v1= new Vector<String>(); for(int i=1;i<=title.size();i++)
v1.addElement(rs.getString(i));
dtm.addRow(v1);
}
}
catch(SQLException e){e.printStackTrace();}
dtm.fireTableStructureChanged();
}
public JF_view_syset_grade1(){
try{
init();
}
catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args){
new JF_view_syset_grade1(); }}
改成this.setVisible(true) ; 看看行不行
import java.sql.*;public class Sample_16_3 extends JFrame{
Sample_16_3(){
try{
// String[] colHeads = { "name", "Phone", "City" };
String[] colHeads={"au_lname","au_fname","phone"}; Connection con;
Statement stmt;
ResultSet rs; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:pubs";
con=DriverManager.getConnection(url,"sa","");
stmt = con.createStatement(); rs = stmt.executeQuery("SELECT count(*) as au_count from authors");
rs.next();
int iCount=rs.getInt("au_count");
// 定义表格元素内容
Object[][] data = new Object[iCount][];
int i=0;
rs = stmt.executeQuery("SELECT au_lname,au_fname,phone from authors");
while (rs.next())
{
data[i]=new Object[3];
//可使用索引
data[i][0]= rs.getString(1);
data[i][1]= rs.getString(2);
data[i][2]= rs.getString(3);
//也可使用字段名
//data[i][0]=rs.getString("au_fname");
//data[i][1]= rs.getString("Phone");
//data[i][2]= rs.getString("City");
i++;
}
JTable table = new JTable(data, colHeads);
JScrollPane jsp = new JScrollPane(table);
getContentPane().add(jsp);
}catch(Exception e){
System.out.println(e);
}
} public static void main(String[] args) {
Sample_16_3 f2=new Sample_16_3();
f2.setSize(400,200);
f2.setVisible(true);
}
}