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

📄 control.java

📁 源码为Eclipse开源开发平台桌面开发工具SWT的源代码,
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
 * drawing order. If the argument is null, then the receiver * is moved to the top of the drawing order. The control at * the top of the drawing order will not be covered by other * controls even if they occupy intersecting areas. * * @param control the sibling control (or null) * * @exception IllegalArgumentException <ul> *    <li>ERROR_INVALID_ARGUMENT - if the control 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 #moveBelow */public void moveAbove (Control control) {	checkWidget ();	int hwndAbove = OS.HWND_TOP;	if (control != null) {		if (control.isDisposed ()) error(SWT.ERROR_INVALID_ARGUMENT);		if (parent != control.parent) return;		int hwnd = control.handle;		if (hwnd == 0 || hwnd == handle) return;		hwndAbove = OS.GetWindow (hwnd, OS.GW_HWNDPREV);		/*		* Bug in Windows.  For some reason, when GetWindow ()		* with GW_HWNDPREV is used to query the previous window		* in the z-order with the first child, Windows returns		* the first child instead of NULL.  The fix is to detect		* this case and move the control to the top.		*/		if (hwndAbove == 0 || hwndAbove == hwnd) {			hwndAbove = OS.HWND_TOP;		}	}	int flags = OS.SWP_NOSIZE | OS.SWP_NOMOVE | OS.SWP_NOACTIVATE; 	SetWindowPos (handle, hwndAbove, 0, 0, 0, 0, flags);}/** * Moves the receiver below the specified control in the * drawing order. If the argument is null, then the receiver * is moved to the bottom of the drawing order. The control at * the bottom of the drawing order will be covered by all other * controls which occupy intersecting areas. * * @param control the sibling control (or null) * * @exception IllegalArgumentException <ul> *    <li>ERROR_INVALID_ARGUMENT - if the control 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 #moveAbove */public void moveBelow (Control control) {	checkWidget ();	int hwndAbove = OS.HWND_BOTTOM;	if (control != null) {		if (control.isDisposed ()) error(SWT.ERROR_INVALID_ARGUMENT);		if (parent != control.parent) return;		hwndAbove = control.handle;	}	if (hwndAbove == 0 || hwndAbove == handle) return;	int flags = OS.SWP_NOSIZE | OS.SWP_NOMOVE | OS.SWP_NOACTIVATE; 	SetWindowPos (handle, hwndAbove, 0, 0, 0, 0, flags);}Accessible new_Accessible (Control control) {	return Accessible.internal_new_Accessible (this);}/** * Causes the receiver to be resized to its preferred size. * For a composite, this involves computing the preferred size * from its layout, if there is one. * * @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 #computeSize */public void pack () {	checkWidget ();	pack (true);}/** * Causes the receiver to be resized to its preferred size. * For a composite, this involves computing the preferred size * from its layout, if there is one. * <p> * If the changed flag is <code>true</code>, it indicates that the receiver's * <em>contents</em> have changed, therefore any caches that a layout manager * containing the control may have been keeping need to be flushed. When the * control is resized, the changed flag will be <code>false</code>, so layout * manager caches can be retained.  * </p> * * @param changed whether or not the receiver's contents have changed *  * @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 #computeSize */public void pack (boolean changed) {	checkWidget ();	setSize (computeSize (SWT.DEFAULT, SWT.DEFAULT, changed));}/** * Causes the entire bounds of the receiver to be marked * as needing to be redrawn. The next time a paint request * is processed, the control will be completely painted, * including the background. * * @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 #update * @see PaintListener * @see SWT#Paint * @see SWT#NO_BACKGROUND * @see SWT#NO_REDRAW_RESIZE * @see SWT#NO_MERGE_PAINTS */public void redraw () {	checkWidget ();	if (!OS.IsWindowVisible (handle)) return;	if (OS.IsWinCE) {		OS.InvalidateRect (handle, null, true);	} else {		int flags = OS.RDW_ERASE | OS.RDW_FRAME | OS.RDW_INVALIDATE;		OS.RedrawWindow (handle, null, 0, flags);	}}/** * Causes the rectangular area of the receiver specified by * the arguments to be marked as needing to be redrawn.  * The next time a paint request is processed, that area of * the receiver will be painted, including the background. * If the <code>all</code> flag is <code>true</code>, any * children of the receiver which intersect with the specified * area will also paint their intersecting areas. If the * <code>all</code> flag is <code>false</code>, the children * will not be painted. * * @param x the x coordinate of the area to draw * @param y the y coordinate of the area to draw * @param width the width of the area to draw * @param height the height of the area to draw * @param all <code>true</code> if children should redraw, and <code>false</code> otherwise * * @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 #update * @see PaintListener * @see SWT#Paint * @see SWT#NO_BACKGROUND * @see SWT#NO_REDRAW_RESIZE * @see SWT#NO_MERGE_PAINTS */public void redraw (int x, int y, int width, int height, boolean all) {	checkWidget ();	if (width <= 0 || height <= 0) return;	if (!OS.IsWindowVisible (handle)) return;	RECT rect = new RECT ();	OS.SetRect (rect, x, y, x + width, y + height);	if (OS.IsWinCE) {		OS.InvalidateRect (handle, rect, true);	} else {		int flags = OS.RDW_ERASE | OS.RDW_FRAME | OS.RDW_INVALIDATE;		if (all) flags |= OS.RDW_ALLCHILDREN;		OS.RedrawWindow (handle, rect, 0, flags);	}}void register () {	display.addControl (handle, this);}void releaseChild () {	parent.removeControl (this);}void releaseHandle () {	super.releaseHandle ();	handle = 0;}void releaseWidget () {	super.releaseWidget ();	if (OS.IsDBLocale) {		OS.ImmAssociateContext (handle, 0);	}	if (toolTipText != null) {		Shell shell = getShell ();		shell.setToolTipText (handle, null);	}	toolTipText = null;	if (menu != null && !menu.isDisposed ()) {		menu.dispose ();	}	menu = null;	cursor = null;	deregister ();	unsubclass ();	parent = null;	layoutData = null;	if (accessible != null) {		accessible.internal_dispose_Accessible ();	}	accessible = null;}/** * Removes the listener from the collection of listeners who will * be notified when the control is moved or resized. * * @param listener the listener which should 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 ControlListener * @see #addControlListener */public void removeControlListener (ControlListener listener) {	checkWidget ();	if (listener == null) error (SWT.ERROR_NULL_ARGUMENT);	if (eventTable == null) return;	eventTable.unhook (SWT.Move, listener);	eventTable.unhook (SWT.Resize, listener);}/** * Removes the listener from the collection of listeners who will * be notified when the control gains or loses focus. * * @param listener the listener which should 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 FocusListener * @see #addFocusListener */public void removeFocusListener(FocusListener listener) {	checkWidget ();	if (listener == null) error (SWT.ERROR_NULL_ARGUMENT);	if (eventTable == null) return;	eventTable.unhook (SWT.FocusIn, listener);	eventTable.unhook (SWT.FocusOut, listener);}/** * Removes the listener from the collection of listeners who will * be notified when the help events are generated for the control. * * @param listener the listener which should 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 HelpListener * @see #addHelpListener */public void removeHelpListener (HelpListener listener) {	checkWidget ();	if (listener == null) error (SWT.ERROR_NULL_ARGUMENT);	if (eventTable == null) return;	eventTable.unhook (SWT.Help, listener);}/** * Removes the listener from the collection of listeners who will * be notified when keys are pressed and released on the system keyboard. * * @param listener the listener which should 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 KeyListener * @see #addKeyListener */public void removeKeyListener(KeyListener listener) {	checkWidget ();	if (listener == null) error (SWT.ERROR_NULL_ARGUMENT);	if (eventTable == null) return;	eventTable.unhook (SWT.KeyUp, listener);	eventTable.unhook (SWT.KeyDown, listener);}/** * Removes the listener from the collection of listeners who will * be notified when the mouse passes or hovers over controls. * * @param listener the listener which should 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 MouseTrackListener * @see #addMouseTrackListener */public void removeMouseTrackListener(MouseTrackListener listener) {	checkWidget ();	if (listener == null) error (SWT.ERROR_NULL_ARGUMENT);	if (eventTable == null) return;	eventTable.unhook (SWT.MouseEnter, listener);	eventTable.unhook (SWT.MouseExit, listener);	eventTable.unhook (SWT.MouseHover, listener);}/** * Removes the listener from the collection of listeners who will * be notified when mouse buttons are pressed and released. * * @param listener the listener which should 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 MouseListener * @see #addMouseListener */public void removeMouseListener (MouseListener listener) {	checkWidget ();	if (listener == null) error (SWT.ERROR_NULL_ARGUMENT);	if (eventTable == null) return;	eventTable.unhook (SWT.MouseDown, listener);	eventTable.unhook (SWT.MouseUp, listener);	eventTable.unhook (SWT.MouseDoubleClick, listener);}/** * Removes the listener from the collection of listeners who will * be notified when the mouse moves. * * @param listener the listener which should 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 MouseMoveListener * @see #addMouseMoveListener */public void removeMouseMoveListener(MouseMoveListener listener) {	checkWidget ();	if (listener == null) error (SWT.ERROR_NULL_ARGUMENT);	if (eventTable == null) return;	eventTable.unhook (SWT.MouseMove, listener);}/** * Removes the listener from the collection of listeners who will * be notified when the receiver needs to be painted. * * @param listener the listener which should 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 PaintListener * @see #addPaintListener */public void removePaintListener(PaintListener listener) {

⌨️ 快捷键说明

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