Swing - dynamiczne dodawanie kontrolek na siatce ("kolumnowo")

0

Cześć,

W jaki sposób mogę uzyskać efekt rozmieszczenia jak ten z załącznika. Kontrolki są generowane dynamicznie. GridLayout dodaje wierszami, a ja potrzebuje dodawanie kolumnami.

0

GridLayout Chociażby tak.

0
Koziołek napisał(a)

GridLayout Chociażby tak.

Tzn? W ten sposób przyciski dodawane są w następujący sposób:

12
34

a ja chcę otrzymać:

13
23

0

Zajrzyj do dokumentacji klasy GridLayout. Trzeba użyć metody setComponentOrientation(...) na panelu, oknie, ... w którym układasz elementy.

0
bo napisał(a)

Zajrzyj do dokumentacji klasy GridLayout. Trzeba użyć metody setComponentOrientation(...) na panelu, oknie, ... w którym układasz elementy.

ComponentOrientation.LEFT_TO_RIGHT

12
34

ComponentOrientation.RIGHT_TO_LEFT

21
43

To nie to co chce otrzymać.

13
24

0
private final int ILE_WIERSZY=3;
...
GridLayout layout=new GridLayout(1,1);
JPanel panel=new JPanel();
panel.setLayout(new GridLayout(ILE_WIERSZY,1));
setLayout(layout);
for(int i=1;i<=ILE_WIERSZY;i++)
{
    panel.add(new JButton(""+i));
}
add(panel);
layout.setColumns(2);
panel=new JPanel();
panel.setLayout(new GridLayout(ILE_WIERSZY,1));
for(int i=ILE_WIERSZY+1;i<=2*ILE_WIERSZY;i++)
{
    panel.add(new JButton(""+i));
}
add(panel);
0
bo napisał(a)
private final int ILE_WIERSZY=3;
...
GridLayout layout=new GridLayout(1,1);
JPanel panel=new JPanel();
panel.setLayout(new GridLayout(ILE_WIERSZY,1));
setLayout(layout);
for(int i=1;i<=ILE_WIERSZY;i++)
{
    panel.add(new JButton(""+i));
}
add(panel);
layout.setColumns(2);
panel=new JPanel();
panel.setLayout(new GridLayout(ILE_WIERSZY,1));
for(int i=ILE_WIERSZY+1;i<=2*ILE_WIERSZY;i++)
{
    panel.add(new JButton(""+i));
}
add(panel);

W tym kodzie wykorzystujesz 2 kontenery. Czyli nie można zrobić tego na jednym panelu?

0

Przy użyciu GridLayout chyba nie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1