更新時間:2019-09-10 11:00:44 來源:動力節(jié)點 瀏覽4464次
一、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);//點擊關(guān)閉按鈕操作
frame.setVisible(true);
}
解釋一下,因為swing是不安全單線程,所以官方推薦用EventQueue
二、JFrame子類

三、畫布和圖形繪制基礎(chǔ)
MenuBar和ContentPane(Container)
要區(qū)分內(nèi)容面板和窗口大小。
完善Frame類。
保持內(nèi)容面板和窗口大小一致。

用子類方法,將Canvas與Frame分開。
上面的canvas.setprefreredSize可以刪掉了,誰的事誰處理。

四、Graphics2D繪制

不友好,是Java歷史遺留問題。

五、整理繪制類
新建AlgoVisHelper類

AlgoFrame類

六、抗鋸齒和雙緩存

知道概念,知道如何使用很重要

七、動畫基礎(chǔ)
AlgoFrame類完善

Main類


需要加入線程,事件隊列只能處理較快的事件

Circle類碰撞檢測

八、可視化MVC
繼續(xù)優(yōu)化代碼,做好封裝。數(shù)據(jù)層Circle、視圖層AlgoFrame,控制層。
新建AlgoVisualizer類。

九、鍵盤事件
面向?qū)ο螅簩崿F(xiàn)一個接口,必須實現(xiàn)該接口的所有內(nèi)容。
所以無法使用這種方式。

JAV提供了一個方式。



十、鼠標(biāo)事件
注意Frame和Canvans大小不同,我們在Frame中創(chuàng)建的鼠標(biāo)事件,獲取的位置是Frame的。

y要位移menubar的高度

以上就是動力Java培訓(xùn)機構(gòu)小編介紹的“Java基礎(chǔ)入門:Java GUI基礎(chǔ)教程”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀