Так что у меня этот код:Java Внутренний доступ класс слушателя другой внутренний класс, назвав его
public class TabTaches extends JPanel {
//TabTaches Variables
TabTaches() {
// Constructor content
}
private class NouvelleTache extends JFrame {
// Nouvelle Tache Variables
NouvelleTache() {
ecouteur = new Ecouteur();
this.setTitle("Nouvelle tache");
this.setSize(300, 200);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new GridLayout(3, 2));
annuler = new JButton("Annuler");
annuler.addActionListener(ecouteur);
this.add(annuler);
}
}
private static class Ecouteur implements ActionListener {
NouvelleTache nt;
public void actionPerformed(ActionEvent e) {
if(((AbstractButton)e.getSource()).getText().equals("Annuler")) {
Something.dispose();
}
}
}
}
Я не знаю, как управлять Something.dispose();
Я знаю, что вы можете получить доступ к внешней класс, используя TabTaches.this.dispose();
, но вот то, что я хотите закрыть - NouvelleTache
. Есть ли способ сделать это? Правильно ли это синтаксически, или я должен создать целый класс для NouvelleTache
? Я думал о том, чтобы сделать его внутренним классом, потому что мне нужен он только в TabTaches
, но, возможно, я слишком усложняю здесь. Вы можете мне помочь? Спасибо.