Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CSC305 Lecture 06
Search
Javier Gonzalez-Sanchez
PRO
October 03, 2025
Programming
0
290
CSC305 Lecture 06
Individual Software Design and Development
Libraries II
(202409)
Javier Gonzalez-Sanchez
PRO
October 03, 2025
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC509 Lecture 11
javiergs
PRO
0
290
CSC509 Lecture 10
javiergs
PRO
0
170
CSC509 Lecture 09
javiergs
PRO
0
290
CSC509 Lecture 08
javiergs
PRO
0
280
CSC305 Lecture 14
javiergs
PRO
0
220
CSC305 Lecture 13
javiergs
PRO
0
360
CSC509 Lecture 07
javiergs
PRO
0
260
CSC305 Lecture 12
javiergs
PRO
0
250
CSC305 Lecture 11
javiergs
PRO
0
320
Other Decks in Programming
See All in Programming
AI Agent 時代的開發者生存指南
eddie
4
2.3k
チームのテスト力を総合的に鍛えてシフトレフトを推進する/Shifting Left with Software Testing Improvements
goyoki
0
280
AI駆動開発カンファレンスAutumn2025 _AI駆動開発にはAI駆動品質保証
autifyhq
0
120
NIKKEI Tech Talk#38
cipepser
0
380
組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する #phpconfuk
o0h
PRO
2
380
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
14
47k
Verilator + Rust + gRPC と Efinix の RISC-V でAIアクセラレータをAIで作ってる話 RTLを語る会(18) 2025/11/08
ryuz88
0
220
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
230
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
120
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
280
KoogではじめるAIエージェント開発
hiroaki404
1
300
Developer Joy - The New Paradigm
hollycummins
1
410
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
BBQ
matthewcrist
89
9.9k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Navigating Team Friction
lara
190
15k
We Have a Design System, Now What?
morganepeng
54
7.9k
Embracing the Ebb and Flow
colly
88
4.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Mobile First: as difficult as doing things right
swwweet
225
10k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
950
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.