Witam,
tak jak w temacie mam problem z zamknięciem aplikacji. Próbowałem pokombinować z WindowListenerem:
/* ... */
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
/* ... */
public class BeanTableGUI<T> extends JFrame implements ActionListener
{
/* ... */
private class MyWindowListener implements WindowListener // W TEJ LINI WYSTĘPUJE BŁĄD
{
public void WindowClosing(WindowEvent e)
{
dispose();
}
public void WindowClosed(WindowEvent e){}
public void WindowOpened(WindowEvent e){}
public void WindowIconified(WindowEvent e){}
public void WindowDeiconified(WindowEvent e){}
public void WindowActivated(WindowEvent e){}
public void WindowDeactivated(WindowEvent e){}
}
public BeanTableGUI(String title, final BeanDataModel<T> model)
{
super(title);
this.model = model;
setDefaultCloseOperation(EXIT_ON_CLOSE);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
addWindowListener(new MyWindowListener());
// menu bar
JMenu fileMenu = new JMenu("Plik");
JMenu pomocMenu = new JMenu("Pomoc");
JMenuItem openItem = new JMenuItem("Otworz");
JMenuItem saveItem = new JMenuItem("Zapisz");
JSeparator separator = new JSeparator();
JMenuItem exitItem = new JMenuItem("Wyjscie");
JMenuItem helpItem = new JMenuItem("Pomoc");
JMenuItem aboutItem = new JMenuItem("o programie");
menuBar.add(fileMenu);
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.add(separator);
fileMenu.add(exitItem);
fileMenu.getItem(0).setActionCommand("cmd:open");
fileMenu.getItem(1).setActionCommand("cmd:save");
fileMenu.getItem(3).setActionCommand("cmd:exit");
menuBar.add(pomocMenu);
pomocMenu.add(helpItem);
pomocMenu.add(aboutItem);
pomocMenu.getItem(0).setActionCommand("cmd:help");
pomocMenu.getItem(1).setActionCommand("cmd:about");
setJMenuBar(menuBar);
fileMenu.addActionListener(this);
pomocMenu.addActionListener(this);
/* ... */
}
/* ... */
@Override
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("cmd:exit"))
dispose();
/* ... */
}
/* ... */
}
Netbeans:
Compiling 1 source file to C:\..\build\classes
C:\..\src\..\BeanTableGUI.java:50:
(..).BeanTableGUI.MyWindowListener is not abstract and does not override abstract method windowDeactivated(java.awt.event.WindowEvent) in java.awt.event.WindowListener private class MyWindowListener implements WindowListener
Note: C:\..\src\..\BeanTableGUI.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
C:\..\nbproject\build-impl.xml:363: The following error occurred while executing this line:
C:\..\nbproject\build-impl.xml:168: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 0 seconds)
Nie potrafię poradzić se z tym problemem, ogólny problem polega na tym, że menu nie działa, proszę o pomoc.