2010bEquipe10 Software

De Wiki DAINF

Tabela de conteúdo

Código Fonte do Software

Código em Java, para utiliza-lo clique em Editar e copie.

Main.java

import parport.ParallelPort; import java.awt.Color; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; /** * * @author Thaina Monteiro */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { //cria janela Principal JFrame a = new JFrame(); a.setName("Janela Principal"); a.setSize(1100, 700); a.setLayout(null); a.setTitle("Violao"); a.setResizable(false); a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // cria painel do violao PainelViolao painel = new PainelViolao(); painel.setBounds(0, 100, 1024, 430); //cria os botoes vou criar um grid layout 6x5 (6 linhas 5 colunas ) um for pra cada linha // criar um painel com grid JPanel painelBotoes = new JPanel(); painelBotoes.setBackground(Color.blue); painelBotoes.setLayout(new GridLayout(6,5)); OuvinteDoSom ouvinte = new OuvinteDoSom(); for (int i = 10; i <= 65; i++) { if (i == 16) {i=20;} //saltar numeros if (i == 26) {i=30;} if (i == 36) {i=40;} if (i == 46) {i=50;} if (i == 56) {i=60;} JButton bt = new JButton(" "+i+" "); bt.setName(""+i); bt.addMouseListener(ouvinte); painelBotoes.add(bt); } // painel pra adicionar painelbotoes JPanel botoes = new JPanel(); botoes.setBounds(450, 237, 500,500); botoes.add(painelBotoes); JButton notaD = new JButton("D"); notaD.setBounds(200,0,100,100); notaD.addMouseListener(ouvinte); a.add(notaD); JButton notaG = new JButton("G"); notaG.setBounds(100,0,100,100); notaG.addMouseListener(ouvinte); a.add(notaG); JButton notaBm = new JButton("Bm"); notaBm.setBounds(00,0,100,100); notaBm.addMouseListener(ouvinte); a.add(notaBm); JButton notaA = new JButton("A"); notaA.setBounds(300,0,100,100); notaA.addMouseListener(ouvinte); a.add(notaA); //adiciona componentes e torna visivel a.add(painel); a.add(botoes); a.setVisible(true); ParallelPort porta=new ParallelPort(0x378); // cria porta while(true){ int lido = porta.read(); //le um inteiro da porta switch (lido) { case 127: porta.write(0); break; case 255: notaA.doClick(); // caso representar o botao A, clica no mesmo break; case 119: notaG.doClick(); break; case 247: notaG.doClick(); notaA.doClick(); break; default: System.out.println("Erro"); } } } }

PainelViolao.java

package instrumentosvirtuais; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import javax.swing.ImageIcon; import javax.swing.JPanel; /** * * @author Thaina Monteiro */ public class PainelViolao extends JPanel { @Override protected void paintComponent(Graphics g) { super.paintComponent(g); super.setBackground(Color.red); Toolkit tk = Toolkit.getDefaultToolkit(); Image im = (new ImageIcon(getClass().getResource("bib\\violao.jpg"))).getImage(); //g.drawImage(im, 0, 0, 100,100, null); g.drawImage(im, 0, 0, this); } }

OuvinteDoSom.java

package instrumentosvirtuais; import java.applet.Applet; import java.applet.AudioClip; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.File; import java.net.MalformedURLException; import javax.swing.JButton; class OuvinteDoSom implements MouseListener { public static void Wait(int t){ try { Thread.sleep(t); } catch (Exception z) {} } public static void Toca(String nome) { try { AudioClip clip = Applet.newAudioClip(new File("src\\instrumentosvirtuais\\bib\\"+nome+".wav").toURL()); clip.play(); } catch (MalformedURLException ex) { } } public void mousePressed (MouseEvent e) { JButton origem = (JButton)(e.getSource()); if (origem.getText().equals("D")){ Toca(""+50); Wait(10); Toca(""+40); Wait(10); Toca(""+32); Wait(10); Toca(""+22); Wait(10); Toca(""+12); } if (origem.getText().equals("G")){ Toca(""+63); Wait(10); Toca(""+52); Wait(10); Toca(""+40); Wait(10); Toca(""+30); Wait(10); Toca(""+23); Wait(10); Toca(""+13); } if (origem.getText().equals("Bm")){ Toca(""+62); Wait(10); Toca(""+52); Wait(10); Toca(""+44); Wait(10); Toca(""+34); Wait(10); Toca(""+23); Wait(10); Toca(""+12); } if (origem.getText().equals("A")){ Toca(""+60); Wait(10); Toca(""+50); Wait(10); Toca(""+42); Wait(10); Toca(""+32); Wait(10); Toca(""+22); Wait(10); Toca(""+10); } Toca(origem.getName()); } public void mouseEntered (MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mouseClicked(MouseEvent e) { } public void mouseReleased(MouseEvent e) { } }

Ferramentas pessoais