📄 pintu.java
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class PinTu extends JFrame implements ActionListener
{JMenuBar menubar=new JMenuBar();
JMenu menu1=new JMenu("文件(F)");
JMenuItem kaishi = new JMenuItem("开始",'K');
static JButton button1[] = new JButton[26];
int img[]=new int[26];
JLabel label1,label2;
int i;
static int width,height;
int place=25; //存放空位的位置.
public PinTu(int width,int height)
{ super("拼凑摇娃子");
super.setJMenuBar(menubar);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
menu1.add(kaishi);
menu1.setMnemonic('F');
menubar.add(menu1);
kaishi.addActionListener(this);
Container c = getContentPane();
c.setLayout(null);
for(i=0;i<26;i++)
{img[i]=i;
button1[i]=new JButton(new ImageIcon(img[i]+".jpg"));
button1[i].setSize(width,height);
button1[i].setLocation(0+i%5*width,0+i/5*height);
button1[i].setVisible(true);
button1[i].addActionListener(this);
c.add(button1[i]);
}
label1=new JLabel(new ImageIcon("pig.jpg"));
label1.setSize(250,200);
label1.setLocation(300,0);
label1.setVisible(true);
c.add(label1);
label2=new JLabel("加油,努力哈!");
label2.setSize(100,20);
label2.setLocation(100,215);
label2.setVisible(true);
c.add(label2);
setSize(555,295);
setVisible(true);
}
void Start()
{int p=0,i=0,tmp;
while(p!=25)
{tmp=(int)(Math.random()*25);
for(i=0;i<p;i++)
{int tmpB=img[i];
if (tmpB==tmp) break;
}
if (i==p) {img[i]=tmp; button1[i].setIcon(new ImageIcon(img[i]+".jpg")); p++;}
}
img[p]=p; button1[p].setIcon(new ImageIcon(img[p]+".jpg"));
place=25;
}
public void actionPerformed(ActionEvent e1)
{if (e1.getSource()==kaishi) {Start(); return;}
for (i=0 ;i<26;i++)
{ if (e1.getSource()==button1[i])
{ if (i!=place)
{if ((button1[place].getX()==button1[i].getX() || button1[place].getY()==button1[i].getY()) && (button1[place].getX()+width==button1[i].getX() || button1[place].getX()-width==button1[i].getX() || button1[place].getY()+height==button1[i].getY() || button1[place].getY()-height==button1[i].getY()))
{img[place]=img[i]; img[i]=25;
button1[place].setIcon(new ImageIcon(img[place]+".jpg")); button1[i].setIcon(new ImageIcon(img[i]+".jpg"));
place=i; break;
}
}
}
}
win();
}
void win()
{ for(i=0;i<26;i++)
if (img[i]!=i) break;
if (i==26) {label2.setText("哇,你太棒了!");}
else {label2.setText("加油,努力哈!");}
}
public static void main(String[] args)
{PinTu f = new PinTu(50,40);
width=button1[0].getWidth();height=button1[0].getHeight();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -