Просто играйте с Swing и задаетесь вопросом, почему следующий код создает макет, который, кажется, имеет три столбца, когда GridLayout определяется как 10 строк и 10 столбцов?Java - Необычное поведение GridLayout
Может ли кто-нибудь объяснить это необычное поведение, и что из этого кода вызывает это?
public class MyGrid {
public static void main (String[] args) {
JFrame frame = new JFrame();
Container container = frame.getContentPane();
container.setLayout(new GridLayout(10,10));
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i>=j) {
container.add(new JButton("X"));
} else {
container.add(new JLabel("Y"));
}
}
}
frame.setSize(500,500);
frame.setVisible(true);
}
}
1) Конструкция/обновление GUI должно выполняться на EDT. BNI. 2) Этот код задает предпочтительный размер контейнера, который должен сделать квадрат кнопки/метки. –