一、JFrame
JAVASWING
导入包importjavax.swing.*
导入包importjava.awt.*
增加代码:
EventQueue.invokeLater()->{
JFrameframe=newJFrame("Welcome");
frame.setSize(500,500);//设置宽高
frame.setResizable(false);//不能改变大小
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//点击关闭按钮操作
frame.setVisible(true);
}
解释一下,因为swing是不安全单线程,所以官方推荐用EventQueue
二、JFrame子类
三、画布和图形绘制基础
MenuBar和ContentPane(Container)
要区分内容面板和窗口大小。
完善Frame类。
保持内容面板和窗口大小一致。
用子类方法,将Canvas与Frame分开。
上面的canvas.setprefreredSize可以删掉了,谁的事谁处理。
四、Graphics2D绘制
不友好,是Java历史遗留问题。
五、整理绘制类
新建AlgoVisHelper类
AlgoFrame类
六、抗锯齿和双缓存
知道概念,知道如何使用很重要
七、动画基础
AlgoFrame类完善
Main类
需要加入线程,事件队列只能处理较快的事件
Circle类碰撞检测
八、可视化MVC
继续优化代码,做好封装。数据层Circle、视图层AlgoFrame,控制层。
新建AlgoVisualizer类。
九、键盘事件
面向对象:实现一个接口,必须实现该接口的所有内容。
所以无法使用这种方式。
JAV提供了一个方式。
十、鼠标事件
注意Frame和Canvans大小不同,我们在Frame中创建的鼠标事件,获取的位置是Frame的。
y要位移menubar的高度
以上就是动力Java培训机构小编介绍的“Java基础入门:Java GUI基础教程”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习