主要也是利用了图形化用户界面一章,主要的功能、意图不是做界面,而是鼠标拖动物体到一定的范围之后就消失。
图中有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()()-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小时内删除。
留言与评论(共有 0 条评论) |