演示代码如下:
复代码代码如下:
패키지 swt_jface.demo9;
org.eclipse.swt.SWT 가져오기;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
org.eclipse.swt.widgets.Sash 가져오기;
org.eclipse.swt.widgets.Shell 가져오기;
공개 클래스 SashExample {
공개 정적 무효 메인(String[] args) {
디스플레이 디스플레이 = new Display();
쉘 shell = new Shell(display);
final Sash sash = new Sash(shell, SWT.BORDER | SWT.VERTICAL);
sash.setBounds(10, 10, 15, 60);
sash.addListener(SWT.Selection, new Listener() {
공공 무효 핸들 이벤트(이벤트 e) {
System.out.println("선택되었습니다. ");
sash.setBounds(ex, ey, e.width, e.height);
}
});
shell.open();
sash.setFocus();
동안 (!shell.isDisposed()) {
if (!display.readAndDispatch())
디스플레이.수면();
}
디스플레이.dispose();
}
}
패키지 swt_jface.demo9;
org.eclipse.swt.SWT 가져오기;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
org.eclipse.swt.widgets.Sash 가져오기;
org.eclipse.swt.widgets.Shell 가져오기;
공개 클래스 SashExample {
공개 정적 무효 메인(String[] args) {
디스플레이 디스플레이 = new Display();
쉘 shell = new Shell(display);
final Sash sash = new Sash(shell, SWT.BORDER | SWT.VERTICAL);
sash.setBounds(10, 10, 15, 60);
sash.addListener(SWT.Selection, new Listener() {
공공 무효 핸들 이벤트(이벤트 e) {
System.out.println("선택되었습니다. ");
sash.setBounds(ex, ey, e.width, e.height);
}
});
shell.open();
sash.setFocus();
동안 (!shell.isDisposed()) {
if (!display.readAndDispatch())
디스플레이.수면();
}
디스플레이.dispose();
}
}
再来一个例子:
复代码代码如下:
패키지 swt_jface.demo9;
org.eclipse.swt.SWT 가져오기;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.events.ControlListener;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
org.eclipse.swt.layout.FillLayout 가져오기;
import org.eclipse.swt.widgets.Display;
org.eclipse.swt.widgets.Label 가져오기;
org.eclipse.swt.widgets.Shell 가져오기;
org.eclipse.swt.widgets.Text를 가져옵니다.
공개 클래스 SashFormExample {
디스플레이 디스플레이 = new Display();
쉘 shell = new Shell(display);
SashForm sashForm;
SashForm sashForm2;
공개 SashFormExample() {
shell.setLayout(new FillLayout());
sashForm = new SashForm(shell, SWT.HORIZONTAL);
텍스트 text1 = new Text(sashForm, SWT.CENTER);
text1.setText("창 #1의 텍스트");
Text text2 = new Text(sashForm, SWT.CENTER);
text2.setText("창 #2의 텍스트");
sashForm2 = new SashForm(sashForm, SWT.VERTICAL);
final Label labelA = new Label(sashForm2, SWT.BORDER | SWT.CENTER);
labelA.setText("창 A의 레이블");
final Label labelB = new Label(sashForm2, SWT.BORDER |SWT.CENTER);
labelB.setText("창 B의 레이블");
text1.addControlListener(새 ControlListener() {
공개 무효 controlMoved(ControlEvent e) {
}
공공 무효 controlResize(ControlEvent e) {
System.out.println("크기 조정");
//ArrayUtil.printArray(sashForm.getWeights(), System.out);
}
});
sashForm.setWeights(new int[]{1, 2, 3});
labelA.addMouseListener(새 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();
동안 (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
디스플레이.수면();
}
}
디스플레이.dispose();
}
공개 정적 무효 메인(String[] args) {
새로운 SashFormExample();
}
}