CS21B meeting

- Listeners: canvas vs applet

- Selecting: isSelected, highlighting

- Deleting shapes

- Changing colors

- Dragging / moving: mousePressed, mouseDragged, mouseReleased.

Optimal: relative position

- Creation: fixed-size fixed-location, fixed-size variable location.

How do you remember which shape to create?

- Simple resizing of selected object. Resize button. mouseDragged must

distinguish between moving and resizing

- Create and drag to resize: Use temporary shape of some sort or add

to vector and automatically go into resizing

- Lines: How to check if point is in line. Moving / redirecting.

Tricky: avoid divide by zero. Make sure it works for horizontal and
vertical lines. Tolerance, fuzziness.

Miniproject: Should shape include the resize

Lecture:
– inheritance mechanism (super, super constructors, rules for default constructors)

- More encapsulation, composition, and design (eval and filled oval, composite shapes, using points for person instead of coordinates), relative position, resizing persons, act, shapes with mouse listeners – pointing person)

Next year: Objects using each other. strategy pattern for operation on all, inner classes

Due first week