Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.GridLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import java.util.ArrayList;
- import java.util.Collections;
- import javax.swing.*;
- @SuppressWarnings("serial")
- public class ButtonTest extends JPanel {
- private JPanel jpanel = new JPanel();
- private ArrayList<Integer> arl_field;
- private JButton[][] arr_btnField;
- private int int_dim = 10;
- private int[][] arr_solution;
- private int int_mines = 5;
- @SuppressWarnings("unused")
- private Color[] clr_palette;
- private MouseListener listener = new MouseAdapter() {
- public void mouseClicked(MouseEvent e) {
- Component comp = (Component) e.getSource();
- comp.setBackground(null);
- };
- };
- @SuppressWarnings("unused")
- private boolean bool_firstround;
- public ButtonTest() {
- JPanel resetPanel = new JPanel();
- resetPanel.add(new JButton(new AbstractAction("Reset") {
- @Override
- public void actionPerformed(ActionEvent e) {
- resetGame();
- }
- }));
- setPreferredSize(new Dimension(800, 650));
- setLayout(new BorderLayout());
- add(jpanel);
- add(resetPanel, BorderLayout.PAGE_END);
- resetGame();
- }
- public void resetGame() {
- jpanel.removeAll();
- // !! arl_field.clear();
- arr_btnField = new JButton[int_dim][int_dim];
- arr_solution = new int[int_dim][int_dim];
- // arr_zeroGroup = new int[int_dim][int_dim];
- // bool_change = false;
- // bool_won = false;
- arl_field = new ArrayList<Integer>();
- int mines = int_mines;
- for (int i = 0; i < arr_btnField.length * arr_btnField.length; i++) {
- if (mines > 0) {
- arl_field.add(9);
- mines--;
- } else
- arl_field.add(0);
- }
- Collections.shuffle(arl_field);
- for (int i = 0; i < arl_field.size(); i++) {
- if (arl_field.get(i) != 9) {
- for (int j = 0; j < arl_field.size(); j++) {
- if (arl_field.get(j) == 9 && (((i - j == int_dim + 1 && i % int_dim != 0)
- || (i - j == int_dim - 1 && i % int_dim != int_dim - 1)
- || (j - i == int_dim - 1 && i % int_dim != 0)
- || (j - i == int_dim + 1 && i % int_dim != int_dim - 1)
- || (Math.abs(i - j) == int_dim))
- || ((i - j == 1 && i % int_dim != 0)
- || (i - j == -1 && i % int_dim != int_dim - 1)))) {
- arl_field.set(i, arl_field.get(i) + 1);
- System.out.println(
- "Value Changed " + i + " " + j + " " + i % int_dim + " " + (i - j));
- }
- }
- }
- }
- for (int i = 0; i < arr_solution.length; i++) {
- for (int j = 0; j < arr_solution[i].length; j++) {
- arr_solution[i][j] = arl_field.get(i * int_dim + j);
- }
- }
- jpanel.setLayout(new GridLayout(0, int_dim));// if(bool_firstround==false)jpanel.setLayout(new
- // GridLayout(0,int_dim));
- for (int i = 0; i < arr_btnField.length; i++) {
- for (int j = 0; j < arr_btnField[i].length; j++) {
- arr_btnField[i][j] = new JButton();//// if(bool_firstround==false)arr_btnField[i][j]
- //// = new
- //// JButton();//arl_field.get(i*int_dim+j)+"");
- // !! arr_btnField[i][j].setBorder(border);
- arr_btnField[i][j].setText("");
- // !! arr_btnField[i][j].setFont(y);
- arr_btnField[i][j].setBackground(new Color(0X00, 0X94, 0XFF));
- // !! if (arl_field.get(i * int_dim + j) != 9)
- // arr_btnField[i][j].setForeground(clr_palette[arl_field.get(i
- // * int_dim + j)]);
- // else
- // arr_btnField[i][j].setForeground(Color.black);
- arr_btnField[i][j].addMouseListener(listener);
- arr_btnField[i][j].setFocusable(false);
- jpanel.add(arr_btnField[i][j]);
- }
- }
- bool_firstround = true;
- scanZeros();
- jpanel.revalidate();
- jpanel.repaint();
- }
- private void scanZeros() {
- // TODO flesh out this method
- }
- private static void createAndShowGui() {
- ButtonTest mainPanel = new ButtonTest();
- JFrame frame = new JFrame("ButtonTest");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.getContentPane().add(mainPanel);
- frame.pack();
- frame.setLocationRelativeTo(null);
- frame.setVisible(true);
- }
- public static void main(String[] args) {
- SwingUtilities.invokeLater(() -> createAndShowGui());
- }
- }
Add Comment
Please, Sign In to add comment