BPM esta selecionado: se e pelo slidebar ou pela caixa de texto. Apos isso ele le, convertendo se necessario. Os tempos e a nota serao retirados de um combobox, por isso o comando esta grande: nele, primero o objeto e convertido para string e depois para inteiro.Antes de executar o metronomo, ele verica se o mesmo ja esta sendo executado e, se sim, para-o. Apos isso ele instancia o metronomo passando os valores recebidos no formulario. Executamos assim o metodo run() e a variavel rodando recebe 1.Ha ainda alguns outros metodos da classe frmMetronomo:Parar:private void btnPararActionPerformed(java.awt.event.ActionEvent evt) { if (rodando == 1) { metro.encerrar(); rodando = 0; } } Simplismente: se estiver rodando, chame o metodo encerrar do objeto metro.slideVeloStateChanged:private void slideVeloStateChanged(javax.swing.event.ChangeEvent evt) { // atualizando lblvelocidade lblVelocidade.setText(Integer.toString(slideVelo.getValue())); }Esse e um evento que diz: quando o valor do slideVelo mudar, ou seja, quando o usuario arrastar o slidebar, o sistema ira atualizar o texto que esta logo abaixo indicano a velocidade.Botao Pagina na Web:private void btnWebActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Desktop d = Desktop.getDesktop(); try { d.browse( new URI( "http://www.jonasweb.orgfree.com/softwares" ) ); } catch ( IOException e ) { System.out.println(e); } catch ( URISyntaxException e ) { System.out.println(e); } } Este codigo abre a pagina indicada no navegador padrao. Botao Sair: private void btnSairActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); }System.exit(0) fecha todo o software.Botao Sobre:private void btnSobreActionPerformed(java.awt.event.ActionEvent evt) { JOptionPane.showMessageDialog(rootPane, "JMetronomo versao 0.9 BETA. \n" + "Desenvolvido por Jonas Oliveira Francisco em 23/07/2012. \n" + "Visite a pagina na web para mais informacoes"); } Exibe uma JOptionPane com meu texto.Bem, acredito que isto seja o suficiente para o nosso projeto. Apos compilar e empacotar o programa, o resultado sera esse:DownloadTambem fiz uma versao para web, apenas criando um formulario parecido so que para web. No NetBeans basta procurar por "Form Applet" para o software rodar no navegador como se fosse um programa em flash. Neste caso, o resultado sera este.Assim termina o nosso software de metronomo e espero que tenham nao so aprendido a programar um metronomo, mas tambem adquirido mais experiencia com programacao em java e programacao orientada a objetos. Ainda sou iniciante em java e nao so aceito, como peco sugestoes para melhorar o software.Detalhes finais:A ideia de criar o metronomo surgiu nas aulas de VB.NET do curso de Informatica. Estava testando a funcionalidade Timer e coloquei para executar um beep(). Percebi a semelhanca com o metronomo e decidi programar um em Java, pois queria conhecer mais essa linguagem de programacao.Se fisesse em VB.NET seria muito mais facil, mas em Java aprendi muito sobre orientacao a objetos, como por exemplo na hora de criar o timer: precisei criar uma classe que extende da TimerTask e sobreescreve o metodo run() da mesma. Considerando tambem que toda a programacao em Java ocorre nesse modelo de programacao, foi muito util ter criado o software nessa linguagem. E mais dificil porem aprende-se mais.Se alguem poder me enviar sons melhores eu aceito. Eu queria executar um som de percursao MIDI, acho que ficaria melhor nesse programa.Eu criei outros softwares e tambem alguns