建立一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”,一项是“保存”,“打开”项作成子菜单,有两个菜单项“打开x”和“打开y”,“保存”项就是普通的菜单项。“编辑”菜单就一个菜单项“复制”。“查看”有两个菜单项“中止”和“刷新”。在菜单及菜单项上添加合适的快捷键。java
public class WindowTest { public static void main(String[] args) { Window window=new Window("浏览器"); window.setSize(400,300); window.setLocation(120,120); } } import javax.swing.*; import java.awt.*; public class Window extends JFrame { JMenuBar menubar; JMenu menu1,menu2,menu3,itemOpen; JMenuItem itemSave,itemCopy,itemStop,itemRefresh,item1,item2; Window(String s) { init(s); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void init(String s) { setTitle(s); menubar=new JMenuBar(); menu1=new JMenu("文件"); menu2=new JMenu("编辑"); menu3=new JMenu("查看"); menu1.setMnemonic('F'); menu2.setMnemonic('E'); menu3.setMnemonic('L'); itemOpen=new JMenu("打开"); itemSave=new JMenuItem("保存"); itemCopy=new JMenuItem("复制"); itemStop=new JMenuItem("中止"); itemRefresh=new JMenuItem("刷新"); itemOpen.setMnemonic('O'); KeyStroke cutkey=KeyStroke.getKeyStroke('S'); itemSave.setAccelerator(cutkey); cutkey=KeyStroke.getKeyStroke('C'); itemCopy.setAccelerator(cutkey); cutkey=KeyStroke.getKeyStroke('T'); itemStop.setAccelerator(cutkey); cutkey=KeyStroke.getKeyStroke('R'); itemRefresh.setAccelerator(cutkey); item1=new JMenuItem("打开(x)"); item2=new JMenuItem("打开(y)"); cutkey=KeyStroke.getKeyStroke('X'); item1.setAccelerator(cutkey); cutkey=KeyStroke.getKeyStroke('Y'); item2.setAccelerator(cutkey); itemOpen.add(item1); itemOpen.add(item2); menu1.add(itemOpen); menu1.add(itemSave); menu2.add(itemCopy); menu3.add(itemStop); menu3.add(itemRefresh); menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); setJMenuBar(menubar); } }
总结:添加组件时要从小到大依次添加。浏览器