演示程式碼如下:
複製程式碼如下:
包 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();
}
}