Java语言编写图形界面菜单栏
/*菜单(JMenu)是标题栏下面的一行文字部分。菜单时应用程序中最常用的组件。
菜单的组织方式为:一个菜单条JMenuBar包含多个菜单项(JMenuItem)。
本实例:使用JMenu和JMenuItem来创建菜单的例子。
*/
import java.awt.*;
import javax.swing.*;
public class JMenuDemoSimple {
JFrame mainJFrame;//构造一个框架
JMenuBar mainMenuBar;//创建一个新的菜单栏
JMenu fileMenu;//创建菜单栏中的一级菜单
JMenuItem newItem;//创建一级菜单中的二级菜单
public JMenuDemoSimple(){
mainJFrame = new JFrame("菜单演示");
mainJFrame.setSize(600,600);//设置窗口大小
mainJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗口时推出JVM
createMenu();//调用自定义的方法创建菜单结构
mainJFrame.setJMenuBar(mainMenuBar);//添加菜单到窗口
mainJFrame.setVisible(true);//设置窗口是否可见
}
public void createMenu(){
mainMenuBar = new JMenuBar();//创建JMemuBar
fileMenu = new JMenu("一级菜单");//创建JMenu
//***************************创建JMenuItem并添加对应的JMenu中
mainMenuBar.add(fileMenu); //创建 文件菜单 下面的菜单项
newItem = new JMenuItem("二级菜单");
//*********在菜单栏中添加项目
fileMenu.add(newItem);
}
public static void main(String[] args)
{
new JMenuDemoSimple();
}
}
效果图:
注意:任何时候 setVisible() 一定要放到最后调用,因为代码是按顺序执行的 ,如果你把setVisible() 放在前边,后边再添加其他组件的时候,有可能不会显示出来。
以下时Java菜单栏的简单应用,
import java.awt.*;
import javax.swing.*;
public class JMenuDemo {
JFrame mainJFrame;//构造一个框架
Container con; //创建一个容器
JScrollPane JSPane;//创建一个上下 左右滚动的窗口
JTextArea text;//创建一个多行纯文本域
JMenuBar mainMenuBar;//创建一个新的菜单栏
JMenu fileMenu,editMenu,formatMenu,helpMenu;//创建菜单栏中的菜单选项
//“文件”菜单下的菜单项
JMenuItem newItem,openItem,saveItem,saveasItem,pageItem,printItem,exitItem;
//"编辑"菜单下的菜单项
JMenuItem undoItem,cutItem,copyItem,pasteItem,findItem,replaceItem,selectallItem;
//"设置"菜单下的菜单项
JCheckBoxMenuItem wrapItem;
JMenuItem fontItem;
//“帮助”菜单下的菜单项
JMenuItem aboutItem;
public JMenuDemo(){
mainJFrame = new JFrame("菜单使用实例");
con=mainJFrame.getContentPane();
text= new JTextArea();
JSPane = new JScrollPane(text);
con.add(JSPane,BorderLayout.CENTER);
mainJFrame.setVisible(true);//设置窗口是否可见
mainJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗口时推出JVM
createMenu(); //调用自定义的方法创建菜单结构
mainJFrame.setJMenuBar(mainMenuBar);//添加菜单到窗口
mainJFrame.setSize(400,400);//设置窗口大小
}
public void createMenu(){
mainMenuBar = new JMenuBar();//创建JMemuBar
fileMenu = new JMenu("文件");//创建四个JMenu
editMenu = new JMenu("编辑");
formatMenu= new JMenu("格式");
helpMenu = new JMenu("帮助");
//***************************创建JMenuItem并添加对应的JMenu中
mainMenuBar.add(fileMenu);
//创建 文件菜单 下面的菜单项
newItem = new JMenuItem("新建");
openItem = new JMenuItem("打开");
saveItem = new JMenuItem("保存..");
saveasItem= new JMenuItem("另存为..");
pageItem = new JMenuItem("页面设置..");
printItem = new JMenuItem("打印..");
exitItem = new JMenuItem("退出");
//*********在菜单栏中添加项目
fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.add(saveasItem);
fileMenu.addSeparator();
fileMenu.add(pageItem);
fileMenu.add(printItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
mainMenuBar.add(editMenu);
//创建 编辑菜单 下面的菜单项
undoItem = new JMenuItem("撤销");
cutItem = new JMenuItem("剪切");
copyItem = new JMenuItem("复制");
pasteItem = new JMenuItem("粘贴");
findItem = new JMenuItem("查找");
replaceItem = new JMenuItem("替换");
selectallItem = new JMenuItem ("全选");
//*********在菜单栏中添加项目
editMenu.add(undoItem);
editMenu.addSeparator();
editMenu.add(cutItem);
editMenu.add(copyItem);
editMenu.add("pasteItem");
editMenu.addSeparator();
editMenu.add(findItem);
editMenu.add(replaceItem);
editMenu.addSeparator();
editMenu.add(selectallItem);
mainMenuBar.add(formatMenu);
//创建 格式菜单 下面的菜单项
wrapItem = new JCheckBoxMenuItem("自动换行");
fontItem = new JMenuItem("设置字体");
//*********在菜单栏中添加项目
formatMenu.add(wrapItem);
formatMenu.add(fontItem);
mainMenuBar.add(helpMenu);
//创建 格式菜单 下面的菜单项
aboutItem = new JMenuItem("关于");
//*********在菜单栏中添加项目
helpMenu.add(aboutItem);
}
public static void main(String[] args)
{
new JMenuDemo();
}
}
效果图: