Lio*_*ion 2 java swing dispose actionlistener jmenuitem
我正在尝试编写代码,以便当用户单击"文件"选项卡并选择"退出"时,它会退出我构建的整个窗口.
我正在尝试使用该dispose();
方法,但它给了我错误"方法dispose()未定义类型new ActionListener()"
继承人的代码
public static void addLayouts(){
frame = new JFrame();
frame.setSize(600, 600);
frame.setTitle("IPFinder");
GroupLayout groupLayout = new GroupLayout(frame.getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGap(0, 384, Short.MAX_VALUE)
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGap(0, 362, Short.MAX_VALUE)
);
frame.getContentPane().setLayout(groupLayout);
JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
JMenu mnFile = new JMenu("File");
menuBar.add(mnFile);
JMenu mnEdit = new JMenu("Edit");
menuBar.add(mnEdit);
JMenuItem mntmCopyResults = new JMenuItem("Copy Results");
mnEdit.add(mntmCopyResults);
JMenu mnAbout = new JMenu("About");
menuBar.add(mnAbout);
JMenuItem mntmAboutIpfinder = new JMenuItem("About IPFinder");
mnAbout.add(mntmAboutIpfinder);
frame.setVisible(true);
JMenuItem mntmExit = new JMenuItem("Exit");
mntmExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
}
});
mnFile.add(mntmExit);
}
Run Code Online (Sandbox Code Playgroud)
我花了大约2个小时在谷歌试图找到它,但我无法让它工作.
此时我已经筋疲力尽了,所以我来到了这里.任何帮助都是相关的.
使用ClassName.this.dispose()
,如果你的类扩展JFrame
或JDialog
代替简单的调用dispose()
或者frame.dispose()
如果你有一个frame
这样类型的变量.在您的情况下,它是第二个选项:frame.dispose();
这样,你告诉编译器你正在调用dispose()
一个Window
子类型,而不是一个匿名实现的ActionListener
,dispose()
无论如何都没有.
归档时间: |
|
查看次数: |
1765 次 |
最近记录: |