首页
学习
活动
专区
圈层
工具
发布

老Java程序员花一天时间写了个飞机大战,很舒服!

就算大java打飞机不行,那我用单身30年的打飞机手速,我肯定行(反正我的代码我做主,就是玩!),于是我决定一展伸手,用java写了一个飞机大战。我就问你们我打飞机行不行,我媳妇都说行,你们呢?...canMove=false; private int key=1; private HashMap boomImageMap=null; private boolean hitFlag=false;//正在碰撞...//判断飞机与子弹是否碰撞 private boolean isPoint(MyPlane plane) { /* * * 两种情况 * 1.需要判断敌机的4个点是否在飞机范围内,如果有则表示碰撞了...(); y2 = plane.getY(); //右下角 x3 = plane.getX()+plane.getWidth(); y3 =plane.getY()+plane.getHeight...() && y getHeight() ){ return true; } return false; } //用我机的坐标来判断 private

70211

java swing 怎样添加背景图片并且能根据窗口大小进行缩放

的类来实现的方法,其实我感觉它跟Web中的层的概念有几分相似吧,只需要把这个“层”加到面板的最下面,作为垫底的,就OK了,来看看怎样实现它: import javax.swing.JPanel; import...上面是定义CustomImgPanel这个类的代码,下面看怎样使用它: double panelWidth = Toolkit.getDefaultToolkit().getScreenSize().getWidth...(); double panelHeight = Toolkit.getDefaultToolkit().getScreenSize().getHeight() - 25 - 25 - 20;//(两个...,所以我取的高度和宽度是屏幕的高度和宽度,这个大家根据自己的情况来调整咯,好了,初始化的时候设好了,那当用户改变窗口的大小的时候如果图片大小不改变的话会很难看,这会导致老板的脸色也很难看,呵呵,所以需要监听一个父窗口的大小变化...(),newSize.getHeight()-70,"..

2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    创建被图像填充的组件解释几处做法解释几点

    如果你直接new一个组件的话,组件是标准外观 如果需要改变组件的外观,最关键的就是要就需要重写组件的paintCoponent(Graphics g)方法,同时需要调整组件的大小 DIY的JPanel...下面用代码说话 import javax.swing.*; import java.awt.*; class ImagePanel extends JPanel{ private Image...我的理解是,当设置好了背景之后,并不一定是马上在输出设备上体现出来,需要一定的时间 如果上一个设置图像还在输出的时候又设置一次图像的话,那么方法返回false,并等到上一次设置图像输出完毕了之后,通知指定的图像观察者...setIconTextGap(0);//文本与图标的距离 setBorder(null);//边框 setBorderPainted(false);//是否画边框...setMargin(new Insets(0,0,0,0));//边空 } } 自定义Label和自定义Button的步骤差不多 只是多了边空和边框这两个属性 解释几点 一、边空是什么呢

    1.6K90

    双缓冲原理在Awt和Swing中实现消除闪烁方法总结

    Frame类用于创建具有标题栏和边界的窗口。这里通过继承Frame类来建立自己的界面。...*和javax.swing.event.*这两个包,其他的很少用到。        ...2)、与AWT的区别 最大的区别在于Swing组件的实现与本地实现无关。Swing组件比AWT组件具有更多的功能。...例如在Swing中添加了按钮组件和标签组件,通过继承来更改Swing组件的行为和外观,访问技术等。 ---- 在游戏中相应的实现即主要窗体用Frame和JFrame来构建。...窗体调用repaint()方法时闪烁严重 ②.窗体设置双缓冲重绘后,DrawImage()进行缩放图片时会失真,Graphics2D设置抗锯齿属性也会失效 Ps:问题到目前为止还没有很好的处理,可能相应的用JPanel

    3.1K20

    Java课程设计【学生信息管理系统】

    在里面没有上传照片和下载图片这一选项。我在View这个程序里面首先添加了本地的图片作为图标可供下载,然后选定一个文件夹Config作为上传的路径。...这样,我就在LoginGUI类里面的添加按钮监听器里面再增加了调用View类的use()方法的监听器,实现了图片上传和下载的功能。 总之,从一开始参考书上例题打出来的程序作为基石,在上面进行雕刻。...如果输入错误,会像如图所示输出“用户名或密码输入不正确”的对话框: 我给出的代码为了方便调试,用户名和密码全是0,记住运行的是LoginGUI这个类 (2)如果正确,则成功登录,进入学生信息管理界面...八、课程设计总结 这次课程设计总体来说是一次非常有意义的任务,因为在这次课程设计中我学会了很多GUI编程和流类的知识,提高了编程的能力,也增加了对编程的兴趣。...虽然一开始遇到很多问题,但自己都咬牙克服、迎难而上,每天都在钻研程序,然后将自己的思想与同学们交流。可以说,没有付出就没有回报,只要你肯付出,就会有收获。

    6.6K21

    java swing 添加 jcheckbox复选框

    通过一段代码来创建属于我们的窗体: 1 import javax.swing.JFrame; 2 2 3 3 /** 4 4 * 我的第一个Java窗体 5 5 * 6...①首先我们需要面板(JPanel)或其他容器控件承载表格(JTable),值得一提的是:由于窗体本身就是容器型控件,您可以考虑将表格单个地放置在窗体上。...new ……()是构造方法,调用来构造一个匿名对象,其后的{}不是Java的特殊语法,但是Java中可以将方法定义在里面(这里的方法生命周期与匿名对象相 同),当然,此处是用于实现接口的方法。...(); 40 40 panel.setSize(this.getWidth(), this.getHeight()); 41 41 panel.setLocation...77 ck.setSelected(isSelected); 78 //设置背景颜色 这里是设置jcheckbox的背景颜色 直接设置为透明,我这里是用了一种明暗交替的颜色转换

    4.3K00

    【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制的背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

    重新计算当前图片的放置位置 , 并设置图片位置 ; 这样图片缩放时 , 始终可以保证鼠标指向的部位保持位置不变 ; 1、保存当前鼠标指针指向的位置 首先 , 在类中定义如下成员字段 , pointer_x 和...pointer_y 记录的是鼠标指针指向的界面中 Camvas 画布中的坐标位置 ; pointer_ratio_x 和 pointer_ratio_y 记录的是 鼠标指针指向位置对应图片中坐标位置的比例...(null) * scale; // 缩放后的图像宽度 double imageHeight = image.getHeight(null) * scale; // 缩放后的图像高度...(null) * scale; // 缩放后的图像宽度 double imageHeight = image.getHeight(null) * scale; // 缩放后的图像高度...java.awt.event.MouseWheelEvent; import java.awt.event.MouseWheelListener; public class LargeCanvas extends JPanel

    5K10

    【Java AWT 图形界面编程】使用小键盘按键缩放 Canvas 画布中绘制的背景图像 ( 键盘按键监听 + 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

    import javax.swing.*; import java.awt.*; import java.awt.event.*; public class LargeCanvas extends JPanel...offsetX; double canvasY = y - offsetY; // 计算图片大小 double imageWidth = image.getWidth...(null) * scale; // 缩放后的图像宽度 double imageHeight = image.getHeight(null) * scale; // 缩放后的图像高度...(null) * scale; // 缩放后的图像宽度 double imageHeight = image.getHeight(null) * scale; // 缩放后的图像高度...(null) * scale); // 缩放后的图像宽度 int imageHeight = (int) (image.getHeight(null) * scale); // 缩放后的图像高度

    3.5K20

    我把Idea给改了,看看有没有你常用的功能,没有,你告诉我,我来改

    秀一波: 勇哥和粉丝是这样创建项目的,效率高呀!...都是多层次设计,启动项目都要点击2次以上,对一项目多了,还是麻烦 开发10多年,这样启动项目,我早就烦了 Bg-Boom是如何一键启动所有项目的 勇哥在插件中特制了一个快速启动栏...IDEA 快速启动条 在Bg-Boom中通过ER图熟悉数据库 现在在工作中,基本上表与表之间都不会使用外键约束,而是使用逻辑外键,这样的话,在Navicat这些常规数据库中ER模型中是不会画出表与表之间的关系...自动识别表中的逻辑外键(一般是以_id结尾的字段) 可以动态显示/关闭逻辑外键关联线 可以ER图保存为图片 可以自有拖动位置、拖动调整大小 粉丝过1W,这个图源码我就免费公开...com.madou.dbtool.uml.cantainer; import javax.swing.*; import java.awt.*; /** * 刻度尺面板类 */ public class RuleContainer extends JPanel

    1.5K50
    领券