[英]How to fix size error of Java Swing JFrame
我正在練習 Swing 布局。 我求 JFrame 的實際大小與 size Dimension 不匹配
import java.awt.*;
import javax.swing.*;
public class GridRanFruit {
public GridRanFruit() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(600, 600));
frame.setLayout(null);
JPanel primary = new JPanel();
primary.setBounds(new Rectangle(0, 0, 600, 600));
primary.setLayout(new GridLayout(4, 4));
JPanel panels[][] = new JPanel[4][4];
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
JPanel panel = new JPanel();
panel.setBackground(Color.gray);
primary.add(panel);
panels[i][j] = panel;
}
}
int ranSeed = (int) (Math.random() * 16);
panels[ranSeed/4][ranSeed%4].setBackground(Color.green);
frame.getContentPane().add(primary);
frame.pack();
frame.setVisible(true);
}
}
您可以從下面的圖片中找到小錯誤。 怎么解決呢? 我正在使用setPerferredSize
方法。 這意味着JFrame
尺寸與JPanel
不匹配,盡管尺寸相同
嘗試將設置大小的行替換為
frame.setSize(600,600);
就像其中一位評論者所說,setPreferredSize() 用於內容窗格(框架內可以放置東西的空間)而不是框架本身(窗口的邊框)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.