Как я могу использовать GridLayout в Swing? - PullRequest
0 голосов
/ 04 апреля 2019

Я пытался создать графический интерфейс с Swing.Но когда я рассказываю об использовании 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));

Я ожидал иметь 1 элемент в каждых 0-4 столбцах, но он показывает мне пустой экран.

1 Ответ

3 голосов
/ 04 апреля 2019

Я ожидал иметь 1 элемент в каждых 0-4 столбцах, но он показывает мне пустой экран.

Нет. У вас есть 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);
...