问题标签 [swingutilities]

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.

0 投票
1 回答
158 浏览

java - 找到真正字体边界的最佳方法

我正在寻找一种方法来查找渲染文本的边界并遇到了 FontMetrics getStringBounds 方法。这似乎忽略了某些字体的下降并且具有夸张的上升,因此它返回一个不允许我正确垂直对齐的边界。我挖得更深一点,发现 GlyphVector.getPixelBounds() 似乎可以做我想做的事,但我不知道使用它是否会出现一些问题。

我写了一个小程序 http://breadmilkbeer香烟.com/bmbc/shelves/users/bbb/src/java/applet / glyphvector.html显示两者之间的差异,而且对于我的系统字体来说,它似乎返回了正确的边界。有谁知道这是否是一种昂贵的方法,或者使用它是否还有其他可能的陷阱?FontMetrics 似乎从来没有对我正常工作。或者也许我对它的期望是错位的。

谢谢,BBB

0 投票
1 回答
232 浏览

java - java - 无法将invokeAndWait中的值分配给全局字符串变量

我正在开发一个使用 java-simple-serial-connector API 读取和写入串行端口的应用程序。当我尝试读取数据字节并将它们分配给全局字符串变量 (sReader) 时,我遇到了问题。sReader 不会获取整个字符串,并且每次的长度都是随机的。我确信我收到了所有字节,因为当我将字符串 sBuffer 附加到输出 (Output.append) 时,始终会显示整个字符串。请看下面我的示例代码:

0 投票
1 回答
692 浏览

java - java - 在将任何值分配给字符串之前调用字符串返回方法

我的应用程序应该读取和写入串行端口。数据在 PortReader 类的 EventListener 中读取。我希望将此数据分配给全局字符串变量(私有字符串 sPortReaderString)以供进一步使用。全局字符串变量应该使用名为 getPortReader() 的方法返回其值,该方法只返回字符串 sPortReaderString。在应用程序的 JFrame 中,我打开串行端口连接,发送一个命令,我会自动收到来自串行设备的回复,并在标签中显示该回复输出。问题是标签总是空白的,因为从 getPortReader() 返回的 sPortReaderString 没有分配给它。我非常确定 sPortReaderString 在 EvenListener 中被分配了一个值。问题似乎是在任何值有足够的时间分配给 sPortReaderString 之前调用 JFrame 中的方法 getPortReader()。请看一下我的 otuput 和下面的代码:

以下是我得到的输出:

JFrame 中 portsMethod 的简短示例:

以下是我的 Serial Port 类的示例:

0 投票
4 回答
85438 浏览

java - Java/Swing:从 JPanel 中获取 Window/JFrame

如何获取 JPanel 所在的 JFrame?

我目前的解决方案是向面板询问它的父级(等等),直到我找到一个窗口:

有没有更优雅的方法,标准库中的方法可能是?

0 投票
1 回答
5263 浏览

java - 在运行时更改字体

请有另一种方法如何在运行时更改字体,如使用 FontUIResource,对于整个 AWT/Swing GUI,没有任何关于是否存在局部变量和 JComponents 类型的知识/兴趣

在此处输入图像描述在此处输入图像描述

.

编辑:我发布了 Nimbus 的叙述,然后是 Nimbus 的代码

0 投票
3 回答
2592 浏览

java - EventQueue.invokeLater vrs SwingUtilities.invokeLater

有人可以强调这两者之间的差异以及两者都是必需的实例吗?!

我有一个应用程序可以同时使用两者,但想知道一个是否比另一个更好。显然他们都接受Runnable object,所以对我来说 - 我想我可以使用我喜欢的那个。

为什么这两个相似的函数在不同的类中?我知道一个是awt,另一个是Swing,但他们不做同样的事情吗?

0 投票
2 回答
110 浏览

java - 滚动到网页的另一部分

我正在渲染一个网页并尝试滚动到其中的某个位置。但是,滚动不起作用。

这是我的代码...

有人可以帮我理解为什么滚动不起作用。

0 投票
1 回答
1731 浏览

java - SwingUtilities.invokeLater 未按预期工作

我正在开发一个用 Java 编写的并发画布,这将使用户认为他们正在并行绘制画布。

为了实现用户感知的并行性,我让他们创建这些 Runnable 对象,我继续使用 SwingUtilities.invokeLater() 将这些对象放入 EventQueue。

为了测试它,我使用几个线程模拟了用户,并在每次调用 invokeLater() 之间添加了一点延迟(大约 50 毫秒),以便查看它是否真的看起来像并行发生的绘图。

问题是,虽然它可以很好地处理 invokeLater() 调用之间增加的延迟,但消除延迟会导致有时正确绘制绘图,有时会部分绘制并消失,而在其他时间则不绘制。

我很困惑可能出了什么问题,所以如果有人有任何想法,请告诉我。

以下是注释掉延迟的代码:

干杯

编辑:这是所要求的 DrawLineTask 的代码。它非常简单,因为它只是 Runnable 类的扩展,它使用标准 Java 函数在给定参数处绘制一条线。

0 投票
2 回答
2092 浏览

java - SwingUtilities invokeLater GUI update with JList

再会,

我已经阅读了其他一些堆栈溢出帖子和其他教程,但是在按钮开始一个漫长的过程后,我无法让我的 GUI 正确更新。我附上了我遇到的问题的完整代码。请注意,如果您运行代码,JList 会在最后一次全部更新,而不是 for 循环的每次迭代。

任何帮助将不胜感激。

0 投票
4 回答
161 浏览

java - system.out.println 必须在 edt 上吗?

我正在运行一些在 swingworker 中打印输出的代码。我没有得到打印输出,所以我使用SwingUtilities.invokeLater了,现在它可以工作了。没想到是这样的结果,怎么会这样?我原以为System.out.println可以在 EDT 之外运行。