0

我有一个带有网格布局的未知维度的 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);

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

4

2 回答 2

1

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

您可以随时调用它,但如果框架或面板尚不可见(即仍在构建中),它将返回 0,0。getSize()在 any 之后执行.setVisible(true)以获得正确的值。

于 2013-11-08T15:41:27.977 回答
0
username.getPreferredSize();

返回维度。

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

返回单个组件。

于 2013-11-08T15:50:02.550 回答