⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snippet274.java

📁 Eclipse JAVA开发软件中SWT各控件范例源码
💻 JAVA
字号:
/******************************************************************************* * Copyright (c) 2000, 2007 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: *     IBM Corporation - initial API and implementation *******************************************************************************/package org.eclipse.swt.snippets;/* * Tree snippet: implement standard tree check box behavior (SWT.CHECK) *  * For a list of all SWT example snippets see * http://www.eclipse.org/swt/snippets/ *  * @since 3.3 */import org.eclipse.swt.*;import org.eclipse.swt.widgets.*;public class Snippet274 {		static void checkPath(TreeItem item, boolean checked, boolean grayed) {	    if (item == null) return;	    if (grayed) {	        checked = true;	    } else {	        int index = 0;	        TreeItem[] items = item.getItems();	        while (index < items.length) {	            TreeItem child = items[index];	            if (child.getGrayed() || checked != child.getChecked()) {	                checked = grayed = true;	                break;	            }	            index++;	        }	    }	    item.setChecked(checked);	    item.setGrayed(grayed);	    checkPath(item.getParentItem(), checked, grayed);	}	static void checkItems(TreeItem item, boolean checked) {	    item.setGrayed(false);	    item.setChecked(checked);	    TreeItem[] items = item.getItems();	    for (int i = 0; i < items.length; i++) {	        checkItems(items[i], checked);	    }	}	public static void main(String[] args) {	    Display display = new Display();	    Shell shell = new Shell(display);	    Tree tree = new Tree(shell, SWT.BORDER | SWT.CHECK);	    tree.addListener(SWT.Selection, new Listener() {	        public void handleEvent(Event event) {	            if (event.detail == SWT.CHECK) {	                TreeItem item = (TreeItem) event.item;	                boolean checked = item.getChecked();	                checkItems(item, checked);	                checkPath(item.getParentItem(), checked, false);	            }	        }	    });	    for (int i = 0; i < 4; i++) {	        TreeItem itemI = new TreeItem(tree, SWT.NONE);	        itemI.setText("Item " + i);	        for (int j = 0; j < 4; j++) {	            TreeItem itemJ = new TreeItem(itemI, SWT.NONE);	            itemJ.setText("Item " + i + " " + j);	            for (int k = 0; k < 4; k++) {	                TreeItem itemK = new TreeItem(itemJ, SWT.NONE);	                itemK.setText("Item " + i + " " + j + " " + k);	            }	        }	    }	    tree.setSize(200, 200);	    shell.pack();	    shell.open();	    while (!shell.isDisposed()) {	        if (!display.readAndDispatch()) display.sleep();	    }	    display.dispose();	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -