---
# System prepended metadata

title: JAVA2程式筆記-第16-21章
tags: [JAVA2程式筆記]

---

---
title:  JAVA2程式筆記-第16-21章
tags: JAVA2程式筆記
---
#JAVA2程式筆記-第16-21 章
延續在https://medium.com/p/608a1b187e72/edit
的筆記因為放不上了~所以以此為連結

前面的章節放在
https://hackmd.io/@sSA6NW2ZToCxgSaVETWNCg/H1-bOfoK8

---
Chapter 16 Applet-無法操作使用者電腦上的檔案(這個其實我第一次看到，不知道現在還有沒有在用，只是看到2018年還有人在討論，就學一下~有成品感覺比較開心)

從左上角(10,10)的地方顯示字串
要執行Applet要有HTML檔(顯示網頁的標籤語言)
只寫了<applet code="Sample1.class" width=200 height=200>
其他都是HTML5檔自動產生
兩個檔案長這樣+中間是做完下面的結果
![](https://i.imgur.com/TrT77DT.jpg)


詳細加入Applet viewer請參考
http://javafs.blogspot.com/2017/03/how-to-create-and-run-java-awt-applets.html


不過在intellij裡要先自己加入applet的工具
![](https://i.imgur.com/KjRMhB8.jpg)
下載完他會自動重開intellij，然後在.java2檔案右鍵會看到edit"sample1"

![](https://i.imgur.com/qO0yR5Z.jpg)
要記得按+getParameter

![](https://i.imgur.com/41nY95J.jpg)
然後按OK
![](https://i.imgur.com/RL5RcJk.jpg)
後面再到.java檔旁按run "咖啡圖案軟體就出現了"
---
與滑鼠產生互動=點到哪/指到哪
![](https://i.imgur.com/y1yt4Qs.jpg)

程式碼:https://gist.github.com/jzs2home/17c50963b74c2af7a8d6142976bcc375

一樣是滑鼠點的效果，但是程式碼改用adapter
![](https://i.imgur.com/oyl86fX.jpg)

---
加上按鈕:視窗元件AWT(GUI)-這裡發現輸出要是"英文" 不然會變成亂碼

![](https://i.imgur.com/KORzvcm.jpg)


---
產生動畫效果-數字會自己數到10

![](https://i.imgur.com/h6h24nV.jpg)

程式碼:https://gist.github.com/jzs2home/157d61c26d12c6f9e4a9faaa4892614f

---
Chapter 17 複習重要基礎概念-就是applet

---
Chapter 18 類別庫=大家常說的API,2020/5/9已經到JAVA14了

調查類別庫的網址:https://docs.oracle.com/en/java/javase/14/docs/api/index.html

---
Chapter 19 Swing的基礎知識:雖然有人說這個沒人在用了，但是我在很多地方(工廠的人機介面/商店的收銀台還是有看到阿~)

只要進行applet就會先進行init()的處理
![](https://i.imgur.com/BF76mnK.jpg)

放入元件的低方叫"容器"
類別庫的架構叫框架framework
applet一定是.java檔+.html檔(要多加入center/applet)
![](https://i.imgur.com/aoffhoV.jpg)

加入配置標籤+指定位置
![](https://i.imgur.com/Ku37UMC.jpg)

加入事件處理ActionListener=按下按鈕後有反應
![](https://i.imgur.com/psJFDvf.jpg)

上面的動作改成用滑鼠點(沒有按鍵)-這裡要注意反而是使用extends
![](https://i.imgur.com/WNpbP73.jpg)

滑鼠進出時的程式碼-進入=歡迎光臨/出來=您好
![](https://i.imgur.com/c3iDySC.jpg)

---
Chapter 20 Swing的進階應用

顯示2X2的面板+2X3的面板
![](https://i.imgur.com/qnhoZoc.jpg)

程式碼-java檔的:https://gist.github.com/jzs2home/3dd21e9c28408eed8038104573a46a9f
---
核取方塊:是/不是

![](https://i.imgur.com/84uEsZE.jpg)

程式碼-java檔的:https://gist.github.com/jzs2home/162241aa168ba14d8c5aabf79d835202
---
單選按鈕
![](https://i.imgur.com/7fSgTGS.jpg)


程式碼-java檔的:https://gist.github.com/jzs2home/d8009a32607d9f30132647762d41122c
---
輸入文字
![](https://i.imgur.com/aG6QngN.jpg)


程式碼-java檔的:
https://gist.github.com/jzs2home/d76b9629674579286428ee7fad611235
---
Chapter 21 Swing的活用技巧

列表-卷軸方格
![](https://i.imgur.com/Q6qyjZ3.jpg)

程式碼-java檔的:https://gist.github.com/jzs2home/39f649fe527ccd1230018a0cb6f56cef
---
組合方塊
![](https://i.imgur.com/4nr999E.png)

程式碼-java檔的:https://gist.github.com/jzs2home/ebed66c53b4208406738b56d890fbbb8
---
表格
![](https://i.imgur.com/g667bkF.jpg)

---
模型-公休星期日/ getRowCount-共幾列/getColumnCount-共幾欄
打得過程中發現df = new SimpleDateFormat("yyyy/MM/dd");
這句很重要，如果反紅，建議重打，如果沒有這句，就不會出現日期
![](https://i.imgur.com/dybJLvr.jpg)

程式碼-java檔的:https://gist.github.com/jzs2home/46293906589bcfe1a2ba509227f9fcbe
---
選單列:加入分隔符號 mn[1].addSeparator();
加入選單列mb.add(mn[0]);
        mb.add(mn[1]);
        ![](https://i.imgur.com/OFACNaq.png)


程式碼-java檔的:https://gist.github.com/jzs2home/3dcf198e9ebb0d3bb5443fb9fdd27e01
---
對話框:小視窗再跳出一個小視窗
![](https://i.imgur.com/Dxs3Zy5.jpg)


程式碼-java檔的:https://gist.github.com/jzs2home/16a43250690c8f09bc8ffd2feb2da3e4

----小視窗再跳出一個小視窗YES_NO_OPTION+再跳出一個小視窗
![](https://i.imgur.com/TDjkof9.jpg)
+再跳出一個小視窗
![](https://i.imgur.com/EIMli5C.jpg)


程式碼-java檔的:
https://gist.github.com/jzs2home/dc2de3890c734804f394f94377f306fe
---

因為版面有限後面章節連結到:https://hackmd.io/@sSA6NW2ZToCxgSaVETWNCg/r16ElNVc8

---
我所根據的書:最新Java2程式設計實例入門與活用-超值增訂第四版