java小代码(一)捉弄人小代码

编程知识 行业动态 更新时间:2024-06-13 00:18:12

java小代码(一)捉弄人小代码

  • 捉弄人小代码说明:此为本人自创的一个小代码,由于本人算是一个java学习的初学者,该小代码难免有些缺陷,请各位阅读者见谅。小代码主要使用了java SE中的swing编程,用到的知识不多,有些基础的人估计都能看懂。
  • 捉弄人小代码功能:显示一个窗口,该窗口有一个问题,你点击窗口的叉号时会弹出一个消息框,但无法关闭程序窗口,当鼠标进入“不是”按钮时,按钮的坐标会发生变化,具体见后面运行动图,当你点击“是的”按钮时,就会退出程序。(当然,你从任务管理器也可以关闭程序)
  • 捉弄人小代码运行动图:
  • 捉弄人小代码素材图片:
  • 捉弄人小代码源程序:
package duguyuan1998.TrickPeople.v1;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

/**
 * @author 独孤猿1998
 * @description 一个捉弄人的小代码
 * @version v1.0
 */

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
import javax.swing.JOptionPane;

public class TrickPeople extends JFrame {
	
	private static final long serialVersionUID = 1L;
	//imagePath为图片的路径
	public static String imagePath = System.getProperty("user.dir") + "\\resource\\images\\";
	
	public TrickPeople(String name) {
		setTitle(name);											//设置窗口标题
		setSize(400, 247);										//设置窗口大小
		setLocationRelativeTo(null);							//设置窗口位置居中
		setResizable(false);									//设置窗口大小不可改变
		setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
		addWindowListener(new WindowAdapter() {					//给窗口叉号(关闭)增加监听事件
			@Override
			public void windowClosing(WindowEvent e) {
				JOptionPane.showMessageDialog(null,"关闭窗口也改变不了你是逗逼的事实!!");
			}
		});
		TrickPeopleView trickPeopleView = new TrickPeopleView();//创建面板对象
		add(trickPeopleView);									//将面板添加到窗口上
		setVisible(true);										//设置窗口可见
	}
	
	/**
	 * 功能:内部类,自定义面板及相应组件的添加
	 */
	public class TrickPeopleView extends JLayeredPane {
		
		private static final long serialVersionUID = 1L;
		
		private boolean flag = false;
		private int count = 1;
		
		public TrickPeopleView() {
			setSize(400, 247);
			setFocusable(true);
		    setDoubleBuffered(true);
		    //添加label标签
		    JLabel label = new JLabel();
		    Icon icon = new ImageIcon(imagePath + "image.png");
		    label.setIcon(icon);
		    label.setSize(400,247);
		    label.setLocation(0, 0);
		    add(label, new Integer(0));
		    //添加两个按钮
		    JButton YES = new JButton("是的");
		    YES.setBounds(80, 160, 60, 30);
		    YES.addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					System.exit(0);
				}
			});
		    JButton NO = new JButton("不是");
		    NO.setBounds(240, 160, 60, 30);
		    NO.addMouseListener(new MouseAdapter() {
				@Override
				public void mouseEntered(MouseEvent e) {
					if (count%5 != 0) {
						YES.setLocation(80, 160);
						NO.setLocation(240, 160);
						repaint();
						if (flag) {
							flag = false;
							NO.setLocation(240, 160);
							repaint();
							count++;
						}else {
							flag = true;
							NO.setLocation(240, 100);
							repaint();
						}
					}else {
						count = 1;
						YES.setLocation(240, 160);
						NO.setLocation(80, 160);
						repaint();
						flag = true;
					}
				}
			});
		    add(YES, new Integer(1));
		    add(NO, new Integer(1));
		    setVisible(true);
		}
	}
	
	public static void main(String[] args) {
		new TrickPeople("捉弄人小代码");
	}
}

  • 源代码百度网盘链接:捉弄人小代码源代码
  • 代码运行的jdk版本:java version “1.8.0_202”
  • 运行编译器:eclipse

更多推荐

java小代码(一)捉弄人小代码

本文发布于:2023-03-26 10:34:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/4300811773d07db0a3aa260df11b0381.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:代码   捉弄人   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!