1

これは非常に単純なはずですが、SWTを使用するのはこれが初めてです。これは私がこれまでに持っているものです。

public class TabsTest {

private Shell shell;
private CTabFolder folder;

public TabsTest(Display display){

    shell = new Shell(display);
    shell.setText("TabsTest");
    shell.setLayout(new FillLayout());

    CTabFolder folder = new CTabFolder(shell, SWT.CLOSE | SWT.BOTTOM);
    folder.setUnselectedCloseVisible(false);
    folder.setSimple(false);

    initUI(folder);

    shell.pack();
    shell.setBounds(500, 500, 400, 500);
    shell.open ();

    while(!shell.isDisposed()){
        if(!display.readAndDispatch())
            display.sleep();
    }   
}

public void initUI(CTabFolder folder){
    CTabItem NFL = new CTabItem(folder, SWT.NONE);
    NFL.setText("NFL Bets");

    Button okButton = new Button(folder, SWT.PUSH);
    okButton.setText("OK");
    okButton.setSize(10,10);

    NFL.setControl(okButton);

    CTabItem NBA = new CTabItem(folder,SWT.NONE);
    NBA.setText("NBA Bets");

    CTabItem CFB = new CTabItem(folder,SWT.NONE);
    CFB.setText("CFB Bets");        

    folder.setSize(800,500);

}

public static void main (String [] args) {
    Display display = new Display();
    new TabsTest(display);
    display.dispose();
}

}

これが現在私に与えているのはこれです...

写真

これを右下隅の小さなボタンにするにはどうすればよいですか?または、一般的に、小さくしてどこかに移動します。

4

1 に答える 1

3

コントロールを使用しているためFillLayout、使用可能なスペース全体を占有します。必要なのは、別の種類のレイアウトです。この記事を読むことをお勧めします、それは良いスタートになります。

GridLayout非常に使いやすく、ほとんどのニーズを満たすので、私は一般的に好みます。

編集済み:使用するコードを変更するGridLayout

public class TabsTest {

    private Shell shell;
    private CTabFolder folder;

    public TabsTest(Display display) {
        shell = new Shell(display);
        shell.setText("TabsTest");
        shell.setLayout(new GridLayout());

        CTabFolder folder = new CTabFolder(shell, SWT.CLOSE | SWT.BOTTOM);
        folder.setUnselectedCloseVisible(false);
        folder.setSimple(false);
        folder.setLayoutData(new GridData(GridData.FILL_BOTH));

        initUI(folder);

        shell.pack();
        shell.setBounds(500, 500, 400, 500);
        shell.open();

        while (!shell.isDisposed()) {
            if (!display.readAndDispatch())
                display.sleep();
        }
    }

    public void initUI(CTabFolder folder) {
        CTabItem NFL = new CTabItem(folder, SWT.NONE);
        NFL.setText("NFL Bets");

        Composite nflParent = new Composite(folder, SWT.NONE);
        nflParent.setBackground(folder.getDisplay().getSystemColor(SWT.COLOR_BLUE));
        nflParent.setLayout(new GridLayout());

        Button okButton = new Button(nflParent, SWT.PUSH);
        okButton.setText("OK");

        GridData gd = new GridData();
        gd.verticalAlignment = GridData.END;
        gd.horizontalAlignment = GridData.END;
        gd.grabExcessHorizontalSpace = true;
        gd.grabExcessVerticalSpace = true;
        okButton.setLayoutData(gd);

        NFL.setControl(nflParent);

        CTabItem NBA = new CTabItem(folder, SWT.NONE);
        NBA.setText("NBA Bets");

        CTabItem CFB = new CTabItem(folder, SWT.NONE);
        CFB.setText("CFB Bets");

        folder.setSize(800, 500);
    }

    public static void main(String[] args) {
        Display display = new Display();
        new TabsTest(display);
        display.dispose();
    }
}
于 2012-12-21T23:47:43.193 に答える