石臼墙话板

心怀感恩,珍惜努力

2019-12-01  本文已影响0人  马艺文_强化班

12月伊始,寒冷的冬季,今年来的有点早,时间在恍惚之间就逝去了,回望这一周,还是收获颇丰的,每天进步一点点。

这一周是闭组的最后一周了,很珍惜这段短暂的时光,很想把时间掰成两半用,当自己一天里没有收获时,自己眼睛就有点湿润,但还好,我并不是一个人在奋斗,有那么优秀的小伙伴们,一起努力,他们真的帮了很多,真的很感谢。记得有一句话很喜欢,一个人可以走的很快,但一群人可以走的更远。自己很幸运,在这么有爱的大环境里,十分开心。

这个星期主要在完成开始游戏的界面,实现跳转,设置游戏规则和退出游戏的对话框。额外改了几个bug,比如,蛇穿墙后,又丢了。右领桌帮我解决了这个问题。设置了蛇撞墙就死了。还加了一些其他功能,1,通关,设置吃20个食物,就通关了,可以重新开始。2,加入音乐,游戏一开始,就有音乐循环播放。主要的改的差不多了,主要就是代码不太理解,需要再回顾一遍,之前只顾着看视频,敲代码,赶进度,忽视了注释的主要性,接下来要多回顾。我把自己不太懂的代码,在网上查了查,总结了一些代码。还要试着理解。

1,关于添加图片

this.getLayeredPane() 得到一个JLayeredPane 对象,这个类为容器添加了深度,允许组件在需要时互相重叠。

this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE)); 这句话的意思是,为前面创建的标签 设置层的深度,这里将其设置为了最底层,因为Integer.MIN_VALUE是int类型的最小值了。

2,容器的拓展代码

1,this.getContentPane(); 得到的是一个容器 (Container)对象,

2,(JFrame)this.getContentPane() ; 将该容器 (Container) 强转为面板对象(JFrame),

3,((JPanel) this.getContentPane()).setOpaque(false); 将该面板设置为透明;

4,ImageIcon img = new ImageIcon("image/对对碰1.jpg"); 创建一个图标(ImageIcon)对象,

5,JLabel background = new JLabel(img); 创建一个标签,并将上面创建的图标对象给该标签,意思是该标签的背景就是 img

3,添加图片整体

登录的窗口主界面JFrame,调用getContentPane(),获取到面板。

JPanel J=(JPanel)this.getContentPane();

创建一个带图标的标签。

JLabel jb=new JLabel(new ImageIcon("xx.jpg"));

添加该标签,并设置为窗口的大小。

J.add(jb);

jb.setBounds(0, 0, this.getWidth(), this.getHeight());

如果在JFrame中还有其他的覆盖于其上的JPanel,需要将其设为透明,

setOpaque(true);

注:代码为JFrame的构造函数中完成,其This指代窗口当前实例。

4,paintComponent的作用

publicvoidpaintComponent(Graphicsg){super.paintComponent(g);.....}

调用super.paintComponent(g);

super关键字用来调用父类中定义的构造器,控制对象的父类的部分结构。

如果说要控制父类特定的构造器的调用,那么就必须要为super()提供适当的参数,如果没有参数,那么就会隐式调用带零个参数的父类构造器,在这种情况下,如果没有零个参数的父类构造器,会产生编译错误。

通俗的来说就是调用了父类的paintComponent()构造器,并将g作为参数传进去。

反思:自己最大的问题就是,想要的太多,可是一口吃不了一个大胖子,选择很多,但没有舍弃一部分,导致自己时间永远不够,永远顾前不顾尾。要试着分清主次,合理分配好时间。现在,数学期末,法学期末,计算机考核,英语四级,排球。还有我自己有一颗浮躁的心。自己要好好想想了。

我记得我和一个同学说,我在大学,想要尝试很多,这样可以知道想要什么。但她说,看书吧!看书多了,就知道自己想要什么了。我相信这句话,在心灵上要试着学会长大。这个星期过得很充实,很感谢帮我的小伙伴们,超级友爱!很幸福。很开心。心怀感恩,努力珍惜。

真正治愈自己的只有自己,不去抱怨,不怕孤单,努力沉淀。

世界上所有的惊喜和好运,都是你积累的温柔和善良。

上一篇 下一篇

猜你喜欢

热点阅读