SWT:使用MouseListener调整表格(高度)

时间:2014-10-30 11:51:39

标签: java resize swt

我是SWT的新手,想要用两个垂直复合材料制作一个应用程序(或者像这样的一些想法)。 在buttom的复合材料caintains一个简单的表。现在我需要一个可变高度的整个表 - 用户应该通过使用鼠标确定高度 - 就像它可以调整日食视图的大小一样。顶部的复合材料应调整空间。

SWT可能会有这样的想法吗?如果是的话,我会感谢每一个建议。

1 个答案:

答案 0 :(得分:2)

您可以使用SashForm。它的用户可以调整大小。

Here就是一个例子。

public static void main(String[] args)
{
    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setText("StackOverflow");
    shell.setLayout(new FillLayout());

    final SashForm sashForm = new SashForm(shell, SWT.HORIZONTAL);

    Text text1 = new Text(sashForm, SWT.CENTER);
    text1.setText("Text in pane #1");
    Text text2 = new Text(sashForm, SWT.CENTER);
    text2.setText("Text in pane #2");

    final SashForm sashForm2 = new SashForm(sashForm, SWT.VERTICAL);

    final Label labelA = new Label(sashForm2, SWT.BORDER | SWT.CENTER);
    labelA.setText("Label in pane A");
    final Label labelB = new Label(sashForm2, SWT.BORDER | SWT.CENTER);
    labelB.setText("Label in pane B");

    sashForm.setWeights(new int[] { 1, 2, 3 });

    new Label(shell, SWT.NONE).setText("Label");

    shell.pack();
    shell.setSize(400, 300);
    shell.open();

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