想写个扫雷……有2个源文件
Landmine.javaimport javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class Landmine extends JFrame
{
Playing listener = new Playing(this); //监听者
JPanel landminePanel = new JPanel();//创建地雷面板
public Landmine()
{
super("扫雷");//标题
setSize(600,600);//窗口尺寸
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//最大化、最小化、关闭按钮
BorderLayout ff = new BorderLayout();//创建布局管理器
setLayout(ff);//关联布局管理器
//setResizable(false);//禁止最大化
//设置地雷面板
GridLayout dd = new GridLayout(16,16);
landminePanel.setLayout(dd);
JButton [][] lei = new JButton[18][18];
for(int i=0; i<18; ++i)
{
for(int j=0; j<18; ++j)
{
lei[i][j] = new JButton(i+""+j);
}
}
for(int i=1; i<17; ++i)
{
for(int j=1; j<17; ++j)
{
landminePanel.add(lei[i][j]);
lei[i][j].addActionListener(listener);
}
}
add(landminePanel,BorderLayout.CENTER); //加入主框架中央
setVisible(true);//显示之
}
public static void main(String[] argus)
{
Landmine Zhang = new Landmine();
}
}
Playing.javaimport javax.swing.*;
import java.awt.event.*;
import java.awt.*;public class Playing implements ActionListener
{
Landmine gui;
public Playing(Landmine in )
{
gui = in;
}
public void actionPerformed(ActionEvent event)
{
if( (JButton)event.getSource() == gui.lei[1][1] )//错误行
JOptionPane.showMessageDialog(null,"HELLO!");
}
}错误提示为:C:\Users\barry\Desktop>javac Landmine.java
.\Playing.java:16: 找不到符号
符号: 变量 lei
位置: 类 Landmine
if( (JButton)event.getSource() == gui.lei[1][1] ) ^怎么改啊?菜鸟级问题……
Landmine.javaimport javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class Landmine extends JFrame
{
Playing listener = new Playing(this); //监听者
JPanel landminePanel = new JPanel();//创建地雷面板
public Landmine()
{
super("扫雷");//标题
setSize(600,600);//窗口尺寸
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//最大化、最小化、关闭按钮
BorderLayout ff = new BorderLayout();//创建布局管理器
setLayout(ff);//关联布局管理器
//setResizable(false);//禁止最大化
//设置地雷面板
GridLayout dd = new GridLayout(16,16);
landminePanel.setLayout(dd);
JButton [][] lei = new JButton[18][18];
for(int i=0; i<18; ++i)
{
for(int j=0; j<18; ++j)
{
lei[i][j] = new JButton(i+""+j);
}
}
for(int i=1; i<17; ++i)
{
for(int j=1; j<17; ++j)
{
landminePanel.add(lei[i][j]);
lei[i][j].addActionListener(listener);
}
}
add(landminePanel,BorderLayout.CENTER); //加入主框架中央
setVisible(true);//显示之
}
public static void main(String[] argus)
{
Landmine Zhang = new Landmine();
}
}
Playing.javaimport javax.swing.*;
import java.awt.event.*;
import java.awt.*;public class Playing implements ActionListener
{
Landmine gui;
public Playing(Landmine in )
{
gui = in;
}
public void actionPerformed(ActionEvent event)
{
if( (JButton)event.getSource() == gui.lei[1][1] )//错误行
JOptionPane.showMessageDialog(null,"HELLO!");
}
}错误提示为:C:\Users\barry\Desktop>javac Landmine.java
.\Playing.java:16: 找不到符号
符号: 变量 lei
位置: 类 Landmine
if( (JButton)event.getSource() == gui.lei[1][1] ) ^怎么改啊?菜鸟级问题……
解决方案 »
- InetAddress的困惑
- C#中一个DES解密方法翻译成Java版本,解决得分
- 责任链模式代码写了70%,卡住了,关于比武的小例子。
- java里面如何知道某一天是一年中的第几周?
- 求 ,sql数据库中操作image 字段的Java代码
- 请问System.out.println('a'+1);与System.out.println(""+'a'+1);的区别是什么?
- 有个问题想不通?
- 如何取得浏览器当前选择的语言种类
- 请问如何在Structs的action中处理exception从而跳转到全局的错误页面?送分
- Java synchronized的问题
- 在Java中的RSA加解密问题
- java socket项目打包成可运行的JAR包!!!!!
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class Landmine extends JFrame
{
Playing listener = new Playing(this); //监听者
JPanel landminePanel = new JPanel();//创建地雷面板
JButton [][] lei; //改之
public Landmine()
{
super("扫雷");//标题
setSize(600,600);//窗口尺寸
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//最大化、最小化、关闭按钮
BorderLayout ff = new BorderLayout();//创建布局管理器
setLayout(ff);//关联布局管理器
//setResizable(false);//禁止最大化
//设置地雷面板
GridLayout dd = new GridLayout(16,16);
landminePanel.setLayout(dd);
lei = new JButton[18][18]; //改之 for(int i=0; i<18; ++i)
{
for(int j=0; j<18; ++j)
{
lei[i][j] = new JButton(i+""+j);
}
}
for(int i=1; i<17; ++i)
{
for(int j=1; j<17; ++j)
{
landminePanel.add(lei[i][j]);
lei[i][j].addActionListener(listener);
}
}
add(landminePanel,BorderLayout.CENTER); //加入主框架中央
setVisible(true);//显示之
}
public static void main(String[] argus)
{
Landmine Zhang = new Landmine();
}
}
把这句放到类的成员变量中,作为成员变量,在Playing类中就可以访问了,注意权限控制,如果你想直接访问的话,可能要声明为public或default!
可以把它设置成全局变量