Jtabbedpane如何将一个选项卡设置为false

时间:2012-02-26 20:57:56

标签: java swing jpanel jtabbedpane

我有一个使用JtabbedPane的应用程序。每个选项卡都是JPanel。我写了一个函数,在某些情况下应该将某些选项卡设置为false。这是代码,但我不知道为什么它不起作用。

public boolean DBEnabledTabs(int zakladki)
{

    ResultSet rs;
    ResultSet rs2;
    error_code = NO_ERROR;
    try
    {
        switch(zakladki)
        {
            case SQL_TAB_ADD :
                 rs =  stat.executeQuery("select 1 from tblCykle;");
                return (!rs.isClosed() ? rs.getString(1).equals("1") : false);
            case SQL_TAB_EDIT :
                 rs =  stat.executeQuery("select 1 from tblPracownicy;");
                 return (!rs.isClosed() ? rs.getString(1).equals("1") : false);
            case SQL_TAB_HARM :
                 rs =  stat.executeQuery("select 1 from tblPracownicy where cykl_id = null");
                 return (!rs.isClosed() ? !rs.getString(1).equals("1") : true);
            case SQL_TAB_ABSE :
                 rs =  stat.executeQuery("select 1 from tblPracownicy;");
                 rs2 = stat.executeQuery("select 1 from tblPowody;");
                 return (!rs.isClosed() && !rs2.isClosed() ? rs.getString(1).equals("1") && rs2.getString(1).equals("1") : false);
            case SQL_TAB_CZAS :
                 rs =  stat.executeQuery("select 1 from tblHarmonogramy where zatwierdzonyPlan = 1 and zatwierdzoneWykonanie = 0;");
                 return (!rs.isClosed() ? rs.getString(1).equals("1") : false);
        }
    }catch(SQLException e)
    {
        error_code = e.getMessage();
        return false;
    }catch(Exception e)
    {
        error_code = e.getMessage();
        return false;
    }
    error_code = "Błędny parametr funkcji";
    return false;
}

这是调用上面的那个

的函数
 public void updatesTabsEnabled()
{
    DBAdapter db = new DBAdapter();
    db.DBConnect();
    boolean tabIsOK = db.DBEnabledTabs(db.SQL_TAB_ADD);
    if(!db.error_code.equals(db.NO_ERROR))
    {
        String ec = db.error_code;
        db.DBDisconnect();
        startError(ec);            
    }
    addUser.setEnabled(tabIsOK);

    tabIsOK = db.DBEnabledTabs(db.SQL_TAB_EDIT);
    if(!db.error_code.equals(db.NO_ERROR))
    {
        String ec = db.error_code;
        db.DBDisconnect();
        startError(ec);            
    }
    editUser.setEnabled(tabIsOK);

    tabIsOK = db.DBEnabledTabs(db.SQL_TAB_HARM);
    if(!db.error_code.equals(db.NO_ERROR))
    {
        String ec = db.error_code;
        db.DBDisconnect();
        startError(ec);            
    }
    harmonogramy.setEnabled(tabIsOK);

    tabIsOK = db.DBEnabledTabs(db.SQL_TAB_ABSE);
    if(!db.error_code.equals(db.NO_ERROR))
    {
        String ec = db.error_code;
        db.DBDisconnect();
        startError(ec);            
    }
    absencje.setEnabled(tabIsOK);

    tabIsOK = db.DBEnabledTabs(db.SQL_TAB_CZAS);
    if(!db.error_code.equals(db.NO_ERROR))
    {
        String ec = db.error_code;
        db.DBDisconnect();
        startError(ec);            
    }
    czasPracy.setEnabled(tabIsOK);

    db.DBDisconnect();
}

1 个答案:

答案 0 :(得分:10)

方法setEnabledAt()适用于示例here

pane.setEnabledAt(0, false);