JAVA鼠标拖动物体移动、碰撞销毁

阅读: 评论:0

JAVA鼠标拖动物体移动、碰撞销毁

JAVA鼠标拖动物体移动、碰撞销毁

JAVA鼠标拖动物体移动、碰撞销毁

主要也是利用了图形化用户界面一章,主要的功能、意图不是做界面,而是鼠标拖动物体到一定的范围之后就消失。

图中有1~6张不同颜色的标签,每次启动之后他们的位置是随机的,把他们拖拽到下面最大的总标签里面之后,对应的数字标签销毁并消失。

主要还是看下面的代码和运行效果图吧!相信大家都能看懂,也比较简单。

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.util.ArrayList;
import java.util.List;/**      模块*   鼠标拖动、销毁* */public class Rubbish extends JFrame {JPanel jp;JLabel[] jl = new JLabel[6];JLabel jl_zon;Color[] colors = {Color.BLACK,Color.CYAN,Color.GRAY,Color.RED,Color.YELLOW,Color.WHITE};List<JLabel> list = new ArrayList<>();int x,y;public static void main(String[] args) {new Rubbish();}public Rubbish(){jp = new JPanel();jp.setLayout(null);this.add(jp);for (int i=0;i<jl.length;i++){jl[i] = new JLabel(""+(i+1),JLabel.CENTER);jl[i].setBounds((int) (Math.random()*400),(int)(Math.random()*250) ,60,80);jl[i].setBackground(colors[i]);jl[i].setOpaque(true);
//            System.out.println((int) (Math.random()*400)+"     "+(int) (Math.random()*250));jp.add(jl[i]);list.add(jl[i]);}for(int i = 0 ; i < list.size();i++) {JLabel jl= (i);(i).addMouseListener(new MouseAdapter() {public void mousePressed(MouseEvent e) {x = e.getX();y = e.getY();
//                    System.out.println(x+"    "+y);}public void mouseReleased(MouseEvent e) {peng(X(),jl.getY());}});
//			跟踪鼠标移动和鼠标拖动(i).addMouseMotionListener(new MouseMotionListener() {@Overridepublic void mouseMoved(MouseEvent arg0) {// TODO Auto-generated method stub}@Overridepublic void mouseDragged(MouseEvent e) {// TODO Auto-generated method stubJLabel jl = (JLabel) e.getSource();jl.X()&#X()-Y()&#Y()-y);
//                    System.out.println(x+"    "+y);System.out.X()+"    "&#Y());
//                    System.out.X()+"    "&#Y());}});}jl_zon = new JLabel("总标签",JLabel.CENTER);jl_zon.setBounds(150,350,200,100);jl_zon.setBackground(Color.GREEN);jl_zon.setOpaque(true);jp.add(jl_zon);this.setBounds(400,200,500,500);this.setVisible(true);}public void peng(JLabel jlabel,int x,int y){if(x>150 && x<350 && y>350 && y<450){jp.remove(jlabel);jp.repaint();}}}

运行效果如下:


如有不懂,加微信 :zhi19990327
备注 :Java碰撞、消失

本文发布于:2024-01-30 18:32:31,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170661075221993.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:鼠标   拖动   物体   JAVA
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23