一、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子類(lèi)
三、畫(huà)布和圖形繪制基礎(chǔ)
MenuBar和ContentPane(Container)
要區(qū)分內(nèi)容面板和窗口大小。
完善frame類(lèi)。
保持內(nèi)容面板和窗口大小一致。
用子類(lèi)方法,將Canvas與frame分開(kāi)。
上面的canvas.setprefreredSize可以刪掉了,誰(shuí)的事誰(shuí)處理。
四、Graphics2D繪制
不友好,是Java歷史遺留問(wèn)題。
五、整理繪制類(lèi)
新建AlgoVisHelper類(lèi)
Algoframe類(lèi)
六、抗鋸齒和雙緩存
知道概念,知道如何使用很重要
七、動(dòng)畫(huà)基礎(chǔ)
Algoframe類(lèi)完善
Main類(lèi)
需要加入線程,事件隊(duì)列只能處理較快的事件
Circle類(lèi)碰撞檢測(cè)
八、可視化MVC
繼續(xù)優(yōu)化代碼,做好封裝。數(shù)據(jù)層Circle、視圖層Algoframe,控制層。
新建AlgoVisualizer類(lèi)。
九、鍵盤(pán)事件
面向?qū)ο螅簩?shí)現(xiàn)一個(gè)接口,必須實(shí)現(xiàn)該接口的所有內(nèi)容。
所以無(wú)法使用這種方式。
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ǔ)入門(mén):Java GUI基礎(chǔ)教程”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。