Transcript

1

11M37063 11RectangleseHeightsetWidthShapesetXsetYxyGUITimerGUITimerGUITimerGUITimer: :

22RectangleseHeightsetWidthShapesetXsetYxyGUITimerGUITimer3GUITimerGUITimerRepainterTimerGUITimerTimerTimerTimerGUIGUIGUI3RectangleseHeightsetWidthShapesetXsetYxyRepainterGUIGUIGUITimerTimerTimerTimer: 4setHeightTimerGUI4RepainterTimer: 5RectangleseHeightsetWidthGUITimerTimerRectangleseHeightsetWidthGUIGUITimerTimerGUI5EclipseGluonJ [OOPSLA 10]Java6

6

()

7RectangleseHeightsetWidthRepainterTimerGUITimerTimerGUI7

()8RectangleseHeightsetWidthShapesetXsetYxyShapeRectangleRepainterTimerGUITimerTimerTimerTimerGUIGUIGUI89

9

10RectangleseHeightsetWidthShapesetXsetYyRepainterTimerGUITimerTimerTimerGUIGUIGUIxTimer1011

1112

12Withincaller

13ShapesetXsetYxyFigureEditor

Shape s;int newX = s.setX(newX);

mouseDragged

Shape s;int newX = s.setX(newX);

mouseClickedTimerTimerTimerFigureEditormouseDraggedRepainterGUIGUI13Withincaller

14TimerTimerTimerFigureEditormouseDraggedRepainterGUIGUIFigureEditormouseDraggedShapesetXsetYxyFigureEditor

Shape s;int newX = s.setX(newX);

mouseDragged

Shape s;int newX = s.setX(newX);

mouseClicked14

Within()callerWithin1515Within()Within16

16JDTGluonJ1840 54 24

1717(1.) (2.) (3.) Within(4.) JDTJava

1818JDT40%1.819

19JDT202080%20%21

21(1/2)AJDT (+ AspectJ)

AspectMaps [Fabry 11]

2222(2/2)KIDE [Kanazawa 12]

Code Bubbles [Andrew 10]bubble

2323future workGluonJfuture workPPL 2011282424


Recommended