SWTの位置付け – setBounds()またはsetLocation()
SWTのGUIプログラミングについて学ぶとき、我々はいつもテキストフィールド、ラベル、ボタン、および他のウィジェットをどのように配置するかを理解したい。 SWTでは、
setLocation()
または
setLocation()
メソッドを使用して、ウィジェットまたはコンポーネントのサイズと位置を指定できます。
SWTが測位に使用する2つの方法は次のとおりです。
setLocation(int x、int y)** – ウィジェットの位置を設定します。setLocation(int x、int y、int width、int height)
位置は、次の画像のように左上隅から始まります://wp-content/uploads/2008/12/swt-position-1.jpg[image、title = “swt-position-1”]
setBounds()の例
位置x = 100、y = 50、width = 300、height = 30にラベルを作成する
import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; public class SWTPosition { public static void main (String[]args) { Display display = new Display (); Shell shell = new Shell(display); Label positiongLabel = new Label(shell, SWT.BORDER); positiongLabel.setBounds(100,50,300,30); positiongLabel.setText("My Position is : " + positiongLabel.getBounds()); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } }
setLocation()の例
位置x = 100、y = 50、width = 300、height = 30にラベルを作成する
import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; public class SWTPosition { public static void main (String[]args) { Display display = new Display (); Shell shell = new Shell(display); Label positiongLabel = new Label(shell, SWT.BORDER); positiongLabel.setSize(300,30); positiongLabel.setLocation(100, 50); positiongLabel.setText("My Position is : " + positiongLabel.getLocation()); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } }
setBounds()とsetLocation()の違いは何ですか?
上の例のように、setBounds()メソッドとsetLocation()メソッドにはあまり違いがないことに気付くかもしれません。どちらもウィジェットの位置を指定できるので、なぜSWTがそれを複製するのですか?私はそれについては分かりませんが、setLocation()はウィジェットのサイズを指定するためにsetSize()メソッドをもう1つ指定する必要があります。これは私が知っている唯一の違いです。