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小代码(一)捉弄人小代码
发布评论