Содержание
Когда мы начинаем узнавать о программировании SWT GUI, мы всегда хотим выяснить, как мы позиционируем текстовое поле, метку, кнопку и другой виджет. В SWT мы можем использовать метод setLocation () или setLocation (), чтобы указать размер и положение виджета или компонента.
Вот два метода, которые SWT использует для позиционирования.
1) setBounds (int x, int y, int witdh, int height) — устанавливает размер и расположение виджета
2) setLocation (int x, int y) — устанавливает местоположение виджета
Позиция начинается с верхнего левого угла, как показано ниже 
пример setBounds ()
Создайте метку в позиции x = 100, y = 50, ширина = 300, высота = 30
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
открытый класс SWTPosition {
public static void main (String [] args) {
Дисплей дисплей = новый дисплей ();
Shell shell = новая оболочка (дисплей);
Label positiongLabel = новая метка (shell, SWT.BORDER);
positiongLabel.setBounds (100,50,300,30);
positiongLabel.setText («Моя позиция:» + positiongLabel.getBounds ());
shell.open ();
while (! shell.isDisposed ()) {
if (! display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
}
}
пример setLocation ()
Создайте метку в позиции x = 100, y = 50, ширина = 300, высота = 30
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
открытый класс SWTPosition {
public static void main (String [] args) {
Дисплей дисплей = новый дисплей ();
Shell shell = новая оболочка (дисплей);
Label positiongLabel = новая метка (shell, SWT.BORDER);
positiongLabel.setSize (300,30);
positiongLabel.setLocation (100, 50);
positiongLabel.setText («Моя позиция:» + positiongLabel.getLocation ());
shell.open ();
while (! shell.isDisposed ()) {
if (! display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
}
}
В чем разница между setBounds () и setLocation ()?
Как пример выше, вы можете заметить, что между setBounds () и методом setLocation () мало что отличается. Поскольку оба также могут указывать позицию виджета, почему SWT делает его дублированным? Я понятия не имею об этом, однако setLocation () нужно указать еще один метод setSize (), чтобы указать размер виджета. Это единственное, что я знаю.
0.00 (0%) 0 votes







