Używam układu siatki w powłoce. Chcę kontrolować lokalizację widżetów. Jak widać, dolne przyciski muszą znajdować się w rzędzie 4. Używam wtyczki windowbuilder i mogę umieścić je w pożądanych miejscach.Jak ustawić wiersze i kolumny widgetu w układzie siatki?
Problemem jest to, że nie można zobaczyć instrukcje umieszczania w kodzie źródłowym. Jak mogę je ustawić programowo? Oto generator kodu źródłowego generujący okno.
package dgsj.Chapter04.examples.ch4;
import org.eclipse.swt.widgets.*;
public class GridLayout2x2 {
private static GridData data_1;
private static GridData data_2;
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setMinimumSize(new Point(123, 30));
shell.setSize(126, 123);
GridLayout layout = new GridLayout();
layout.numColumns = 3;
shell.setLayout(layout);
GridData data = new GridData(GridData.FILL_BOTH);
data.grabExcessHorizontalSpace = false;
data.widthHint = 200;
data.grabExcessVerticalSpace = false;
Button one = new Button(shell, SWT.PUSH);
one.setText("one");
one.setLayoutData(data);
data = new GridData(GridData.FILL_BOTH);
Button two = new Button(shell, SWT.PUSH);
two.setText("two");
two.setLayoutData(data);
new Label(shell, SWT.NONE);
new Label(shell, SWT.NONE);
data_2 = new GridData(GridData.FILL_BOTH);
Button four = new Button(shell, SWT.PUSH);
four.setText("four");
four.setLayoutData(data_2);
new Label(shell, SWT.NONE);
new Label(shell, SWT.NONE);
new Label(shell, SWT.NONE);
new Label(shell, SWT.NONE);
new Label(shell, SWT.NONE);
Button btnNewButton = new Button(shell, SWT.NONE);
btnNewButton.setText("New Button");
data_1 = new GridData(GridData.FILL_BOTH);
data_1.grabExcessVerticalSpace = false;
data_1.grabExcessHorizontalSpace = false;
Button three = new Button(shell, SWT.PUSH);
three.setText("three");
three.setLayoutData(data_1);
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
są takie puste „komórki” tej siatki rzekomej do domu żadnych innych informacji? –
W niektórych widokach są one całkowicie puste, a ich jedynym celem jest dostosowanie układu. W niektórych innych widokach znajduje się etykieta sprawdzania poprawności, która staje się widoczna, aby pokazać jakiś błąd. –