看了一下菜单果然是醉了。。头都要大了 ,这么难记。。sad
菜单分为 菜单条 菜单 菜单项
1 菜单条
Jcomponent(组件)子类 JMenubar 负责创建菜单条。
setJMenuBar(JMenuBar bar); 只能向窗口添加一个菜单条。
2 菜单
Jcomponent(组件)子类 JMenu 负责创建菜单。
JMenu(String s) :创建一个标题为s的菜单。
public void add(JMenuItem item) : 向菜单里添加菜单项。
public JMenuItem getItem(int n) :得到指定索引处的菜单选项。
public int getItemCount() :得到菜单选项的数目。
3 菜单项
Jcomponent(组件)子类 JMenuItem负责创建菜单项。
JMenuItem(String s) :创建标题为s的菜单项。
JMenuItem(String test,Icon icon) :创建带标题和图标的菜单项。
public void setAccelerator(KeyStroke keyStroke) :为菜单项设置快捷键。
纯手打。。累死了
主类:
public class GUI_window {
public static void main(String[] args){
WindowMenu w1=new WindowMenu("带菜单的窗口",20,30,280,200);
}
}
重写JFrame的类.
import javax.swing.*;
import java.awt.event.*;
import static javax.swing.JFrame.*;
public class WindowMenu extends JFrame{
JMenuBar menubar;
JMenu menu,submenu;
JMenuItem item1,item2;
public WindowMenu(){}
public WindowMenu(String s,int x,int y,int w,int h){
init(s);
setLocation(x,y);
setSize(w,h);
setVisible(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
void init(String s){
setTitle(s);
menubar=new JMenuBar();
menu=new JMenu("菜单");
submenu=new JMenu("子菜单");
item1=new JMenuItem("菜单项1",new ImageIcon("a.gif"));
item2=new JMenuItem("菜单项2",new ImageIcon("b.gif"));
item1.setAccelerator(KeyStroke.getKeyStroke('A'));//两种设置菜单项快捷键的方法
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y,InputEvent.CTRL_MASK));
menu.add(item1);
menu.addSeparator();
menu.add(item2);
menu.add(submenu);
submenu.add(new JMenuItem("hello world!",new ImageIcon("c.gif")));
menubar.add(menu);
setJMenuBar(menubar);
}
}
效果如下: