package project;
import javax.swing.*; import java.awt.event.KeyEvent;
import java.awt.event.InputEvent;
import static javax.swing.JFrame.*;
class WindowMenu extends JFrame //JFrame的子类
{
JMenuBar myBar ;
JMenu menu , submenu;
JMenuItem item1,item2 ;
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(DISPOSE_ON_CLOSE);
}
void init(String s)
{
setTitle(s);
myBar = new JMenuBar();
menu = new JMenu("菜单");
submenu = new JMenu("软件项目");
item1 = new JMenuItem("java话题", new ImageIcon("a.gif"));
item2 = new JMenuItem("动画话题", new ImageIcon("b.gif"));
item1.setAccelerator(KeyStroke.getKeyStroke('A'));
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
menu.add(item1);
menu.addSeparator();
menu.add(item2);
menu.add(submenu);
submenu.add(new JMenuItem("汽车销售系统" , new ImageIcon("d.gif")));
submenu.add(new JMenuItem("农场信息系统" , new ImageIcon("e.gif")));
myBar.add(menu);
setJMenuBar(myBar);
}
}
public class test
{
public static void main(String args[])
{
WindowMenu win = new WindowMenu("带菜单的窗口",20,30,700,590);
}
}

由于是刚开始学,照着书本敲,敲完运行可以,但是发现图片无法显示,百度了一下,也没找到好的办法,我觉得可能是和路径有关,但是不知道该怎么放置,这也应该算是一个问题吧!...

目前正在想办法解决!

 package project;
import javax.swing.*; import static javax.swing.JFrame.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
class WindowMenu extends JFrame
{ JMenuBar menubar; //设置一个菜单条
JMenu menu , submenu ; //设置一个菜单和一个子菜单
JMenuItem item1 , item2; //设置两个菜单条
public WindowMenu(){} //默认构造函数
public WindowMenu(String str ,int x,int y,int h,int w) //自定义构造函数
{
init(str);
setLocation(x,y); //设置位置
setSize(h,w); //设置大小
setVisible(true); //设置是否可视化
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //注销窗口
}
void init(String str)
{
setTitle(str); //设置它的标题
menubar = new JMenuBar();
menu = new JMenu("菜单"); menubar.add(menu); //将这个菜单放到菜单条下面
item1 = new JMenuItem("java话题", new ImageIcon("a.gif")); //单一的条目
item2 = new JMenuItem("动画话题", new ImageIcon("b.gif"));
menu.add(item1);
menu.add(item2);
item1.setAccelerator(KeyStroke.getKeyStroke('A'));
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
submenu = new JMenu("软件项目");
menu.add(submenu); //将这个子菜单放到主菜单的下面
// 在submenu菜单下设置两个条目(单一)
submenu.add(new JMenuItem("汽车销售系统" , new ImageIcon("c.gif")));
submenu.add(new JMenuItem("农场信息系统", new ImageIcon("d.gif"))); //menubar.add(submenu);
setJMenuBar(menubar); } }
public class test
{
public static void main(String args[])
{
WindowMenu mywin;
mywin = new WindowMenu("第一个窗口", 40,50,200,300);
}
}

初学java之菜单条,菜单,菜单项的设置的更多相关文章

  1. java学习:AWT组件和事件处理的笔记(1)--菜单条,菜单,菜单项

    菜单放在菜单条里,菜单项放在菜单里1.MenuBar    在java.awt包中,负责创建菜单条,即MenuBar的一个实例,便是一个菜单条.    在Frame类中的setMenuBar(Menu ...

  2. 初学java之事件响应(结合接口来设置在同一个界面上!)

    package wahaha; public class test_1 { public static void main( String args[] ) { WindowActionEvent w ...

  3. Java Swing界面编程(31)---菜单条:JMenu

    package com.beyole.test; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMe ...

  4. ContextMune上下文菜单中,二级菜单获取及状态设置

    ContextMune上下文菜单中,二级菜单获取及状态设置 在使用ContextMune上下文菜单中,能够通过二级菜单来获取及状态设置 //二级菜单获取和状态设置((ToolStripDropDown ...

  5. SharePoint 2010/2013 隐藏的速度下拉菜单列表项

    SharePoint 2010/2013 隐藏的速度下拉菜单列表项         有时为了防止一些用户编辑列表项.需要隐藏下拉菜单列表项.,仅仅须要添加一个内容编辑器控件,将css代码写入其HTML ...

  6. WorldWind源码剖析系列:图层管理器按钮类LayerManagerButton和菜单条类MenuBar

    WorldWindow用户定制控件类中所包含的的可视化子控件主要有:图层管理器按钮类LayerManagerButton和菜单条类MenuBar.BmngLoader类中所包含的的可视化子控件主要有: ...

  7. 初学 Java Web 开发,请远离各种框架,从 Servlet 开发

    Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践.很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处 理有关,形成一个基础,在开发别的应用项目的时候则可以从 ...

  8. 初学java之常用组件

    import javax.swing.*; import java.awt.*; class Win extends JFrame { JTextField mytext; // 设置一个文本区 JB ...

  9. 初学Java web(转)

    转自 http://www.oschina.net/question/12_52027 OSCHINA 软件库有一个分类——Web框架,该分类中包含多种编程语言的将近500个项目. Web框架是开发者 ...

随机推荐

  1. 【转载】使用C#进行系统编程

    原文:使用C#进行系统编程 虽然对于系统编程(System programming)的定义很模糊,不过可以将其描述为在比特.字节.指令,或CPU周期层面所进行的思考.系统编程这个概念也暗含了对性能和可 ...

  2. Shifting List Item Values From One List To Another In Oracle Forms

    Suppose you have two T-List items in form and you want  to shift element values from one list to ano ...

  3. Linux c 下使用getopt()函数

    命令行参数解析函数 —— getopt() getopt()函数声明如下: #include <unistd.h> int getopt(int argc, char * const ar ...

  4. C++ Redis mset 二进制数据接口封装方案

    C++ Redis mset 二进制数据接口封装方案 需求 C++中使用hiredis客户端接口访问redis: 需要使用mset一次设置多个二进制数据 以下给出三种封装实现方案: 简单拼接方案 在r ...

  5. 面向对象的JavaScript系列一,创建对象

    1.最简单的创建对象方法 var person = new Object(); person.name = "sam wu"; person.age = 25; person.jo ...

  6. NS3 日志(Logging)、命令行参数、Tracing系统概述(转载)

    NS-3日志子系统的提供了各种查看仿真结果的渠道: 一.使用Logging Module 1 [预备知识]日志级别及其对应的宏 NS-3 提供了若干个日志级别来满足不同的 Debug 需求,每一级的日 ...

  7. 在.bashrc文件中定义函数

    在命令行上直接定义shell函数的明显缺点是当退出shell时,函数就消失了,对于复杂的函数来说,这可能会是个问题. 一个简单的方法就是每次启动新shell的时候都会自动加载所需要的函数. 最好的办法 ...

  8. JavaWeb项目的classpath说明

    概念解释: classpath : 即项目中WEB-INF下面的classes目录; 应用: [01] src路径下的文件在编译后会放到WEB-INF/classes路径下.默认的classpath是 ...

  9. [转载] 一篇文章带你了解Paxos算法

    原文: http://dockone.io/article/640 [编者的话]本文是Quora上关于Paxos算法的回答,两位答者分别从不同的角度描述Paxos算法.Vineet Gupta的回答细 ...

  10. htm Dom对象与 Xml Dom对象的理解

    html 是基于Xml的文档规范.是一种特殊的xml文档,这一点很重要 1.xml 文档的操作,java,c#,...各种语言都提供了很好的api对文档进行解析,操作.当然js 也不例外,提供了一系列 ...