亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tabletree.java

?? 源碼為Eclipse開源開發平臺桌面開發工具SWT的源代碼,
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
	palette = new PaletteData(new RGB[]{foreground.getRGB(), background.getRGB(), plusMinus.getRGB()});	imageData = new ImageData(itemHeight, itemHeight, 4, palette);	imageData.transparentPixel = 1;	minusImage = new Image(getDisplay(), imageData);	gc = new GC(minusImage);	gc.setBackground(background);	gc.fillRectangle(0, 0, itemHeight, itemHeight);	gc.setForeground(plusMinus);	gc.drawRectangle(indent, indent, size, size);	gc.setForeground(foreground);	gc.drawLine(indent + 2, midpoint, indent + size - 2, midpoint);	gc.dispose();}Image getPlusImage() {	if (plusImage == null) createImages();	return plusImage;}Image getMinusImage() {	if (minusImage == null) createImages();	return minusImage;}/** * Gets the index of an item. *  * <p>The widget is searched starting at 0 until an * item is found that is equal to the search item. * If no item is found, -1 is returned.  Indexing * is zero based.  This index is relative to the parent only. * * @param item the search item * @return the index of the item or -1 */public int indexOf (TableTreeItem item) {	//checkWidget();	for (int i = 0; i < items.length; i++) {		if (item == items[i]) return i;	}	return -1;}void onDispose(Event e) {	/*	 * Usually when an item is disposed, destroyItem will change the size of the items array	 * and dispose of the underlying table items.	 * Since the whole table tree is being disposed, this is not necessary.  For speed	 * the inDispose flag is used to skip over this part of the item dispose.	 */	inDispose = true;	for (int i = 0; i < items.length; i++) {		items[i].dispose();	}	inDispose = false;	if (plusImage != null) plusImage.dispose();	if (minusImage != null) minusImage.dispose();	if (sizeImage != null) sizeImage.dispose();	plusImage = minusImage = sizeImage = null;}void onResize(Event e) {	Point size = getSize();	table.setBounds(0, 0, size.x, size.y);}void onSelection(Event e) {	Event event = new Event();	TableItem tableItem = (TableItem)e.item;	TableTreeItem item = getItem(tableItem);    event.item = item;	if (e.type == SWT.Selection && e.detail == SWT.CHECK && item != null) {		event.detail = SWT.CHECK;		item.checked = tableItem.getChecked();	}	notifyListeners(e.type, event);}/** * Returns the item at the given point in the receiver * or null if no such item exists. The point is in the * coordinate system of the receiver. * * @param point the point used to locate the item * @return the item at the given point * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the point is null</li> * </ul> * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> */public TableTreeItem getItem(Point point) {	checkWidget();	TableItem item = table.getItem(point);	if (item == null) return null;	return getItem(item);	}TableTreeItem getItem(TableItem tableItem) {	if (tableItem == null) return null;	for (int i = 0; i < items.length; i++) {	    	TableTreeItem item = items[i].getItem(tableItem);	    	if (item != null) return item;	}	return null;}void onFocusIn (Event e) {	table.setFocus();}void onKeyDown (Event e) {	TableTreeItem[] selection = getSelection();	if (selection.length == 0) return;	TableTreeItem item = selection[0];	int type = 0;	if (e.keyCode == SWT.ARROW_RIGHT || e.keyCode == SWT.ARROW_LEFT) {		int trailKey = (getStyle() & SWT.MIRRORED) != 0 ? SWT.ARROW_LEFT : SWT.ARROW_RIGHT;		if (e.keyCode == trailKey) {			if (item.getItemCount() == 0) return;			if (item.getExpanded()) {				TableTreeItem newSelection = item.getItems()[0];				table.setSelection(new TableItem[]{newSelection.tableItem});				showItem(newSelection);				type = SWT.Selection;			} else {				item.setExpanded(true);				type = SWT.Expand;			}		} else {			if (item.getExpanded()) {				item.setExpanded(false);				type = SWT.Collapse;			} else {				TableTreeItem parent = item.getParentItem();				if (parent != null) {					int index = parent.indexOf(item);					if (index != 0) return;					table.setSelection(new TableItem[]{parent.tableItem});					type = SWT.Selection;				}			}		}	}	if (e.character == '*') {		item.expandAll(true);	}	if (e.character == '-') {		if (item.getExpanded()) {			item.setExpanded(false);			type = SWT.Collapse;		}	}	if (e.character == '+') {		if (item.getItemCount() > 0 && !item.getExpanded()) {			item.setExpanded(true);			type = SWT.Expand;		}	} 	if (type == 0) return;	Event event = new Event();	event.item = item;	notifyListeners(type, event);}void onMouseDown(Event event) {	/* If user clicked on the [+] or [-], expand or collapse the tree. */	TableItem[] items = table.getItems();	for (int i = 0; i < items.length; i++) {		Rectangle rect = items[i].getImageBounds(0);		if (rect.contains(event.x, event.y)) {			TableTreeItem item = (TableTreeItem) items[i].getData(ITEMID);			event = new Event();			event.item = item;			item.setExpanded(!item.getExpanded());			if (item.getExpanded()) {				notifyListeners(SWT.Expand, event);			} else {				notifyListeners(SWT.Collapse, event);			}			return;		}	}}/** * Removes all items. * <p> * This operation will fail when an item * could not be removed in the OS. * * @exception SWTError <ul> *	<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread * 	<li>ERROR_WIDGET_DISPOSED when the widget has been disposed * 	<li>ERROR_ITEM_NOT_REMOVED when the operation fails * </ul> */public void removeAll () {	checkWidget();	setRedraw(false);	for (int i = items.length - 1; i >= 0; i--) {		items[i].dispose();	}	items = EMPTY_ITEMS;	setRedraw(true);}void removeItem(TableTreeItem item) {	int index = 0;	while (index < items.length && items[index] != item) index++;	if (index == items.length) return;	TableTreeItem[] newItems = new TableTreeItem[items.length - 1];	System.arraycopy(items, 0, newItems, 0, index);	System.arraycopy(items, index + 1, newItems, index, items.length - index - 1);	items = newItems;}/** * Removes the listener from the collection of listeners who will * be notified when the receiver's selection changes. * * @param listener the listener which should no longer be notified * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li> * </ul> * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> * * @see SelectionListener * @see #addSelectionListener */public void removeSelectionListener (SelectionListener listener) {	checkWidget();	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);	removeListener(SWT.Selection, listener);	removeListener(SWT.DefaultSelection, listener);}/** * Removes the listener from the collection of listeners who will * be notified when items in the receiver are expanded or collapsed.. * * @param listener the listener which should no longer be notified * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li> * </ul> * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> * * @see TreeListener * @see #addTreeListener */public void removeTreeListener (TreeListener listener) {	checkWidget();	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);	removeListener(SWT.Expand, listener);	removeListener(SWT.Collapse, listener);}/** * Selects all of the items in the receiver. * <p> * If the receiver is single-select, do nothing. * * @exception SWTError <ul> *	<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread *	<li>ERROR_WIDGET_DISPOSED when the widget has been disposed * </ul> */public void selectAll () {	checkWidget();	table.selectAll();}public void setBackground (Color color) {	super.setBackground(color);	table.setBackground(color);	if (sizeImage != null) {		GC gc = new GC (sizeImage);		gc.setBackground(getBackground());		Rectangle size = sizeImage.getBounds();		gc.fillRectangle(size);		gc.dispose();	}}public void setEnabled (boolean enabled) {	super.setEnabled(enabled);	table.setEnabled(enabled);}public void setFont (Font font) {	super.setFont(font);	table.setFont(font);}public void setForeground (Color color) {	super.setForeground(color);	table.setForeground(color);}public void setMenu (Menu menu) {	super.setMenu(menu);	table.setMenu(menu);}/** * Sets the receiver's selection to be the given array of items. * The current selection is cleared before the new items are selected. * <p> * Items that are not in the receiver are ignored. * If the receiver is single-select and multiple items are specified, * then all items are ignored. * * @param items the array of items * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the array of items is null</li> *    <li>ERROR_INVALID_ARGUMENT - if one of the item has been disposed</li> * </ul> * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> * * @see TableTree#deselectAll() */public void setSelection (TableTreeItem[] items) {	checkWidget ();	if (items == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);	int length = items.length;	if (length == 0 || ((table.getStyle() & SWT.SINGLE) != 0 && length > 1)) {		deselectAll();		return;	}	TableItem[] tableItems = new TableItem[length];	for (int i = 0; i < length; i++) {		if (items[i] == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);		if (!items[i].getVisible()) expandItem (items[i]);		tableItems[i] = items[i].tableItem;	}	table.setSelection(tableItems);}public void setToolTipText (String string) {	super.setToolTipText(string);	table.setToolTipText(string);}/** * Shows the item.  If the item is already showing in the receiver, * this method simply returns.  Otherwise, the items are scrolled * and expanded until the item is visible. * * @param item the item to be shown * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the item is null</li> *    <li>ERROR_INVALID_ARGUMENT - if the item has been disposed</li> * </ul> * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> * * @see TableTree#showSelection() */public void showItem (TableTreeItem item) {	checkWidget();	if (item == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);	if (!item.getVisible()) expandItem (item);	TableItem tableItem = item.tableItem;	table.showItem(tableItem);}/** * Shows the selection. * <p> * If there is no selection or the selection * is already visible, this method does nothing. * If the selection is scrolled out of view, * the top index of the widget is changed such * that selection becomes visible. * * @exception SWTError <ul> *	<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread *	<li>ERROR_WIDGET_DISPOSED when the widget has been disposed * </ul> */public void showSelection () {	checkWidget();	table.showSelection();}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合在线视频| 欧美r级电影在线观看| 91精品国产综合久久久久久| 国产欧美日韩视频在线观看| 亚洲成在人线免费| 99re这里都是精品| 久久综合九色综合97婷婷女人| 亚洲午夜电影在线观看| 9人人澡人人爽人人精品| 日韩视频不卡中文| 亚洲成人中文在线| 色综合天天综合给合国产| 精品三级在线观看| 日本vs亚洲vs韩国一区三区二区| 欧美午夜电影在线播放| 国产精品国产成人国产三级| 国产精品一线二线三线精华| 欧美一级生活片| 视频一区欧美精品| 欧美四级电影在线观看| 一区二区三区 在线观看视频| 成人免费毛片a| 国产人久久人人人人爽| 国产精品1区二区.| 久久综合九色综合欧美98| 久草热8精品视频在线观看| 欧美xingq一区二区| 久久精品国产99国产精品| 日韩一区二区免费在线电影| 免费黄网站欧美| 日韩视频一区二区| 久久99热99| 久久久精品免费网站| 国产一区二区精品久久| 国产色产综合色产在线视频 | 日韩精品一区二区三区四区| 丝袜亚洲另类欧美| 日韩欧美成人一区| 国内精品久久久久影院薰衣草| 久久免费电影网| 成人精品小蝌蚪| 亚洲欧美日本韩国| 欧美美女直播网站| 另类成人小视频在线| 久久人人97超碰com| 国产成人亚洲综合a∨婷婷| 国产精品色眯眯| 91污片在线观看| 亚洲网友自拍偷拍| 精品久久久久久综合日本欧美| 国产一区福利在线| 国产精品伦一区| 欧洲生活片亚洲生活在线观看| 亚洲午夜激情av| 精品欧美乱码久久久久久1区2区| 国产盗摄一区二区| 一区二区三区影院| 日韩一卡二卡三卡四卡| 国产久卡久卡久卡久卡视频精品| 亚洲欧洲另类国产综合| 精品视频一区三区九区| 国产揄拍国内精品对白| 亚洲欧美一区二区不卡| 日韩午夜激情av| 91在线国产观看| 免费欧美高清视频| 国产精品久久久久一区| 欧美精品一卡两卡| jlzzjlzz亚洲日本少妇| 免费不卡在线观看| 亚洲欧美日韩国产手机在线| 欧美一级高清片在线观看| 成人开心网精品视频| 免费成人av在线| 一区av在线播放| 久久精品亚洲精品国产欧美 | 日韩情涩欧美日韩视频| 床上的激情91.| 日韩高清在线电影| 亚洲欧洲国产日本综合| 精品国产乱码久久久久久免费| 91福利国产成人精品照片| 国产尤物一区二区| 日韩电影一区二区三区| 亚洲免费视频中文字幕| 久久嫩草精品久久久精品| 欧美一二三四在线| 欧美性色黄大片| 成人高清av在线| 国产成人免费在线视频| 久久精品999| 亚洲va欧美va天堂v国产综合| 国产精品国产精品国产专区不蜜| 欧美mv和日韩mv国产网站| 欧美日韩国产片| 日本道在线观看一区二区| www.成人网.com| 国产成a人亚洲| 国产精品影视在线| 黄色精品一二区| 免费成人在线观看视频| 日韩av电影免费观看高清完整版 | 国产精品国产三级国产| 久久久久久亚洲综合影院红桃| 日韩欧美电影一区| 欧美一级电影网站| 日韩欧美国产一区在线观看| 91精品国产综合久久精品app| 欧美日韩另类国产亚洲欧美一级| 一本色道a无线码一区v| 一本久久精品一区二区| 色成年激情久久综合| 色婷婷综合久久久中文一区二区 | 欧美成人高清电影在线| 日韩欧美国产1| www久久久久| 欧美激情艳妇裸体舞| 国产精品免费av| 亚洲男人的天堂一区二区| 亚洲午夜精品网| 日韩福利视频网| 久久精品国产第一区二区三区| 卡一卡二国产精品 | 欧美亚洲日本一区| 欧美久久久久免费| 日韩精品一区二区三区三区免费 | 一区二区三区四区在线| 亚洲一区在线观看网站| 日韩国产成人精品| 国产美女视频91| 91免费精品国自产拍在线不卡| 在线免费观看成人短视频| 欧美日韩精品电影| 欧美成人a在线| 亚洲丝袜自拍清纯另类| 视频一区国产视频| 国产精品自拍三区| 一本色道久久综合亚洲aⅴ蜜桃 | 国产欧美精品一区二区三区四区| 亚洲欧洲日韩一区二区三区| 亚洲大尺度视频在线观看| 蜜臀a∨国产成人精品| 国产麻豆日韩欧美久久| 色婷婷久久一区二区三区麻豆| 69堂成人精品免费视频| 久久精品夜夜夜夜久久| 亚洲免费电影在线| 国内成人免费视频| 91免费观看视频在线| 精品日韩99亚洲| 亚洲免费高清视频在线| 国产精品一区三区| 欧美日韩一区二区在线观看| 国产午夜精品久久久久久久| 一区二区三区中文字幕在线观看| 久久精品999| 欧美网站大全在线观看| 久久综合久久综合久久| 亚洲成人动漫一区| 成人精品gif动图一区| 日韩色在线观看| 亚洲一区二区高清| 国产99久久久国产精品| 69堂亚洲精品首页| 玉足女爽爽91| 不卡在线视频中文字幕| 精品国产一区久久| 三级欧美在线一区| 91豆麻精品91久久久久久| 国产欧美精品一区二区色综合朱莉| 日本麻豆一区二区三区视频| 欧美在线制服丝袜| 中文字幕制服丝袜一区二区三区| 国产一区不卡在线| 精品毛片乱码1区2区3区| 舔着乳尖日韩一区| 91国偷自产一区二区使用方法| 亚洲国产高清在线观看视频| 极品美女销魂一区二区三区| 欧美日韩亚洲国产综合| 亚洲精品视频免费看| av一本久道久久综合久久鬼色| 久久久久久99精品| 国产一区久久久| 26uuu国产电影一区二区| 麻豆精品蜜桃视频网站| 91精品国产欧美一区二区18| 一区二区三区四区在线| 日本道精品一区二区三区| 亚洲欧美色一区| 在线视频你懂得一区二区三区| 中文字幕在线观看一区| av影院午夜一区| 亚洲欧洲日产国产综合网| 91一区二区在线| 亚洲伦理在线免费看| 欧美亚洲综合久久| 午夜精彩视频在线观看不卡| 欧美日韩激情一区二区| 亚洲成人先锋电影|