获取默认JLabel维度的正确方法是什么?

时间:2014-04-09 15:45:33

标签: java swing

为了解决我目前正在处理的问题,我需要找出JLabel的默认高度。我正在使用虚拟方法:

JLabel label = new JLabel();
Dimension dim = label.getPreferredSize();

有没有办法在没有实例化JLabel的情况下获取默认高度?

1 个答案:

答案 0 :(得分:3)

  

我需要找出JLabel的默认高度。我在用   虚拟方法:

JLabel label = new JLabel();
Dimension dim = label.getPreferredSize();
  • 是可能的,但您必须接受这是由LayoutManager完成的,那么有两个选项

    1. Swing / AWT GUi已在屏幕上显示

    2. 在调用JFrame.pack()之后

  • (我不建议,只是为了写一个完整的答案)可以通过使用/ invoke来获取大多数JComponents的getPreferredSize

    1. 使用Insets

    2. 的NullLayout
    3. 在已经可见的Swing / AWT GUI中重新验证()和重绘()

  

有没有办法在没有实例化JLabel的情况下获取默认高度?

  • 没有通过setSize,setPreferredSize,setBounds只通过覆盖getPreferredSize进行incorectly安置