java swing
JTextArea 本来是只读的,实现的效果是双击可以编辑,
按Esc 又变为只读
双击处理事件
resultTextArea.setEditable(false); resultTextArea.setLineWrap(true); resultTextArea.setWrapStyleWord(true); resultTextArea.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { if (!resultTextArea.isEditable()) { resultTextArea.setEditable(true); DialogUtil.focusSelectAllTF(resultTextArea); } // System.out.println("Double Click!"); } super.mouseClicked(e); } }); public static void focusSelectAllTF(JTextArea ta) { ta.requestFocus(); if (!ValueWidget.isNullOrEmpty(ta.getText())) { ta.selectAll(); } }
按Esc的监听事件
/*** * 按Esc 文本框失去焦点 * @param tf */ public static void addKeyListener22(final JTextComponent tf){ addKeyListener22(tf, null); } /*** * 按Alt+Enter时,用户名文本框聚焦,<br>按Esc 文本框失去焦点 * @param tf :密码输入框 */ public static void addKeyListener22(final JTextComponent tf,final JTextComponent tf2){ tf.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { } @Override public void keyReleased(KeyEvent e) { } @Override public void keyPressed(KeyEvent e) { if ((e.getKeyCode() == KeyEvent.VK_ESCAPE) ) { System.out.println("esc"); tf.setEditable(false); }else if ((e.getKeyCode() == KeyEvent.VK_ENTER) && (((InputEvent) e ) .isAltDown())) { if(!ValueWidget.isNullOrEmpty(tf2)){ tf2.requestFocus(); tf2.selectAll(); } } } }); } /** * 判断对象或对象数组中每一个对象是否为空: 对象为null,字符序列长度为0,集合类、Map为empty * * @param obj * @return */ public static boolean isNullOrEmpty(Object obj) { if (obj == null) return true; if (obj instanceof CharSequence) return ((CharSequence) obj).length() == 0; if (obj instanceof Collection) return ((Collection) obj).isEmpty(); if (obj instanceof Map) return ((Map) obj).isEmpty(); if (obj instanceof Object[]) { Object[] object = (Object[]) obj; if (object.length == 0) { return true; } boolean empty = true; for (int i = 0; i < object.length; i++) { if (!isNullOrEmpty(object[i])) { empty = false; break; } } return empty; } return false; }
附件运行方式:
java -jar share-0.0.3.1-SNAPSHOT.jar
前提:电脑安装java环境
运行界面:
相关推荐
有时候,我们可能需要创建一个只读的文本区域或者为`JTextArea`添加额外的功能,比如右键菜单,来提高用户体验或实现特定的功能需求。本文将详细介绍如何使用Java Swing中的`JTextArea`组件实现不可修改的文本内容,...
swing jtextArea是一个组件,用于显示多行文本,可以滚动、编辑和格式化文本。swing jtextArea的滚动条是swing jtextArea的一部分,用于控制文本的滚动。 接下来,让我们了解一下swing jtextArea的文字缩放效果。...
而JTextArea是Swing组件库中的一个文本区域,常用于显示多行文本,用户可以读取但不能编辑。在某些情况下,我们可能希望将Log4j的日志输出直接重定向到JTextArea,以便于在GUI应用程序中实时查看日志信息。这在调试...
在Java Swing库中,`JTextArea` 是一个用于显示和编辑多行文本的组件。有时候在编程时,我们可能需要为 `JTextArea` 添加行号功能,以方便用户阅读和编辑代码或者数据。这个功能可以通过自定义边框来实现,就像标题...
在Linux系统下使用Swing进行GUI开发时,可能会遇到中文乱码的问题。解决这一问题通常需要对系统的编码环境进行适当的配置。以下是一个详细的步骤指南,帮助开发者解决乱码问题。 **第一步:** 检查系统默认字符集...
今天,我们将学习如何使用 Java 弹出菜单来为 JTextArea 添加右键弹出式菜单,实现复制、粘贴、剪切功能。 一、Java 弹出菜单概述 Java 弹出菜单是一种 context-sensitive 菜单,即在用户点击右键时出现的菜单。它...
3. **Swing JTextArea**: `javax.swing.JTextArea` 是一个简单的文本组件,主要用于显示和编辑多行文本。虽然比 TextPane 更简单,不支持富文本,但可以用来创建基本的文本编辑器。对于简单的文本编辑需求,...
Java Swing JTextArea 文本区域是 Java Swing 库中的一种基本组件,用于编辑多行文本。JTextArea 组件可以编辑多行文本,并提供了许多有用的方法来处理文本。 概述 JTextArea 是 javax.swing.JTextArea 的实例,...
"最全面的Swing文本编辑器"是一个利用Java Swing构建的高级文本编辑器,旨在提供比标准记事本更丰富的功能,如插入图片、鼠标绘图等。这个编辑器可能是一个很好的示例,用于学习如何在Swing环境中扩展基本组件以实现...
JTextArea是Swing库提供的一个多行文本编辑框组件,可以用于在GUI应用程序中显示和编辑大段文本。
Swing文本编辑器的核心组件是`JTextArea`,这是一个可以显示和编辑多行文本的组件。我们可以使用`JScrollPane`来包裹`JTextArea`,以便在文本内容过多时自动滚动。`JScrollPane`提供了水平和垂直滚动条,使得用户...
本项目就是一个基于Swing构建的文本编辑器,允许用户进行文本编辑、保存等操作。 在Swing中,主要使用`javax.swing.*`包下的类来构建GUI,例如`JFrame`作为窗口的基础,`JPanel`用于组织组件,`JTextArea`用于显示...
本文将深入探讨名为"MyEditor"的文本编辑器,它基于Java Swing库构建,提供了丰富的功能,包括JMenu菜单系统,文本的磁盘打开和保存,以及用户友好的界面编辑。接下来,我们将详细讨论这款编辑器的核心特性及其实现...
在Swing中实现一个编辑器,首先需要理解Swing的基础组件,如JFrame、JPanel和JTextComponent系列。JTextComponent是所有文本组件的基类,包括JTextField、JTextArea和JEditorPane。对于实现一个编辑器,JTextPane或...
Java Swing是Java GUI(图形用户界面)库的一部分,它提供了丰富的组件来构建桌面应用程序,包括一个文本编辑器。在Java Swing中创建一个文本编辑器,我们可以利用`javax.swing.text`包中的类和接口,这些工具使得...
**基于Swing的简单Java编辑器** 在Java编程领域,Swing是一个用于构建桌面应用程序的图形用户界面(GUI)工具包。它属于Java Foundation Classes (JFC)的一部分,由Sun Microsystems开发,现在由Oracle公司维护。...
6. **导入与导出**:可以将现有的Swing代码导入到设计视图中进行编辑,也可以将设计好的界面导出为源代码。 使用Eclipse的Swing编辑插件,开发者能够更高效地创建和管理Swing应用的界面。为了开始使用这个插件,你...
2. `JTextArea textArea` 用于显示和编辑文本,初始化时设置为20行40列的大小。 3. `JFileChooser fC` 用于打开文件对话框,让用户选择文件进行打开或保存操作。 4. `JMenuBar` 和 `JMenu` 创建了主菜单栏,包括...
【基于Swing的编辑器】是一种使用Java Swing库开发的文本编辑工具,它提供了一个基本的用户界面,供用户创建、查看和编辑文本文件。Swing是Java Foundation Classes (JFC)的一部分,它为Java应用程序提供了丰富的...
在实际开发中,这样的练习可以帮助程序员巩固Swing基础知识,理解组件的使用和交互,为进一步开发复杂的Java GUI应用打下坚实的基础。通过整理这些功能,开发者可以构建自己的自定义控件库,方便日后项目复用,提高...