如何从gridlayout中了解组件的大小?

时间:2013-11-08 15:33:18

标签: java swing user-interface

我有一个带有gridlayout的未知Dimension的jpanel,我想知道如何从其上的组件获取大小信息。

这是一个例子:

    JPanel basicInformation=new JPanel();
    basicInformation.setMaximumSize(100,100);
    basicInformation.setPreferredSize(basicInformation.getMaximumSize());
    basicInformation.setSize(basicInformation.getMaximumSize());
    basicInformation.setMinimumSize(basicInformation.getMaximumSize());
    basicInformation.setLayout(new GridLayout(2, 2, 10, 10));

    JLabel username=new JLabel("Example");
    username.setHorizontalAlignment(JLabel.CENTER);
    username.setOpaque(true);
    basicInformation.add(username);

我想知道如何获得标签的大小?

2 个答案:

答案 0 :(得分:1)

JLabel从Component继承GetSize,它应返回一个Dimension供您使用。

您可以随时调用此方法,但如果框架或面板尚未显示(即仍在构建中),则返回0,0。在getSize()之后执行.setVisible(true)以获得正确的值。

答案 1 :(得分:0)

username.getPreferredSize();

返回Dimension。

username.getPreferredSize().width; 
username.getPreferredSize().height;

返回各个组件。