简体   繁体   中英

Jtabbedpane how to set one tab enable to false

I have an application using JtabbedPane. Each tab is a JPanel. I wrote a function that should set certain tabs enabled to false in certain cases. Here is the code but I don't know why it doesn't work.

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;
}

here is the function that calls the one above

 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();
}

setEnabledAt()方法适用于此处的示例。

pane.setEnabledAt(0, false);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM