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); } } });Graziecodice: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(); } } });}

Rispondi quotando