首页 > 技术文章 > GUI编程Day04

ayuanstudy 2021-08-17 20:07 原文

学废了

如何优化这个代码?(组合的思想)

在一个类里面去调用另外一个类的引用

引用的详细部分:https://www.cnblogs.com/xujiaqi/p/13545455.html

  • 在监听器类的构造器里面获取的不是计算器类中的三个num变量,而是直接一个计算器类对象

image-20210817154158836

image-20210817154222321

  • 修改计算器类中的添加监听器方法

原来的构造器MyCalculatorListener的参数是num1,2,3,现在改成计算器类对象,调用本类用this

image-20210817154450422

image-20210817154432697

  • 把构造器里的属性提出来,把创建窗口的代码归纳成一个方法loadFrame()

image-20210817155228950

  • 布局

image-20210817155555358

  • 在监听器类中通过计算器对象调用num1,2,3

image-20210817160139236

  • 主函数中因为之前把新建窗体写在构造器里,new一下就行了

现在把窗体写在方法中,所有要多一步

image-20210817160318563

执行

image-20210817160413757

 

 

更高级的优化(完全改造为面向对象写法)

内部类:

  • 更好的包装

计算器数值的计算应该在方法里面,不应该写在监听器里,给他放在内部类里

image-20210817161314529

  1. 去掉构造器

  2. 把监听器类整体挪到计算器类

  3. 去掉calculator.

image-20210817161647294

  1. 监听器

image-20210817161817594

这样就只有计算器和对象

image-20210817161921434

image-20210817162043969

2.7 画笔

image-20210817162848895

看看Graphics(图形)的结构

image-20210817162954266

基础界面

image-20210817190153476

image-20210817190206262

画个圆

image-20210817190934131

注意:图形位置坐标是左上角,不是圆心

image-20210817191200316

实心圆

image-20210817191324723

image-20210817191329234

设置画笔颜色之后画一个矩形

image-20210817191623151

image-20210817191629837

image-20210817191821421

2.8 鼠标监听

目的:实现鼠标画画(最简单的点击)

image-20210817192405957

image-20210817200027372

image-20210817200046731

image-20210817200100930

这个是真的难懂,等我再捋捋

image-20210817200319085

 来源:b站狂神

推荐阅读