Quando cerco di salvarla mi da l'errore di NullPointerException, come potrei risolvere?
Grazie in anticipo!!codice:import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.Collections; import javax.swing.*; import javax.swing.table.DefaultTableModel; /** * * @author Riccardo * Questa classe crea vari componenti per l'interfaccia grafica atte a comprendere meglio la simulazione di una banca */ public class InterfacciaGUI { /** * Costruttore frame */ public InterfacciaGUI (ArrayList<Operatore> opt,ArrayList<Cliente> cc,ArrayList<BankAccount> ac,ArrayList<Transazione> tr) { operatore=opt; cliente=cc; conti=ac; transazione=tr; frame=new JFrame(); frame1=new JFrame(); frame2=new JFrame(); frame3=new JFrame(); } public void setAccesso1() { frame.setSize(300,75); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JRadioButton rbutton=new JRadioButton("Operatore",false); final JRadioButton rbutton2=new JRadioButton("Cliente",false); JButton accedi=new JButton("Accedi"); JPanel panel=new JPanel(); panel.add(rbutton); panel.add(rbutton2); panel.add(accedi); frame.add(panel); frame.setVisible(true); class AccediListener implements ActionListener { public void actionPerformed(ActionEvent e) { if(rbutton.getSelectedObjects()!=null) setAccesso2(); else if(rbutton2.getSelectedObjects()!=null) setOrdina(); } } AccediListener listener=new AccediListener(); accedi.addActionListener(listener); } public void setAccesso2() { frame1.setSize(300,150); JLabel labe=new JLabel("Nome utente"); JLabel labe2=new JLabel("Password"); final JTextField utente=new JTextField(" "); final JPasswordField pass=new JPasswordField(" "); JButton cancella=new JButton("Cancella"); JButton avvia=new JButton("Avvia"); JPanel panel=new JPanel(); panel.add(labe); panel.add(utente); JPanel panel2=new JPanel(); panel2.add(cancella); panel2.add(avvia); JPanel panel3=new JPanel(); panel3.add(labe2); panel3.add(pass); frame1.add(panel,BorderLayout.NORTH); frame1.add(panel3); frame1.add(panel2,BorderLayout.SOUTH); frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame1.setVisible(true); class LoginListener implements ActionListener { @SuppressWarnings("deprecation") public void actionPerformed(ActionEvent e) { boolean trovato=false; int i=0; while(!trovato) { if(i<operatore.size()) { if(utente.getText().equalsIgnoreCase(operatore.get(i).getDati()) && pass.getText().equalsIgnoreCase(operatore.get(i).getMat())) { trovato=true; setSimulazione(); frame1.setVisible(false); } i++; } else { JOptionPane.showMessageDialog(frame2, "Nessun operatore esistente!"); break; } } } } class CancellaListener implements ActionListener { public void actionPerformed(ActionEvent e) { utente.setText(" "); pass.setText(" "); } } LoginListener listener=new LoginListener(); CancellaListener listener2=new CancellaListener(); cancella.addActionListener(listener2); avvia.addActionListener(listener); } public void setSimulazione() { frame2.setSize(750,270); final JTextArea simulation=new JTextArea(10,50); JScrollPane scroll=new JScrollPane(simulation); JPanel panel=new JPanel(); panel.add(scroll); JButton avvia_s=new JButton("Avvia Simulazione"); JPanel panel2=new JPanel(); panel.add(avvia_s); frame2.add(panel,BorderLayout.NORTH); frame2.add(panel2,BorderLayout.SOUTH); frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame2.setVisible(true); class AddSimulation implements ActionListener{ public void actionPerformed(ActionEvent e) { simulation.setText("Avvio Simulazione\n--------------\n"); for(int i=0;i<operatore.size();i++) { if(i==0) simulation.append("Creo Operatori\n\n\n"); simulation.append(operatore.get(i).toString()+"\n\n"); } for(int i=0;i<cliente.size();i++) { if(i==0) simulation.append("Creo Clienti\n\n\n"); simulation.append(cliente.get(i).toString()+"\n\n"); } for(int i=0;i<conti.size();i++) { if(i==0) simulation.append("Creo Conti Bancari\n\n\n"); simulation.append(conti.get(i).toString()+"\n\n"); } for(int i=0;i<transazione.size();i++) { if(i==0) simulation.append("Creo Transazioni\n\n\n"); simulation.append(transazione.get(i).toString()+"\n\n"); } for(int i=0;i<conti.size();i++) { if(i==0) simulation.append("Saldi Aggiornati\n\n\n"); simulation.append(conti.get(i).toString()+"\n\n"); } } } AddSimulation listener=new AddSimulation(); avvia_s.addActionListener(listener); } public void setOrdina() { frame3.setSize(500,500); String[] s={"Operatori","Clienti","Conti Bancari","Transazioni"}; final String[] c={"Informazioni"}; final JComboBox combo=new JComboBox(s); final DefaultTableModel model = new DefaultTableModel(c, 0); final JTable table=new JTable(model); JScrollPane scroll1=new JScrollPane(table); JLabel ordina=new JLabel("Ordina per"); JPanel north=new JPanel(); north.add(ordina); north.add(combo); JPanel center=new JPanel(); center.add(scroll1); frame3.add(north,BorderLayout.NORTH); frame3.add(center,BorderLayout.CENTER); frame3.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame3.setVisible(true); class OrdinaListener implements ActionListener{ public void actionPerformed(ActionEvent e) { switch(combo.getSelectedIndex()) { case 0:{Collections.sort(operatore); Object[]rows =new Object[operatore.size()]; model.setNumRows(0); for(int i=0;i<operatore.size();i++) {rows[0]=operatore.get(i).toString(); model.addRow(rows); } break; } case 1:{Collections.sort(cliente); Object[] rows =new Object[cliente.size()]; model.setNumRows(0); for(int i=0;i<cliente.size();i++) {rows[0]=cliente.get(i).toString(); model.addRow(rows); } break; } case 2:{Collections.sort(conti); Object[]rows =new Object[conti.size()]; model.setNumRows(0); for(int i=0;i<conti.size();i++) {rows[0]=conti.get(i).toString(); model.addRow(rows); } break; } case 3:{Collections.sort(transazione); Object[]rows =new Object[transazione.size()]; model.setNumRows(0); for(int i=0;i<transazione.size();i++) {rows[0]=transazione.get(i).toString(); model.addRow(rows); } break; } } } } OrdinaListener ordina2 = new OrdinaListener(); combo.addActionListener(ordina2); } private JFrame frame,frame1,frame2,frame3; private ArrayList<BankAccount> conti; private ArrayList<Operatore> operatore; private ArrayList<Cliente> cliente; private ArrayList<Transazione> transazione; }

Rispondi quotando

