davide_sana
05-10-2009, 14:10
Supponiamo di avere un frame aperto in cui viene chiesto all'utente di decidere tra 4 nomi. Selezionando uno dei nomi si apre un nuovo frame con la foto della persona scelta. In questo nuovo frame voglio aggiungere, però un tasto che permetta all'utente di chiudere il frame corrente, semplicemente cliccando su un tasto "Indietro", e tornare al frame principale.
Il mio quesito è: come faccio ad implementare correttamente la funzione di questo tasto "indietro" nel secondo frame?
Il codice implementato è il seguente:
//registra evento click su Davide
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JLabel sfondo_davide = new JLabel(new ImageIcon("c:\\Documents and " +
"Settings\\home\\desktop\\image11.jpg"));
JPanel panel_sfondo = new JPanel(new BorderLayout());
panel_sfondo.add(sfondo_davide);
JFrame nuovo_davide = new JFrame("Ciao Davide");
//assegno la label al frame
nuovo_davide.add(panel_sfondo, BorderLayout.NORTH);
JButton Indietro = new JButton ("Indietro");
JPanel p_Indietro = new JPanel (new BorderLayout());
JLabel TornaIndietro = new JLabel ("Se hai selezionato il nome " +
"sbagliato, torna ");
p_Indietro.add(Indietro, BorderLayout.EAST);
p_Indietro.add(TornaIndietro, BorderLayout.WEST);
//setto e rendo visibile il frame
nuovo_davide.setBounds(300,300,LARGHEZZA,ALTEZZA);
nuovo_davide.setVisible(true);
nuovo_davide.add(p_Indietro, BorderLayout.SOUTH);
nuovo_davide.pack();
//registra click su Indietro
Indietro.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//????????????????????
}
});
nuovo_davide.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
};
});
Nella sezione in cui devo descrivere il funzionamento del tasto "indietro" come faccio a dirgli di chiudere un frame che lì dentro lui nn riconosce più??
Il mio quesito è: come faccio ad implementare correttamente la funzione di questo tasto "indietro" nel secondo frame?
Il codice implementato è il seguente:
//registra evento click su Davide
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JLabel sfondo_davide = new JLabel(new ImageIcon("c:\\Documents and " +
"Settings\\home\\desktop\\image11.jpg"));
JPanel panel_sfondo = new JPanel(new BorderLayout());
panel_sfondo.add(sfondo_davide);
JFrame nuovo_davide = new JFrame("Ciao Davide");
//assegno la label al frame
nuovo_davide.add(panel_sfondo, BorderLayout.NORTH);
JButton Indietro = new JButton ("Indietro");
JPanel p_Indietro = new JPanel (new BorderLayout());
JLabel TornaIndietro = new JLabel ("Se hai selezionato il nome " +
"sbagliato, torna ");
p_Indietro.add(Indietro, BorderLayout.EAST);
p_Indietro.add(TornaIndietro, BorderLayout.WEST);
//setto e rendo visibile il frame
nuovo_davide.setBounds(300,300,LARGHEZZA,ALTEZZA);
nuovo_davide.setVisible(true);
nuovo_davide.add(p_Indietro, BorderLayout.SOUTH);
nuovo_davide.pack();
//registra click su Indietro
Indietro.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//????????????????????
}
});
nuovo_davide.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
};
});
Nella sezione in cui devo descrivere il funzionamento del tasto "indietro" come faccio a dirgli di chiudere un frame che lì dentro lui nn riconosce più??