初学java之菜单条,菜单,菜单项的设置
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之菜单条,菜单,菜单项的设置的更多相关文章
- java学习:AWT组件和事件处理的笔记(1)--菜单条,菜单,菜单项
菜单放在菜单条里,菜单项放在菜单里1.MenuBar 在java.awt包中,负责创建菜单条,即MenuBar的一个实例,便是一个菜单条. 在Frame类中的setMenuBar(Menu ...
- 初学java之事件响应(结合接口来设置在同一个界面上!)
package wahaha; public class test_1 { public static void main( String args[] ) { WindowActionEvent w ...
- Java Swing界面编程(31)---菜单条:JMenu
package com.beyole.test; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMe ...
- ContextMune上下文菜单中,二级菜单获取及状态设置
ContextMune上下文菜单中,二级菜单获取及状态设置 在使用ContextMune上下文菜单中,能够通过二级菜单来获取及状态设置 //二级菜单获取和状态设置((ToolStripDropDown ...
- SharePoint 2010/2013 隐藏的速度下拉菜单列表项
SharePoint 2010/2013 隐藏的速度下拉菜单列表项 有时为了防止一些用户编辑列表项.需要隐藏下拉菜单列表项.,仅仅须要添加一个内容编辑器控件,将css代码写入其HTML ...
- WorldWind源码剖析系列:图层管理器按钮类LayerManagerButton和菜单条类MenuBar
WorldWindow用户定制控件类中所包含的的可视化子控件主要有:图层管理器按钮类LayerManagerButton和菜单条类MenuBar.BmngLoader类中所包含的的可视化子控件主要有: ...
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践.很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处 理有关,形成一个基础,在开发别的应用项目的时候则可以从 ...
- 初学java之常用组件
import javax.swing.*; import java.awt.*; class Win extends JFrame { JTextField mytext; // 设置一个文本区 JB ...
- 初学Java web(转)
转自 http://www.oschina.net/question/12_52027 OSCHINA 软件库有一个分类——Web框架,该分类中包含多种编程语言的将近500个项目. Web框架是开发者 ...
随机推荐
- The Pilots Brothers' refrigerator
2965 he Pilots Brothers' refrigerator Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1 ...
- NFS配置项no_root_squash和root_squash的区别
1.鸟哥的私房菜简体中文 http://linux-vbird.hillwood.cn/linux_server/0330nfs.htm 鸟哥的私房菜繁体中文 http://linux.vbird.o ...
- python_way day15 HTML-DAY2 HTML-DAY2、JS
python_way day15 HTML-DAY2 html-css回顾 javascript 一.html-css回顾 1.input与+,-号的写法 <!DOCTYPE html> ...
- SynchronizationContext的研究之一(非WPF及Forms)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- XAF应用开发教程(四)应用程序模型
XAF是重量型框架,确实够重量的,方方面面都做得规规矩矩. 如果看了前面三节,可能会认为,这N多的Attribute到底都是从哪里来的?到底有多少这样的Attribute?如果不够用了怎么办?等着官方 ...
- 详解公用表表达式(CTE)
简介 对于SELECT查询语句来说,通常情况下,为了使T-SQL代码更加简洁和可读,在一个查询中引用另外的结果集都是通过视图而不是子查询来进行分解的.但是,视图是作为系统对象存在数据库中,那对于结果集 ...
- iOS - Swift String 字符串
前言 public struct String public class NSString : NSObject, NSCopying, NSMutableCopying, NSSecureCodin ...
- android MTK驱动背光唤醒流程
在标准的android驱动中,睡眠唤醒流程非常清晰,能够较方便的更改lcd唤醒时间和led背光的点亮时间,但是也很容易出现问题,比如说闪屏,唤醒慢! 出现闪屏有两个原因 1. 开背光时间在唤醒lcd前 ...
- Statspack安装配置及使用
1.1 概念 statspack,用于收集系统信息,诊断数据库故障,也方便第三方技术支持进行远程阅读和建议.它连续收集数据信息,能够提供趋势分析,同时也需要单独分配一个表空间来存储这些统计数据.即在安 ...
- hdfs namenode -initializeSharedEdits 和 hdfs namenode -bootstrapStandby
hdfs namenode -initializeSharedEdits 将所有journal node的元文件的VERSION文件的参数修改成与namenode的元数据相同 hdfs namenod ...