Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CSC305 Lecture 06
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Javier Gonzalez-Sanchez
PRO
October 03, 2025
Programming
380
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CSC305 Lecture 06
Individual Software Design and Development
Libraries II
(202409)
Javier Gonzalez-Sanchez
PRO
October 03, 2025
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC510 Lecture 22
javiergs
PRO
0
17
CSC510 Lecture 20
javiergs
PRO
0
25
CSC510 Lecture 19
javiergs
PRO
0
38
CSC310 Lecture 13
javiergs
PRO
0
44
CSC510 Lecture 18
javiergs
PRO
0
33
CSC510 Lecture 17
javiergs
PRO
0
39
CSC310 Lecture 12
javiergs
PRO
0
38
3100_11.pdf
javiergs
PRO
0
62
CSC510 Lecture 16
javiergs
PRO
0
78
Other Decks in Programming
See All in Programming
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.9k
JIS keyboard support in Omarchy
lef237
0
170
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.4k
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.2k
Railsバージョンを4倍にした話
optim
0
820
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
160
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
16
8.9k
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
300
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
180
気持ちぃ〜角丸 Squircle
ryu1013
0
360
Event is what happens
moro
2
1.8k
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.6k
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Mobile First: as difficult as doing things right
swwweet
225
10k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Speed Design
sergeychernyshev
33
2.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
The Cost Of JavaScript in 2023
addyosmani
55
10k
Deep Space Network (abreviated)
tonyrice
0
390
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Transcript
Dr. Javier Gonzalez-Sanchez
[email protected]
www.javiergs.info o ffi ce: 14 -227
CSC 305 Individual Software Design and Development Lecture 06. Libraries II
Example Paint Application
Step 1 3
Step 2 4
Step 3. Undo 5
Step 4. Erase 6
Step by Step Paint Application
Release 1. GUI 8
None
Release 2. Action Listeners 10
None
Release 3. Draw Area 12
None
None
Release 4. Mouse Listeners 15
None
MouseListener • public void mousePressed (MouseEvent e) {} • public
void mouseClicked(MouseEvent e) { } • public void mouseRele a sed(MouseEvent e) { } • public void mouseEntered(MouseEvent e) { } • public void mouseExited(MouseEvent e) { } • public void mouseDr a gged(MouseEvent me) { } • public void mouseMoved(MouseEvent e) { } 17
MouseMotionListener • public void mouseDr a gged(MouseEvent me) { }
• public void mouseMoved(MouseEvent e) { } 18
Release 5. Draw + Mouse 19
None
Release 5. Stack of Shapes 21
Paint App (5 versions) 22 Review: https://github.com/CSC3100/App-Paint
Questions 23
Lab
Lab 25
CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Fall 2025 Copyright. These slides can only be used as study material for the class CSC305 at Cal Poly. They cannot be distributed or used for another purpose.