记事本快捷键设置 java_Java给JFrame窗口设置热键---不完整记事本
使用了简单的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窗口设置热键---不完整记事本相关推荐
- 设置计算机关机时间快捷键,怎么让电脑定时关机设置大全
电脑定时关机怎么设置?在使用电脑中也比较实用,比如我们需要下载东西或睡觉前听音乐,又不能一直守在电脑方面或害怕睡着了,那么怎么设置让电脑定时关机,其实电脑定时关机还有不少用途等着你去发掘,下面为大家介 ...
- 最大化窗口设置_BetterTouchTool的几个实用设置
调节屏幕色温 下载nshift(一个exec文件),并将其移动到 /usr/local/bin 中. Execute Terminal Command: /usr/local/bin/nshift 0 ...
- JAVA实现可设置背景的MDI窗口
JAVA实现可设置背景的MDI窗口 我们都知道,MDI(Multiple Document Interface)即多文档界面.使用MDI窗体时,将在一个父窗体内建立工作区,父窗体能够令一个以上的子窗体 ...
- java使用教程——组件及事件处理——窗口(设置窗口的颜色和背景)
用JFrame时,设置背景颜色需使用JFrame.getContentPane().setBackground(Color.red) Container con=this.getContentPane ...
- vector 设置大小_BetterSnapTool for Mac(窗口设置工具) v1.9.3
BetterSnapTool for mac版是一款在国内非常受欢迎的窗口管理软件,这款软件可以让你轻松调整桌面上窗口的大小和位置,你可以将其拖动到屏幕上的任何一个位置,这样可以让你像是用window ...
- 戴尔便携式计算机右键,戴尔最新笔记本如何在右键菜单添加“在此处打开命令窗口”设置项?...
最近有位戴尔最新笔记本用户,在升级Win10系统后,发现原本的命令提示符已被Powershell取代,因此操作上感觉有点不太习惯,需要一点时间适应,想知道如何在桌面右键菜单中添加"在此处打开 ...
- java图形界面编程如何给窗口设置背景图片
文章目录 前言 一.知识点介绍 二.代码实现 总结 前言 相信大家在GUI编程过程中,也就是开发窗口程序过程中,比如游戏界面等,难免会需要给窗口添加背景图片,接下来我将给大家详细讲解如何给窗口设置背景 ...
- 《ANSYS Workbench有限元分析实例详解(静力学)》——第2章 ANSYS Workbench主界面设置2.1 窗口设置...
本节书摘来自异步社区<ANSYS Workbench有限元分析实例详解(静力学)>一书中的第2章,第2.1节,作者: 周炬 , 苏金英 更多章节内容可以访问云栖社区"异步社区&q ...
- Win11怎么设置左右并排显示窗口?
很多小伙伴在工作的时候会希望两个任务窗口左右并排,这样右边操作修改东西的时候可以看着左边,这在没有多个显示器的情况下是很有必要的,下面系统之家小编就为大家介绍Win11并排显示窗口设置教程,希望能帮到 ...
最新文章
- 塞尔达传说顺序_编码《塞尔达传说》克隆图例
- Arduino教程资料汇总(8月22日悄悄跟新了一下)
- ie浏览器修复工具_电脑故障修复不求人!50个小工具可帮你一键修复
- MySQL数据库Raid存储方案
- citrix POC环境准备
- 收藏 | 综述:目标检测二十年
- ASP .NET Controller返回类型
- Stack与queue的底层实现、区别。
- QT编程编程入门系列文章之一——QT编程简介
- Java项目:微信小程序点餐系统(java+微信小程序+Mysql)
- CorelDRAWX4的VBA插件开发(二)怎么查看开发者PDF文档和VBA内的对象浏览器
- 产品经理学习——卡诺模型
- #4017. 复制粘贴(copypaste)
- CentOS 7 安装rar解压rar
- 炸机不可怕,可怕的是你不知道为什么炸
- 什么是5G SAR测试,FCC/CE中5G Sub-6GHz与5G 毫米波测试,5G毫米波测试
- 捕食搜索matlab代码,第8章——捕食搜索算法分析.ppt
- 朱会灿:搜索引擎演变史【腾讯大讲堂第3期】
- 【SQL】模糊查找(like)
- 7.12 10.6-10.10