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