package gui1;

import java.awt.BorderLayout;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JToolBar; public class jishiben extends JFrame{
JMenuBar cd;//菜单面板
JMenu cd1,cd2,cd3,cd4,cd5;//菜单
JMenuItem cdx2,cdx3,cdx4,cdx5,cdx6,cdx7;
JMenu ej;JMenuItem ej1,ej2;
//JMenuItem是最终的,不可以有下一级菜单。直接响应应用
//JMenu 不是最最终的,点击后出现下一级 JToolBar jtb;//工具条
JButton jb1,jb2,jb3,jb4,jb5,jb6; JTextArea jta;
JScrollPane jsp; public static void main(String[] args) {
// TODO Auto-generated method stub
jishiben js1=new jishiben(); }
public jishiben()
{
//工具条
jtb=new JToolBar();
jb1=new JButton(new ImageIcon("image/264.jpg"));
jb1.setToolTipText("新建");
jb2=new JButton(new ImageIcon("image/264.jpg"));
jb2.setToolTipText("打开");
jb3=new JButton(new ImageIcon("image/264.jpg"));
jb3.setToolTipText("保存");
jb4=new JButton(new ImageIcon("image/264.jpg"));
jb4.setToolTipText("剪切");
jb5=new JButton(new ImageIcon("image/264.jpg"));
jb5.setToolTipText("复制");
jb6=new JButton(new ImageIcon("image/264.jpg"));
jb6.setToolTipText("粘贴"); //菜单
cd=new JMenuBar();
cd1=new JMenu("文件(F)");
cd1.setMnemonic('F');
cd2=new JMenu("编辑(E)");
cd2.setMnemonic('E');
cd3=new JMenu("格式(O)");
cd3.setMnemonic('O');
cd4=new JMenu("查看(V)");
cd4.setMnemonic('V');
cd5=new JMenu("帮助(H)");
cd5.setMnemonic('H'); //菜单项
ej=new JMenu("新建");
ej1=new JMenuItem("文件",new ImageIcon("image/263.jpg"));
ej2=new JMenuItem("模板"); cdx2=new JMenuItem("打开",new ImageIcon("image/263.jpg"));
cdx3=new JMenuItem("保存",new ImageIcon("image/263.jpg"));
cdx4=new JMenuItem("另存为",new ImageIcon("image/263.jpg"));
cdx5=new JMenuItem("页面设置",new ImageIcon("image/263.jpg"));
cdx6=new JMenuItem("打印",new ImageIcon("image/263.jpg"));
cdx7=new JMenuItem("退出",new ImageIcon("image/263.jpg")); jta=new JTextArea();
jsp=new JScrollPane(jta); ej.add(ej1);
ej.add(ej2); cd1.add(ej);
cd1.add(cdx2);cd1.add(cdx3);cd1.add(cdx4);cd1.addSeparator();
cd1.add(cdx5);cd1.add(cdx6);cd1.addSeparator();//添加分割线
cd1.add(cdx7); jtb.add(jb1);jtb.add(jb2);jtb.add(jb3);
jtb.add(jb4);jtb.add(jb5);jtb.add(jb6); cd.add(cd1);cd.add(cd2);cd.add(cd3);cd.add(cd4);cd.add(cd5); this.setJMenuBar(cd);//菜单栏不计入布局
this.add(jtb,BorderLayout.NORTH);
this.add(jsp);//默认添加到中间 this.setTitle("记事本");
this.setSize(,);
this.setLocation(, );
this.setIconImage((new ImageIcon("image/23.jpg")).getImage());//(new ImageIcon("")).getImage()
this.setResizable(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true); }
}

swing之记事本的简单实现的更多相关文章

  1. 使用Swing实现简易而不简单的文档编辑器

    本文通过Swing来实现文档简易而不简单的文档编辑器,该文档编辑器的功能包括: 设置字体样式:粗体,斜体,下划线,可扩展 设置字体:宋体,黑体,可扩展 设置字号:12,14,18,20,30,40, ...

  2. Java Swing 之JTable及其简单的用法

    我们都知道JTable需要使用一个Model配合才能更好地发挥其作用.而使用Model有好多种方法,但是难易程度却大大不同,比如说我们使用AbstractTableModel接口要实现里面的好多方法, ...

  3. 简单记事本的基本实现&十四周总结

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  4. Swing——简单的计算器

    前言 这是博主学习完Swing后,使用Swing实现的一个简单计算器.做简单的计算器的目的是将最近所学的Swing给应用起来,写博文介绍的目的是记录做这个计算器的思路.下面将分为界面和事件两部分介绍. ...

  5. Swift3.0服务端开发(五) 记事本的开发(iOS端+服务端)

    前边以及陆陆续续的介绍了使用Swift3.0开发的服务端应用程序的Perfect框架.本篇博客就做一个阶段性的总结,做一个完整的实例,其实这个实例在<Swift3.0服务端开发(一)>这篇 ...

  6. 用逗号隔开简单数据保存为csv

    用记事本编辑简单数据,用英文逗号隔开,编辑为多列,保存为.csv文件.可以用Excel打开编辑.

  7. Linux:VIM简单入手

    现在的Linux系统一般都会默认安装VIM编辑器,如果没有安装VIM编辑器,也默认一定会有VI编辑器,VI编辑器产生的时间比鼠标来的更早,虽然功能很强大,但我建议安装VIM工具,安装了VIM之后,VI ...

  8. whdxlib

    1 数据库系统实现 实 验 指 导 书 齐心 彭彬 计算机工程与软件实验中心 2016 年 3 月2目 录实验一.JDBC 应用程序设计(2 学时) ......................... ...

  9. Windows下安装python2和python3双版本

    现在大家常用的桌面操作系统有:Windows.Mac OS.ubuntu,其中Mac OS 和 ubuntu上都会自带python.这里我们只介绍下Windows(我用的Win10)环境下的pytho ...

随机推荐

  1. php......留言板

    部门内部留言板 一.语言和环境 实现语言 PHP 二.要求: 本软件是作为部门内员工之间留言及发送消息使用. 系统必须通过口令验证,登录进入.方法是从数据库内取出用户姓名和口令的数据进行校验. 用户管 ...

  2. json教程系列(4)-optXXX方法的使用

    在JSONObject获取value有多种方法,如果key不存在的话,这些方法无一例外的都会抛出异常.如果在线环境抛出异常,就会使出现error页面,影响用户体验,针对这种情况最好是使用optXXX方 ...

  3. java 分页工具类

    //13年写的,今天(17)拷贝到博客园 package com.sicdt.sicsign.web.utils; import java.io.Serializable; import java.u ...

  4. 学会Retrofit+OkHttp+RxAndroid三剑客的使用,让自己紧跟Android潮流的步伐

    http://blog.csdn.net/iamzgx/article/details/51607387 概括 在上一篇博客android网络框架OkHttp之get请求(源码初识) 讲解了OkHtt ...

  5. 嵌入式C函数优化

    0. 引言 这是一个简单函数的优化,但却体现了代码易读性和效率的综合考虑. 如果问我如何写出优秀的代码,答曰:再写一版. 1. 版本1 从环形buffer中取出数据,然后放到一个结构体中.buffer ...

  6. python函数模拟mysql增删改查功能

    import os list1 = ['staff_id', 'name', 'age', 'phone', 'dept', 'enroll_date'] def staff_info(): #获取员 ...

  7. [SCOI2005]超级格雷码

    题目 BZOJ 洛谷 做法 爆搜真有意思 满足不重复且异或后仅一位为\(1\) 利用奇偶性交叉搜索(仅改变一位) My complete code #include<bits/stdc++.h& ...

  8. NoSQL数据库memcache和redis区别

    在web后台发开面试中,经常会被问道memcache和redis的区别和使用情况. 其中memcache和redis都是基于内存存储的缓存系统,存储形式key--value键值对的形式. 区别: 1. ...

  9. 20145222黄亚奇 《网络对抗技术》 MAL_逆向与Bof基础

    学习目的 通过一些方法,使能够运行本不该被运行的代码部分,或得到shell的使用: 将正常运行代码部分某处call后的目标地址,修改为另一部分我们希望执行.却本不应该执行的代码部分首地址(这需要我们有 ...

  10. Linux挂载第二块硬盘操作方法

    远程SSH登录上Centos服务器后,进行如下操作 提醒:挂载操作会清空数据,请确认挂载盘无数据或者未使用 第一步:列出所有已挂载磁盘 命令: disk -h [root@gluster_node1 ...