【发布时间】:2014-12-26 10:47:53
【问题描述】:
我是 SWT 的新手,想制作一个包含两个垂直组合的应用程序(或类似的想法)。 底部的组合包含一个简单的表格。现在我需要一个完整表格的可变高度——用户应该使用鼠标来确定高度——就像可以调整日食视图的大小一样。顶部的合成应该调整空间。
SWT 可以实现这样的想法吗?如果是的话,我会感谢每一个建议。
【问题讨论】:
我是 SWT 的新手,想制作一个包含两个垂直组合的应用程序(或类似的想法)。 底部的组合包含一个简单的表格。现在我需要一个完整表格的可变高度——用户应该使用鼠标来确定高度——就像可以调整日食视图的大小一样。顶部的合成应该调整空间。
SWT 可以实现这样的想法吗?如果是的话,我会感谢每一个建议。
【问题讨论】:
您可以为此使用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();
}
【讨论】: