SWT(JFace)体验之Sash(活动控件)
SWT(JFace)体验之Sash(活动控件)
发布时间:2016-12-28 来源:查字典编辑
摘要:演示代码如下:复制代码代码如下:packageswt_jface.demo9;importorg.eclipse.swt.SWT;impor...

演示代码如下:

复制代码 代码如下:

package swt_jface.demo9;

import org.eclipse.swt.SWT;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Event;

import org.eclipse.swt.widgets.Listener;

import org.eclipse.swt.widgets.Sash;

import org.eclipse.swt.widgets.Shell;

public class SashExample {

public static void main(String[] args) {

Display display = new Display();

Shell 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() {

public void handleEvent(Event e) {

System.out.println("Selected. ");

sash.setBounds(e.x, e.y, e.width, e.height);

}

});

shell.open();

sash.setFocus();

while (!shell.isDisposed()) {

if (!display.readAndDispatch())

display.sleep();

}

display.dispose();

}

}

package swt_jface.demo9;

import org.eclipse.swt.SWT;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Event;

import org.eclipse.swt.widgets.Listener;

import org.eclipse.swt.widgets.Sash;

import org.eclipse.swt.widgets.Shell;

public class SashExample {

public static void main(String[] args) {

Display display = new Display();

Shell 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() {

public void handleEvent(Event e) {

System.out.println("Selected. ");

sash.setBounds(e.x, e.y, e.width, e.height);

}

});

shell.open();

sash.setFocus();

while (!shell.isDisposed()) {

if (!display.readAndDispatch())

display.sleep();

}

display.dispose();

}

}

再来一个例子:

复制代码 代码如下:

package swt_jface.demo9;

import 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;

import org.eclipse.swt.layout.FillLayout;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Label;

import org.eclipse.swt.widgets.Shell;

import org.eclipse.swt.widgets.Text;

public class SashFormExample {

Display display = new Display();

Shell shell = new Shell(display);

SashForm sashForm;

SashForm sashForm2;

public SashFormExample() {

shell.setLayout(new FillLayout());

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");

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");

text1.addControlListener(new ControlListener() {

public void controlMoved(ControlEvent e) {

}

public void controlResized(ControlEvent e) {

System.out.println("Resized");

//ArrayUtil.printArray(sashForm.getWeights(), System.out);

}

});

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

labelA.addMouseListener(new MouseListener() {

public void mouseDoubleClick(MouseEvent e) {

if(sashForm2.getMaximizedControl() == labelA)

sashForm2.setMaximizedControl(null);

else

sashForm2.setMaximizedControl(labelA);

}

public void mouseDown(MouseEvent e) {

}

public void mouseUp(MouseEvent e) {

}

});

shell.setSize(450, 200);

shell.open();

while (!shell.isDisposed()) {

if (!display.readAndDispatch()) {

display.sleep();

}

}

display.dispose();

}

public static void main(String[] args) {

new SashFormExample();

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Java学习
热门Java学习
编程开发子分类