arp1 ha scritto:
ciao
no solo una classe public che definisce con un metodo la gui e all'interno una classe private che definisce il menu
Ok ma tieni presente che senza vedere il tuo codice non posso avere una idea precisa del tuo "design" delle classi.
Ti mostro uno scenario abbozzato:
public class MyFrame implements ActionListener {
private JMenuItem apriMenuItem;
// ....
public MyFrame(String titolo) {
super(titolo);
apriMenuItem = new JMenuItem("Apri");
apriMenuItem.addActionListener(this);
// ....
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == apriMenuItem) {
// ...
}
}
}
Avendo 2 istanze es.
MyFrame f1 = new MyFrame("Titolo 1");
MyFrame f2 = new MyFrame("Titolo 2");
Quando in uno dei due frame viene cliccata la voce "Apri",
non c'è assolutamente alcun dubbio di quale metodo viene invocato e di che cosa può succedere (e su cosa).
actionPerformed viene invocato su
quella istanza di MyFrame, il source dell'evento viene confrontato con il apriMenuItem di
quella istanza di MyFrame.
Ognuna delle istanze di MyFrame potrebbe avere una istanza di JFileChooser. Il codice in quel if, opererebbe sul JFileChooser di
quella istanza di MyFrame.
Il punto è che devi aver chiaro quali oggetti hai a disposizione, cosa contengono e come i metodi di istanza possono operare sullo stato di quegli oggetti.
Il problema insomma
non è Swing o la gui in generale!