在一个博客里看到的 我也想用java实现下。。
package game;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LittleGame {
public static void main(String args[]){
new Game();
}
}
class Game extends JFrame implements MouseListener,ActionListener{
JLabel back,word,cal_time;
JButton yes,no;
JPanel panel;
Timer time1;
int time=0,x=0;
boolean flag=false;
Game(){
time1=new Timer(1000,this);
word=new JLabel("你不是煞笔吗??");
cal_time=new JLabel("已用时 "+x+" 秒");
cal_time.setFont(new Font("魏体",Font.BOLD,16));
cal_time.setBounds(10,0,100,16);
word.setBounds(160,50,550,30);
word.setFont(new Font("微软雅黑",Font.BOLD,16));
word.setForeground(Color.BLUE);
yes=new JButton("yes");
yes.setBounds(150,200,55,30);
no=new JButton("no");
no.setBounds(210,200,55,30);
panel=new JPanel();
//---------------------------------------
back=new JLabel();
setBounds(480,270,400,380);
ImageIcon icon=new ImageIcon("image/1.jpg");
icon.setImage(icon.getImage().getScaledInstance(this.getWidth(),this.getHeight(),Image.SCALE_DEFAULT));
back.setIcon(icon);
back.add(cal_time);
back.add(word);
back.add(yes);
back.add(no);
panel.add(back);
add(panel);
//--------------------------------------
// panel.setLayout(null);
// panel.add(word);
// panel.add(yes);
// panel.add(no);
// add(panel);
yes.addMouseListener(this);
no.addMouseListener(this);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e) {
JOptionPane.showMessageDialog(null, "关闭窗口也改变不了你是煞笔的事实。");
System.exit(0);
}
});
setVisible(true);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setResizable(false);
setTitle("逗你玩");
time1.start();
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==yes){
JOptionPane.showMessageDialog(this, "人最可怕的是没有自知之明!!");
}
else if(e.getSource()==no){
JOptionPane.showMessageDialog(this, "我就知道你会选这个的,逗比");
yes.setBounds(150,200,55,30);
no.setBounds(210,200,55,30);
yes.setVisible(true);
}
time=x=0;
flag=false;
cal_time.setText("已用时 "+x+" 秒");
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==yes)
{
time++;
if(time<=8)
{
if(time<=4)
{
if(flag==true)
yes.setLocation(yes.getX(),yes.getY()+60);
else
yes.setLocation(yes.getX(),yes.getY()-60);
}
else if(time<=8)
{
int x=no.getX(),y=no.getY();
no.setBounds(yes.getBounds());
yes.setLocation(x,y);
}
}
if(time==9)
yes.setVisible(false);
}
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==yes)
{
if(flag==false)
flag=true;
else
flag=false;
}
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
x++;
cal_time.setText("已用时 "+x+" 秒");
}
}
//背景图片需要在工程里建一个文件夹名image在文件夹里存入相应名称的图片
//如果你没有新建image文件夹并存入对应的图片 界面会是空白的注意。
//当然你也 可以把//--------------之间的注释掉 ,用//注释的取消注释 也能显示 只不过没有背景图片