首页 文章 精选 留言 我的

精选列表

搜索[原型链],共10004篇文章
优秀的个人博客,低调大师

Java实现命令式简易文本编辑器原型

源自早先想法, 打算从界面方向做些尝试. 找到个简单文本编辑器的实现: Simple Text Editor - Java Tutorials. 原本的菜单/按钮界面如下. 包括基本功能: 新建/打开/保存文件, 文本编辑与剪切/复制/粘贴. 把所有菜单/按钮替换为命令输入后效果如下, 源码库在: program-in-chinese/simple-text-editor-in-Java. 与其他命令行工具一样, 省去界面元素的代价是输入较繁琐. 在文本和命令两处切换也有点麻烦. 接下去试着实现命令输入的自动补全等等. 实现源码如下. 不采用第三方库, 比较粗糙的代码180行. public class 文本编辑器 extends JFrame { private static final String 默认文件名 = "无名"; private JTextArea 文本区域 = new JTextArea(20, 120); private JTextArea 命令文本区 = new JTextArea(5, 20); private JFileChooser 对话框 = new JFileChooser(System.getProperty("user.dir")); private String 当前文件 = 默认文件名; private String 当前命令 = ""; private boolean 已改 = false; public static void main(String[] arg) { new 文本编辑器(); } public 文本编辑器() { 文本区域.setFont(new Font("Monospaced", Font.PLAIN, 12)); JScrollPane 文本区 = new JScrollPane(文本区域, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); add(文本区, BorderLayout.CENTER); 命令文本区.setFont(new Font("Monospaced", Font.PLAIN, 12)); JScrollPane 命令区 = new JScrollPane(命令文本区, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); add(命令区, BorderLayout.EAST); setDefaultCloseOperation(EXIT_ON_CLOSE); pack(); 文本区域.addKeyListener(监听文本输入); 命令文本区.addKeyListener(命令监听); setTitle(当前文件); setVisible(true); } private KeyListener 监听文本输入 = new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { 已改 = true; } }; private KeyListener 命令监听 = new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) { int 行数 = 命令文本区.getLineCount(); if (行数 == 1) { 当前命令 = 命令文本区.getText(); } else { try { int 上一行末位置 = 命令文本区.getLineEndOffset(行数 - 2); 当前命令 = 命令文本区.getText().substring(上一行末位置); } catch (BadLocationException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } 执行(当前命令); } } }; private void 执行(String 当前命令) { switch (当前命令) { case "新建": 新建操作(); break; case "打开": 打开操作(); break; case "保存": 保存操作(); break; case "另存": 另存文件为(); break; case "退出": 退出操作(); break; case "剪切": 文本区域.cut(); break; case "复制": 文本区域.copy(); break; case "粘贴": 文本区域.paste(); break; default: // TODO: 提示无此命令或显示帮助 break; } } private void 新建操作() { 保存旧文件(); 文本区域.setText(""); 当前文件 = 默认文件名; setTitle(当前文件); 已改 = false; } private void 打开操作() { 保存旧文件(); if (对话框.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { 读入文件(对话框.getSelectedFile().getAbsolutePath()); } } private void 保存操作() { if (!当前文件.equals(默认文件名)) 保存文件(当前文件); else 另存文件为(); } private void 退出操作() { 保存旧文件(); System.exit(0); } private void 另存文件为() { if (对话框.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) 保存文件(对话框.getSelectedFile().getAbsolutePath()); } private void 保存旧文件() { if (已改) { if (JOptionPane.showConfirmDialog(this, "保存 " + 当前文件 + " 吗?", "保存", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) 保存文件(当前文件); } } private void 读入文件(String 文件名) { try { FileReader 读 = new FileReader(文件名); 文本区域.read(读, null); 读.close(); 当前文件 = 文件名; setTitle(当前文件); 已改 = false; } catch (IOException e) { Toolkit.getDefaultToolkit().beep(); JOptionPane.showMessageDialog(this, "找不到 " + 文件名); } } private void 保存文件(String 文件名) { try { FileWriter 写 = new FileWriter(文件名); 文本区域.write(写); 写.close(); 当前文件 = 文件名; setTitle(当前文件); 已改 = false; } catch (IOException e) { } } } 参考 adding a console to a Jframe Detecting when user presses enter in Java Java SWING JFrame Layouts Example

优秀的个人博客,低调大师

曦智科技51.2T CPO原型亮相,核心全国产

在2026世界人工智能大会(WAIC 2026)上,曦智科技以“光³——定义AI算力的三次方时代”为主题,从光互连、光计算、光交换三个维度,带来了一系列技术进展与最新产品。从核心芯片突破到超节点集群规模化落地,从技术验证走向产业共建,曦智科技正以光电混合全栈能力赋能AI算力基础设施升级,让光真正服务于算力需求的最前沿。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册