---
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檔自動產生
兩個檔案長這樣+中間是做完下面的結果

詳細加入Applet viewer請參考
http://javafs.blogspot.com/2017/03/how-to-create-and-run-java-awt-applets.html
不過在intellij裡要先自己加入applet的工具

下載完他會自動重開intellij,然後在.java2檔案右鍵會看到edit"sample1"

要記得按+getParameter

然後按OK

後面再到.java檔旁按run "咖啡圖案軟體就出現了"
---
與滑鼠產生互動=點到哪/指到哪

程式碼:https://gist.github.com/jzs2home/17c50963b74c2af7a8d6142976bcc375
一樣是滑鼠點的效果,但是程式碼改用adapter

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

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

程式碼: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()的處理

放入元件的低方叫"容器"
類別庫的架構叫框架framework
applet一定是.java檔+.html檔(要多加入center/applet)

加入配置標籤+指定位置

加入事件處理ActionListener=按下按鈕後有反應

上面的動作改成用滑鼠點(沒有按鍵)-這裡要注意反而是使用extends

滑鼠進出時的程式碼-進入=歡迎光臨/出來=您好

---
Chapter 20 Swing的進階應用
顯示2X2的面板+2X3的面板

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

程式碼-java檔的:https://gist.github.com/jzs2home/162241aa168ba14d8c5aabf79d835202
---
單選按鈕

程式碼-java檔的:https://gist.github.com/jzs2home/d8009a32607d9f30132647762d41122c
---
輸入文字

程式碼-java檔的:
https://gist.github.com/jzs2home/d76b9629674579286428ee7fad611235
---
Chapter 21 Swing的活用技巧
列表-卷軸方格

程式碼-java檔的:https://gist.github.com/jzs2home/39f649fe527ccd1230018a0cb6f56cef
---
組合方塊

程式碼-java檔的:https://gist.github.com/jzs2home/ebed66c53b4208406738b56d890fbbb8
---
表格

---
模型-公休星期日/ getRowCount-共幾列/getColumnCount-共幾欄
打得過程中發現df = new SimpleDateFormat("yyyy/MM/dd");
這句很重要,如果反紅,建議重打,如果沒有這句,就不會出現日期

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

程式碼-java檔的:https://gist.github.com/jzs2home/3dcf198e9ebb0d3bb5443fb9fdd27e01
---
對話框:小視窗再跳出一個小視窗

程式碼-java檔的:https://gist.github.com/jzs2home/16a43250690c8f09bc8ffd2feb2da3e4
----小視窗再跳出一個小視窗YES_NO_OPTION+再跳出一個小視窗

+再跳出一個小視窗

程式碼-java檔的:
https://gist.github.com/jzs2home/dc2de3890c734804f394f94377f306fe
---
因為版面有限後面章節連結到:https://hackmd.io/@sSA6NW2ZToCxgSaVETWNCg/r16ElNVc8
---
我所根據的書:最新Java2程式設計實例入門與活用-超值增訂第四版