SWT –组示例

SWT中的Group是Composite的子类,用于提升应用视觉效果和组织结构。本文介绍了如何创建带有不同阴影样式的组窗口小部件,以及为何通常在单独的类中创建Group以提高代码的可维护性。
摘要由CSDN通过智能技术生成

什么是团体

在SWT中,Group是Composite类的子类。 组用于改善应用程序外观,并使整个应用程序看起来更有条理。 它将在所有子控件周围绘制一个矩形边框。

组窗口小部件支持五种样式(实际上没什么不同)

1)SWT.SHADOW_IN
2)SWT.SHADOW_OUT
3)SWT.SHADOW_NONE
4)SWT.SHADOW_ETCHED_IN
5)SWT.SHADOW_ETCHED_OUT

如何创建组窗口小部件?

为了使其更有条理,Group通常是在单独的类中创建的,并且必须扩展Composite类。


import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;

public class SWTGroup extends Composite
{
	public SWTGroup(Composite parent)
	{
		super(parent, SWT.NONE);
		this.setSize(300, 300);
		
		Group group = new Group(this, SWT.SHADOW_ETCHED_IN);
		group.setLocation(50, 50);
		
		group.setText("Group SHADOW_IN");
		
		Label label = new Label(group, SWT.NONE);
		label.setText("Label in Group");
		label.setLocation(20,20);
		label.pack();
		
		Button button = new Button(group, SWT.PUSH);
		button.setText("Push button in Group");
		button.setLocation(20,45);
		button.pack();
		
		group.pack();
		
	}
}

SWTGroup(Group类)不能直接执行,它需要一个应用程序来调用其构造函数。

在这里,我创建了一个Main类来调用SWTGroup并将其添加到Shell中以进行显示。


import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
 
public class SWTMain {
 
public static void main (String [] args) {
	Display display = new Display ();
	Shell shell = new Shell(display);
	shell.setText("SWT Group Example");
	
	SWTGroup swtGroup = new SWTGroup(shell);
	
	shell.pack();
	shell.open();
	
	while (!shell.isDisposed ()) {
		if (!display.readAndDispatch ()) display.sleep ();
	}
	display.dispose ();
}
}

为什么我需要创建一个单独的Group类?

将Group类包含在Main Shell显示类中没有错。 单独的小组课程将使我们的SWT应用程序更加井井有条,易于维护。

这是将所有内容一起包含在一个类中的示例,有点混乱……


import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
 
public class SWTMain {
 
public static void main (String [] args) {
	Display display = new Display ();
	Shell shell = new Shell(display);
	shell.setText("SWT Group Example");
	
	Group group = new Group(shell, SWT.SHADOW_IN);
	group.setLocation(50, 50);
	
	group.setText("Group SHADOW_IN");
	
	Label label = new Label(group, SWT.NONE);
	label.setText("Label in Group");
	label.setLocation(20,20);
	label.pack();
	
	Button button = new Button(group, SWT.PUSH);
	button.setText("Push button in Group");
	button.setLocation(20,45);
	button.pack();
	
	group.pack();
	
	shell.setSize(500,500);
	shell.open();
	
	while (!shell.isDisposed ()) {
		if (!display.readAndDispatch ()) display.sleep ();
	}
	display.dispose ();
}
}

翻译自: https://mkyong.com/swt/swt-group-example/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值