4

Java SE に基づく SWT/Jface プロジェクトに取り組んでいます。TitleAreaDialog の画像を左に移動したいと考えています。出来ますか ?そうでない場合は、とにかくありますか?

ありがとう、

4

2 に答える 2

2

API を使用して構成する方法はありません。レイアウトはハードコーディングされています。TitleAreaDialog1 つの方法は、ダイアログ コントロールをハックしてレイアウト データを変更することですが、(例として使用して) 独自のクラスを実装する方が簡単な場合があります。

サブクラス化する場合は、メソッドTitleAreaDialogをオーバーライドする必要があります。それ以外の場合、は を呼び出して独自のタイトル領域を作成します。最初はコードをコピーして、別の方法で行う必要があるものを置き換えることをお勧めします。実際にすべてを行わないと、何をする必要があるのか​​ 正確にはわかりません。createContents(Composite)TitleAreaDialogcreateTitleArea()TitleAreaDialog.createContents()

于 2012-09-21T10:44:23.913 に答える
0

イメージ ラベルのレイアウト データは、次のように変更できます。

    TitleAreaDialog tad = new TitleAreaDialog(getShell()) {

        @Override
        protected Control createContents(Composite parent) {
            Control control = super.createContents(parent);
            Label label = getTitleImageLabel();
            FormData data = (FormData) label.getLayoutData();
            data.left = new FormAttachment(0, 0);
            data.right = null;
            return control;
        }

    };
    tad.setTitle("title");
    tad.setTitleImage(Activator.imageDescriptorFromPlugin(
            Activator.PLUGIN_ID, "image.gif").createImage());
    tad.open();
于 2012-09-21T10:57:17.870 に答える