canvasvieweventcatcher.java
来自「JAVA3D矩陈的相关类」· Java 代码 · 共 84 行
JAVA
84 行
/* * $RCSfile: CanvasViewEventCatcher.java,v $ * * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. * * Use is subject to license terms. * * $Revision: 1.7 $ * $Date: 2007/04/12 17:34:04 $ * $State: Exp $ */package javax.media.j3d;import java.util.ArrayList;import java.awt.*;import java.awt.event.*;/** * The CanvasViewEventCatcher class is used to track events on a Canvas3D that * may cause view matries to change. * */class CanvasViewEventCatcher extends ComponentAdapter { // The canvas associated with this event catcher private Canvas3D canvas; private static final boolean DEBUG = false; CanvasViewEventCatcher(Canvas3D c) { canvas = c; } public void componentResized(ComponentEvent e) { if (DEBUG) { System.err.println("Component resized " + e); } if(e.getComponent() == canvas ) { if (DEBUG) { System.err.println("It is canvas!"); } synchronized(canvas) { synchronized (canvas.dirtyMaskLock) { canvas.cvDirtyMask[0] |= Canvas3D.MOVED_OR_RESIZED_DIRTY; canvas.cvDirtyMask[1] |= Canvas3D.MOVED_OR_RESIZED_DIRTY; } canvas.resizeGraphics2D = true; } // see comment below try { canvas.newSize = canvas.getSize(); canvas.newPosition = canvas.getLocationOnScreen(); } catch (IllegalComponentStateException ex) {} } } public void componentMoved(ComponentEvent e) { if (DEBUG) { System.err.println("Component moved " + e); } synchronized(canvas) { synchronized (canvas.dirtyMaskLock) { canvas.cvDirtyMask[0] |= Canvas3D.MOVED_OR_RESIZED_DIRTY; canvas.cvDirtyMask[1] |= Canvas3D.MOVED_OR_RESIZED_DIRTY; } } // Can't sync. with canvas lock since canvas.getLocationOnScreen() // required Component lock. The order is reverse of // removeNotify() lock sequence which required Component lock // first, then canvas lock in removeComponentListener() try { canvas.newSize = canvas.getSize(); canvas.newPosition = canvas.getLocationOnScreen(); } catch (IllegalComponentStateException ex) {} } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?