我有一个带有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);
我想知道如何获得标签的大小?
答案 0 :(得分:1)
JLabel从Component继承GetSize,它应返回一个Dimension供您使用。
您可以随时调用此方法,但如果框架或面板尚未显示(即仍在构建中),则返回0,0。在getSize()
之后执行.setVisible(true)
以获得正确的值。
答案 1 :(得分:0)
username.getPreferredSize();
返回Dimension。
username.getPreferredSize().width;
username.getPreferredSize().height;
返回各个组件。