只是用来练练监听事件,请忽视程序中可爱的图片。。。。。
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Point;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowFocusListener;
import java.awt.event.WindowListener;
import java.awt.event.WindowStateListener;
import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;
public class test extends JFrame{
JLabel[] mouses = new JLabel[5];
JLabel chuizi = new JLabel();
JLabel chuizi_down = new JLabel();
ImageIcon icon = new ImageIcon(getClass().getResource("ii.jpg"));
ImageIcon icon_up = new ImageIcon(getClass().getResource("up.png"));
ImageIcon icon_down = new ImageIcon(getClass().getResource("down.png"));
public test(){
getContentPane().setLayout(null);
int x = icon.getIconWidth(),y = icon.getIconHeight();
chuizi.setIcon(icon_up);
chuizi.setSize(icon_up.getIconWidth(), icon_up.getIconHeight());
getContentPane().add(chuizi);
chuizi_down.setIcon(icon_down);
chuizi_down.setSize(icon_down.getIconWidth(), icon_down.getIconHeight());
addMouseMotionListener(new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent arg0) {
// TODO Auto-generated method stub
chuizi.setLocation(arg0.getX(), arg0.getY());
chuizi_down.setLocation(arg0.getX(), arg0.getY());
}
@Override
public void mouseDragged(MouseEvent arg0) {
// TODO Auto-generated method stub
}
});
for(int i = 0;i < 4; i++){
mouses[i] = new JLabel();
mouses[i].setSize(x, y);
mouses[i].setIcon(icon);
mouses[i].addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
chuizi.setIcon(icon_up);
chuizi_down.setIcon(null);
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
getContentPane().add(chuizi_down);
chuizi_down.setIcon(icon_down);
chuizi.setIcon(null);
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
Object source = arg0.getSource();
if(source instanceof JLabel){
JLabel mouse = (JLabel)source;
mouse.setIcon(null);
}
}
});
getContentPane().add(mouses[i]);
}
mouses[0].setLocation(50, 100);
mouses[1].setLocation(450, 100);
mouses[2].setLocation(50, 400);
mouses[3].setLocation(450, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setSize(1000,1000);
run();
}
public void run(){
while(true){
try {
Thread.sleep(1000);
int index = (int)(Math.random() * 4);
if(mouses[index].getIcon() == null){
mouses[index].setIcon(icon);
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] agrs){
new test();
}
}