Swing的按钮问题
程序代码:/**
* 窗体的扩展类,游戏的主窗体
* */
public class MainFrame extends JFrame
{
//默认宽度
public static final int DEFAULT_WIDTH = 300;
//默认高度
public static final int DEFAULT_HEIGHT = 200;
/**
* 默认构造方法
* */
public MainFrame()
{
//调用初始化方法
initDeploy();
initParts();
}
/**
* 初始化窗体的设置
* */
public void initDeploy()
{
//设置窗体大小
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
//设置实体标题
setTitle("扫雷游戏");
//窗体大小不可被用户改变
setResizable(false);
setLocation(200,300);
}
/**
* 初始化窗体内的控件
* */
public void initParts()
{
//创建面板类
mapPanel panel = new mapPanel();
//添加到窗体
add(panel);
}
}
/**
* 地图面板类
* */
class mapPanel extends JPanel
{
/**
* 绘画组件方法
* @param g 绘制对象
* */
public void paintComponent(Graphics g)
{
//先让父类自己进行绘制
super.paintComponent(g);
//绘制一条文体信息
// g.drawString("扫雷", MESSAGE_X, MESSAGE_Y);
//创建按钮
// for(int i = 0; i < 10;i++)
{
JButton btn = new JButton();
btn.setLocation(50, 40);
btn.setSize(20, 20);
paintChildren(g);
//添加到面板里
add(btn);
ColorAction action = new ColorAction();
btn.addActionListener(action);
}
}
/**
* 监听器
* */
class ColorAction implements ActionListener
{
private Color backgroundColor;
/**
* 事件执行
* */
public void actionPerformed(ActionEvent e) {
if(backgroundColor == null)
{
backgroundColor = Color.RED;
}else
{
backgroundColor = null;
}
setBackground(backgroundColor);
}
}
}我明明只构造了一个按钮,为什么有两个???




