Java中的窗口应用程序的设计

1.创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”,一项是“保存”,“打开”项做成子菜单,有两个菜单项“打开x”和“打开y”,“保存”项就是普通的菜单项。“编辑”菜单就一个菜单项“复制”。“查看”有两个菜单项“停止”和“刷新”。在菜单及菜单项上添加合适的快捷键。

package window;

import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;

import javax.swing.*;

public class frame {
public static void main(String[] args) {
// TODO 自动生成的方法存根
FirstWindow win=new FirstWindow("浏览器");
}

}

class FirstWindow extends JFrame{
JMenuBar menubar;
JMenu menu1,menu2,menu3,menu4;
JMenuItem item1,item2,item3,item4,item5;
FirstWindow(String s){
setTitle(s);
setSize(400,300);
setLocation(120,120);
setVisible(true);

menubar=new JMenuBar();
menu1=new JMenu("文件(F)");
menu1.setMnemonic(‘F‘);
menu2=new JMenu("编辑(E)");
menu2.setMnemonic(‘F‘);
menu3=new JMenu("查看(V)");
menu3.setMnemonic(‘V‘);

menu4=new JMenu("打开(O)");
menu4.setMnemonic(‘O‘);

item2=new JMenuItem("保存",new ImageIcon("save.gif"));
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
item3=new JMenuItem("复制",new ImageIcon("copy.gif"));
item3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
item4=new JMenuItem("停止",new ImageIcon("stop.gif"));
item4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,InputEvent.CTRL_MASK));
item5=new JMenuItem("刷新",new ImageIcon("Snew.gif"));
item5.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));

menu1.add(menu4);
menu4.add(new JMenuItem("打开x",new ImageIcon("open.gif")));
menu4.add(new JMenuItem("打开y",new ImageIcon("open.gif")));
menu1.addSeparator();
menu1.add(item2);
menu2.add(item3);
menu3.add(item4);
menu3.add(item5);

menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);

setJMenuBar(menubar);
validate();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}
}

时间: 2024-07-31 12:59:49

Java中的窗口应用程序的设计的相关文章

java中子类继承父类程序执行顺序问题

Java中,new一个类的对象,类里面的静态代码块.非静态代码.无参构造方法.有参构造方法.类的一般方法等部分,它们的执行顺序相对来说比较简单,用程序也很容易验证.比如新建一个测试父类. public class FatherTest { private String name; FatherTest(){ System.out.println("--父类的无参构造函数--"); } FatherTest(String name){ this.name=name; System.out

java中的继承 黑马程序员

通过继承实现代码复用.Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的.继承而得到的类称为子类,被继承的类称为父类.子类不能继承父类中访问权限为private的成员变量和方法.子类可以重写父类的方法,及命名与父类同名的成员变量.但Java不支持多重继承,即一个类从多个超类派生的能力. class A { A(){} private int x=10;//A类的私有成员变量(不可以被继承) protected int y=20;//A类的保护成员变量(可以被继承)

Java中static方法、程序入口函数main方法的继承问题

对于继承问题,说明如下: 1.若父类中属性或方法使用private修饰,则不能在子类中访问:对于使用protected.default.public修饰的方法或属性,都是可以在子类中访问的. 2.在1中所述的可被子类访问的前提下,对于static修饰的方法或属性,表示该属性或方法是独立于具体的对象事例:它们也都是可以被子类继承的. 3.对于父类中的入口函数(main方法)也是可以被子类继承的.ps:具体的可以使用命令行运行java程序进行验证.

对上次“对字符串进行简单的字符数字统计 探索java中的List功能 ”程序,面向对象的改进

之前的随笔中的程序在思考后发现,运用了太多的static 函数,没有将面向对象的思想融入,于是做出了一下修改: 1 import java.util.ArrayList; 2 import java.util.Collections; 3 import java.util.List; 4 import java.util.Scanner; 5 6 7 public class classtest { 8 9 List<String> number=new ArrayList<String

057 Java中kafka的Producer程序实现

1.需要启动的服务 这里启动的端口是9092. bin/kafka-console-consumer.sh --topic beifeng --zookeeper linux-hadoop01.ibeifeng.com:2181/kafka 2.producer的程序 1 package com.jun.it; 2 import kafka.javaapi.producer.Producer; 3 import kafka.producer.KeyedMessage; 4 import kafk

黑马程序员------Java中多线程学习总结(一)

Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! 一.多线程的概念 进程:是一种“自包容”的运行程序,有自己的地址空间. 基于进程的特点是允许计算机同时运行两个或更多的程序 线程:是进程内部单一的一个顺序控制流 . 基于线程的多任务处理环境中,线程是最小的处理单位. 在Java中,一个应用程序可以包含多个线程.每个线程执行特定的任务,并可与其他线程并发执行.多线程使系统的空转时间减少,提高了CPU的利用率.多线程编程隐藏了CPU在任务之间切换的事实. 二.创建

Java中的内部类(成员内部类、静态内部类、局部内部类、匿名内部类)

Java中的内部类(成员内部类.静态内部类.局部内部类.匿名内部类) 神话丿小王子的博客主页 我们先看这样一段话:人是由大脑.肢体.器官等身体结果组成.而组成我们人体的心脏它也有自己的属性和行为(血液.跳动),显然,此处不能单方面用属性或者方法表示一个心脏了,而需要一个类,但是这个类要依赖于人这个类存在(因为心脏不能脱离人体而存活,当然不考虑现今社会的发达科技,只从正常情况下来说),所心脏以需要写在人类的内部.内部类就相当于其中的某个器官之一. 首先看看什么是内部类:在类的内部定义另一个类.没错

java中native方法的使用

native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中.Java语言本身不能对操作系统底层进行访问和操作,但是可以通过JNI接口调用其他语言来实现对底层的访问. JNI是Java本机接口(JavaNative Interface),是一个本机编程接口,它是Java软件开发工具箱(javaSoftware Development Kit,SDK)的一部分.JNI允许Java代码使用以其他语言编写的代码和代码库.Invocati

JAVA中SSL证书认证通讯

SSL通讯服务端 /******************************************************************** * 项目名称    :rochoc   <p> * 包名称      :rochoc.net.security <p> * 文件名称    :SSLServer   <p> * 编写者     :luoc    <p> * 编写日期    :2005-6-30    <p> * 程序功能(类