如何在Swing中使用GridLayout?

问题描述 投票:0回答:1

我尝试使用Swing制作GUI。但是当我尝试使用GridLayout时,每个元素突然消失,我不知道为什么。有人可以解释和/或提供解决方案吗?

我试过看它的教程,但它没有多大帮助。我试了一下但仍然没有工作。 :(

JPanel pan1 = new JPanel();
JPanel pan2 = new JPanel();
JPanel pan3 = new JPanel();
JPanel pan4 = new JPanel();
JPanel pan5 = new JPanel();
add(pan1);
add(pan2);
add(pan3);
add(pan4);
add(pan5);
pan1.setLayout(new GridLayout(0, 1));
pan2.setLayout(new GridLayout(1, 1));
pan3.setLayout(new GridLayout(2, 1));
pan4.setLayout(new GridLayout(3, 1));
pan5.setLayout(new GridLayout(4, 1));

我希望每0-4列有1个元素,但它会显示一个空白屏幕。

java swing user-interface layout-manager grid-layout
1个回答
3
投票

我希望每0-4列有1个元素,但它会显示一个空白屏幕。

不。您有5个面板,每个面板都有一个网格布局。

pan1.setLayout(new GridLayout(0, 1)); //pan1 gets a new GridLayout
pan2.setLayout(new GridLayout(1, 1)); //pan2 gets a new GridLayout
pan3.setLayout(new GridLayout(2, 1)); //...
pan4.setLayout(new GridLayout(3, 1));
pan5.setLayout(new GridLayout(4, 1));

你需要:

setLayout(new GirdLayout(1,5);  //1 Row 5 Columns
add(pan1);
add(pan2);
add(pan3);
add(pan4);
add(pan5);
© www.soinside.com 2019 - 2024. All rights reserved.