Java GUI编程高级实例一:给应用程序添加菜单

二、“Java Editor”项目的界面更新

界面设计

Java GUI编程高级实例一:给应用程序添加菜单

“Edit”对文本区域操作,可以实现:复制、剪切、粘贴以及全选。

“Help”,“About”将弹出About窗口。

程序实现:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class NewEditor extends JFrame {
    JMenuBar mnb; //菜单栏
    JMenu file,edit,config,help; //各菜单
    JMenuItem New,open,save,exit; //File下的菜单项
    JMenuItem copy,cut,paste,selectall; //Edit下的菜单项
    JMenuItem fc,bc,dc; //Config下的菜单项
    JMenuItem about; //Help下的菜单项
    JTextArea t;
    NewEditor() {
        super("Java Editor");
        setDefaultCloseOperation(3);
        editInit();
        this.add(new JScrollPane(t));
        this.setJMenuBar(mnb);
        this.setBounds(200,200,600,400);
        this.setVisible(true);
    }

   private void editInit(){
        t = new JTextArea();
        t.setLineWrap(true);
        file = new JMenu("File");
        file.setMnemonic('F');
        New = new JMenuItem("New");
        open = new JMenuItem("Open");
        save = new JMenuItem("Save");
        exit = new JMenuItem("Exit");
        file.add(New); file.add(open);
        file.addSeparator();
        file.add(save);
        file.addSeparator();
        file.add(exit);
        edit = new JMenu("Edit");
        edit.setMnemonic('E');
        copy = new JMenuItem("Copy");
        paste = new JMenuItem("Paste");
        cut = new JMenuItem("Cut");
edit.add(cut);edit.add(copy); edit.add(paste);
        edit.addSeparator();     edit.add(selectall);
        config = new JMenu("Config");
        config.setMnemonic('C');
        bc = new JMenuItem("Back Color");
        fc = new JMenuItem("Fore Color");
        dc = new JMenuItem("Default Color");
        config.add(fc); config.add(bc);
        config.addSeparator();
        config.add(dc);
        help = new JMenu("Help");
        help.setMnemonic('H');
        about = new JMenuItem("About");
        help.add(about);
        mnb = new JMenuBar();
        mnb.add(file);mnb.add(edit);
        mnb.add(config);mnb.add(help);
    }

    public static void main(String[] args){
        new NewEditor();
    }
}

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/4620.html

(0)
江山如画的头像江山如画管理团队
上一篇 2020年1月20日 下午4:56
下一篇 2020年1月22日 上午11:15

99%的人还看了以下文章

  • python 集合使用案例:选修课统计

    相关阅读:python 集合的使用,案例详解 本学期学校共开设了3门选修课,一个班有25位学生,选修的情况如下: 选修1号课程的同学有: set1 = {‘张三’, ‘李四’, ‘王五’, ‘马六’, ‘赵七’, ‘钱八’} 选修2号课程的同学有: set2 = {‘姬一’, ‘孙必’, ‘周冲’, ‘王五’, ‘方向’, ‘张玉’} 选修3号课程的同学有:…

    2020年1月22日
    8.0K0
  • 分享一个非常实用的连接数据库javabean

    连接mysql数据库的javabean,修改url数据库连接字符串和驱动程序加载代码,即可成为通用的数据库连接BEAN。 package com.common; import java.sql.*; public class DataBaseConn { public  Connection conn = null; public void createCo…

    2020年12月6日
    2.6K0
  • 基于jspSmartUpload的JSP文件上传(一次可以上传多个文件)

    可以一次上传多个文件 upload.html <html> <head> <title>网页设计:文件上传</title> <meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″> </head> <b…

    2018年12月11日
    2.2K0
  • JSP实现用户登录总次数及用户最后一次登录时间功能(附代码)

    实现原理: 数据库表中,设置两个字段total_login_count(登录总次数,int型)和 last_login_time(最后登录时间,datetime型) 1. 记录用户的登录总次数 用户每登录一次,将数据库中的相应字段值加 1,代码如下: String sql =”update testuser set total_login_count = t…

    编程开发 2018年7月3日
    3.8K0
  • MySQL存储过程快速入门

    存储过程中的参数 MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如: CREATE PROCEDURE([[IN |OUT |INOUT ] 参数名 数据类形…]) IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值 OUT 输出参数:该值可在存储过…

    2018年12月20日
    2.8K0
  • aspx文件编码不统一导致乱码

    今天发现了一个很奇怪的现象,页面在VS2008下面,有些页面乱码,而有些則不会。 上网查找了很多方法均不能解决,根据以前开发asp,php的经验,怀疑这些页面的编码可能不一样。 在VS2008下面还真的不知道在哪里看文件的编码,用Dreamweaver打开一个乱码跟一个不乱码的页面对比了一下,发现一个是gb2312(不乱码),而别外一个则是utf-8(乱码)…

    2019年2月14日
    2.4K0

发表回复

登录后才能评论