import java.awt.*; import java.awt.event.*; import javax.sound.midi.*; public class ksy extends Frame implements MouseListener{ protected Color x1=Color.yellow, x2=Color.yellow, x3=Color.yellow, x4=Color.yellow, x5=Color.yellow, x6=Color.yellow, x7=Color.yellow, x8=Color.yellow; int x,y; Synthesizer synthesizer; MidiChannel kanal; public ksy(){ setTitle("ksylofon:HH"); setSize(500,300); setVisible(true); addMouseListener(this); try{ synthesizer=MidiSystem.getSynthesizer(); synthesizer.open(); kanal=synthesizer.getChannels()[0]; }catch(Exception e){} } public void mousePressed(MouseEvent e){ try{ x=e.getX(); y=e.getY(); if(x>100 && x<130 && y>100 && y<200){ x1=Color.red; x2=Color.yellow; x3=Color.yellow; x4=Color.yellow; x5=Color.yellow; x6=Color.yellow; x7=Color.yellow; x8=Color.yellow; repaint(); new Piiksuja(kanal, 60); } if(x>135 && x<165 && y>100 && y<200){ x1=Color.yellow; x2=Color.red; x3=Color.yellow; x4=Color.yellow; x5=Color.yellow; x6=Color.yellow; x7=Color.yellow; x8=Color.yellow; repaint(); new Piiksuja(kanal, 62); } if(x>170 && x<200 && y>100 && y<200){ x1=Color.yellow; x2=Color.yellow; x3=Color.red; x4=Color.yellow; x5=Color.yellow; x6=Color.yellow; x7=Color.yellow; x8=Color.yellow; repaint(); new Piiksuja(kanal, 64); } if(x>205 && x<235 && y>100 && y<200){ x1=Color.yellow; x2=Color.yellow; x3=Color.yellow; x4=Color.red; x5=Color.yellow; x6=Color.yellow; x7=Color.yellow; x8=Color.yellow; repaint(); new Piiksuja(kanal, 65); } if(x>240 && x<270 && y>100 && y<200){ x1=Color.yellow; x2=Color.yellow; x3=Color.yellow; x4=Color.yellow; x5=Color.red; x6=Color.yellow; x7=Color.yellow; x8=Color.yellow; repaint(); new Piiksuja(kanal, 67); } if(x>275 && x<305 && y>100 && y<200){ x1=Color.yellow; x2=Color.yellow; x3=Color.yellow; x4=Color.yellow; x5=Color.yellow; x6=Color.red; x7=Color.yellow; x8=Color.yellow; repaint(); new Piiksuja(kanal, 69); } if(x>310 && x<340 && y>100 && y<200){ x1=Color.yellow; x2=Color.yellow; x3=Color.yellow; x4=Color.yellow; x5=Color.yellow; x6=Color.yellow; x7=Color.red; x8=Color.yellow; repaint(); new Piiksuja(kanal, 71); } if(x>345 && x<375 && y>100 && y<200){ x1=Color.yellow; x2=Color.yellow; x3=Color.yellow; x4=Color.yellow; x5=Color.yellow; x6=Color.yellow; x7=Color.yellow; x8=Color.red; repaint(); new Piiksuja(kanal, 72); } }catch(Exception viga){} } public void mouseReleased(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseClicked(MouseEvent e){} public void paint(Graphics g){ g.setColor(x1); g.fillRect(100,100,30,100); g.setColor(x2); g.fillRect(135,100,30,100); g.setColor(x3); g.fillRect(170,100,30,100); g.setColor(x4); g.fillRect(205,100,30,100); g.setColor(x5); g.fillRect(240,100,30,100); g.setColor(x6); g.fillRect(275,100,30,100); g.setColor(x7); g.fillRect(310,100,30,100); g.setColor(x8); g.fillRect(345,100,30,100); } public static void main(String argumendid[]){ new ksy(); } } class Piiksuja extends Thread{ MidiChannel kanal; int aeg=1000, korgus, valjus=70; public Piiksuja(MidiChannel kanal1, int korgus1){ kanal=kanal1; korgus=korgus1; start(); } public void run(){ kanal.noteOn(korgus, valjus); try{Thread.sleep(aeg);}catch(Exception e){} kanal.noteOff(korgus); } }