import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class GUI extends JFrame implements ActionListener{
private JLabel lblSmile;
private JButton btnStart;
private JButton btnClose;
private Spielfeld spielfeld;
private JTextField txtGroesseX;
private JTextField txtGroesseY;
private JTextField txtMines;
private Spiel spiel;
private int groesseX = 10;
private int groesseY = 10;
private int mines = 10;
private JButton array[][]=new JButton[groesseX*20][groesseY*20];
private int x;
private int y;
public GUI(){
super("Minesweeper");
setLayout(null);
setSize(800,500);
txtGroesseX = new JTextField("Spalten");
txtGroesseX.setBounds(10, 40, 70, 20);
txtGroesseX.addActionListener(this);
add(txtGroesseX);
txtGroesseY = new JTextField("Zeilen");
txtGroesseY.setBounds(10, 70, 70, 20);
txtGroesseY.addActionListener(this);
add(txtGroesseY);
txtMines = new JTextField("Mienen");
txtMines.setBounds(10, 100, 70, 20);
txtMines.addActionListener(this);
add(txtMines);
btnStart = new JButton("Start");
btnStart.setBounds(10, 10, 70, 20);
btnStart.addActionListener(this);
add(btnStart);
btnClose = new JButton("Schließen");
btnClose.setBounds(10, 130, 70, 20);
btnClose.addActionListener(this);
add(btnClose);
spielfeld = new Spielfeld(groesseX, groesseY, mines);
setVisible(true);
}
public void createButtonArray()
{
for(int x=0;x<=(groesseX-1);x++)
{
for(int y=0;y<=(groesseY-1);y++)
{
setLayout(null);
array[x][y]=new JButton();
array[x][y].setBounds(100+20*y,10+20*x,20,20);
add(array[x][y]);
array[x][y].addActionListener(this);
array[x][y].setFocusable(false);
array[x][y].setVisible(true);
}
}
}
public void actionPerformed(ActionEvent e){
if (e.getSource() == btnClose){
System.out.println("Schliesse");
} else if (e.getSource() == btnStart){
groesseX = Integer.parseInt(txtGroesseX.getText());
groesseY = Integer.parseInt(txtMines.getText());
mines = Integer.parseInt(txtGroesseY.getText());
createButtonArray();
} else if (e.getSource() == array[x][y]){
for(int zeilen=0;zeilen<=(groesseX-1);zeilen++){
for(int spalten=0;spalten<=(groesseY-1);spalten++){
array[zeilen][spalten].setVisible(false);
}
}
}
}
}