【问题标题】:Jtabbedpane how to set one tab enable to falseJtabbedpane 如何将一个选项卡启用设置为 false
【发布时间】:2012-03-16 10:58:51
【问题描述】:

我有一个使用 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();
}

【问题讨论】:

  • 平淡地说,Cykle、Pracownicy、Powody、Harmonogramy、Zatwierdzony、Wykonanie 和 Błędny 参数 funkcji。 翻译为 周期、员工、原因、时间表、批准、执行, 和无效的函数参数。

标签: java swing jpanel jtabbedpane


【解决方案1】:

setEnabledAt() 方法适用于示例here

pane.setEnabledAt(0, false);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    相关资源
    最近更新 更多