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

GUI编程--初级篇

一.元素介绍

1.JFrame类:

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

   2)常用方法:

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

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

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

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

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

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
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值