前言:部分代码和效果图展示

记事本文件菜单效果图

保存文件代码

//       保存文件事件调用的方法private void baocun() {
//          捕获异常是为了防止用户取消保存报错try {
//              弹出文件保存对话框FileDialog fdg = new FileDialog(frame, "另存为", FileDialog.SAVE);
//              设置默认文件名fdg.setFile("*.txt");fdg.setDirectory("D:\\");// 要先显示fdg.setVisible(true);// 判断用户是否选择了文件if (fdg.getFile().equals(null) || fdg.getFile().equals("") || fdg == null) {return;}
//              获取文件路径和文件名String fpath = fdg.getDirectory() + fdg.getFile();try {
//                  保存文件FileOutputStream fop = new FileOutputStream(fpath);fop.write(textArea.getText().getBytes());fop.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {e.printStackTrace();}} catch (Exception e) {System.out.println(e.getMessage());} finally {System.out.println("保存文件已取消");return;}}

转到功能

private void zhuandao(){//取得总行数int totalLineCount = textArea.getLineCount();if(totalLineCount <= 1){return ;}String title = "(1..."+totalLineCount+")";String line = JOptionPane.showInputDialog("跳转到指定行",title);if(line==null||"".equals(line.trim())){return;}  try {//用户要转到的行号int intLine = Integer.parseInt(line);if(intLine > totalLineCount){JOptionPane.showMessageDialog(frame,"没有找到对应的行号");return;}// 获取行对应的列号 JTextArea起始行号是0,所以此处做减一处理int selectionStart = textArea.getLineStartOffset(intLine-1);int selectionEnd = textArea.getLineEndOffset(intLine-1);//如果是不是最后一行,selectionEnd做减一处理,是为了使光标与选中行在同一行if(intLine != totalLineCount){selectionEnd--;}//获得焦点,因为弹出对话框后焦点可能已丢失textArea.requestFocus(); textArea.setSelectionStart(selectionStart);
//          就选到此textArea.setSelectionEnd(selectionStart);} catch (Exception e) {e.printStackTrace();}}

添加状态栏,以及状态栏显示几行几列

 /*** 添加状态栏方法*/private void addState() {statepl=new JPanel(new FlowLayout(FlowLayout.RIGHT));//左右状态栏面板JLabel zuo = new JLabel("|100% |windows(CLRF)   |UTF-8   ");JLabel youztl=new JLabel("第1行,第1列   ");//设置焦点监听器textArea.addCaretListener(new CaretListener(){@Overridepublic void caretUpdate(CaretEvent e) {int row=0;int column=0;//textArea.getCaretPosition();//获取焦点占了多少字符int pose=e.getDot();try {//返回文本域焦点所在的行 ,row=textArea.getLineOfOffset(pose);//textArea.getLineStartOffset();返回给定行起始处的偏移量,即可获得对应行的列数column=pose-textArea.getLineStartOffset(row);} catch (BadLocationException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}
//                      行、列号从0开始youztl.setText("第"+(row+1)+"行,"+"第"+(column+1)+"列   ");}});statepl.add(youztl);statepl.add(zuo);contentPane.add(statepl, BorderLayout.SOUTH);}

记得点赞哦,有问题请私信呀

Java GUI 实现win10记事本几乎所有的功能相关推荐

  1. java 日历记事本_calendar 一个用java编写的日历记事本. 具有正常日历功能;也可以用于在不同日期记录下当日重要的事情 - 下载 - 搜珍网...

    日历记事本/日历记事本/build/classes/日历记事本/CalendarPad$1.class 日历记事本/日历记事本/build/classes/日历记事本/CalendarPad.clas ...

  2. java GUI实现记事本

    1,GUI+异常处理+文件=>简易记事本(面向对象实现) 面向对象其实就可以把一个函数用类和对象实现,把传给函数的值传给类的构造,并执行函数 操作,实现功能.岂不美哉! 2,做项目首先想好思路, ...

  3. Java课程设计-日历记事本

    #Java课程设计-日历记事本 ##日历记事本 要求:带有日程提醒功能的日历(数据库可采用Access.SQL Server或者MySQL). (1)显示信息:用户可以向前翻页查询前一个月的日期,也可 ...

  4. Java GUI程序示例

    Java GUI程序示例 与命令行界面相比,图形界面对于用户来说更为简便易用.图形用户界面(Graphical User Interface,简称 GUI),关于Java图形用户界面,可参见 http ...

  5. Java小程序之记事本

    这个记事本只做了个界面,里面的功能就做了三四个吧!特别适合新手学做GUI这一章. 我主要分了两大类,代码注释上面都有. 第一大类我主要把用到的所有组件全部定义了出来,这样看起来更方便一点 第二大类就是 ...

  6. 利用 Window Builder 快速搭建Java GUI 界面

    读完本篇文章,你可以迅速上手JavaGUI编程,可以尝试自己写出美美的界面啦~ (虽然不是很美观hhh但是比起黑框框好多了) 目录 1. 为 eclipse 安装 window builder 插件 ...

  7. 【毕设进行时-工业大数据,数据挖掘】Java GUI完善,左对齐

    正文之前 今天早上起来,因为还要在宿舍这边搞毕业信息确认,所以没办法,我就只能在宿舍里面做一下Java 的GUI的优化了! 很幸运的,思索一番之后,我发现了问题所在,并且很快的就解决了.就在我想要继续 ...

  8. java gui 结构_java gui教学图形界面的层次结构.ppt

    java gui教学图形界面的层次结构.ppt 还剩 13页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: 事件 ...

  9. java 中gui的作用_java学习中最应该注意的Java GUI用户界面以何为基础

    java中的GUI编程(Graphic User Interface,图形用户接口),是在它的笼统窗(Abstract Window Toolkit,AWT)上完成的,java.awt是AWT的东西类 ...

最新文章

  1. ASP.net随机数应用实例
  2. 第十六届全国大学生智能汽车竞赛(西部赛区) 竞速组成绩及获奖情况公示
  3. nlopt 二次优化
  4. html打开新窗口设置窗口属性,HTML之:让网页中的a标签属性统一设置-如‘新窗口打开’...
  5. 社会工程学[Social Engineering]
  6. emacs 新手笔记(四) —— 使用 dired 完成一些简单的文件和目录操作
  7. 1.9 编程基础之顺序查找 03 不高兴的津津 scratch
  8. htop进程管理工具
  9. js 解析php arraylist,使用JSON将ArrayList从Android发送到PHP脚本
  10. 为无线网路上好锁,WEP、WPA无线加密对比
  11. 华为设备堆叠原理和配置
  12. 标准C++ 与 VC++ 区别集锦(待续)
  13. 解决kindeditor上传图片时发生“服务器发生故障”的问题
  14. 海康威视摄像头的多通道rtsp地址格式
  15. ASP.NET MVC入门视频教程
  16. 如何部署自定义统计图
  17. java基础知识学习重点总结
  18. SpringSecurity前后端分离02(授权)
  19. java接入支付宝支付api
  20. quartz动态任务调度实现

热门文章

  1. php下memcache清理过期缓存内容,手动清除memcached缓存方法
  2. 2018 Multi-University Training Contest 4
  3. 《基于slam算法的超视距小车》调研分析报告
  4. uni-app框架开发app发布流程
  5. 使用 FasterTransformer 和 Triton 推理服务器部署 GPT-J 和 T5
  6. js中判断字符串相等使用==
  7. 三菱PLC项目案例学习之PLC控制伺服或步进电机带动丝运行
  8. 期货平均波动率(期货波动性)
  9. python中subplot是什么意思_python中matplotlib中的subplot函数使用
  10. 凝汽式汽轮机调节系统