构造函数调用必须是构造函数中的第一个语句

package comeon;


import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.Timer;
public class lianliankan extends JFrame  implements ActionListener{
private static final long serialVersionUID = 1L;
private Container contentPane;
private JButton btn;
private JButton[] btns;
private JLabel b1;
private JLabel b2;
private JLabel b3;
private Timer timer;
private int row=9;
private int col=9;
private int bon=10;
private int[][] a;
private int b;
private int[] a1;
private JPanel p,p1,p2,p3;
public void ScanLei1(String title){
super(title);
contentPane=getContentPane();
setSize(297,377);
this.setBounds(400, 100, 400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
timer =new Timer(1000,(ActionListener) this);
a = new int[row+2][col+2];
initGUI();
}
public void initGUI(){
    p3=new JPanel();
b=bon;
JMenuBar menuBar=new JMenuBar();
JMenu menu1=new JMenu("游戏");
JMenu menu2=new JMenu("帮助");
JMenuItem mi1=new JMenuItem("初级");
JMenuItem mi2 = new JMenuItem("中级");
JMenuItem mi3 =new JMenuItem("高级");
mi1.addActionListener(this);
menu1.add(mi1);
mi2.addActionListener(this);
menu1.add(mi2);
mi3.addActionListener(this);
menu1.add(mi3);
menuBar.add(menu1);
menuBar.add(menu2);
p3.add(menuBar);
b1=new JLabel(bon+"");
a1=new int[bon];
btn =new JButton("开始");
btn.addActionListener(this);
b2=new JLabel("0");
b3=new JLabel("");
btns=new JButton[row*col];
p=new JPanel();
p.setLayout(new BorderLayout());
contentPane.add(p);
p.add(p3,BorderLayout.NORTH);
//combo=new JComboBox(new Object[]{"初级","中级","高级"} );
//加监听
/*combo.addItemListener(new ItemListener(){
}});*/
p1=new JPanel();
//在那个位置
//(( FlowLayout)p1.getLayout()).setAlignment( FlowLayout.RIGHT);
p1.add(b1);
p1.add(btn);
p1.add(b2);
p1.add(b3);
p.add(p3,BorderLayout.NORTH);
p.add(p1,BorderLayout.CENTER);
p2=new JPanel();
p2.setLayout(new GridLayout(row,col,0,0));
for(int i=0;i<row*col;i++){
btns[i]=new JButton("");
btns[i].setMargin(new Insets(0,0,0,0));
btns[i].setFont(new Font(null,Font.BOLD,25));
btns[i].addActionListener(this);
btns[i].addMouseListener(new NormoreMouseEvent());
p2.add(btns[i]);
}
contentPane.add(p,BorderLayout.NORTH);
contentPane.add(p2,BorderLayout.CENTER);
}
public void go(){
setVisible(true);
}
public static void main(String[] args){
new ScanLei1().go();
}
public void out(int[][] a,JButton[] btns,ActionEvent e,int i,int x,int y){
      int p=1;
  if(a[x][y]==0){
    a[x][y]=10;
        btns[i].setEnabled(false); //33 
        for(int l=y-1;l<=y+1;l++){
        int m=x-1-1;
int n=l-1;
p=1;
System.out.println(a[1][2]);
if(n>-1&&n<col&&m>-1&&m<row)
{
     for(int q=0;q<row&&p==1;q++){//col-->row;
      if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){
       if(a[x-1][l]!=0&&a[x-1][l]!=10){
            btns[n+col*q].setText(a[x-1][l]+"");
            a[x-1][l]=10;
            btns[n+col*q].setEnabled(false);
       }
       else if(a[x-1][l]==0){
        //a[x-1][l]=10;
btns[n+col*q].setEnabled(false);
out(a,btns,e,n+col*q,x-1,l); 55
    a[x-1][l]=10;
btns[n+col*q].setEnabled(false);
       }
           p=0;
     }
    }
}
p=1;
m=x;
if(n>-1&&n<col&&m>-1&&m<col)
{
        for(int q=0;q<row&&p==1;q++){
if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){
if(a[x+1][l]!=0&&a[x+1][l]!=10){
            btns[n+col*q].setText(a[x+1][l]+"");
            a[x+1][l]=10;
            btns[n+col*q].setEnabled(false);
       }
       else if(a[x+1][l]==0){
out(a,btns,e,n+col*q,x+1,l);///55
   a[x+1][l]=10;
   btns[n+col*q].setEnabled(false);
       }
p=0;
}
}
 
  }
        }
        int m=x-1;
          int n=y-1-1;
          p=1;
        if(n>-1&&n<col&&m>-1&&m<col)
{
          for(int q=0;q<row&&p==1;q++){
if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){
if(a[x][y-1]!=0&&a[x][y-1]!=10){
            btns[n+col*q].setText(a[x][y-1]+"");
            a[x][y-1]=10;
            btns[n+col*q].setEnabled(false);
       }
       else if(a[x][y-1]==0){
out(a,btns,e,n+col*q,x,y-1);
 
a[x][y-1]=10;
   btns[n+col*q].setEnabled(false);
       }
p=0;
}
  }
}
          p=1;
          m=x-1;
          n=y+1-1;
        if(n>-1&&n<col&&m>-1&&m<col)
  {
          for(int q=0;q<row&&p==1;q++){
if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){
if(a[x][y+1]!=0&&a[x][y+1]!=10){
            btns[n+col*q].setText(a[x][y+1]+"");
            a[x][y+1]=10;
            btns[n+col*q].setEnabled(false);
       }
       else if(a[x][y+1]==0){
out(a,btns,e,n+col*q,x,y+1);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值