なぜ0を返すのですか?私は何が間違っているのですか?
public MainFrame() {
setExtendedState(JFrame.MAXIMIZED_BOTH);
setVisible(true);
System.out.println(getWidth() + " " + getHeight());
}
なぜ0を返すのですか?私は何が間違っているのですか?
public MainFrame() {
setExtendedState(JFrame.MAXIMIZED_BOTH);
setVisible(true);
System.out.println(getWidth() + " " + getHeight());
}
0を取得した理由は、pack()、setSize(int、int)、またはsetSize(Dimension)のいずれも呼び出さなかったためです。これは、これらのメソッドの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());
}
}