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); } } }
我明明只构造了一个按钮,为什么有两个???