博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JMenuBar组件
阅读量:6152 次
发布时间:2019-06-21

本文共 2745 字,大约阅读时间需要 9 分钟。

hot3.png

菜单与工具栏的使用与介绍

12-1:使用JMenuBar组件:

JMenuBar的类层次结构图:
java.lang.Object    --java.awt.Component      --java.awt.Container        --javax.swing.JComponent          --javax.swing.JMenuBar

在介绍JMenu组件前,我们先介绍JMenuBar组件,JMenuBar组件的功能是用来摆入JMenu组件.当我们建立完许多的JMenu组件后, 需要通过JMenuBar组件来将JMenu组件加入到窗口中.虽然我们由下表中看出JMenuBar组件只有一种构造方式,但是它对于构造一个菜 单来说是个不可缺少的组件.

JMenuBar构造函数:

JMenuBar():建立一个新的JMenuBar; 由于构造一个空的JMenuBar然后设置到窗口上对于窗口来说是没有意义的,因此JMenuBar需要结合至少一个以上的JMenu组件才 会在画面上显现出视觉的效果,所以JMenuBar的构造方法及范例我们留到JMenu的第一个范例中再加以说明.

12-1:使用JMenu组件:

JMenu的类层次结构图:

java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JComponent --javax.swing.AbstractButton --javax.swing.JMenuItem --javax.swing.JMenu

JMenu组件是用来存放和整合JMenuItem的组件,这个组件也是在构成一个菜单中不可或缺的组件之一.JMenu可以是单一层次的结 构也可以是一个层次式的结构,要使用何种形式的结构取决于界面设计上的需要而定,如下表所示:

JMenu构造函数:
  • JMenu():建立一个新的JMenu.
  • JMenu(Action a):建立一个支持Action的新的JMenu.
  • JMenu(String s):以指定的字符串名称建立一个新的JMenu.
  • JMenu(String,Boolean b):以指定的字符串名称建立一个新的JMenu并决定这个菜单是否可以下拉式的属性.

12-1-2:构造JMenu组件:

在看过JMenu的构造函数之后,我们先来看一个具有图标菜单的范例:

import javax.swing.*;import java.awt.event.*;import java.awt.*;import java.util.*;import com.incors.plaf.alloy.*;import com.incors.plaf.alloy.themes.glass.*;public class JMenu1 extends JFrame {	JTextArea theArea = null;	public JMenu1() {		super("JMenu1");		theArea = new JTextArea();		theArea.setEditable(false);		getContentPane().add(new JScrollPane(theArea));		JMenuBar MBar = new JMenuBar();		// 调用自行编写的buildFileMenu()方法来构造JMenu.		JMenu mfile = buildFileMenu();		MBar.add(mfile); // 将JMenu加入JMenuBar中.		setJMenuBar(MBar);// 将JMenuBar设置到窗口中.	}// end of JMenu1()	public JMenu buildFileMenu() {		JMenu thefile = new JMenu("File");		thefile.setIcon(new ImageIcon("icons/file.gif"));		return thefile;	}// end of buildFileMenu()	public static void main(String[] args) {		SwingUtil.setLookAndFeel();		JFrame F = new JMenu1();		F.setSize(400, 200);		F.addWindowListener(new WindowAdapter() {			public void windowClosing(WindowEvent e) {				System.exit(0);			}		});// end of addWindowListener		F.setVisible(true);	} // end of main}// end of class JMenu1class SwingUtil {	public static final void setLookAndFeel() {		try {			Font font = new Font("JFrame", Font.PLAIN, 12);			Enumeration keys = UIManager.getLookAndFeelDefaults().keys();			while (keys.hasMoreElements()) {				Object key = keys.nextElement();				if (UIManager.get(key) instanceof Font) {					UIManager.put(key, font);				}			}			AlloyLookAndFeel.setProperty("alloy.isLookAndFeelFrameDecoration",					"true");			AlloyTheme theme = new GlassTheme();			LookAndFeel alloyLnF = new AlloyLookAndFeel(theme);			UIManager.setLookAndFeel(alloyLnF);		} catch (UnsupportedLookAndFeelException ex) {			ex.printStackTrace();		}	}}

转载于:https://my.oschina.net/u/347414/blog/158387

你可能感兴趣的文章
cacti分组发飞信模块开发
查看>>
浅析LUA中游戏脚本语言之魔兽世界
查看>>
飞翔的秘密
查看>>
Red Hat 安装源包出错 Package xxx.rpm is not signed
查看>>
编译安装mysql-5.6.16.tar.gz
查看>>
类与成员变量,成员方法的测试
查看>>
活在当下
查看>>
每天进步一点----- MediaPlayer
查看>>
PowerDesigner中CDM和PDM如何定义外键关系
查看>>
跨域-学习笔记
查看>>
the assignment of reading paper
查看>>
android apk 逆向中常用工具一览
查看>>
MyEclipse 报错 Errors running builder 'JavaScript Validator' on project......
查看>>
Skip List——跳表,一个高效的索引技术
查看>>
Yii2单元测试初探
查看>>
五、字典
查看>>
前端js之JavaScript
查看>>
Log4J日志配置详解
查看>>
实验7 BindService模拟通信
查看>>
scanf
查看>>