有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何修复SWT中按钮的顺序?

我有两个按钮的滚动条

如何设置按钮的顺序将在相同的原始控件中,而不是在每个控件中:按钮滚动器和按钮将在不同的行中

    fComposite= new Composite(composite, SWT.RIGHT_TO_LEFT);
    GridData layoutData= new GridData(SWT.FILL, SWT.RIGHT_TO_LEFT, true, false);
    fComposite.setLayoutData(layoutData);
    layout= new GridLayout(1, false);
    layout.marginHeight= 0;
    layout.marginWidth= 0;
    layout.horizontalSpacing= 0;
    layout.verticalSpacing= 0;

    fComposite.setLayout(layout);

    Display display = parent.getDisplay();
    Shell shell = parent.getShell(); 
    Button button = new Button(fComposite, SWT.LEFT);
    button.setText("Two"); //$NON-NLS-1$
    button.setImage(display.getSystemImage(ICON_1));    

    final Scale scale = new Scale (fComposite, SWT.BORDER);
    Rectangle clientArea = fComposite.getClientArea ();
    scale.setBounds (clientArea.x, clientArea.y, 200, 64);
    scale.setMaximum (5);
    scale.setPageIncrement (1);
    scale.setSelection(5);

    Button rButton = new Button(fComposite, SWT.RIGHT);
    rButton.setText("Two"); //$NON-NLS-1$
    rButton.setImage(display.getSystemImage(ICON_2));   

共 (1) 个答案

  1. # 1 楼答案

    你读过我在你的另一个问题中发布的关于SWT布局的文章吗

    DisplayShell是首先要创建的东西。之后,您可以将内容添加到shell

    您的问题是基于这样一个事实:您创建了一个GridLayout,其中只有一列。因此,所有小部件都位于彼此下方

    layout= new GridLayout(1, false);
    

    第一个参数是列数。对于三列,将其设置为3

    在进一步提问之前,请阅读版面文档和文章:Understanding layouts in SWT。这肯定会对你有帮助