更新時(shí)間:2019-09-10 11:00:44 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3950次
一、JFrame
JAVASWING
導(dǎo)入包importjavax.swing.*
導(dǎo)入包importjava.awt.*
增加代碼:
EventQueue.invokeLater()->{
JFrameframe=newJFrame("Welcome");
frame.setSize(500,500);//設(shè)置寬高
frame.setResizable(false);//不能改變大小
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//點(diǎn)擊關(guān)閉按鈕操作
frame.setVisible(true);
}
解釋一下,因?yàn)閟wing是不安全單線程,所以官方推薦用EventQueue
二、JFrame子類
三、畫布和圖形繪制基礎(chǔ)
MenuBar和ContentPane(Container)
要區(qū)分內(nèi)容面板和窗口大小。
完善Frame類。
保持內(nèi)容面板和窗口大小一致。
用子類方法,將Canvas與Frame分開。
上面的canvas.setprefreredSize可以刪掉了,誰的事誰處理。
四、Graphics2D繪制
不友好,是Java歷史遺留問題。
五、整理繪制類
新建AlgoVisHelper類
AlgoFrame類
六、抗鋸齒和雙緩存
知道概念,知道如何使用很重要
七、動(dòng)畫基礎(chǔ)
AlgoFrame類完善
Main類
需要加入線程,事件隊(duì)列只能處理較快的事件
Circle類碰撞檢測
八、可視化MVC
繼續(xù)優(yōu)化代碼,做好封裝。數(shù)據(jù)層Circle、視圖層AlgoFrame,控制層。
新建AlgoVisualizer類。
九、鍵盤事件
面向?qū)ο螅簩?shí)現(xiàn)一個(gè)接口,必須實(shí)現(xiàn)該接口的所有內(nèi)容。
所以無法使用這種方式。
JAV提供了一個(gè)方式。
十、鼠標(biāo)事件
注意Frame和Canvans大小不同,我們?cè)贔rame中創(chuàng)建的鼠標(biāo)事件,獲取的位置是Frame的。
y要位移menubar的高度
以上就是動(dòng)力Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java基礎(chǔ)入門:Java GUI基礎(chǔ)教程”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743