电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java給JFrame窗口設置熱鍵的方法實現

瀏覽:3日期:2022-08-28 17:35:00

使用了簡單的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給JFrame窗口設置熱鍵的方法實現

到此這篇關于Java給JFrame窗口設置熱鍵的方法實現的文章就介紹到這了,更多相關Java JFrame窗口熱鍵內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 面粉仓_储酒罐_不锈钢储酒罐厂家-泰安鑫佳机械制造有限公司 | 上海办公室装修,写字楼装修—启鸣装饰设计工程有限公司 | 新能源汽车电池软连接,铜铝复合膜柔性连接,电力母排-容发智能科技(无锡)有限公司 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 小型气象站_便携式自动气象站_校园气象站-竞道气象设备网 | 成都珞石机械 - 模温机、油温机、油加热器生产厂家 | VOC检测仪-甲醛检测仪-气体报警器-气体检测仪厂家-深恒安科技有限公司 | 中式装修设计_室内中式装修_【云臻轩】中式设计机构 | 磁棒电感生产厂家-电感器厂家-电感定制-贴片功率电感供应商-棒形电感生产厂家-苏州谷景电子有限公司 | FAG轴承,苏州FAG轴承,德国FAG轴承-恩梯必传动设备(苏州)有限公司 | 广州/东莞小字符喷码机-热转印打码机-喷码机厂家-广州瑞润科技 | 美侍宠物-专注宠物狗及宠物猫训练|喂养|医疗|繁育|品种|价格 | 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | b2b网站大全,b2b网站排名,找b2b网站就上地球网 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | 柴油机_柴油发电机_厂家_品牌-江苏卡得城仕发动机有限公司 | 南京欧陆电气股份有限公司-风力发电机官网 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | 寮步纸箱厂_东莞纸箱厂 _东莞纸箱加工厂-东莞市寮步恒辉纸制品厂 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 东莞工作服_东莞工作服定制_工衣订做_东莞厂服 | 商用绞肉机-熟肉切片机-冻肉切丁机-猪肉开条机 - 广州市正盈机械设备有限公司 | 定坤静电科技静电消除器厂家-除静电设备 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | 宿舍管理系统_智慧园区系统_房屋/房产管理系统_公寓管理系统 | GEDORE扭力螺丝刀-GORDON防静电刷-CHEMTRONICS吸锡线-上海卓君电子有限公司 | 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 精密光学实验平台-红外粉末压片机模具-天津博君 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 杭州翻译公司_驾照翻译_专业人工翻译-杭州以琳翻译有限公司官网 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 | 球形钽粉_球形钨粉_纳米粉末_难熔金属粉末-广东银纳官网 | 水性漆|墙面漆|木器家具漆|水漆涂料_晨阳水漆官网 | 板材品牌-中国胶合板行业十大品牌-环保板材-上海声达板材 | 挤奶设备过滤纸,牛奶过滤纸,挤奶机过滤袋-济南蓝贝尔工贸有限公司 | LED灯杆屏_LED广告机_户外LED广告机_智慧灯杆_智慧路灯-太龙智显科技(深圳)有限公司 | 美缝剂_美缝剂厂家_美缝剂加盟-地老板高端瓷砖美缝剂 | 膏方加工_丸剂贴牌_膏滋代加工_湖北康瑞生物科技有限公司 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 |