如何在Swing中使用GridLayout?

时间:2019-04-04 17:52:08

标签: java swing user-interface layout-manager grid-layout

我尝试使用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个元素,但这会显示空白屏幕。

1 个答案:

答案 0 :(得分: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);