我正在嘗試在我的java swing項目中使用用戶管理級別。我想禁用只有管理員可以點擊的用戶的幾個按鈕。所以在我的項目中,我使用JFrame設計了我的主頁。我有幾個按鈕叫股票,發票,收貨單等。如何在NetBeans中更改jframe的訪問組件級別
在每一個按鈕,我通過使用屬性==>線==>'變量改變訪問級別爲「公共」。
但在首頁的JFrame我無法改變的訪問級別爲「公共」。
在我的登錄框中,當我以用戶身份登錄時,我想按照下面給出的代碼進行編碼。但是我仍然無法調用Home.hm.btnStock,因爲我無法更改Home的用戶級別。
在登錄界面
LogToHome lh = new LogToHome();
public static Login log;
private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {
lh.logHome(comboUn, jpass);
}
在LogToHome Java類
public void logHome(JComboBox combo, JPasswordField jpass) {
if (combo.getSelectedItem().equals("--SELECT--")) {
JOptionPane.showMessageDialog(null, "Select User name");
} else if (jpass.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Insert your Password");
jpass.grabFocus();
} else {
try {
String un = combo.getSelectedItem().toString();
String pass = new String(jpass.getPassword());
ResultSet rs = new JDBC().getData("SELECT * FROM login WHERE un='" + un.trim() + "' AND pw='" + pass + "'");
if (rs.next()) {
JOptionPane.showMessageDialog(null, "Login OK");
Login.log.setVisible(false);
if (un == "user") {
Home.hm = new Home();
Home.hm.btnStock.setenabled(false);
Home.hm.setVisible(true);
} else {
Home.hm = new Home();
Home.hm.setVisible(true);
}
} else {
JOptionPane.showMessageDialog(null, "Enter valid user name or password");
jpass.setText("");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, this.getClass().getName() + " " + e);
}
}
}
}
可能重複的[我如何比較Java中的字符串?](http://stackoverflow.com/questions/513832/how-doi-i-比較字符串在爪哇) – Reimeus