Ciao,
mi trovo alle prime armi... il mio principale problema è quello di non capire come far passare i valori di variabili tra una jFrame e una jDialog.
Nella jFrame è presente una jMenuItem (Accedi) che apre una jDialog e chiede il nome utente e la password, controlla se i dati inseriti sono corretti e nel caso in cui è giusto viene settata a true la variabile chiave che deve viene letta ogni qual volta che nella jFrame clicco su una jMenu.
il problema è che la variabile chiave è sempre settata a falso nonostante cambi il suo valore nella jDialog.
nella jFrame...
codice:
mnNewMenu.addMouseListener(new MouseAdapter() { @Override
public void mouseClicked(MouseEvent e) {
Accedi accedi=new Accedi();
chiave=accedi.isChiave();
if(chiave==true){
mntmEsci.setEnabled(true);
}
}
});
codice:
public class Accedi extends JDialog {
public static final int RET_CANCEL = 0;
public static final int RET_OK = 1;
private boolean chiave=false; private int returnStatus = RET_CANCEL;
private void doClose(int retStatus) {
returnStatus = retStatus;
setVisible(false);
this.dispose();
}
public int getReturnStatus() {
return returnStatus;
}
public boolean isChiave() {
return chiave;
}
public Accedi() {
JButton okButton = new JButton("OK"); okButton.addActionListener(new ActionListener() {
@SuppressWarnings({ "deprecation", "resource" })
public void actionPerformed(ActionEvent arg0) {
doClose(RET_OK);
String nomeU, password,riga,prova;
try {
Scanner tast = new Scanner(new FileReader("FileUtenti.txt"));
nomeU=NU.getText();
password=PS.getText();
prova=nomeU+"&&"+password+"&&";
while(tast.hasNext()){
riga=tast.next();
if(riga.equals(prova)){
chiave=true;
}
}
if(chiave==false){
JOptionPane.showMessageDialog(null,"Dati non corretti","Error",JOptionPane.ERROR_MESSAGE);
}else{
doClose(RET_OK);
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
}
});}
Grazie