Visualizzazione dei risultati da 1 a 2 su 2

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2018
    Messaggi
    4

    Perché il metodo ActionPerformed non viene eseguito ?

    Ragazzi in questo codice non faccio altro che creare un oggetto derivato di JPanel e vorrei che ascoltasse i propri bottoni, ma cliccando non succede nulla, in particolare sulla console dovrebbe stampare il messaggio (perché è la prima azione eseguita da actionperformed, ma non funziona!
    Qualcuno saprebbe individuare l'errore ?

    codice:
    public class PannelloVisualizza extends Pannello implements ActionListener {
    
    
        JList lista = null;
        boolean isModificabile = false;
        JLabel etichettaControllo = null;
        ControlloreVisualizza controlloreVisualizza = null;
        
        public PannelloVisualizza(ArrayList<String> listaPrenotazioni, boolean isModificabile) {
            this.isModificabile = isModificabile;
            inizializza(listaPrenotazioni);
        }
    
    
        private String[] ArrayListStringToListString(ArrayList<String> listaPrenotazioni) {
            String [] listaStringhe = new String
    [listaPrenotazioni.size()];
            int i = 0;
            for(String prenotazione: listaPrenotazioni) {
                listaStringhe[i] = prenotazione;
                i++;
            }
            return listaStringhe;
        }
        
        private void inizializza(ArrayList<String> listaPrenotazioni) {
            
            this.setLayout(null);
            
            JLabel lblEtichettaUtente = new JLabel("Professor Zuccone"); //l'argomento corretto è Contesto.getUtente().getNome()
            lblEtichettaUtente.setBounds(40, 25, 200, 35);
            this.add(lblEtichettaUtente);
            
            JLabel lblControllo = new JLabel("Seleziona una prenotazione!");
            lblControllo.setBounds(800, 25, 200, 35);
            lblControllo.setVisible(false);
            this.etichettaControllo = lblControllo;
            this.add(lblControllo);
            
            JList lista = new JList(this.ArrayListStringToListString(listaPrenotazioni));
            lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); //un solo oggetto della lista selezionabile per volta
            lista.setBounds(40, 71, 979, 528);
            this.add(lista);
            this.lista = lista;
            
            JPanel pannelloBottoni = new JPanel();
            pannelloBottoni.setBounds(10, 617, 1044, 53);
            pannelloBottoni.setLayout(null);
            
            JButton btnIndietro = new JButton("Indietro");
            btnIndietro.setBounds(10, 11, 115, 31);
            btnIndietro.addActionListener(this);
            pannelloBottoni.add(btnIndietro);
            
            JButton btnModifica = new JButton("Modifica");
            btnModifica.setBounds(919, 11, 115, 31);
            btnModifica.addActionListener(this);
            pannelloBottoni.add(btnModifica);
            
            
            
            this.add(pannelloBottoni);
        }
    
    
        @Override
        public void setControllore(Controllore controllore) {
            controlloreVisualizza = (ControlloreVisualizza)controllore;
        }
        
    
    
        public void ActionPerformed(ActionEvent e) {
            System.out.println(e.getActionCommand());
            switch (e.getActionCommand()) {
            case("Modifica"):
                String stringaSelezionata = (String)lista.getSelectedValue();
                if(stringaSelezionata != null) {
                    Prenotazione prenotazioneSelezionata = controlloreVisualizza.leggiLista(stringaSelezionata);
                    controlloreVisualizza.modificaPrenotazione(prenotazioneSelezionata);
                } else {
                    etichettaControllo.setVisible(true);
                }
                break;
            case("Indietro"):
                controlloreVisualizza.tornaPannelloUtente();
                break;
            }
        }
    
    
        public static void main(String[] args) {
            JFrame f = new JFrame();
            f.setBounds(new Rectangle(0,0,1080,720));
            ArrayList<String> a = new ArrayList<String>();
            String[] prova = {"a","b","c"};
            for(int i = 0;i <3; i++) {
                a.add(prova[i]);
            }
            PannelloVisualizza p = new PannelloVisualizza(a, true);
            p.setControllore(new ControlloreVisualizza());
            //p.etichettaControllo.setVisible(true);
            f.getContentPane().add(p);
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            System.out.println("Perché?");
            f.setVisible(true);
        }
    }
    Ultima modifica di LeleFT; 07-02-2018 a 17:42 Motivo: Aggiunti i tag CODE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.