GUI界面编程——记事本初级实现

来源:互联网 发布:ubuntu根目录空间不足 编辑:程序博客网 时间:2024/05/16 08:13

GUI编程--初级篇

一.元素介绍

1.JFrame类:

   1)概念:其实力称为窗口,属于底层容器,可以与操作系统直接交互。

   2)常用方法:

       a.Jframe()方法创建一个无标题的窗口

       b.JframeStrings)方法创建一个标题为s的窗口

       c.Public voidsetVisible(booleanb)设置窗口是否可见

       d.Public void dispose()撤消当前窗口,释放资源

        e.Public void setDefaultCloseOperation(intoperation)设置单击窗口右上角关闭按钮后程序执行的操作

2.Jmenu类:

   概念:Jmenu类负责创建菜单

3.JmenuItem类:

   概念:JmenuItem类负责创建嵌入子菜单

4.JMenuBar类:

   概念:JMenuBarJframe的一个子类,Jframe有一个把菜单条放置到窗口中的方法SetMenuBar(JMenuBarbar)

二.记事本代码

1.创建DialongDemo类并且继承JFrame。

import java.awt.event.InputEvent;import javax.swing.*;import com.sun.glass.events.KeyEvent;public class DialongDemo extends JFrame {//定义JMenuBar menuBar;JMenu menu1,menu2,menu3,menu4,menu5;JMenuItem menu11,menu12,menu13,menu14,menu15,menu16,menu17;JMenuItem menu21,menu22,menu23,menu24,menu25,menu26,menu27,menu28,menu29,menu210,menu211;JMenuItem menu31,menu32;JMenuItem menu41;JMenuItem menu51,menu52;public DialongDemo(){//空的构造方法}//带参的构造方法public DialongDemo(String s,int x,int y,int w,int h){init(s);setBounds(x,y,w,h);setVisible(true);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); }//init方法的实现public void init(String s){setTitle(s);menuBar = new JMenuBar();menu1 = new JMenu("文件");menu2 = new JMenu("编辑");menu3 = new JMenu("格式");menu4 = new JMenu("查看");menu5 = new JMenu("帮助");//将menuBar组件加入到窗口setJMenuBar(menuBar);//将menu1等组件加入到menuBar中menuBar.add(menu1);menuBar.add(menu2);menuBar.add(menu3);menuBar.add(menu4);menuBar.add(menu5);//文件项menu11 = new JMenuItem("新建");menu12 = new JMenuItem("打开");menu13 = new JMenuItem("保存");menu14 = new JMenuItem("另存为");menu15 = new JMenuItem("页面设置");menu16 = new JMenuItem("打印");menu17 = new JMenuItem("退出");menu1.add(menu11);menu1.add(menu12);menu1.add(menu13);menu1.add(menu14);menu1.addSeparator(); menu1.add(menu15);menu1.add(menu16);menu1.addSeparator(); menu1.add(menu17);//编辑项menu21 = new JMenuItem("撤销");menu22 = new JMenuItem("剪贴");menu23 = new JMenuItem("复制");menu24 = new JMenuItem("粘贴");menu25 = new JMenuItem("删除");menu26 = new JMenuItem("查找");menu27 = new JMenuItem("查找下一个");menu28 = new JMenuItem("替换");menu29 = new JMenuItem("转到");menu210 = new JMenuItem("全选");menu211= new JMenuItem("时间/日期");menu2.add(menu21);menu2.addSeparator();menu2.add(menu22);menu2.add(menu23);menu2.add(menu24);menu2.add(menu25);menu2.addSeparator();menu2.add(menu26);menu2.add(menu27);menu2.add(menu28);menu2.add(menu29);menu2.addSeparator();menu2.add(menu210);menu2.add(menu211);//格式menu31 = new JMenuItem("自动换行");menu32 = new JMenuItem("字体");menu3.add(menu31);menu3.add(menu32);//状态栏menu41=new JMenuItem("状态栏");menu4.add(menu41);//帮助menu51 = new JMenuItem("查看帮助");menu52 = new JMenuItem("关于记事本");menu5.add(menu51);menu5.addSeparator();menu5.add(menu52);//设置快捷键ctrl+*menu11.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK)); menu12.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK)); menu13.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK)); menu16.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK)); menu21.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK)); menu22.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK)); menu23.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK)); menu24.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));menu25.setAccelerator(KeyStroke.getKeyStroke("Del"));menu26.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK)); menu27.setAccelerator(KeyStroke.getKeyStroke("F3"));menu28.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK)); menu29.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK)); menu210.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));menu211.setAccelerator(KeyStroke.getKeyStroke("F5"));//文本对象JTextArea area = new JTextArea(1065,570);add(area);}}

2.创建主方法Main来实现

public class Main {public static void main(String[] args) {//调用带参构造函数DialongDemo dialongDemo=new DialongDemo("新建  文本文档",100,100,1085,635);}}

三.结果展示:





0 0