Java 带有定制JTableModel和it的JTable';错误
我已经写了一个应用程序。J2SE使用JDBC和Java 带有定制JTableModel和it的JTable';错误,java,swing,jdbc,jtable,Java,Swing,Jdbc,Jtable,我已经写了一个应用程序。J2SE使用JDBC和JTable显示一些信息。为了将数据提取到JTable中,我编写了一个JTableModel,当我想创建一个新的JTable时,我也会将它的一个新实例创建到表的模型中,当我打开一个包含JTable的表单时,不会发生任何问题。但当我同时打开第二个表单时,它会引发一个错误: Column count is out of range. 我该怎么解决呢 我的jTableModel代码如下: public DBGrid(Connection conn, St
JTable
显示一些信息。为了将数据提取到JTable
中,我编写了一个JTableModel
,当我想创建一个新的JTable
时,我也会将它的一个新实例创建到表的模型中,当我打开一个包含JTable
的表单时,不会发生任何问题。但当我同时打开第二个表单时,它会引发一个错误:
Column count is out of range.
我该怎么解决呢
我的jTableModel代码如下:
public DBGrid(Connection conn, String Query) throws SQLException
{
try
{
connection= conn;
statement= connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
Connected= true;
SetQuery(Query);
}
catch(SQLException sqlException)
{
sqlException.printStackTrace();
Connected= false;
}
}
创建模型继承的代码如下:
if(FormName.equals("Form1"))
{
if(CheckOpenForm("War_Group_Frame", "Groups"))
return;
DBGrid GridModel= new DBGrid(getDATABASE_URL(), getUserName(), getPassword(),
"select * from ware where Grp_ID= 0");
War_Group_Frame W_F= new War_Group_Frame();
W_F.WarList.setModel(GridModel);
W_F.setVisible(true);
Sender.add(W_F);
BringFrameToFront(W_F);
}
else
if(FormName.equals("Form2"))
{
if(CheckOpenForm("Ware_Unit", "Units"))
return;
Ware_Unit U_F= new Ware_Unit();
U_F.UnitList.setModel(new DBGrid(connection, "select * from ware"));
U_F.setVisible(true);
Sender.add(U_F);
BringFrameToFront(U_F);
}
jTableModel类的此方法中的错误occors:
public Class getColumnClass(int column) throws IllegalStateException
{
if(!Connected)
throw new IllegalStateException(java.util.ResourceBundle.getBundle("God_Lover/Resources").getString("DBNotConnectedError"));
try
{
if(column< getColumnCount())
{
String ClassName = metaData.getColumnClassName(column + 1);
return Class.forName(ClassName);
}
}
catch(Exception exception)
{
exception.printStackTrace();
}
return Object.class;
}
public类getColumnClass(int-column)抛出IllegalStateException
{
如果(!已连接)
抛出新的IllegalStateException(java.util.ResourceBundle.getBundle(“God_Lover/Resources”).getString(“DBNotConnectedError”);
尝试
{
if(列
猜测,计数随着行添加到第一个实例中而增加,但第二个实例没有重置。你可能没有注意到,因为一个int
实例变量的值是0。我根本不知道,因为你没有告诉我们任何可以让我们理解和调试你的程序的东西,而我的读心能力通常可以让我“看到”你的代码,但自从上次对我的大脑进行CT扫描以来,我的读心能力一直没有发挥作用。我正在考虑起诉放射科医师。但是严肃地说,没有相关的代码,我们有能力帮助你的机会与赢得世界大赛的小熊队相当。这应该是常识,对吧?请学习java命名约定并坚持它们