é meu primero programa, entao nao ligem se esta meio ‘amador’
importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.util.Random;publicclasstabuleiro10x10extendsJFrame{JButton[]Botoes=newJButton[100];int[]Vetor=newint[100];Randomr=newRandom();intbomba1,bomba2,bomba3,contador;Stringop;JMenuBarmenuBar;JMenumenu,submenu;JMenuItemmenuItem;JRadioButtonMenuItemrbFacil,rbMedio,rbDificil;publicJMenuBarcreateMenuBar(){menuBar=newJMenuBar();//Criação do Menu Opçõesmenu=newJMenu("Opções");menu.setMnemonic(KeyEvent.VK_O);menu.getAccessibleContext().setAccessibleDescription("Arquivo");menuBar.add(menu);menuItem=newJMenuItem("Reiniciar",KeyEvent.VK_R);menuItem.getAccessibleContext().setAccessibleDescription("Reiniciar o jogo");menu.add(menuItem);menuItem=newJMenuItem("Encerrar");menuItem.setMnemonic(KeyEvent.VK_E);menu.add(menuItem);menu.addSeparator();//Submenu Dificuldadesubmenu=newJMenu("Dificuldade");submenu.setMnemonic(KeyEvent.VK_D);ButtonGroupgroup=newButtonGroup();rbFacil=newJRadioButtonMenuItem("Fácil");rbFacil.setSelected(true);rbFacil.setMnemonic(KeyEvent.VK_F);group.add(rbFacil);submenu.add(rbFacil);menu.add(submenu);rbMedio=newJRadioButtonMenuItem("Médio");rbMedio.setMnemonic(KeyEvent.VK_M);group.add(rbMedio);submenu.add(rbMedio);menu.add(submenu);rbDificil=newJRadioButtonMenuItem("Difícil");rbDificil.setMnemonic(KeyEvent.VK_D);group.add(rbDificil);submenu.add(rbDificil);menu.add(submenu);//Submenu Tabuleirosubmenu=newJMenu("Tabuleiro");submenu.setMnemonic(KeyEvent.VK_T);menuItem=newJMenuItem("5x5");menuItem.setMnemonic(KeyEvent.VK_5);submenu.add(menuItem);menu.add(submenu);menuItem=newJMenuItem("10x10");menuItem.setMnemonic(KeyEvent.VK_0);menuItem.setEnabled(false);submenu.add(menuItem);menu.add(submenu);menuItem=newJMenuItem("15x15");menuItem.setMnemonic(KeyEvent.VK_1);submenu.add(menuItem);menu.add(submenu);menu.addSeparator();menuItem=newJMenuItem("Sair");menuItem.setMnemonic(KeyEvent.VK_S);menu.add(menuItem);menuItem.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){System.exit(0);}});returnmenuBar;}publictabuleiro10x10(){try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exceptione){}Componentes();}publicvoidComponentes(){addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});Containerc=getContentPane();c.setLayout(newGridLayout(10,10));//Distribuição dos botoesfor(inti=0;i<100;i++){Botoes[i]=newJButton("");Botoes[i].setFocusable(false);Botoes[i].addActionListener(this);c.add(Botoes[i]);}//Random das bombasbomba1=r.nextInt(100);bomba2=r.nextInt(100);bomba3=r.nextInt(100);while(bomba1==bomba2){bomba2=r.nextInt(100);}while(bomba1==bomba3){bomba3=r.nextInt(100);}while(bomba2==bomba3){bomba3=r.nextInt(100);}//Numero abaixo para bomba1if(bomba1+10<100)Botoes[bomba1+10].setText("1");//Numero acima para bomba1if(bomba1-10>=0)Botoes[bomba1-10].setText("1");//Numero a esquerda para bomba1if(bomba1-1>=0&&bomba1-1!=9&&bomba1-1!=19&&bomba1-1!=29&&bomba1-1!=39&&bomba1-1!=49&&bomba1-1!=59&&bomba1-1!=69&&bomba1-1!=79&&bomba1-1!=89&&bomba1-1!=99)Botoes[bomba1-1].setText("1");//Numero a direita para bomba1if(bomba1+1<100&&bomba1+1!=10&&bomba1+1!=20&&bomba1+1!=30&&bomba1+1!=40&&bomba1+1!=50&&bomba1+1!=60&&bomba1+1!=70&&bomba1+1!=80&&bomba1+1!=90)Botoes[bomba1+1].setText("1");//Numero diagonal direita abaixo para bomba1if(bomba1+11<100&&bomba1+11!=20&&bomba1+11!=30&&bomba1+11!=40&&bomba1+11!=50&&bomba1+11!=60&&bomba1+11!=70&&bomba1+11!=80&&bomba1+11!=90)Botoes[bomba1+11].setText("1");//Numero diagonal direita acima para bomba1if(bomba1-9>0&&bomba1-9!=10&&bomba1-9!=20&&bomba1-9!=30&&bomba1-9!=40&&bomba1-9!=50&&bomba1-9!=60&&bomba1-9!=70&&bomba1-9!=80&&bomba1-9!=90)Botoes[bomba1-9].setText("1");//Numero diagonal esquerda abaixo para bomba1if(bomba1+9<100&&bomba1+9!=9&&bomba1+9!=19&&bomba1+9!=29&&bomba1+9!=39&&bomba1+9!=49&&bomba1+9!=59&&bomba1+9!=69&&bomba1+9!=79&&bomba1+9!=89&&bomba1+9!=99)Botoes[bomba1+9].setText("1");//Numero diagonal esquerda acima para bomba1if(bomba1-11>=0&&bomba1-11!=9&&bomba1-11!=19&&bomba1-11!=29&&bomba1-11!=39&&bomba1-11!=49&&bomba1-11!=59&&bomba1-11!=69&&bomba1-11!=79)Botoes[bomba1-11].setText("1");//Numero abaixo para bomba2if(bomba2+10<100){op=Botoes[bomba2+10].getText();if(op=="1"){Botoes[bomba2+10].setText("2");}elseBotoes[bomba2+10].setText("1");}//Numero acima para bomba2if(bomba2-10>=0){op=Botoes[bomba2-10].getText();if(op=="1"){Botoes[bomba2-10].setText("2");}elseBotoes[bomba2-10].setText("1");}//Numero a esquerda para bomba2if(bomba2-1>=0&&bomba2-1!=9&&bomba2-1!=19&&bomba2-1!=29&&bomba2-1!=39&&bomba2-1!=49&&bomba2-1!=59&&bomba2-1!=69&&bomba2-1!=79&&bomba2-1!=89&&bomba2-1!=99){op=Botoes[bomba2-1].getText();if(op=="1"){Botoes[bomba2-1].setText("2");}elseBotoes[bomba2-1].setText("1");}//Numero a direita para bomba2if(bomba2+1<100&&bomba2+1!=10&&bomba2+1!=20&&bomba2+1!=30&&bomba2+1!=40&&bomba2+1!=50&&bomba2+1!=60&&bomba2+1!=70&&bomba2+1!=80&&bomba2+1!=90){op=Botoes[bomba2+1].getText();if(op=="1"){Botoes[bomba2+1].setText("2");}elseBotoes[bomba2+1].setText("1");}//Numero diagonal direita abaixo para bomba2if(bomba2+11<100&&bomba2+11!=20&&bomba2+11!=30&&bomba2+11!=40&&bomba2+11!=50&&bomba2+11!=60&&bomba2+11!=70&&bomba2+11!=80&&bomba2+11!=90){op=Botoes[bomba2+11].getText();if(op=="1"){Botoes[bomba2+11].setText("2");}elseBotoes[bomba2+11].setText("1");}//Numero diagonal direita acima para bomba2if(bomba2-9>0&&bomba2-9!=10&&bomba2-9!=20&&bomba2-9!=30&&bomba2-9!=40&&bomba2-9!=50&&bomba2-9!=60&&bomba2-9!=70&&bomba2-9!=80&&bomba2-9!=90){op=Botoes[bomba2-9].getText();if(op=="1"){Botoes[bomba2-9].setText("2");}elseBotoes[bomba2-9].setText("1");}//Numero diagonal esquerda abaixo para bomba2if(bomba2+9<100&&bomba2+9!=9&&bomba2+9!=19&&bomba2+9!=29&&bomba2+9!=39&&bomba2+9!=49&&bomba2+9!=59&&bomba2+9!=69&&bomba2+9!=79&&bomba2+9!=89&&bomba2+9!=99){op=Botoes[bomba2+9].getText();if(op=="1"){Botoes[bomba2+9].setText("2");}elseBotoes[bomba2+9].setText("1");}//Numero diagonal esquerda acima para bomba2if(bomba2-11>=0&&bomba2-11!=9&&bomba2-11!=19&&bomba2-11!=29&&bomba2-11!=39&&bomba2-11!=49&&bomba2-11!=59&&bomba2-11!=69&&bomba2-11!=79){op=Botoes[bomba2-11].getText();if(op=="1"){Botoes[bomba2-11].setText("2");}elseBotoes[bomba2-11].setText("1");}//Numero abaixo para bomba3if(bomba3+10<100){op=Botoes[bomba3+10].getText();if(op=="1"){Botoes[bomba3+10].setText("2");}elseif(op=="2"){Botoes[bomba3+10].setText("3");}elseBotoes[bomba3+10].setText("1");}//Numero acima para bomba3if(bomba3-10>=0){op=Botoes[bomba3-10].getText();if(op=="1"){Botoes[bomba3-10].setText("2");}elseif(op=="2"){Botoes[bomba3-10].setText("3");}elseBotoes[bomba3-10].setText("1");}//Numero a esquerda para bomba3if(bomba3-1>=0&&bomba3-1!=9&&bomba3-1!=19&&bomba3-1!=29&&bomba3-1!=39&&bomba3-1!=49&&bomba3-1!=59&&bomba3-1!=69&&bomba3-1!=79&&bomba3-1!=89&&bomba3-1!=99){op=Botoes[bomba3-1].getText();if(op=="1"){Botoes[bomba3-1].setText("2");}elseif(op=="2"){Botoes[bomba3-1].setText("3");}elseBotoes[bomba3-1].setText("1");}//Numero a direita para bomba3if(bomba3+1<100&&bomba3+1!=10&&bomba3+1!=20&&bomba3+1!=30&&bomba3+1!=40&&bomba3+1!=50&&bomba3+1!=60&&bomba3+1!=70&&bomba3+1!=80&&bomba3+1!=90){op=Botoes[bomba3+1].getText();if(op=="1"){Botoes[bomba3+1].setText("2");}elseif(op=="2"){Botoes[bomba3+1].setText("3");}elseBotoes[bomba3+1].setText("1");}//Numero diagonal direita abaixo para bomba3if(bomba3+11<100&&bomba3+11!=20&&bomba3+11!=30&&bomba3+11!=40&&bomba3+11!=50&&bomba3+11!=60&&bomba3+11!=70&&bomba3+11!=80&&bomba3+11!=90){op=Botoes[bomba3+11].getText();if(op=="1"){Botoes[bomba3+11].setText("2");}elseif(op=="2"){Botoes[bomba3+11].setText("3");}elseBotoes[bomba3+11].setText("1");}//Numero diagonal direita acima para bomba3if(bomba3-9>0&&bomba3-9!=10&&bomba3-9!=20&&bomba3-9!=30&&bomba3-9!=40&&bomba3-9!=50&&bomba3-9!=60&&bomba3-9!=70&&bomba3-9!=80&&bomba3-9!=90){op=Botoes[bomba3-9].getText();if(op=="1"){Botoes[bomba3-9].setText("2");}elseif(op=="2"){Botoes[bomba3-9].setText("3");}elseBotoes[bomba3-9].setText("1");}//Numero diagonal esquerda abaixo para bomba3if(bomba3+9<100&&bomba3+9!=9&&bomba3+9!=19&&bomba3+9!=29&&bomba3+9!=39&&bomba3+9!=49&&bomba3+9!=59&&bomba3+9!=69&&bomba3+9!=79&&bomba3+9!=89&&bomba3+9!=99){op=Botoes[bomba3+9].getText();if(op=="1"){Botoes[bomba3+9].setText("2");}elseif(op=="2"){Botoes[bomba3+9].setText("3");}elseBotoes[bomba3+9].setText("1");}//Numero diagonal esquerda acima para bomba3if(bomba3-11>=0&&bomba3-11!=9&&bomba3-11!=19&&bomba3-11!=29&&bomba3-11!=39&&bomba3-11!=49&&bomba3-11!=59&&bomba3-11!=69&&bomba3-11!=79){op=Botoes[bomba3-11].getText();if(op=="1"){Botoes[bomba3-11].setText("2");}elseif(op=="2"){Botoes[bomba3-11].setText("3");}elseBotoes[bomba3-11].setText("1");}Botoes[bomba1].addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){JOptionPane.showMessageDialog(null,"Perdeu!");contador=0;while(contador<100){Botoes[contador].setEnabled(false);contador++;}}});Botoes[bomba2].addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){JOptionPane.showMessageDialog(null,"Perdeu!");contador=0;while(contador<100){Botoes[contador].setEnabled(false);contador++;}}});Botoes[bomba3].addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){JOptionPane.showMessageDialog(null,"Perdeu!");contador=0;while(contador<100){Botoes[contador].setEnabled(false);contador++;}}});Botoes[bomba1].setText("B1");Botoes[bomba2].setText("B2");Botoes[bomba3].setText("B3");setSize(500,300);setLocation(100,100);setTitle("Campo Minado");setResizable(false);setJMenuBar(createMenuBar());show();}publicstaticvoidmain(Stringargs[]){tabuleiro10x10x=newtabuleiro10x10();}}
biozit
pode ser a falta do public void actionPerformed(ActionEvent e){ }
para pegar os eventos dos 100 botoes!
(quer diser…nun achei ele…se tiver aí desculpe…mas nun achei dos 100 botoes…)
biozit
e falta o implments!!
public class tabuleiro10x10 extends JFrame implements ActionListener
aqui compilou!
Marky.Vasconcelos
Ou invés de implementar ActionListener vc poe que nen ns outros
botao.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//Oque quer que faça aqui
}
});
eu acho mais simples do que implementar a interface