/** * @(#)MineSwing.java * * * @author * @version 1.00 2007/5/29 */ import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.Random; public class MineSwing extends JFrame implements ActionListener{ //Menu Declarations JMenuItem j1 = new JMenuItem("New Game"); JMenuItem j2 = new JMenuItem("Beginner"); JMenuItem j3 = new JMenuItem("Intermediate"); JMenuItem j4 = new JMenuItem("Expert"); JMenuItem j5 = new JMenuItem("High Scores"); JMenuItem j6 = new JMenuItem("Exit"); JMenuItem j7 = new JMenuItem("About Mineshweeper"); JMenu m1 = new JMenu("Game"); JMenu m2 = new JMenu("Info"); JMenuBar mb1 = new JMenuBar(); //Tile Declarations //Minesweeper Win public MineSwing(int getX, int getY, int getMine) { //Basic Window Operations super("Minesweeper"); setSize(260,320); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); int[] x,y = new int[getMine]; //Image Declarations ImageIcon baseTile = new ImageIcon("minesweeper/images/normal.png", "basic tile"); ImageIcon clearTile = new ImageIcon("minesweeper/images/blank.png", "cleared tile"); ImageIcon flagTile = new ImageIcon("minesweeper/images/flag.png", "flagged tile"); ImageIcon icon = new ImageIcon("minesweeper/images/smiley.png", "Smiley Face"); ImageIcon[] mineImage = new ImageIcon[8]; mineImage[0] = new ImageIcon("minesweeper/images/1.png", "1 mine surronding"); mineImage[1] = new ImageIcon("minesweeper/images/2.png", "2 mines surronding"); mineImage[2] = new ImageIcon("minesweeper/images/3.png", "3 mines surronding"); mineImage[3] = new ImageIcon("minesweeper/images/4.png", "4 mines surronding"); mineImage[4] = new ImageIcon("minesweeper/images/5.png", "5 mines surronding"); mineImage[5] = new ImageIcon("minesweeper/images/6.png", "6 mines surronding"); mineImage[6] = new ImageIcon("minesweeper/images/7.png", "7 mines surronding"); mineImage[7] = new ImageIcon("minesweeper/images/8.png", "8 mines surronding"); //Content Declarations (Top-Level) BorderLayout myBox = new BorderLayout(); Container mainPane = getContentPane(); mainPane.setLayout(myBox); //Information Panel Declarations FlowLayout infoLayout = new FlowLayout(); JPanel infoPanel = new JPanel(); infoPanel.add(new JLabel("TIME TO PATY")); infoPanel.add(new JButton(icon)); infoPanel.add(new JLabel("MINES WEFT :(")); //Add Menu Components j1.setActionCommand("newGame"); m1.add(j1); m1.addSeparator(); j2.setActionCommand("beginGame"); m1.add(j2); j3.setActionCommand("interGame"); m1.add(j3); j4.setActionCommand("expertGame"); m1.add(j4); m1.addSeparator(); j6.setActionCommand("quit"); m1.add(j6); j5.setActionCommand("highscore"); m2.add(j5); j7.setActionCommand("about"); m2.add(j7); mb1.add(m1); mb1.add(m2); setJMenuBar(mb1); //Mine Grid Declarations GridLayout gameLayout = new GridLayout(getX, getY); JPanel mineGrid = new JPanel(); JButton[] gameGrid = new JButton[getX * getY]; mineGrid.setLayout(gameLayout); Random generator = new Random(); //for (int i = 0; i < getMine; i ++){ // x[i] = generator.nextInt(getX); // y[i] = generator.nextInt(getY); //} for (int i = 0; i < gameGrid.length; i++){ gameGrid[i] = new JButton(clearTile); //if (gameGrid[i]){ //} mineGrid.add(gameGrid[i]); } //Adding Content (Top-Level) mainPane.add( infoPanel, BorderLayout.PAGE_START);//TopPanel - Include Time/MineCount and Smiley mainPane.add( mineGrid, BorderLayout.CENTER);// Mine Grid. mainPane.add(new JLabel (" "), BorderLayout.LINE_START); mainPane.add(new JLabel (" "), BorderLayout.LINE_END); mainPane.add(new JLabel (""), BorderLayout.PAGE_END); setVisible(true); } public void actionPerformed(ActionEvent e) { } public static void main(String[] args){ int xBound, yBound, mineCount; xBound = 10; yBound = 10; mineCount = 10; MineSwing game = new MineSwing(xBound, yBound, mineCount); } }