我正在制作一个数独程序,我想更改 JFrame 的 My GridLayout 的间距。目前,有 2 个 JPanel,一个在顶部,一个在底部,间距正好是一半。但是,我希望顶部 JPanel 在 JFrame 上有更多空间。我的代码是这样的:
import java.awt.GridLayout;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
public class GuiFrame1 extends JFrame {
private static final long serialVersionUID = 1L;
private static JFrame frame;
static GridLayout gLayout2 = new GridLayout(2,1);
private GuiPanel2 panel;
private GuiPanel1 panel2;
public GuiFrame1(){
super("Sudoku");
setSize(700, 700);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(gLayout2);
panel = new GuiPanel2();
panel2 = new GuiPanel1();
setVisible(true);
add(panel);
add(panel2);
}
public static void main(String[] args) {
new GuiFrame1();
}
}
如果您需要 JPanel 类,可以安排。
最佳答案
IIRC 你不能这样做。您应该尝试通过将其放置在其他布局类型中来“模拟”这一点 - 通常(总是?)您可以通过将布局类型彼此堆叠来实现您想要的任何布局。但我很确定,网格布局本身必须在各处具有相同的尺寸。
或者,GridBagLayout可能对您有用,但没有它也可以完成。
当我遇到同样的问题时,我记得用边框和网格布局的某种组合“破解”了一个解决方案......也可能使用了其他布局。
关于java - 更改 Gridlayout Java 的间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19575163/