我正在创建一个代表Microsoft Word菜单栏的简单java程序,在文件菜单中我添加了一个退出按钮......它什么也没做。
我需要你的帮助告诉我怎么做才能让退出按钮实际退出并关闭程序。
这是我的代码:
public class MicrosoftWordMenu {
public static void main(String [] args)
{
JPanel panel = new JPanel();
JFrame frame = new JFrame("Microsoft Word");
JMenuBar bar = new JMenuBar();
JMenu menu = new JMenu("File");
JMenu menu1 = new JMenu("Edit");
JMenu menu2 = new JMenu("View");
JMenu menu3 = new JMenu("Insert");
JMenu menu4 = new JMenu("Format");
JMenu menu5 = new JMenu("Tools");
JMenu menu6 = new JMenu("Table");
JMenu menu7 = new JMenu("Window");
JMenu menu8 = new JMenu("Help");
frame.add(bar, BorderLayout.NORTH);
frame.add(panel);
bar.add(menu);
bar.add(menu1);
bar.add(menu2);
bar.add(menu3);
bar.add(menu4);
bar.add(menu5);
bar.add(menu6);
bar.add(menu7);
bar.add(menu8);
JMenuItem menuitem = new JMenuItem("New...");
JMenuItem menuitem1 = new JMenuItem("Open...");
JMenuItem menuitem2 = new JMenuItem("Close");
JMenuItem menuitem3 = new JMenuItem("Save");
JMenuItem menuitem4 = new JMenuItem("Save as...");
JMenuItem menuitem5 = new JMenuItem("Save as web page...");
JMenuItem menuitem6 = new JMenuItem("Web page preview ");
JMenuItem menuitem7 = new JMenuItem("Print ");
JMenuItem menuitem8 = new JMenuItem("Exit");
menu.add(menuitem);
menu.add(menuitem1);
menu.add(menuitem2);
menu.add(menuitem3);
menu.add(menuitem4);
menu.add(menuitem5);
menu.add(menuitem6);
menu.add(menuitem7);
menu.add(menuitem8);
frame.setSize(600,100);
frame.setVisible(true);
}
}
答案 0 :(得分:4)
答案 1 :(得分:3)
在menu selection上拨打System.exit(0)
就行了。
答案 2 :(得分:2)
目前你刚刚创建了GUI元素,但它们基本上都是空壳。特别是,您已创建菜单上显示的项目,但您尚未向这些项目添加任何行为。 (由于您没有告诉您的程序在点击某个项目时该怎么做,您认为会发生什么?)
为了提供此行为,您需要注册一个ActionListener
,当某些在某个元素上发生时,将会调用该System.exit(0)
,并允许您在这一点(例如调用{{1}}。有关详细信息,请参阅Writing [Swing] Event listeners上的教程。
答案 3 :(得分:2)
我总是扩展AbstractAction类(实现ActionListener接口),允许您重用您的操作。通过扩展AbstractAction,可以在单击按钮时调用actionPerformed(ActionEvent e)方法。
public class CloseAction extends AbstractAction {
public CloseAction() {
super("Close");
}
public actionPerformed(ActionEvent e) {
System.exit(1);
}
}
现在,要将上述操作应用于其中一个按钮,只需按照下面的代码即可。
CloseButton.setAction(new CloseAction());
关闭按钮现在每次按下时都会关闭你的应用程序。
答案 4 :(得分:2)
使用Closing an Application中定义的ExitAction
。然后单击Exit
菜单项就像点击窗口右上角的关闭图标一样。这样可以在关闭应用程序时保持一致性,以防您需要进行密切处理。
编辑:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
...
// JMenuItem menuitem8 = new JMenuItem("Exit");
JMenuItem menuitem8 = new JMenuItem( new ExitAction() );