我想知道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/