package campoMinado.interfaceCampo;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import campoMinado.handler.HandlerCampo;
public class Projeto{
private static JFrame frame;
private static final long serialVersionUID = 1L;
private static JButtonEditado[][] buttonEditados = new JButtonEditado[10][10];
private static JPanel jPanel;
private JMenu menu, menu2;
private static JMenuItem menuItem,menuItem2,menuItem3;
private HandlerCampo handlerCampo = new HandlerCampo();
private int a = 0;
//Construtor da classe
public Projeto() {
initComponent();
}
//Método construtor da classe
public void initComponent(){
frame = new JFrame("Campo Minado");
frame.setLayout(new BorderLayout());
jPanel = montaCampo();
frame.add(jPanel, BorderLayout.CENTER);
frame.setJMenuBar(montaMenu());
// Adição dos ActionListeners
for (int l = 0; l < 10 ; l++)
for(int c = 0; c < 10; c++)
buttonEditados[l][c].addActionListener(handlerCampo);
menuItem.addActionListener(handlerCampo);
menuItem2.addActionListener(handlerCampo);
menuItem3.addActionListener(handlerCampo);
frame.setVisible(true);
frame.setSize(350,350);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public JPanel montaCampo() {
JPanel panel = new JPanel(new GridLayout(10,10));
for (int l = 0; l < 10; l++)
for(int c = 0; c < 10; c++){
buttonEditados[l][c] = new JButtonEditado("Oi"+(a++));
}
for(int l = 0; l < 10; l++)
for(int c = 0; c < 10; c++){
buttonEditados[l][c].setActionCommand("Botão"+(a++));
}
for (int l = 0; l < 10; l++)
for(int c = 0; c < 10; c++){
panel.add(buttonEditados[l][c]);
}
return panel;
}
public JMenuBar montaMenu() {
JMenuBar menuBar = new JMenuBar();
menu = new JMenu("Opções");
menu2 = new JMenu("Niveis");
menu2.add(menuItem = new JMenuItem("Fácil"));
menu2.add(menuItem2 = new JMenuItem("Médio"));
menu2.add(menuItem3 = new JMenuItem("Difícil"));
menu.add(menu2);
menuBar.add(menu);
return menuBar;
}
/*Método criado para a atualizacao dos botoes, quando é escolhido a dificuldade do jogo.
*
*/
public static void atualizaCampo(int colunaMODE, int linhaMODE) {
jPanel.removeAll();
jPanel.setLayout(new GridLayout(colunaMODE,linhaMODE));
for (int l = 0; l < linhaMODE ; l++)
for(int c = 0; c < colunaMODE; c++)
jPanel.add(buttonEditados[l][c]);
frame.repaint();
frame.validate();
}
public static JButtonEditado[][] getButtons() {
return buttonEditados;
}
public static JMenuItem getMenuItem() {
return menuItem;
}
public static JMenuItem getMenuItem2() {
return menuItem2;
}
public static JMenuItem getMenuItem3() {
return menuItem3;
}
}
Acredito que o erro esteja no método montaMenu();
O JPanel exibe somente um botão, mas se percorro o jpanel com o mouse esse único botão se transforma no botão que deveria estar aparecendo no jpanel.