为什么它会返回0?我做错了什么?
public MainFrame() {
setExtendedState(JFrame.MAXIMIZED_BOTH);
setVisible(true);
System.out.println(getWidth() + " " + getHeight());
}
答案 0 :(得分:2)
你得到0的原因是因为你没有调用pack(),setSize(int,int)或setSize(Dimension)中的任何一个。只有在调用其中一种方法时才会计算帧的布局。
答案 1 :(得分: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());
}
}