Po ustawieniu GridLayout na JPanel, a następnie dodaniu czegoś, dodaje się go później w "kolejności tekstu" (od lewej do prawej, od góry do dołu). Ale chcę dodać element do konkretnej komórki (w i-tym wierszu w j-tej kolumnie). Czy to możliwe?Czy mogę dodać komponent do konkretnej komórki siatki, gdy używany jest GridLayout?
Odpowiedz
Nie, nie można dodawać komponentów do konkretnej komórki. Możesz dodać puste obiekty JPanel i trzymać się odniesień do nich w tablicy, a następnie dodawać do nich komponenty w dowolnej kolejności.
Coś jak:
int i = 3;
int j = 4;
JPanel[][] panelHolder = new JPanel[i][j];
setLayout(new GridLayout(i,j));
for(int m = 0; m < i; m++) {
for(int n = 0; n < j; n++) {
panelHolder[m][n] = new JPanel();
add(panelHolder[m][n]);
}
}
Później można dodać bezpośrednio do jednego z obiektów JPanel:
panelHolder[2][3].add(new JButton("Foo"));
Tak
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2,2,1,1));
JButton component= new JButton("Component");
panel.add(component, 0,0);
Utwórz panel i ustawić jej układ.
nowe GridLayout (numberOfRows, numberOfColums, HorizontalGap, VerticleGap)
(nowa GridLayout (2,2,1,1)) => tutaj chcę 2 rzędy, 2 kolumny,
- jeśli w ogóle poziome luki (HGap), powinny być 1px (1jednostka)
- Też chcę to samo dla pionowych szczelin, więc robię to samo co pionowe luki (VGap). tj. 1 jednostka
- W tym przypadku; luki => odstępy/marginesy/dopełnienie - w tym sensie.
Tworzenie składniki i dodać je do centrali
- (składnik, 0,0) => 0,0 jest rzędu i kolumny .. (jak 2d tablicy).
należy określić, gdzie podziała się dany komponent, umieszczając wiersz i kolumnę w miejscu, w którym powinien się znaleźć.
każda komórka ma == lokalizacji [wiersz] [kolumny]
Albo można to zrobić bez hgaps i vgaps:
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2,2));
JButton component= new JButton("Component");
panel.add(component, 0,0);
- 1. Jak wymienić zawartość komórki siatki w SWT GridLayout?
- 2. Jak używać MouseListener do znalezienia konkretnej komórki w siatce
- 3. C# - Co to jest komponent i jak jest zwykle używany?
- 4. Hiperłącze programu Excel do konkretnej komórki
- 5. Czy mogę połączyć SWT GridLayout i FillLayout
- 6. Ustawianie kursora myszy dla konkretnej komórki JTable
- 7. Jak mogę dynamicznie dodać obiekt RowDefinition do siatki w ItemPanelTemplate?
- 8. Wyłączanie konkretnej edycji komórki w Slick grid
- 9. Konwerter WPF na kolumnę siatki i długość wiersza działa tylko wtedy, gdy nie jest używany filtr siatki.
- 10. Jak dodać numery wierszy do siatki ExtJS?
- 11. Jak dodać JComboBox do komórki JTable?
- 12. Jak dodać kolumnę checkbox do siatki Kendo
- 13. kątowa UI siatki, dodając przycisk do komórki wiersza poprzez szablonów
- 14. algorytm używany do zwrócenia konkretnej szereg węzłów skierowanego wykresie
- 15. Jak dodać puste wiersze do siatki ExtJS?
- 16. Przejdź do konkretnej komórki po wprowadzeniu danych do innej komórki i naciśnij Enter Enter Options
- 17. Czy mogę przesłać komponent widoku MVC6?
- 18. Czy mogę zapobiec blokowaniu pliku tekstowego przez StreamReader, gdy jest on używany?
- 19. jak dodać kolumnę checkbox do siatki Extjs
- 20. Komórki siatki zawijające słowa w Ext JS
- 21. Java Swing GridLayout "Cell span"?
- 22. Czy static_cast jest niewłaściwie używany?
- 23. Jak dodać podpowiedź do komórki w jtable?
- 24. Użyj GridLayout w Scrolled Composite
- 25. GridLayout vs TableLayout
- 26. jak dodać podtekst do komórki tabeli?
- 27. Jak dodać gesty przesuwania do komórki UITableView?
- 28. Czy jest możliwe ustawienie textLabel komórki niestandardowej?
- 29. Ustawianie ostrości lektora dla konkretnej komórki tabeli w uitableview (UIAccessibility)
- 30. Jak dodawać elementy na liście, gdy jest używany Arrays.asList()
Lub, jeśli nie są związane z 'GridLayout', można użyć [ 'GridBagLayout'] (http://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html) – bluefoot