组件及事件处理--菜单

如何用java语言写出一个菜单?

一.导入包

窗口的使用方法都在javax.swing 包中,创建窗口要导入该包。

二.了解其中一些基本的类和方法

 点我了解更多基础知识,下面的例子用到了一些方法,不了解的伙伴点一下基础知识看看。

三.实例

下面的例子实现了一个简单菜单的创建,

运行效果图如下:

关键点如下:

1.WindowMenu类继承JFrame类用来使用里面的窗口方法。

2.写了两个构造方法, 不带参数的WindowMenu()和带参数的  public WindowMenu(String s,int x,int y,int w,int h)

3.写了一个方法,void init(String s)来实现创建菜单

4.涉及到几个比较主要的方法:

(1)JMenuBar类中的add(JMenu对象)方法---menubar.add(menu);

(2)JMenu类中的add(JMenuItem对象)方法-- menu.add(scenery); 

(3)JMenuItem类中的setIcon(new ImageIcon("图像url地址“))方法-- 

 scenery.setIcon(new ImageIcon("C:/1/长城.jpg"));

(4)JMenuItem类中的两种构造方法,带一个参数的JMenuItem("菜单项名称”)和带两个参数的JMenuItem(菜单项名称,new ImageIcon("图像url地址“))

5.注意:一个根菜单使用add方法加到另一个根菜单中就会出现二级菜单,就像上面图示的九寨沟会出现两个选项一样。根菜单用JMenu类来创建,菜单项用JMenuItem来实现。

public class Example {
   public static void main(String args[]) {
      WindowMenu win=new WindowMenu("带菜单的窗口",20,30,200,190);
   }
}

   import javax.swing.*;
public class WindowMenu extends JFrame {
JMenuBar menubar;//菜单条
    JMenu menu,subMenu;//根菜单
    JMenuItem  scenery,locals;//菜单项
    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(JFrame.DISPOSE_ON_CLOSE); //点窗口右上角的叉叉后,隐藏当前窗口,并释放资源
    }
    void init(String s){
       setTitle(s);             //设置窗口的标题   
       menubar=new JMenuBar(); //创建一个菜单条
       menu=new JMenu("中国大好河山"); //设置一个名字叫中国大好河山的根菜单
       subMenu=new JMenu("九寨沟");  //设置一个名字叫九寨沟的根菜单
       scenery=new JMenuItem("长城");//设置一个名字叫长城的菜单项
       scenery.setIcon(new ImageIcon("C:/1/长城.jpg"));//设置图片
       locals=new JMenuItem("三亚",new ImageIcon("C:/1/三亚.jpg"));//用JMenuItem(String,ImageIcon对象)方法创建一个根菜单
       menu.add(scenery); //为根菜单添加菜单项
       menu.addSeparator();   //在菜单之间增加分隔线
       menu.add(locals); //为根菜单添加菜单项
       menu.add(subMenu);  //将submenu根菜单加到menu根菜单下
       subMenu.add(new JMenuItem("黄果树瀑布",new ImageIcon("C:/1/瀑布.jpg"))); 
       subMenu.add(new JMenuItem("溪流",new ImageIcon("C:/1/九寨沟.jpg")));
       menubar.add(menu); //在菜单条中添加menu菜单
       setJMenuBar(menubar);//在窗口中放置菜单条
    } 
}

以上只是我了解到的一点点皮毛,上面的代码有点瑕疵,图片我不知道怎么调节大小,所以如果要是插入图片插得小一点。或者,看看其他资料找一找关于Swing工具包中的更多方法。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值