package swt;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.layout.RowData;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Layout;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class SwtWidgets_02 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Display display= new Display();
Shell topShell= new Shell(display,SWT.SHELL_TRIM|SWT.BORDER);
topShell.setText( "swt控件展示" );
topShell.setLayout( new FillLayout());
ScrolledComposite sc= new
ScrolledComposite(topShell, SWT.H_SCROLL|SWT.V_SCROLL|SWT.BORDER);
// sc.setExpandHorizontal(true);
// sc.setExpandVertical(true);
// sc.setMinHeight(0);
// sc.setMinWidth(0);
//相当于上面的两个
// sc.setMinSize(new Point(800, 500));
Composite composite= new Composite(sc, SWT.BORDER);
GridLayout layout= new GridLayout();
layout.numColumns= 1 ;
composite.setLayout(layout);
Label label= new Label(composite, SWT.BORDER);
label.setText( "图片展示" );
Label label2= new Label(composite, SWT.CENTER);
Image image= new Image(display, "zhu.png" );
//显示不完了,先注释掉
label2.setImage(image);
Label label3= new Label(composite, SWT.LEFT);
label3.setText( "普通按钮" );
//push为普通按钮
Button button= new Button(composite, SWT.PUSH);
button.setText( "一个按钮" );
//单选按钮
Label label4= new Label(composite, SWT.HORIZONTAL|SWT.SEPARATOR);
Group group1= new Group(composite, SWT.SHADOW_ETCHED_OUT);
//组不设置布局不显示。充满式布局
FillLayout fillLayout= new FillLayout(SWT.HORIZONTAL);
//各元素之间的像素
fillLayout.spacing= 20 ;
//里边的元素距离该容器的上边
fillLayout.marginHeight= 50 ;
fillLayout.marginWidth= 100 ;
group1.setLayout(fillLayout);
group1.setText( "单选按钮组" );
Button btn1= new Button(group1, SWT.RADIO|SWT.LEFT);
btn1.setText( "生" );
Button btn2= new Button(group1, SWT.RADIO|SWT.LEFT);
btn2.setText( "死" );
Button btn3= new Button(group1, SWT.RADIO|SWT.LEFT);
btn3.setText( "去死" );
//复选
Label label6= new Label(composite, SWT.HORIZONTAL|SWT.SEPARATOR);
Group group2= new Group(composite, SWT.SHADOW_ETCHED_OUT);
//行布局对应rowdata,gridlayout对应griddata
RowLayout rowLayout= new RowLayout();
rowLayout.pack= true ; //子控件大小不变
rowLayout.wrap= true ; //子控件可换行
rowLayout.marginTop= 50 ;
rowLayout.justify= true ; //根据父组件调整子组件
group2.setLayout(rowLayout);
group2.setText( "复选按钮组" );
Button btn4= new Button(group2, SWT.CHECK|SWT.LEFT);
btn4.setSelection( true );
System.out.println(btn4.getSelection());
btn4.setText( "足球" );
btn4.setLayoutData( new RowData( 100 , 100 ));
Button btn5= new Button(group2, SWT.CHECK|SWT.LEFT);
btn5.setText( "蓝球" );
System.out.println(btn5.getSelection());
Button btn6= new Button(group2, SWT.CHECK|SWT.LEFT);
btn6.setText( "红球" );
//箭头
Label label8= new Label(composite, SWT.HORIZONTAL|SWT.SEPARATOR);
Label label9= new Label(composite, SWT.LEFT);
label9.setText( "箭头按钮" );
Button btn7= new Button(composite, SWT.ARROW|SWT.UP);
Button btn8= new Button(composite, SWT.ARROW|SWT.DOWN);
Button btn9= new Button( composite,SWT.ARROW|SWT.LEFT);
Button btn10= new Button(composite, SWT.ARROW|SWT.RIGHT);
//既有图片又有文字的标签
CLabel cLabel= new CLabel(composite, SWT.RIGHT);
cLabel.setText( "提示内容" );
cLabel.setImage(display.getSystemImage(SWT.ICON_INFORMATION));
//compoist是表格布局
composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
sc.setContent(composite);
topShell.open();
while (!topShell.isDisposed()){
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
|