您的位置 首页 java

「编程」Java GUI 基础

图形化学习是外功,内功外功配合才能所向披靡。

「编程」Java GUI 基础

一、JFrame

JAVA SWING

导入包import javax.swing.*

导入包import java.awt.*

「编程」Java GUI 基础

增加代码:

EventQueue.invokeLater() ->{

JFrame frame =new JFrame(“Welcome”);

frame.setSize(500,500); //设置宽高

frame.setResizable(false); //不能改变大小

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //点击关闭按钮操作

frame.setVisible(true);

}

解释一下,因为swing是不安全单线程,所以官方推荐用EventQueue

二、JFrame子类

「编程」Java GUI 基础

三、画布和图形绘制基础

MenuBar和Content Pane(Container)

要区分内容面板和窗口大小。

完善Frame类。

保持内容面板和窗口大小一致。

「编程」Java GUI 基础

用子类方法,将 Canvas 与Frame分开。

上面的canvas.setprefreredSize可以删掉了,谁的事谁处理。

「编程」Java GUI 基础

四、Graphics2D绘制

「编程」Java GUI 基础

不友好,是JAVA历史遗留问题。

「编程」Java GUI 基础

五、整理绘制类

新建AlgoVisHelper类

「编程」Java GUI 基础

AlgoFrame类

「编程」Java GUI 基础

六、 抗锯齿 和双缓存

「编程」Java GUI 基础

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

「编程」Java GUI 基础

七、动画基础

AlgoFrame类完善

「编程」Java GUI 基础

Main类

「编程」Java GUI 基础

「编程」Java GUI 基础

需要加入线程,事件队列只能处理较快的事件

「编程」Java GUI 基础

Circle类碰撞检测

「编程」Java GUI 基础

八、 可视化 MVC

继续优化代码,做好封装。数据层Circle、视图层AlgoFrame,控制层。

新建AlgoVisualizer类。

「编程」Java GUI 基础

Main函数精简为

「编程」Java GUI 基础

九、键盘事件

面向对象:实现一个接口,必须实现该接口的所有内容。

所以无法使用这种方式。

「编程」Java GUI 基础

JAV提供了一个方式。

「编程」Java GUI 基础

「编程」Java GUI 基础

「编程」Java GUI 基础

十、鼠标事件

注意Frame和Canvans大小不同,我们在Frame中创建的鼠标事件,获取的位置是Frame的。

「编程」Java GUI 基础

y要位移menubar的高度

「编程」Java GUI 基础


需要完整代码,请关注学点干货,点赞并转发该文章,然后私信干货菌获取。

文章来源:智云一二三科技

文章标题:「编程」Java GUI 基础

文章地址:https://www.zhihuclub.com/169195.shtml

关于作者: 智云科技

热门文章

网站地图