package jingling;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import com.sun.jna.platform.WindowUtils;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class l extends JFrame {
private JPanel contentPane;
int width=200;
int height=200;
static int x=200;
static int y=300;
final static l frame = new l(x,y);
static Point origin = new Point();
/**
* Launch the application.
*/
public static void main(String[] args) {
// EventQueue.invokeLater(new Runnable() {
//public void run() {
// try {
frame.setVisible(true);
frame.addMouseListener(new MouseAdapter() {
// 按下(mousePressed 不是点击,而是鼠标被按下没有抬起)
public void mousePressed(MouseEvent e) {
// 当鼠标按下的时候获得窗口当前的位置
origin.x = e.getX();
origin.y = e.getY();
}
});
frame.addMouseMotionListener(new MouseMotionAdapter() {
// 拖动(mouseDragged 指的不是鼠标在窗口中移动,而是用鼠标拖动)
public void mouseDragged(MouseEvent e) {
// 当鼠标拖动时获取窗口当前位置
Point p = frame.getLocation();
System.out.println(p.x+".."+p.y);
// 设置窗口的位置
// 窗口当前的位置 + 鼠标当前在窗口的位置 - 鼠标按下的时候在窗口的位置
frame.setLocation(p.x + e.getX() - origin.x, p.y + e.getY()- origin.y);
}
});
//} catch (Exception e) {
// e.printStackTrace();
//}
}
// });
//}
/**
* Create the frame.
*/
public void youdong(){
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
double screenw = screenSize.getWidth();
//double = screenSize.getHeight();
int screenww=Integer.parseInt(new java.text.DecimalFormat("0").format(screenw));//将doublle转int
//向you走
for(int i=0;i<=screenww;i++){
frame.setLocation(i,y);
if(i>=screenww-100){
i=-100;
}
}
}
public void zuodong(int z) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
double screenw = screenSize.getWidth();
//double = screenSize.getHeight();
int screenww=Integer.parseInt(new java.text.DecimalFormat("0").format(screenw));//将doublle转int
if(z==1){//向左走
for(int i=40;i<=screenw;i--){
if(i<0){//i是当前位置,如果比0小说明到最左边了
youdong();
i=9999;//让循环停
System.out.println("到最左了");
}else{
System.out.println(screenw+".."+i);
frame.setLocation(i,y);
try{
//主线程沉睡1000毫秒后再继续循环
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
//}
public l(int x,int y) {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(x, y, width, 240);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
ImageIcon image = new ImageIcon("C:/Users/cc/Desktop/1.png");
image.setImage(image.getImage().getScaledInstance(width,height,Image.SCALE_DEFAULT));
final JLabel label = new JLabel(image);
label.setSize(width,height);
contentPane.add(label);
/
//按钮按下
JButton btnNewButton = new JButton("快走");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
/
//先站起来
ImageIcon image6 = new ImageIcon("C:/Users/cc/Desktop/2.png");
image6.setImage(image6.getImage().getScaledInstance(width,height,Image.SCALE_DEFAULT));
label.setIcon(image6);
contentPane.add(label);
///
//太空步
final Timer t=new Timer();
//最后用schedule控制执行时间:
TimerTask task = new TimerTask(){
//必须实现方法run()
public void run(){
//里面写你要在5秒后执行的代码。
ImageIcon image7 = new ImageIcon("C:/Users/cc/Desktop/3.gif");
image7.setImage(image7.getImage().getScaledInstance(width,height,Image.SCALE_DEFAULT));
label.setIcon(image7);
//contentPane.add(label);
System.out.println("走");
//t.cancel();
int z=1;
zuodong(z);
}
};
t.schedule(task, 1000);//5000单位是毫秒=5秒
//补充:类 task的写法:
}
});
btnNewButton.setBounds(0, 210, 56, 23);
//btnNewButton.setFont( new Font("宋体", Font.PLAIN, 11) );
contentPane.add(btnNewButton);
setUndecorated(true);//去掉边框
setAlwaysOnTop(true);//窗口置顶
this.setUndecorated(true);
this.setBackground(new Color(0,0,0,0));
this.setVisible(true);
}
}
java桌面精灵 会太空步的熊猫头
猜你喜欢
转载自blog.csdn.net/weixin_40938312/article/details/107931905
今日推荐
周排行