- - PR -
SWT.JFaceを使用したダイアログボックスの自作について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-07-13 11:33
只今SWT,JFaceを使ったGUIの開発しているのですが、
ひとつ解決できない問題があるので質問させて頂きます。 どのような問題かといいますと、jface.Dialogクラスを継承しカスタムダイアログを作成し、 createDialogAreaメソッドをオーバーライドして様々なコンポーネントを配置しているのですが、 各コンポーネントのサイズの設定を反映してくれないという状態です。 テキストフィールドの場合は、実行すると半角英数1文字程のサイズしかありません。 又、テキストフィールドにデフォルトで文字を設定すると、その文字数分のサイズは確保されます。 レイアウトはFormLayoutを使用し、コンポーネントの位置は問題なく配置されるのですが、 Text txt = new .....; txt.setSize(80,20); txt.setBounds(....); 等色々試行錯誤はしてみたのですが、反映されませんでした。 以下、見づらくて申し訳ないですがソースの一部です。 どなたか問題点等分かりましたら御指摘お願いいたします。 public AddDialog(Shell parent) { super(parent); } protected Point getInitialSize() { return new Point(340, 175); } protected void configureShell(Shell newShell) { super.configureShell(newShell); newShell.setText("xxxxx"); } protected Control createDialogArea(Composite parent) { FormLayout layout = new FormLayout(); layout.marginHeight = 8; layout.marginWidth = 10; Composite composite =(composite)super.createDialogArea(parent); composite.setLayout(layout); txt1 = new Text(composite,SWT.BORDER|SWT.SINGLE); FormData txt1xy = new FormData(); txt1xy.left = new FormAttachment(34); txt1xy.top = new FormAttachment(32); txt1.setLayoutData(txt1xy); txt1.setSize(80,20); [ メッセージ編集済み 編集者: tk 編集日時 2005-07-14 14:47 ] [ メッセージ編集済み 編集者: tk 編集日時 2005-07-14 14:48 ] |
1