演示代码如下:
复制代码代码如下:
包 swt_jface.demo9;
导入 org.eclipse.swt.SWT;
导入 org.eclipse.swt.widgets.Display;
导入 org.eclipse.swt.widgets.Event;
导入 org.eclipse.swt.widgets.Listener;
导入 org.eclipse.swt.widgets.Sash;
导入 org.eclipse.swt.widgets.Shell;
公共类SashExample {
公共静态无效主(字符串[] args){
显示显示 = new Display();
Shell shell = new Shell(显示);
最终窗扇窗扇=新窗扇(shell, SWT.BORDER | SWT.VERTICAL);
sash.setBounds(10, 10, 15, 60);
sash.addListener(SWT.Selection, new Listener() {
公共无效handleEvent(事件e){
System.out.println("已选择。");
sash.setBounds(ex, ey, e.width, e.height);
}
});
shell.open();
窗扇.setFocus();
while (!shell.isDispose()) {
if (!display.readAndDispatch())
显示.睡眠();
}
显示.dispose();
}
}
包 swt_jface.demo9;
导入 org.eclipse.swt.SWT;
导入 org.eclipse.swt.widgets.Display;
导入 org.eclipse.swt.widgets.Event;
导入 org.eclipse.swt.widgets.Listener;
导入 org.eclipse.swt.widgets.Sash;
导入 org.eclipse.swt.widgets.Shell;
公共类SashExample {
公共静态无效主(字符串[] args){
显示显示 = new Display();
Shell shell = new Shell(显示);
最终窗扇窗扇=新窗扇(shell, SWT.BORDER | SWT.VERTICAL);
sash.setBounds(10, 10, 15, 60);
sash.addListener(SWT.Selection, new Listener() {
公共无效handleEvent(事件e){
System.out.println("已选择。");
sash.setBounds(ex, ey, e.width, e.height);
}
});
shell.open();
窗扇.setFocus();
while (!shell.isDispose()) {
if (!display.readAndDispatch())
显示.睡眠();
}
显示.dispose();
}
}
再来一个例子:
复制代码代码如下:
包 swt_jface.demo9;
导入 org.eclipse.swt.SWT;
导入 org.eclipse.swt.custom.SashForm;
导入 org.eclipse.swt.events.ControlEvent;
导入 org.eclipse.swt.events.ControlListener;
导入 org.eclipse.swt.events.MouseEvent;
导入 org.eclipse.swt.events.MouseListener;
导入 org.eclipse.swt.layout.FillLayout;
导入 org.eclipse.swt.widgets.Display;
导入 org.eclipse.swt.widgets.Label;
导入 org.eclipse.swt.widgets.Shell;
导入 org.eclipse.swt.widgets.Text;
公共类 SashFormExample {
显示显示 = new Display();
Shell shell = new Shell(显示);
窗扇窗体;
窗扇Form2;
公共 SashFormExample() {
shell.setLayout(new FillLayout());
sashForm = new SashForm(shell, SWT.HORIZONTAL);
文本text1 = new Text(sashForm, SWT.CENTER);
text1.setText("窗格 #1 中的文本");
文本text2 = new Text(sashForm, SWT.CENTER);
text2.setText("窗格 #2 中的文本");
sashForm2 = new SashForm(sashForm, SWT.VERTICAL);
最终标签 labelA = 新标签(sashForm2, SWT.BORDER | SWT.CENTER);
labelA.setText("窗格 A 中的标签");
最终标签 labelB = 新标签(sashForm2, SWT.BORDER |SWT.CENTER);
labelB.setText("窗格 B 中的标签");
text1.addControlListener(new ControlListener() {
公共无效controlMoved(ControlEvent e){
}
公共无效controlResized(ControlEvent e){
System.out.println("调整大小");
//ArrayUtil.printArray(sashForm.getWeights(), System.out);
}
});
sashForm.setWeights(new int[]{1, 2, 3});
labelA.addMouseListener(new MouseListener() {
公共无效mouseDoubleClick(MouseEvent e){
if(sashForm2.getMaximizedControl() == labelA)
sashForm2.setMaximizedControl(null);
别的
sashForm2.setMaximizedControl(labelA);
}
公共无效mouseDown(MouseEvent e){
}
公共无效mouseUp(MouseEvent e){
}
});
shell.setSize(450, 200);
shell.open();
while (!shell.isDispose()) {
if (!display.readAndDispatch()) {
显示.睡眠();
}
}
显示.dispose();
}
公共静态无效主(字符串[] args){
新的 SashFormExample();
}
}