我遇到这样一种情况,用户输入一个字符串,我的代码为其创建一个 Jlabel 并尝试将其置于全屏 JFrame/Pane 的中心。我的问题是,为了能够准确地将它居中,我需要知道它的尺寸。
我需要一种方法来确定 JLabel 应该有多长(宽),以便它容纳字符串的长度,仅此而已。我尝试使用组件具有的 preferredSize() 方法,但它看起来很糟糕(我传递了一个空值让我的 UI 确定 preferredSize)。我知道如何计算出有效的高度(fontSize + 10px 的大小通常很好)但我无法获得宽度。
我正在使用绝对定位(没有 LayoutManager)。
谢谢
最佳答案
我相信实际宽度来自 getPreferredSize().getWidth()
如果您没有事先设置它。尝试输出首选大小而不将其设置为空。在使用 MigLayout 居中组件时,我通常使用 pref!
使所有尺寸的组件尽可能小并避免换行,然后将其居中在宽敞的父容器中。
关于java - 如何让 JLabel 准确预测它应该有多宽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6266011/