-5

为什么返回0?我究竟做错了什么?

public MainFrame() {
        setExtendedState(JFrame.MAXIMIZED_BOTH);
        setVisible(true);
        System.out.println(getWidth() + " " + getHeight());
}
4

2 回答 2

2

你得到 0 的原因是你没有调用任何 pack()、setSize(int, int) 或 setSize(Dimension)。只有在调用其中一种方法时才会计算框架的布局。

于 2013-02-06T23:04:22.640 回答
1

以下代码片段可以帮助您。我什至不确定你在做什么。

import javax.swing.*;
import java.awt.*;

public class TestFrameSize {

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//        frame.setSize(new Dimension(450, 400));
        frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
//        frame.setLayout(new BorderLayout());

        JLabel question = new JLabel("But that's whole code... Those 3 lines are whole code ");
        question.setHorizontalAlignment(JLabel.CENTER);
        frame.add(question);
        frame.setVisible(true);

        System.out.println(frame.getWidth() + " : " + frame.getHeight());
    }
}
于 2013-02-06T23:19:00.460 回答