String:布局问题,模拟五子棋小游戏

520920 发布于 2018/11/22 16:19
阅读 47
收藏 0

package com.gc.action.baiduTest.game.mygame;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class  MyTest extends JFrame {
        /*    * 主页    */    
        public void homepage(){    
            JFrame jframe =new JFrame("五子棋");//创建顶层容器    
            JPanel jpanel =new JPanel(); //开始游戏    
            JButton startGameButton=new JButton("开始游戏");    //游戏设置    
            JButton gameSetUpButton=new JButton("游戏设置");    //游戏说明    
            JButton gameExplainButton=new JButton("游戏说明");    //认输    
            JButton admitButton=new JButton("认输,重新开始");    //关于    
            JButton aboutButton=new JButton("关于");    //退出    
            JButton exitButton=new JButton("退出");    // 将JButton实例添加到JPanel中    
            jpanel.add(startGameButton);//将"开始游戏"按钮加入布局容器    
            jpanel.add(gameSetUpButton);//将"游戏设置"按钮加入布局容器    
            jpanel.add(gameExplainButton);//将"游戏说明"按钮加入布局容器    
            jpanel.add(admitButton);//将"认输"按钮加入布局容器    
            jpanel.add(aboutButton);//将"关于"按钮加入布局容器    
            jpanel.add(exitButton);//将"退出"按钮加入布局容器
            jframe.add(jpanel);//将布局容器加入画布    
            jframe.setSize(600, 600);//画布大小    
            jframe.setLocationRelativeTo(null);//画布居中    
            jframe.setVisible(true);//画布可见    
            jframe.setResizable(false);//将窗体设置为大小不可改变    
            jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//将窗体的关闭方式设置为默认关闭后程序结束    
            //"开始游戏"按钮  监听
            startGameButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    JOptionPane.showMessageDialog(startGameButton, "开始游戏");
                    //画棋盘
                    Checkerboard contenpan =new Checkerboard();
                    jframe.setContentPane(contenpan);
                    jframe.setVisible(true);
                    contenpan.setLayout(null);
                    contenpan.d=contenpan.getSize();
                    contenpan.setBackground(Color.blue);
                }
            });
        }    
    /**    * 画棋盘    */    
class Checkerboard extends JPanel{    
        public Dimension d=null;//组件的宽度和高度    
        public void setDimension(Dimension dim)    {    
            d=dim;    
            }    
        public void paint(Graphics g){//    super.paint(g);
            g.setColor(Color.GREEN);    
            for(int i=0;i<=d.width/20;i++)    
                g.drawLine(0+20*i, 0, 0+20*i, d.height);    
            for(int j=0;j<d.height/20;j++)    
                g.drawLine(0, 0+20*j, d.width, 0+20*j);
            }    
        }
    public static void main(String[] args) {
        MyTest t =new MyTest();
        t.homepage();
    }
}

加载中
返回顶部
顶部