如何設定許可權?

hjh303cn發表於2004-06-25
我用的是Jbuilder9,j2skd1.4.2,我要做的是“手機號碼管理系統”,現在要做的就是使用者登陸這一塊。輸入“使用者名稱”和“密碼”按“確定”就登陸介面,如果是“管理員”的話就大開所有的選單,如果是“操作員”的話就開啟部分的選單。我按書上寫的程式如下:
void jButtonOK_actionPerformed(A ctionEvent e) {
String strSQL;
if(jTextFieldName.getText().trim().equals(""))
{JOptionPane.showMessageDialog(null,"使用者名稱不能為空!") ;
return;
}
if(jPasswordField.getText().trim().equals(""))
{JOptionPane.showMessageDialog(null,"密碼不能為空,請重新輸入!") ;
return;
}
strSQL="select * from UserInfo where Username='"+jTextFieldName.getText().trim()+"'and Password='"+jPasswordField.getText().trim()+"'";
rs = gb.getResult(strSQL);
boolean isexist=false;
try {
isexist = rs.first() ;
}
catch(Exception ex1){
}
if(!isexist)
{JOptionPane.showMessageDialog(null,"使用者名稱不存在,或密碼不正確!") ;
myMain.setEnable(false,false);
this.dispoes();
}
else
{
try{
rs.first() ;
if(rs.getString("Power").equals("管理員") ){
JOptionPane.showMessageDialog(null,"Sussceful!") ;(問題就在這裡,下注:)
myMain.setEnabled(true,true);
this.dispose();
}
else
{
myMain.setEnable(true,false) ;
this.dispose() ;
}
}
catch(Exception ex){
}
}
}


問題在於“ myMain.setEnabled(true,true);”沒有實現其功能,當我把這行放在:
myMain.setEnabled(true,true);
JOptionPane.showMessageDialog(null,"Sussceful!") ;
this.dispose();
時,後面兩句的功能不出,也就是沒有任何反應。(因為我想要的就是許可權功能)
當我這樣放時:JOptionPane.showMessageDialog(null,"Sussceful!") ;
this.dispose();
myMain.setEnabled(true,true);
就只有前面兩句的功能,第三句的功能沒有實現,其它選單沒有變為不可用。
如果把“myMain.setEnabled(true,true)”放在中間的話,就第一句可用的,後面的
“this.dispose();”也實現不了。
我的主窗體是:”Frame1“,
public void setEnable(boolean b,boolean isDBA){
jMenuItemCodeIn.setEnabled(isDBA);
jMenuItemCodeOut.setEnabled(b);
}

估計就是“myMain.setEnabled(true,true)”出問題了,不過我還有一個方法沒寫:
public FrameUserLogin(Frame1 pmain) {
this(null,"",false);
myMain = pmain;
}
"FrameUserLogin"是登陸窗體,應該就相當於您書上的userLogin了,書上是這麼寫的:public userLogin(Frame1 pmain) {
this(null,"",false);
myMain = pmain;
}
可我在"登陸介面"寫:public FrameUserLogin(Frame1 pmain) {
this(null,"",false);
myMain = pmain;
}時,在”this"中有紅線,無法編譯,我不懂什麼意思,是不是要寫這裡,“myMain.setEnabled(true,true)”才能實現其功能的(可用的)!?
後來我自己就直接這樣寫來代替“myMain.setEnabled(true,true)”:if(rs.getString("Power").equals("管理員") ){
JOptionPane.showMessageDialog(null,"Sussceful!") ;
myMain.jMenuItemCodeIn.setEnabled(false);
myMain.jMenuItemCodeOut.setEnabled(false);
this.dispose();
}
想這樣來測試一下,看“jMenuItemCodeIn”,“jMenuItemCodeOut”
是否變為不可用,可是問題依舊。我只想把某些選單設為不可用或可用,到底時怎麼設的!!!???在主窗體(Frame1)中就可以,怎麼把它
傳過來在“FrameUserLogin”中設呀,
“public FrameUserLogin(Frame1 pmain) {
this(null,"",false);
myMain = pmain;
}”在這一段應該就是傳過來的,可為什麼在“
this”這裡有紅線劃出說有錯呢???我都按照書上來做的了。公司只有我一個人用Java的,我又沒有朋友做這方面的,真是一個人來弄好煩啊,很多時候一個小小的問題都要弄我很久,可以的話請作者幫幫我好嗎!!

相關文章