Tag: jtextcomponent

在Java GUI中读取txt文件

我想要做的就是显示txt文件的全部内容。 我该怎么做呢? 我假设我将JLabel的文本设置为包含整个文件的字符串,但是如何将整个文件转换为字符串? 此外,txt文件是否在Eclipse的src文件夹中?

在Java Swing中,我可以实时接收Caret事件吗?

我正在编写一个类似hex编辑器的视图,它由两个JTextComponents(hex和ASCII)组成。 我想同步两个视图之间的选择,所以我为这两个组件实现了一个CaretListener。 这适用于响应用户长按,拖动和释放鼠标的选择事件。 当用户释放鼠标时,组件会收到caretUpdate。 当用户按下鼠标并拖动鼠标而不释放时,组件如何接收增量的caretUpdate事件?

如何使JTextComponent的插入符号跳过所选文本?

许多环境中本机文本字段的正常行为如下: 带有文本“abcdefg”的文本字段。 我用鼠标从左到右选择“efg”。 插入符号现在落后于“g”。 当我通过按左光标键一次将插入符号向左移动时,删除选择并且插入符号在“e”之前。 当我在JTextField或JTextArea(在Mac OS上测试)中执行相同操作时,完成相同的操作会导致插入符号在“g”之前。 我知道如何通过使用KeyListener并在每个组件上注册它来以编程方式更改它,但我正在寻找一种方法来更改我的整个应用程序。 那可能吗? 有没有国旗,我找不到或者我必须破解我的外观和感觉? 谢谢

每次更改时自动更新jTextFields的总和(Java)

作为我学习java的一部分,我使用netbeans创建了一个jForm,其中包含三个jTextField,供用户输入一些数字,然后这些numbres的总和显示在另一个jTextField中。 当然,这非常简单,但我希望能够在没有任何按钮的情况下完成此操作。 每当修改3个文本字段中的任何一个时,我都不知道如何“更新”总和。 谁能帮我? 这是我的代码(表单是在设计模式下使用netbeans完成的): package sumfields; public class Frame extends javax.swing.JFrame { public Frame() { initComponents(); } @SuppressWarnings(“unchecked”) // private void initComponents() { n1 = new javax.swing.JTextField(); n2 = new javax.swing.JTextField(); n3 = new javax.swing.JTextField(); sum = new javax.swing.JTextField(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel5 = new […]

使JTextArea的部分不可编辑(不是整个JTextArea!)

我目前正在使用Swing的控制台窗口。 它基于JTextArea,就像一个常见的命令行。 在一行中键入命令,然后按Enter键。 在下一行中,显示输出,在该输出下,您可以编写下一个命令。 现在我想,你只能用你的命令编辑当前行。 上面的所有行(旧命令和结果)都应该是不可编辑的。 我怎样才能做到这一点?

读取文本文件和将内容转储到JTextArea的最有效方法

我很好奇读取文本文件的最有效方法是什么(不要担心大小,它相当小,因此java.io很好)然后将其内容转储到JTextArea进行显示。 例如,我可以以某种方式使用单个字符串中的整个文件,然后使用JTextArea.setText来显示它,或者我应该逐行读取或字节数组并将它们填充到StringBuffer中,然后将文本区域设置为? 谢谢

如何确定哪些行在可滚动的JTextArea中可见?

如何确定第一个可见行的数量和可滚动的JTextArea(JScrollPane中的JTextArea)中当前可见的行数?

如何创建具有指定宽度和显示所有文本所需的最小可能高度的JTextArea?

在我可以找到的所有使用JTextArea的示例中,在构造JTextArea之前已知高度和宽度,如果JTextArea需要更多高度,则将其放在JScrollPane 。 显然, JTextArea的高度取决于宽度和文本内容。 现在,我的情况要求我不使用JScrollPane ,而是让JTextArea足够高以显示所有文本。 当我创建JTextArea ,我知道文本内容以及它将使用多少宽度; 我不知道高度 – 我希望在不切断任何文本的情况下尽可能小。 这似乎很难实现。 作为旁注, JTextArea将被添加到没有布局管理器的JPanel中 – 它使用基于添加的组件的首选大小的绝对定位。 这要求我的JTextArea将在getPreferredSize()上返回正确的维度。 正确的尺寸应该是我在构造时提供的宽度,以及显示所提供宽度的所有文本所需的最小高度。 我发现了一些类似的线程,讨论了JTextArea所涉及的奇怪/错误,有时通过在父容器上调用pack()两次来解决。 这不是我的选择。 我很想创建我自己的JTextArea ,它接受一个宽度和字符串,并根据宽度和字体设置计算必要的最小高度,但我想我会先考虑先花费时间才能做到这一点。 希望我的问题很明确。 感谢大家的帮助!

如何在JFrame / JPanel中可视化控制台java

我使用Swing库创建了一个Java程序。 现在我想将我的控制台输出重定向到JFrame或JPanel。

将多行JTextArea内容写入文件

我必须将textarea的内容写入包含换行符的文件中。 我得到了输出,它被写为文件中的一个字符串。 public void actionPerformed(ActionEvent ev) { text.setVisible(true); String str= text.getText(); System.out.println(str); try { BufferedWriter fileOut = new BufferedWriter(new FileWriter(“filename.txt”)); fileOut.write(str); fileOut.close(); } catch (IOException ioe) { ioe.printStackTrace(); } } 例 输出应该是: I am King. 但它显示: IamKing. 请给我一些建议