使用了简单的JFrame窗口,在窗口中添加菜单,菜单选项,点击鼠标右键出现右键菜单,用io流将输入文本域的内容保存。并设置热键alt+x为退出的热键

public class MyNotepad extends JFrame{

//菜单栏

private JMenuBar jmb = new JMenuBar();

//菜单

private JMenu jmFile = new JMenu("文件(F)");

private JMenu jmEdit = new JMenu("编辑(E)");

private JMenu jmFormat = new JMenu("格式(O)");

private JMenu jmFind = new JMenu("查看(V)");

private JMenu jmHelp = new JMenu("帮助(H)");

//菜单项

private JMenuItem jmiNew = new JMenuItem("新建");

private JMenuItem jmiOpen = new JMenuItem("打开");

private JMenuItem jmiSave = new JMenuItem("保存");

private JMenuItem jmiOther = new JMenuItem("另存为");

private JMenuItem jmiExit = new JMenuItem("退出(X)");

private JCheckBoxMenuItem jmiAutoLine = new JCheckBoxMenuItem("自动换行");

private JMenuItem jmiFont = new JMenuItem("字体");

private JFileChooser jfc = new JFileChooser();

private JTextArea jta = new JTextArea();

private JScrollPane jsp = new JScrollPane(jta);

//上下文菜单

private JPopupMenu jpm = new JPopupMenu();

private JMenuItem jmiCopy = new JMenuItem("复制");

private JMenuItem jmiPaste = new JMenuItem("粘贴");

public MyNotepad() {

this.setTitle("记事本");

this.setSize(600,400);

this.setLocationRelativeTo(null);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.add(jmb,BorderLayout.NORTH);

jmb.add(jmFile);

jmb.add(jmEdit);

jmb.add(jmFormat);

jmb.add(jmFind);

jmb.add(jmHelp);

jmFile.add(jmiNew);

jmFile.add(jmiOpen);

jmFile.add(jmiSave);

jmFile.add(jmiOther);

jmFile.addSeparator();

jmFile.add(jmiExit);

jmFormat.add(jmiAutoLine);

jmFormat.add(jmiFont);

//上下文菜单

jpm.add(jmiCopy);

jpm.add(jmiPaste);

jpm.add(jmFile);

jta.addMouseListener(new MouseAdapter() {

public void mouseClicked(MouseEvent e) {

if(e.getButton() == 3){

jpm.show(jta, e.getX(), e.getY());

}

}

});

//文本域自动换行

this.add(jsp,BorderLayout.CENTER);

jmiAutoLine.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

boolean selected = jmiAutoLine.isSelected();

if(selected){

jta.setLineWrap(true);

}else{

jta.setLineWrap(false);

}

}

});

//文件新建窗口

jmiNew.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

int choose = jfc.showOpenDialog(MyNotepad.this);

switch (choose) {

case JFileChooser.APPROVE_OPTION:

System.out.println("点击了打开");

break;

case JFileChooser.CANCEL_OPTION:

System.out.println("点击了取消");

break;

}

}

});

//文件保存窗口,用随机数命名文件名随时保存进新的文件

jmiSave.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

Random r = new Random();

int a = r.nextInt(100);

File file = new File("D:\\桌面\\b"+"r"+"a.txt");

try {

FileOutputStream fis = new FileOutputStream(file,true);

BufferedOutputStream bis = new BufferedOutputStream(fis);

byte [] b = jta.getText().getBytes();

try {

bis.write(b);

bis.flush();

bis.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} catch (FileNotFoundException e) {

e.printStackTrace();

}

}

});

jmiExit.registerKeyboardAction(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.exit(0);

}

}, KeyStroke.getKeyStroke(KeyEvent.VK_X,KeyEvent.ALT_DOWN_MASK),

JComponent.WHEN_IN_FOCUSED_WINDOW);//1.设置监听事件。2.设置热键alt+x关闭窗口3.设置触发当鼠标聚焦在窗口时

jmiExit.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.exit(0);

}

});

this.setVisible(true);

}

public static void main(String[] args) {

new MyNotepad();

}

}

记事本快捷键设置 java_Java给JFrame窗口设置热键---不完整记事本相关推荐

  1. 设置计算机关机时间快捷键,怎么让电脑定时关机设置大全

    电脑定时关机怎么设置?在使用电脑中也比较实用,比如我们需要下载东西或睡觉前听音乐,又不能一直守在电脑方面或害怕睡着了,那么怎么设置让电脑定时关机,其实电脑定时关机还有不少用途等着你去发掘,下面为大家介 ...

  2. 最大化窗口设置_BetterTouchTool的几个实用设置

    调节屏幕色温 下载nshift(一个exec文件),并将其移动到 /usr/local/bin 中. Execute Terminal Command: /usr/local/bin/nshift 0 ...

  3. JAVA实现可设置背景的MDI窗口

    JAVA实现可设置背景的MDI窗口 我们都知道,MDI(Multiple Document Interface)即多文档界面.使用MDI窗体时,将在一个父窗体内建立工作区,父窗体能够令一个以上的子窗体 ...

  4. java使用教程——组件及事件处理——窗口(设置窗口的颜色和背景)

    用JFrame时,设置背景颜色需使用JFrame.getContentPane().setBackground(Color.red) Container con=this.getContentPane ...

  5. vector 设置大小_BetterSnapTool for Mac(窗口设置工具) v1.9.3

    BetterSnapTool for mac版是一款在国内非常受欢迎的窗口管理软件,这款软件可以让你轻松调整桌面上窗口的大小和位置,你可以将其拖动到屏幕上的任何一个位置,这样可以让你像是用window ...

  6. 戴尔便携式计算机右键,戴尔最新笔记本如何在右键菜单添加“在此处打开命令窗口”设置项?...

    最近有位戴尔最新笔记本用户,在升级Win10系统后,发现原本的命令提示符已被Powershell取代,因此操作上感觉有点不太习惯,需要一点时间适应,想知道如何在桌面右键菜单中添加"在此处打开 ...

  7. java图形界面编程如何给窗口设置背景图片

    文章目录 前言 一.知识点介绍 二.代码实现 总结 前言 相信大家在GUI编程过程中,也就是开发窗口程序过程中,比如游戏界面等,难免会需要给窗口添加背景图片,接下来我将给大家详细讲解如何给窗口设置背景 ...

  8. 《ANSYS Workbench有限元分析实例详解(静力学)》——第2章 ANSYS Workbench主界面设置2.1 窗口设置...

    本节书摘来自异步社区<ANSYS Workbench有限元分析实例详解(静力学)>一书中的第2章,第2.1节,作者: 周炬 , 苏金英 更多章节内容可以访问云栖社区"异步社区&q ...

  9. Win11怎么设置左右并排显示窗口?

    很多小伙伴在工作的时候会希望两个任务窗口左右并排,这样右边操作修改东西的时候可以看着左边,这在没有多个显示器的情况下是很有必要的,下面系统之家小编就为大家介绍Win11并排显示窗口设置教程,希望能帮到 ...

最新文章

  1. 塞尔达传说顺序_编码《塞尔达传说》克隆图例
  2. Arduino教程资料汇总(8月22日悄悄跟新了一下)
  3. ie浏览器修复工具_电脑故障修复不求人!50个小工具可帮你一键修复
  4. MySQL数据库Raid存储方案
  5. citrix POC环境准备
  6. 收藏 | 综述:目标检测二十年
  7. ASP .NET Controller返回类型
  8. Stack与queue的底层实现、区别。
  9. QT编程编程入门系列文章之一——QT编程简介
  10. Java项目:微信小程序点餐系统(java+微信小程序+Mysql)
  11. CorelDRAWX4的VBA插件开发(二)怎么查看开发者PDF文档和VBA内的对象浏览器
  12. 产品经理学习——卡诺模型
  13. #4017. 复制粘贴(copypaste)
  14. CentOS 7 安装rar解压rar
  15. 炸机不可怕,可怕的是你不知道为什么炸
  16. 什么是5G SAR测试,FCC/CE中5G Sub-6GHz与5G 毫米波测试,5G毫米波测试
  17. 捕食搜索matlab代码,第8章——捕食搜索算法分析.ppt
  18. 朱会灿:搜索引擎演变史【腾讯大讲堂第3期】
  19. 【SQL】模糊查找(like)
  20. 7.12 10.6-10.10

热门文章

  1. KPROCESS 结构体属性介绍
  2. 2020-12-3(详解虚拟地址如何转化为物理地址)
  3. 017 Android加固之APK混淆和保护方式
  4. 【Centos】更新为北京时间
  5. Acwing第 24 场周赛【完结】
  6. 数据库事务的介绍和使用
  7. 3.1.1 内存的基础知识
  8. Keepalived的VRRPD配置
  9. JSTL标签显示分页
  10. Tomcat在server.xml中配置虚拟目录