Domanda Aggiornare frame java al click su un mouse

jr_sottomajor

Utente Silver
2 Luglio 2017
96
33
4
79
Ciao a tutti, avrei bisogno del vostro aiuto.
In pratica sto cercando di risolvere un esercizio java in cui mi viene richiesto di realizzare una interfaccia grafica dove caricare un file, premere il pulsante carica e in automatico deve apparire la lista dei dati inseriti nel file. La traccia è la seguente:
parte1.png

parte2.png

Ora, lasciando perdere la traccia in se, mi servirebbe capire come strutturare concettualmente il programma. Per capire proprio il procedimento ho creato un altro programma in cui viene mostrato un campo di testo e un bottone per confermare e voglio che al click si cancelli tutto e appaia sul frame "Operazione completata". Posto il codice:
Java:
public class Repainter extends JFrame{
    public Repainter() {
        createControlPanel();
        class Click implements ActionListener{

            public void actionPerformed(ActionEvent e) {
                //problema!
                
            }
            
        }
        
        listener=new Click();
        
        
        setSize(300,400);
    }

    
    



    private void createControlPanel() {
        
        JPanel labelField=createLabelField();
        JPanel button=createButton();
        add(labelField,BorderLayout.NORTH);
        add(button,BorderLayout.SOUTH);
        
    }
    
    private JPanel createLabelField() {
        JPanel panel=new JPanel();
        label=new JLabel("Inserisci testo: ");
        field=new JTextField(10);
        panel.add(label);
        panel.add(field);
        return panel;
    }


    private JPanel createButton() {
        JPanel panel=new JPanel();
        button=new JButton("Conferma");
        button.addActionListener(listener);
        panel.add(button);
        return panel;
    }
    
    //var istanza
    private JLabel label;
    private JButton button;
    private JTextField field;
    private ActionListener listener;

}

Come implemento il listener? Come posso eliminare tutto cio che c'è nel frame e mostrare solo la stringa "Operazione completata"? Vorrei capire come rimpiazzare il frame con una sorta di nuovo frame in pratica. Grazie
 
Non uso Java da molto, ma da ciò che dici, avrei mantenuto un JPanel con il bottone e il tuo campo di testo. Al click sul bottone, nascondi il JPanel che è visibile, e rendi visibile l'altro, che avrà una JLabel posizionata al centro (o dove vuoi).

Per registrare l'ascoltatore devi fare una cosa come:
Java:
button.addActionListener(listener);