java - 将非字符串变量显示到 JLabel

标签 java swing jlabel

我想知道JLabel是否真的无法在String和Icon旁边显示值。例如用于显示时钟变量..

Clock clock = Clock.systemDefaultZone();

JLabel setText() 方法如下..

label.setText(clock);

我知道 setText() 方法仅适用于字符串参数。但由于时钟变量无法转换为字符串,我真的不知道如何在标签上显示它。或者我应该使用什么代替 JLabel 来显示时钟变量。

我尝试了label.setText(Clock.valueOf(clock));,直到后来我意识到这只适用于原始数据(或者不适用于?)。这一刻我真的陷入了困境。

最佳答案

我假设您正在使用java.time.Clock。您可以通过执行 clock.instant().toString() 将当前时间转换为 ISO-8601 字符串。

因此,您可以使用以下方法将时钟放入标签中:

label.setText(clock.instant().toString());

如果您希望标签显示时钟更新,您可能需要使用类似 Timer 的内容。每秒重置标签文本。

如果您不希望使用 this 的 ISO-8601,则可以更改格式。设置您自己的格式。

关于java - 将非字符串变量显示到 JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37042113/

相关文章:

java - Jersey 2 - 获取客户端上的基本 URI

java - JLabel 背景图片...奇怪的行为?

java - 无法在具有背景图像的 JLabel 上显示文本

java - Jetty,强制 Web 应用程序使用与服务器 lib/jndi 中包含的 javax.mail 不同的 javax.mail

java - Spring 数据 - JPA,缺少 ID

java - 比较 String 对象的更快方法

java - java中的滚动超链接

java - 如何在循环中添加带有背景图像的 JLabel

java - 按 T​​ab 键到垂直轴组件中的下一个 Java

java - 为什么在通过列表模型更新内容后有时会得到空白的 JList?