| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 586 人关注过本帖
标题:遇到JTable郁闷了
只看楼主 加入收藏
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
结帖率:33.33%
收藏
 问题点数:0 回复次数:6 
遇到JTable郁闷了

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
import java.awt.*;
import javax.swing.JScrollPane;
public class Frame2 extends JFrame {

JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JTable jTable1 = new JTable(new Untitled1());
JScrollPane jsp = new JScrollPane(jTable1);

public Frame2() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}

private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(borderLayout1);
setSize(new Dimension(400, 300));
setTitle("Frame Title");
contentPane.add(jsp, java.awt.BorderLayout.CENTER);
}
}




import javax.swing.table.AbstractTableModel;
import java.util.Vector;
import java.sql.*;
import javax.swing.JOptionPane;

public class Untitled1 extends AbstractTableModel {

private Vector title;
private Vector data;
Connection con;
Statement st;
ResultSet rs;
ResultSetMetaData rsmd;

public Untitled1() {
super();
}

public void myTable()
{
try
{
String str = "sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(str);
}
catch(ClassNotFoundException ce)
{
JOptionPane.showMessageDialog(null,ce.toString());
}
try
{
con = DriverManager.getConnection("jdbc:odbc:NetBar");
st = con.createStatement();
rs = st.executeQuery("SELECT * FROM Card");
rsmd = rs.getMetaData();

for(int i = 0;i<rsmd.getColumnCount();i++)
{
title.add(rsmd.getColumnLabel(i));
}

while(rs.next())
{
for(int j = 0;j<rsmd.getColumnCount();j++)
data.add(rs.getString(j));
}
}
catch(SQLException se)
{
JOptionPane.showMessageDialog(null,se.toString());
}
}

public int getColumnCount() {
return title.size();
}

public int getRowCount() {
return data.size()/getColumnCount();
}

public Object getValueAt(int rowIndex, int columnIndex) {
return data.get((rowIndex*getColumnCount())+columnIndex);
}

public String getColumnName(int columnIndex) {
String colName = new String();
if (columnIndex<=getColumnCount())
colName=(String)title.get(columnIndex);
return colName;
}
}


报告空指针异常!谁能给我看看啊!

搜索更多相关主题的帖子: JTable 
2006-12-07 16:01
しΟν∈→鱈
Rank: 1
等 级:新手上路
威 望:2
帖 子:369
专家分:0
注 册:2006-10-25
收藏
得分:0 
空指针异常  那就是你那个地方的变量没有初始化就引用了吧.....

开开心心的过&玩每一天!!!!
2006-12-07 16:05
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 

试过了 没有用!这鸟问题搞了我5天了还没有会 痛苦啊!!!!


2006-12-07 16:18
一二三四五
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:856
专家分:0
注 册:2006-11-13
收藏
得分:0 
写程序要仔细

hey,di va la
2006-12-07 16:59
しΟν∈→鱈
Rank: 1
等 级:新手上路
威 望:2
帖 子:369
专家分:0
注 册:2006-10-25
收藏
得分:0 

你的主程序呢!!!这样我不能运行啊....
不知道具体是什么问题!!


开开心心的过&玩每一天!!!!
2006-12-07 16:59
しΟν∈→鱈
Rank: 1
等 级:新手上路
威 望:2
帖 子:369
专家分:0
注 册:2006-10-25
收藏
得分:0 

.....大概看了下  问题好像是
for(int i = 0;i<rsmd.getColumnCount();i++)
{
title.add(rsmd.getColumnLabel(i));
}

while(rs.next())
{
for(int j = 0;j<rsmd.getColumnCount();j++)
data.add(rs.getString(j));
}
记得ResultSet列是要从1开始计数的  不是从0吧

[此贴子已经被作者于2006-12-7 17:06:46编辑过]


开开心心的过&玩每一天!!!!
2006-12-07 17:05
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 
问题已经解决了  我开个新帖子发出来!!!!

2006-12-07 17:59
快速回复:遇到JTable郁闷了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018398 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved