Java中菜单的创建

 

一级菜单:

package lyr;

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;


public class OneMenu {
	public static void main(String[] args) {
		JFrame f = new JFrame("一级菜单");
		
		//设置窗口的位置和大小
		f.setBounds(500, 150, 400, 400);
		
		//设置布局为流式布局
		f.setLayout(new FlowLayout());
		
		//创建一个菜单栏(条)
		JMenuBar mb = new JMenuBar();
		
		//创建一个菜单
		JMenu m = new JMenu("文件");
		
		//创建一个菜单项
		JMenuItem mi = new JMenuItem("退出系统");
		
		//将菜单项加入到菜单,将菜单加入到菜单栏,将菜单栏加入窗口
		m.add(mi);
		mb.add(m);
		f.setJMenuBar(mb);
		
		//菜单项的内容
		mi.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
		
		//关闭窗口
		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		
		//显示窗口
		f.setVisible(true);
	}
}

显示:

 

多级标题:

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class MoreMenu {
	public static void main(String[] args) {
		
		//创建窗口
		JFrame f= new JFrame("多级窗口");
		String name = f.getTitle();
		
		//设置窗口位置和大小
		f.setBounds(500, 150, 400, 300);
		
		//设置布局为流式布局
		f.setLayout(new FlowLayout());
		
		//创建菜单栏
		JMenuBar mb = new JMenuBar();
		
		//创建菜单
		JMenu m = new JMenu("文件");
		JMenu mm = new JMenu("更改名称");
		
		//创建菜单项
		JMenuItem m2 = new JMenuItem("好好学习");
		JMenuItem m3 = new JMenuItem("天天向上");
		JMenuItem m4 = new JMenuItem("恢复标题");
		JMenuItem m5 = new JMenuItem("打开记事本");
		JMenuItem m6 = new JMenuItem("退出系统");
		
		//将菜单项加入到菜单,将菜单加入到菜单栏,将菜单栏加入窗口
		mm.add(m2);
		mm.add(m3);
		mm.add(m4);
		m.add(mm);
		m.add(m5);
		m.add(m6);
		mb.add(m);
		f.setJMenuBar(mb);
		
		//打开记事本
		m5.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				Runtime r = Runtime.getRuntime();
				try {
					r.exec("notepad");
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			}
		});
		
		//变成m2标题操作
		m2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				f.setTitle(m2.getText());
			}
		});
		
		//变成m3标题操作
		m3.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				f.setTitle(m3.getText());
			}
		});
		
		//恢复标题操作
		m4.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				f.setTitle(name);
			}
		});
		
		//关闭窗口操作
		m6.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});;
		
		//显示窗口
		f.setVisible(true);
		//关闭窗口
		f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
	}
}

显示:

Java漂亮的树形菜单制作实例(源码),森林状的关系图,文本域,用于显示点击的节点名称,使用了JTree,可以看作是一个jTree的用法演示实例。树形菜单应用广泛,这个Tree制作漂亮,相信会让很多朋友从学习到实现的方法,效果如演示截图所示。下面是相关的代码片段:   DefaultMutableTreeNode root = new DefaultMutableTreeNode("设置"); //生成根节点   DefaultMutableTreeNode node1=new DefaultMutableTreeNode("常规"); //生成节点一   node1.add(new DefaultMutableTreeNode("默认路径")); //增加新节点到节点一上   node1.add(new DefaultMutableTreeNode("保存选项"));   root.add(node1); //增加节点一到根节点上   root.add(new DefaultMutableTreeNode("界面"));   root.add(new DefaultMutableTreeNode("提示声音"));   root.add(new DefaultMutableTreeNode("打印"));   JTree tree = new JTree(root); //得到JTree的实例   DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)tree.getCellRenderer(); //得到JTree的Renderer   renderer.setLeafIcon(null); //设置叶子节点图标为空   renderer.setClosedIcon(null); //设置关闭节点的图标为空   renderer.setOpenIcon(null); //设置打开节点的图标为空   tree.addTreeSelectionListener(new TreeSelectionListener() {//选择节点的事件处理   public void valueChanged(TreeSelectionEvent evt) {   TreePath path = evt.getPath(); //得到选择路径   String info=path.getLastPathComponent().toString(); //得到选择的节点名称   jtfInfo.setText(info); //在文本域显示名称   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值