`

SWT树也可以支持列 列的顺序可以随时变

阅读更多

原来程序:Snippet170

 

代码:

public class Snippet170 {
	public static void main(String[] args) {
		Display display = new Display();
		final Shell shell = new Shell(display);
		shell.setLayout(new FillLayout());
		Tree tree = new Tree(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
		tree.setHeaderVisible(true);
		TreeColumn column1 = new TreeColumn(tree, SWT.LEFT);
		column1.setText("Column 1");
		column1.setWidth(200);
		TreeColumn column2 = new TreeColumn(tree, SWT.CENTER);
		column2.setText("Column 2");
		column2.setWidth(200);
		TreeColumn column3 = new TreeColumn(tree, SWT.RIGHT);
		column3.setText("Column 3");
		column3.setWidth(200);
		for (int i = 0; i < 4; i++) {
			TreeItem item = new TreeItem(tree, SWT.NONE);
			item.setText(new String[] { "item " + i, "abc", "defghi" });
			for (int j = 0; j < 4; j++) {
				TreeItem subItem = new TreeItem(item, SWT.NONE);
				subItem.setText(new String[] { "subitem " + j, "jklmnop", "qrs" });
				for (int k = 0; k < 4; k++) {
					TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
					subsubItem.setText(new String[] { "subsubitem " + k, "tuv", "wxyz" });
				}
			}
		}
		shell.pack();
		shell.open();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
		display.dispose();
	}
}

 

 

结果:



 

 

2,变化列的顺序,0,1,2,3,4变成4,3,2,1,0.

代码:

public class Snippet193 {
	public static void main(String[] args) {
		Display display = new Display();
		Shell shell = new Shell(display);
		shell.setLayout(new RowLayout(SWT.HORIZONTAL));
		final Tree tree = new Tree(shell, SWT.BORDER | SWT.CHECK);
		tree.setLayoutData(new RowData(-1, 300));
		tree.setHeaderVisible(true);
		TreeColumn column = new TreeColumn(tree, SWT.LEFT);
		column.setText("Column 0");
		column = new TreeColumn(tree, SWT.CENTER);
		column.setText("Column 1");
		column = new TreeColumn(tree, SWT.LEFT);
		column.setText("Column 2");
		column = new TreeColumn(tree, SWT.RIGHT);
		column.setText("Column 3");
		column = new TreeColumn(tree, SWT.CENTER);
		column.setText("Column 4");
		for (int i = 0; i < 5; i++) {
			TreeItem item = new TreeItem(tree, SWT.NONE);
			String[] text = new String[]{i+":0", i+":1", i+":2", i+":3", i+":4"};
			item.setText(text);
			for (int j = 0; j < 5; j++) {
				TreeItem subItem = new TreeItem(item, SWT.NONE);
				text = new String[]{i+","+j+":0", i+","+j+":1", i+","+j+":2", i+","+j+":3", i+","+j+":4"};
				subItem.setText(text);
				for (int k = 0; k < 5; k++) {
					TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
					text = new String[]{i+","+j+","+k+":0", i+","+j+","+k+":1", i+","+j+","+k+":2", i+","+j+","+k+":3", i+","+j+","+k+":4"};
					subsubItem.setText(text);
				}
			}
		}
		Listener listener = new Listener() {
			public void handleEvent(Event e) {
				System.out.println("Move "+e.widget);
			}
		};
		TreeColumn[] columns = tree.getColumns();
		for (int i = 0; i < columns.length; i++) {
			columns[i].setWidth(100);
			columns[i].setMoveable(true);
			columns[i].addListener(SWT.Move, listener);
		}
		Button b = new Button(shell, SWT.PUSH);
		b.setText("invert column order");
		b.addListener(SWT.Selection, new Listener() {
			public void handleEvent(Event e) {
				int[] order = tree.getColumnOrder();
				for (int i = 0; i < order.length/2; i++) {
					int temp = order[i];
					order[i] = order[order.length-i-1];
					order[order.length-i-1] = temp;
				}
				tree.setColumnOrder(order);
			}
		});
		shell.pack();
		shell.open();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
		display.dispose();
	}
}

 

 



 

  • 大小: 6 KB
分享到:
评论

相关推荐

    swt-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位

    在实际开发中,开发者可以使用Eclipse IDE,因为它内置了对SWT的支持,使得创建和调试SWT应用程序变得更加容易。Eclipse插件开发也广泛依赖SWT,因为它允许开发者创建与Eclipse集成紧密的自定义视图和编辑器。 总结...

    SWT 弹出对话框 可以选择的图标种类

    SWT(Standard Widget Toolkit)是Java编程中用于创建图形用户界面(GUI)的一种库,它为开发者提供了丰富的控件和对话框。在SWT中,`MessageBox`是一个用于显示简单的消息对话框的类,通常用来向用户显示警告、确认...

    SWT Tree 完整的树例子源码

    在创建树形结构时,可以利用CSS定制节点的样式,使其更具视觉吸引力。 2. `otree.htm`: HTML文件可能包含一些辅助元素或用于呈现树结构的HTML模板。在某些情况下,可能与JavaScript交互,比如在网页中嵌入SWT Tree...

    SWT Table单元格编辑功能

    ### SWT Table单元格编辑功能详解 在Java图形用户界面(GUI)开发中,SWT...通过以上步骤,我们可以在SWT `Table`控件中实现单元格的编辑功能,使用户能够直接在界面上修改数据,提高了应用的交互性和实用性。

    swt-api swt DOC

    它还支持事件驱动编程模型,使得用户交互的处理变得简单。SWT相对于Java的另一GUI框架AWT(Abstract Window Toolkit)和Swing,其优势在于更接近底层操作系统,从而可以实现更快的运行速度和更好的平台一致性。 ...

    SWT插件中文教程SWT常用方法

    7. **Table**:表格控件,可以展示多列数据,支持排序和选择。 8. **MenuItem** 和 **Menu**:菜单项和菜单,用于构建应用程序的菜单栏。 此外,SWT还提供了事件处理机制,如监听器接口,如ControlListener、...

    SWT源码 swt.jar

    SWT(Standard Widget Toolkit)是Eclipse项目的一个重要组成部分,它提供了一套用于构建图形用户界面(GUI)的API,与Java Swing...深入研究SWT源码不仅可以提升开发者的技能,也有可能帮助他们解决实际项目中的难题。

    swt高级密笈源码swt

    SWT(Standard Widget Toolkit)是Eclipse开源组织提供的一款用于创建Java图形用户界面(GUI)的库,它为开发者提供了丰富的控件和功能,使得在Java中开发美观且高效的桌面应用变得可能。"SWT高级密笈源码"很可能是...

    Swt的API使用说明

    Swt API也支持打印功能,`Printer`和`PrintDialog`类可以用来创建和配置打印任务。 **10. 定时器和计时器** `TimerTask`和`Display.timerExec()`方法可以用于实现定时执行的任务,这对于实现动画效果或者定期检查...

    swt教程 有关SWT怎么应用

    此外,SWT还支持事件处理,通过实现监听器接口,可以对用户交互做出响应。 SWT Designer是一个可视化的工具,可以帮助开发者更直观地设计和构建SWT界面,它简化了UI设计过程,使得开发者无需手动编写大量布局和组件...

    SWT扩展

    `Image`类则用于加载和显示图像,可以支持各种常见的图片格式。这些特性使得SWT可以用于创建图表、绘图工具等视觉效果丰富的应用程序。 **4. 文件对话框与拖放操作** SWT提供了内置的文件选择对话框,如`...

    swt入门学习资料

    此外,SWT 也提供了丰富的组件集合,包括按钮、文本框、表格、树形视图等,满足各种用户界面的需求。 在编程时,Display 是 SWT 应用程序的入口点,它负责事件循环和线程间的通信。Shell 是 SWT 界面中的窗口对象,...

    SWT的官方压缩包

    使用SWT和JFace开发时,可以创建各种丰富的用户界面,如按钮、文本框、表格、树形视图等,并且它们支持事件监听,能够响应用户的操作。同时,由于SWT直接与操作系统底层交互,因此生成的GUI性能通常优于使用Java AWT...

    Advanced SWT

    表格在SWT中是一个非常强大的组件,它能够展示大量数据,并支持多种交互方式。下面详细介绍如何在SWT中创建和配置表格。 ##### 创建表格 创建表格的基本代码如下所示: ```java Table table1 = new Table(shell, ...

    Java SWT API参考(chm)

    5. **表和树(Tables and Trees)**:Table和Tree控件允许展示和操作结构化数据,它们支持多列、排序、选择和自定义绘制等功能。 6. **图像处理(Image Handling)**:SWT提供了加载和显示图像的能力,包括位图...

    swt工具文档 swt工具文档

    SWT提供了丰富的控件集合,包括按钮、文本框、列表、树视图等,以及对操作系统资源的直接访问,如剪贴板和打印服务。 **SWT的基本概念** 1. **Widget**: SWT中的基本构建块是Widget,它代表GUI中的一个元素,如...

    Eclipse SWT 开发参考

    - **跨平台支持**:虽然SWT具有本地化的外观,但它仍然支持跨平台运行。 - **组件丰富**:相较于AWT和Swing,SWT提供了更多的UI组件,并且这些组件在不同的平台上表现更加一致。 #### 2. SWT的体系介绍 SWT的设计...

    swt 监控代码资料

    2. SWT组件:SWT包含一系列的控件,如按钮(Button)、文本框(Text)、标签(Label)、表格(Table)、树(Tree)等,这些组件可以用来构建复杂的用户界面。每个组件都有自己的方法和事件处理机制,可以通过监听器...

    SWT配置 SWT配置 SWT配置 SWT配置 SWT配置

    ### SWT配置详解 #### 一、SWT简介与配置的重要性 SWT(Standard Widget Toolkit)是一种用于构建基于Java的应用程序的...通过以上步骤,开发者可以顺利完成SWT配置,从而在Java环境中高效地构建图形用户界面应用。

    swt布局.doc

    SWT布局是开发Java应用程序时使用SWT(Standard Widget Toolkit)框架进行用户界面设计的关键部分。布局管理器决定了窗口组件(如按钮、文本框等)在容器(如Composite)内的排列方式和尺寸。本文将详细介绍SWT布局...

Global site tag (gtag.js) - Google Analytics