Search
The Caboteria
/
Tech Web
/
TechNotes
>
ProgrammingNotes
>
JavaNotes
/
JHotDrawNotes
(12 May 2005,
TobyCabot
)
(raw view)
<nop>JHotDraw is a framework for building Swing drawing applications. It's descended from a toolkit written in <nop>SmallTalk by one of the "gang of four" patterns gurus so it's heavily pattern-intensive. http://www.jhotdraw.org/ What happens when the delete key is pressed? <pre> at reva.manager.view.editor.Antenna$1.figureRequestRemove(Antenna.java:100) at org.jhotdraw.standard.StandardDrawing.orphan(Unknown Source) at org.jhotdraw.standard.DeleteFromDrawingVisitor.visitFigure(Unknown Source) at org.jhotdraw.standard.AbstractFigure.visit(Unknown Source) at org.jhotdraw.standard.FigureTransferCommand.deleteFigures(Unknown Source) at org.jhotdraw.standard.DeleteCommand.execute(Unknown Source) at org.jhotdraw.util.UndoableCommand.execute(Unknown Source) at org.jhotdraw.standard.StandardDrawingView$DrawingViewKeyListener.keyPressed(Unknown Source) at java.awt.Component.processKeyEvent(Component.java:5058) </pre> =StandardDrawingView.DrawingViewKeyListener= creates a =DeleteCommand= in the constructor. When the delete key is pressed the listener calls =DeleteCommand.isExecutable()= and if it returns true calls =execute()=. =DeleteCommand.isExecutable()= checks some stuff and then delegates to =DeleteCommand.isExecutableWithView()= which checks if any figures are selected and if so returns true. Keyboard/mouse events start in the <nop>DrawingView (it's a JPanel) and then get propagated to the tool that the <nop>DrawingEditor returns from a call to =tool()=. What happens when the mouse is dragged? <pre> [java] at reva.manager.view.editor.AntennaFigure.basicMoveBy(AntennaFigure.java:274) [java] at org.jhotdraw.standard.AbstractFigure.moveBy(AbstractFigure.java:70) [java] at org.jhotdraw.standard.DragTracker.mouseDrag(DragTracker.java:64) [java] at org.jhotdraw.util.UndoableTool.mouseDrag(UndoableTool.java:72) [java] at org.jhotdraw.standard.SelectionTool.mouseDrag(SelectionTool.java:95) [java] at org.jhotdraw.contrib.CustomSelectionTool.mouseDrag(CustomSelectionTool.java:74) [java] at org.jhotdraw.standard.StandardDrawingView$DrawingViewMouseMotionListener.mouseDragged(StandardDrawingView.java:1001) [java] at org.jhotdraw.contrib.zoom.ZoomDrawingView$2.mouseDragged(ZoomDrawingView.java:367) [java] at java.awt.Component.processMouseMotionEvent(Component.java:5148) [java] at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:2779) [java] at java.awt.Component.processEvent(Component.java:4901) </pre>
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r4
<
r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Copyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding The Caboteria?
Send feedback