Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带有定制JTableModel和it的JTable';错误_Java_Swing_Jdbc_Jtable - Fatal编程技术网

Java 带有定制JTableModel和it的JTable';错误

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

我已经写了一个应用程序。J2SE使用JDBC和
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命名约定并坚持它们