Reputation: 995
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();
}
Upvotes: 1
Views: 7164
Reputation: 205775
The method setEnabledAt()
works with the example here.
pane.setEnabledAt(0, false);
Upvotes: 11