问题标签 [jtextcomponent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Applet:仅在浏览器中出现视觉错误,并从 Swing 抛出异常
我们一直在办公室里苦苦挣扎,因为我们的一个(大型)小程序中存在一个看似无法解决的错误,这个小程序是 MS Word 的 Java 模拟,用于考试目的。例外似乎源于摇摆本身,我不确定我将如何解决它。这是发生的事情:
小程序加载加载屏幕直到 100%。在此之后,组件都以损坏的方式显示,好像它们的某些绘制方法没有被正确调用,将光标悬停在某些按钮等上确实会使它们闪烁/显示一段时间。并且每隔一秒左右就会向控制台打印一个异常。(见下文)这个错误不会出现在 Eclipse 中,只会出现在浏览器中。
摘要:Applet 组件都是毫无例外地构建的,但是在某个组件(我假设)的每次“绘制”调用中,它都会在视觉上出现错误,并且每秒都会打印以下内容:
非常感谢您的帮助,因为这让我发疯,我似乎找不到触发此问题的原因,因为代码来自以前的开发人员,而且一团糟。我尝试了不同的JDK版本。
谢谢。
java - Position.Bias 在 NavigationFilter 中始终显示 Forward
考虑一下我的简单导航过滤器,
当我选择使用 JTextArea 编写的文本时,Shift+LEFT_ARROW
它被认为是向后移动点,即 PositionBias 向后移动。
当我即使在向后选择时打印偏差时,也打印了 Forward。这是如何运作的?
任何答案将不胜感激。提前致谢。
java - 阿拉伯语排版字体减慢了我的 JTextArea、JTextPane 和 JTextEditor
我JTextArea
用来在 Java 中显示乌尔都语、阿拉伯语和英语的繁重文本。问题是当我为. JTextArea
我从 XML 获取文本,然后在 textarea 中显示,也使用linewrap
. 当我重新调整窗口大小时,我的窗口也会冻结大约5 秒。虽然在控制台上我被告知设置文本所花费的时间:7.005但是当显示消息时它并没有立即在 JTextArea 中显示文本,而是在大约 5 秒后显示。JTextArea、JTextPane 和 JTextEditor 的情况相同。
有趣的是,当我使用其他字体时,并没有出现上述问题。在控制台上出现设置文本消息所花费的时间后,文本也会立即出现。我对此进行了多次测试,但情况相同。
我在做某事
以下是不同字体的一些示例输出,时间以秒为单位:
我不会考虑解析时间因素,但设置文本所用时间因素对我来说确实很重要。现在我想知道
阿拉伯语排版字体有什么技术问题,不兼容还是很重?
- 因为
settext
比其他人需要很多时间。 - 消息出现后也没有立即出现文本。
- 调整窗口大小时,GUI 也会冻结一段时间。以及如何解决?
java - 为什么 JTextComponent.setText(String) 不对行尾进行规范化?
我最近注意到 Java 文本组件使用换行符(LF、\n
、 0x0A)在内部表示和解释换行符。这让我感到非常惊讶,并提出了我的假设,即在任何地方使用System.getProperty('line.separator')
都是一种很好的做法,这是一个问号。
看起来,每当您处理文本组件时,在使用上述属性时都应该非常小心,因为如果您使用JTextComponent.setText(String)
,您最终可能会得到一个包含不可见换行符(例如 CR)的组件。这似乎并不重要,除非文本组件的内容可以保存到文件中。如果您使用所有文本组件提供的方法将文本保存并打开到文件中,则隐藏的换行符会在重新打开文件时突然在组件中实现。原因似乎是该JTextComponent.read(...)
方法进行了标准化。
那么为什么不对JTextComponent.setText(String)
行尾进行规范化呢?或者任何其他允许在文本组件中修改文本的方法?System.getProperty('line.separator')
在处理文本组件时使用一种好的做法吗?这是一个好习惯吗?
一些代码可以透视这个问题:
添加新文本行后,此程序在我的 Windows 机器上保存的示例(为什么是单个 CR?o_O):
编辑01
我在 Netbeans IDE 中运行/调试了它,它在 Windows 7 上使用 JDK1.7u15 64bit (C:\Program Files\Java\jdk1.7.0_15)。
java - 在java中实现复制/粘贴操作
我在从 JTextComponent 工作中获取复制和粘贴方法时遇到了一些问题
对于我的程序,我有一个字符串数组,它们将成为菜单选项。“复制”和“粘贴”是其中的两个。
我没有收到任何错误消息,但它不起作用。任何帮助,将不胜感激
java - 在 Java Swing 中,我可以实时接收 Caret 事件吗?
我正在编写一个类似于十六进制编辑器的视图,它由两个 JTextComponents(十六进制和 ASCII)组成。我想同步两个视图之间的选择,所以我为这两个组件实现了 CaretListener。这适用于响应用户长按、拖动和释放鼠标的选择事件。当用户释放鼠标时,组件会收到 caretUpdate。
当用户按下鼠标并拖动鼠标而不释放时,组件如何接收增量 caretUpdate 事件?
java - jTextArea 在失去焦点后停止在文本上显示突出显示
当我的 jTextArea 处于焦点时,它允许突出显示文本,但是当它失去焦点时它不显示文本选择。即使用户将焦点移到相关 jFrame 上的另一个组件上,是否可以继续显示文本突出显示?
java - 带有受保护和可选择单元格的 Jtable
如何使 JTable 单元格在设置为不可编辑时可选择。当我双击它时,它没有选择单元格。同时希望它对单元格进行筛选,以便可以通过 contorl c 复制。
java - JTextComponent.print(); 打印空白
我正在寻找一种解决方案,其中文本和图像根据用户 UI 内容动态生成,然后在简单的“单击”基础上打印。
到目前为止,我的意图(从做了一点研究)是创建一个 JTextComponent,其内容将根据用户的输入(间接)生成并简单地打印 JTextComponent。这个 JTextComponent 永远不会显示在 UI 中的任何地方,只会打印出来。
到目前为止,我设置了一个临时测试;
这会正确显示打印菜单(稍后我将针对出现的菜单进行指定),但会打印一个空白页。
Q1:这是一种可行的方法吗?
Q2:谁能告诉我为什么页面打印空白?
java - 向应用程序中的所有 Swing 文本组件添加上下文菜单
Swing 文本组件没有带有剪切/复制/粘贴/等的上下文菜单。我想添加一个,让它表现得更流畅,就像一个原生应用程序。我为此编写了一个菜单,它工作正常。我使用以下方法将其添加到每个文本框中:
问题是,到处添加这个很烦人。其次,如果我忘记了某处的文本框,则应用程序不一致。第三,我不能为我不控制创建代码的文本框添加它,比如来自JOptionPane.showInputDialog
或JFileChooser
对话框的文本框。
有没有办法覆盖JTextComponent
应用程序范围的默认上下文菜单?我知道这将是一种远距离的诡异动作,但我可以接受。也欢迎对菜单本身发表评论。