import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class ZKJ extends JPanel
{
FK[][] fK=new FK[4][4];
int xk=3,yk=3;
public ZKJ()
{
this.setLayout(new GridLayout(4,4));
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
fK[i][j]=new FK(i,j,String.valueOf(4*i+j+1));
fK[i][j].addActionListener(new MyAL());
this.add(fK[i][j]);
}
}
fK[3][3].setVisible(false);
}
public int getxk()
{
return xk;
}
public int getyk()
{
return yk;
}
public boolean isWin()
{
int k=0;
for(int i=0;i<4;i++) {
for(int j=0;j<4;j++) {
if(Integer.getInteger(fK[i][j].getText())==4*i+j+1)
{
k++;
}
else
{
break;
}
}
}
if(k==15)
{
return true;
}
else
{
return false;
}
}
class MyAL implements ActionListener
{
@Override
public void actionPerformed(ActionEvent arg0)
{
fK[xk][yk].setVisible(true);
FK ar=(FK)(arg0.getSource());
if(ar.getx()==xk)
{
if(ar.gety()>yk)
{
for(;yk!=ar.gety();yk++)
{
fK[xk][yk].setText(fK[xk][yk+1].getText());
}
}
else
{
for(;yk!=ar.gety();yk--)
{
fK[xk][yk].setText(fK[xk][yk-1].getText());
}
}
}
if(ar.gety()==yk)
{
if(ar.getx()>xk)
{
for(;xk!=ar.getx();xk++)
{
fK[xk][yk].setText(fK[xk+1][yk].getText());
}
}
else
{
for(;xk!=ar.getx();xk--)
{
fK[xk][yk].setText(fK[xk-1][yk].getText());
}
}
}
fK[xk][yk].setVisible(false);
// TODO Auto-generated method stub
}
}
}