问题标签 [swingx]
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 - Veil LoadingImage 或 LoadingPanel over JFrame
Swing(X) 中是否有任何组件,我们可以通过它在面板或框架上放置一个面纱加载图像,使其在一些冗长的背景处理期间透明?
java - 当我切换标签时,JXMultiSplitPane 会发疯
我正在使用JXMultiSplitPane
(来自 SwingX 1.6.2)来实现三窗格水平界面。在中心窗格中是一个JTabbedPane
带有两个选项卡的选项卡:一个带有一个JTextArea
(JScrollPane
当然是在 a 中)用于输入 Markdown 代码,另一个是一个JEditorPane
(再次在滚动窗格中)用于显示呈现的 HTML 预览。当用户切换到预览窗格时,编辑器中的文本会被处理并显示在预览窗格中。
我的问题是,如果我在编辑器中输入长行文本,然后切换到预览,中心窗格将展开。有时它只是一点点,有时它会占用比屏幕上实际更多的空间。但是,如果我手动移动其中一个调整大小手柄,一切都会恢复原状。
在它发生之前,我发现只有两种方法可以解决这个问题:
- 在输入任何文本之前手动调整其中一个窗格的大小。
- 在 MultiSplitLayout 模型中,将中心窗格的权重设为 1。
我不能使用第二个,因为默认情况下它会扩展中心窗格以占据几乎整个窗口。
有没有办法来解决这个问题?
更新
经过更多测试,即使技术(2)也不能保持大小不变;在两个选项卡之间切换会稍微改变中心窗格的大小。
我现在认为问题部分出在选项卡式窗格中。和JTextArea
没有JEditorPane
相同的大小,并且JTabbedPane
当我在它们之间切换时正在调整大小(因为我JEditorPane
每次都在重置文本。这不是问题,除非它JXMultiSplitPane
会自动调整中心窗格的大小,直到用户强制通过手动调整特定大小。
所以我应该能够通过固定大小来解决这个问题JTabbedPane
,但仍然可以通过把手调整大小。有什么建议吗?
java - 将 JXTable 与 MatchingTextHighlighter 一起使用时突出显示错误
基本问题:
在更改 TableColumn 的宽度时,该方法 SwingUtilities.layoutCompoundLabel(..)
将参数Rectangle textR
设置为旧值(或“之前的值”)。
我怎样才能获得当前(实际)矩形值?
一些背景信息和错误修正:
我使用 SwingLabs-Demos 中的MatchingTextHighlighter.java(示例是 SearchDemo.java)
仅在 JXTable 单元格中标记找到的字符是一个非常好的开始。但是如果我将单元格内容的对齐方式从更改为LEFT
:
或者
如果突出显示字符,则会出现三个错误:
情况:JLabel 的文本完全可见。
问题:列越宽(使用列标题调整大小),荧光笔越向右漂移(远离匹配的字符)。情况: JLabel 的文本部分可见(用省略号绘制...),但突出显示的字符串完全可见。
问题:在调整列宽时,荧光笔位置从一个像素到一个字符是错误的。情况:JLabel 的文本和突出显示的字符串部分可见(荧光笔应该在省略号上)
问题:省略号上的荧光笔在调整列宽时宽度错误(从无像素到正确宽度)。
这是在左对齐列中也可见的唯一错误(荧光笔始终具有正确的宽度,但有时会跳到右侧)。
第一个错误可以通过注释掉textR.x
2 行来修复(从 MatchingTextHighlighter.java 中的第 327 行开始):
出现了两个较小的问题:
一个是如果匹配区域从第一个标签字符开始,则荧光笔开始向左多一个像素。如果使用列标题调整列的宽度,则第二个是在中心对齐的列中突出显示一个像素的跳跃。
两者(加上 RightToLeft-Error)都可以通过这些更改来修复(从 MatchingTextHighlighter.java 中的第 397 行开始):
第三个错误可以通过(更改 XMatchingTextHighlighter.java 中的第 48 行)部分修复:
现在荧光笔总是从省略号的第一个像素开始,修复!:-)
但是在调整列大小时宽度会不断变化,错误!:-(
在调试了MatchingTextHighlighter.java 中的第二个和(剩下的一半)第三个错误之后,我认为对实用程序方法的调用
将参数textR
设置为旧值。在调整列大小时,文本矩形的计算宽度似乎是“一个事件落后”。正因为如此,荧光笔的位置是错误的。
有没有人有办法解决这个问题?
感谢您阅读所有这些...
swing - SwingX 和 JToggleButton
在我的应用程序中,我使用 SwingX 库中的 JXButton,我真的很喜欢painter 方法。现在我必须将我的简单按钮更改为切换按钮,并为未选择/选择状态使用不同的画家。不幸的是,我找不到 JXToggleButton。有没有办法保持画家方法的好处?
java - JXDatePicker 和 selectAll()
我想要一个监听器,它在获得焦点时自动选择 JXDatePickers 编辑器单元格上的条目。
不工作。所以我尝试了这个:
有什么建议么 ?
java - 将 JXTable 与 RXTable 相结合
问题
我希望 JXTable 的功能具有RXTable的“编辑时全选”行为。做一个简单的覆盖就可以了,但是 RXTable 的双击功能不适用于 JXTable。使用按钮操作模式时很好,但是当使用 F2 或双击 JXTable 中的某些内容时,会与 RXTable 发生冲突并删除选择,所以我留下了默认行为。是因为它在内部使用的 GenericEditor 还是其他原因?
如何让 JXTable 在 F2 上全选或双击编辑?
编辑:看起来这只发生在模型具有为整数类型定义的列时。当它为 String 或 Object 列定义时,它按预期工作。
解决方案
感谢 kleopatra 的修复,我能够更改 selectAll 方法,以便它处理 JFormattedTextFields 和所有编辑情况。由于原始代码适用于要编辑的类型,因此我只是将修复程序用于其他情况。这就是我最终得到的。
将 RXTable 中的 selectAll 替换为以下内容:
java - JTreeTable 显示问题
我有以下问题。我创建了一个 JTreeTable 和一个扩展 AbstractTreeTableModel 的模型。问题是我的数据只有在每次插入操作后调用 fireTreeStructureChanged() 方法时才会显示。事实上,如果我简单地触发方法 fireTreeNodesInserted(),什么也不会发生。
此外,我的行中的数据仅在添加/删除事件后更新,如果它们简单地更改其值,它们仅在单击表格后更新。
这怎么可能?
编辑
当我调用 fireTreeStructureChanged() 时,它调用方法 fireTableDataChanged(); 而是 fireTreeNodesInserted(int firstRow, int lastRow) 调用 fireTableRowsInserted(); 但也许我传递给它不正确的参数...我必须传递的第一行和最后一行?
java - 如何调用 Java GUI 的即时更新?(与 Thread.sleep() 冲突)
我正在制作游戏记忆,当你选择两张牌时,如果它们匹配,你就可以保留它们,否则你把它们转回来。如果你然后记住你已经选择的牌,你可以更好地猜测接下来的两张牌。
我遇到的问题涉及repaint()
不立即重绘的方法。
当我翻转第二张牌时,无论结果如何,我都希望将两张牌正面朝上翻转,然后再丢弃它们或将它们翻转回来。我通过调用来做到这一点sleep()
。
当然,如果我repaint()
将卡片正面朝上翻转,稍等片刻,然后repaint()
再次根据它们的值,有用的小 Java 只会重新绘制一次(我想念 C!)。
基本上我想在 I 之前强制调用更新sleep()
。我读过一些其他线程,基本上说最好的方法是创建两个线程来保持你的逻辑和图形分开,然后你可以sleep()
你的逻辑并保持你的 GUI 更新,但我在第一年 CS 课程的第一学期在高中的时候,我想把它保持在课程的水平上(尽管我在暑假期间花了很多时间在 C 中开发和编码)。
因为我知道 StackOverflow 上乐于助人的人喜欢阅读代码,所以这是我在下面提到的程序的一部分。该类HitArea
是 Card 对象,该cards[]
数组包含一定数量的HitArea
's。(我还没有重命名HitArea
该类)。activeCard1
并且activeCard2
是HitArea
我用来跟踪用户的两个选择的实例,并且空白构造函数是保留的 "invisible" HitArea
,尽管稍后我会将其更改为 null 。最后,cards.flip()
反转一个toggle
布尔值,确定卡片是否正面朝上。
我毫不怀疑我的代码中存在一些问题,因此请随时指出它们。我认为我的基本结构还可以,我宁愿不为这个项目创建多个线程(记住,它是基本的!)。
java - Java JXTreeTable 制表符支持
JXTreeTable 是否支持制表符(\t)或制表键?当我输入一些像“我的名字”这样的输入时,我和名字之间的空格不是通过空格键而是使用键盘上的 Tab 键。现在,当我在 JXTreeTable 中看到这个输入时,我只能看到 MyName。如果没有制表符空间,任何人都可以对此有任何意见吗?
java - 使用 invokeLater 或 invokeAndWait 等待来自另一个 GUI 的响应
此方法应该将两个条目的定义合并为一个词汇表中的单个条目。它创建 GlossaryEntryMergeUI 类(JFrame 的扩展)的实例,引导用户完成合并过程。用户单击按钮提交,窗口关闭。merge 方法提取合并的定义并返回合并的词汇表条目。
使合并方法等待 MergeUI 响应的最佳方法是什么?我尝试使用 InvokeAndWait,但我不知道如何使它工作。