如何用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工具包中的更多方法。