java编写程序实现键盘钢琴,运用键盘事件、鼠标事件

界面     实现 MouseListener,MouseMotionListener,KeyListener接口,当鼠标进入不同按钮时,会播放不同的声音。当点击键盘上的1~0时,会播放不同的声音。

Win.java

package piano;

import java.awt.*;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.awt.event.MouseMotionListener;

import java.io.FileInputStream;

import sun.audio.*;

import java.io.*;

import java.awt.event.*;

import javax.swing.*;

public class win extends JFrame implements  MouseListener,MouseMotionListener,KeyListener{

JPanel p=new JPanel();

JButton b1=new JButton("1");

JButton b2=new JButton("2");

JButton b3=new JButton("3");

JButton b4=new JButton("4");

JButton b5=new JButton("5");

JButton b6=new JButton("6");

JButton b7=new JButton("7");

JButton b8=new JButton("8");

JButton b9=new JButton("9");

JButton b0=new JButton("0");

JLabel a=new JLabel("Melodies and numbers");

JLabel b=new JLabel("Press on your key numbers and play melody.");

win(){

init();

setVisible(true);

setBounds(300,200,650,360);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

void init(){

p.setLayout(null);

setTitle("键盘钢琴");

p.setBackground(Color.pink);

a.setFont(new Font("Axure Handwriting",Font.BOLD,50));

a.setForeground(Color.red);

b.setFont(new Font("Axure Handwriting",Font.BOLD,20));

b.setForeground(Color.black);

a.setBounds(50,50,600,100);

b.setBounds(50,230,600,100);

b1.setBounds(50,150,50,90);

b2.setBounds(105,150,50,90);

b3.setBounds(160,150,50,90);

b4.setBounds(215,150,50,90);

b5.setBounds(270,150,50,90);

b6.setBounds(325,150,50,90);

b7.setBounds(380,150,50,90);

b8.setBounds(435,150,50,90);

b9.setBounds(490,150,50,90);

b0.setBounds(545,150,50,90);

p.add(b1);

p.add(b2);

p.add(b3);

p.add(b4);

p.add(b5);

p.add(b6);

p.add(b7);

p.add(b8);

p.add(b9);

p.add(b0);

p.add(a);

p.add(b);

add(p);

b0.addMouseListener(this);

b0.addMouseMotionListener(this);

b1.addMouseListener(this);

b1.addMouseMotionListener(this);

b2.addMouseListener(this);

b2.addMouseMotionListener(this);

b3.addMouseListener(this);

b3.addMouseMotionListener(this);

b4.addMouseListener(this);

b4.addMouseMotionListener(this);

b5.addMouseListener(this);

b5.addMouseMotionListener(this);

b6.addMouseListener(this);

b6.addMouseMotionListener(this);

b7.addMouseListener(this);

b7.addMouseMotionListener(this);

b8.addMouseListener(this);

b8.addMouseMotionListener(this);

b9.addMouseListener(this);

b9.addMouseMotionListener(this);

b0.addKeyListener(this);

b1.addKeyListener(this);

b2.addKeyListener(this);

b3.addKeyListener(this);

b4.addKeyListener(this);

b5.addKeyListener(this);

b6.addKeyListener(this);

b7.addKeyListener(this);

b8.addKeyListener(this);

b9.addKeyListener(this);

}

public void mousePressed(MouseEvent e){}

public void mouseReleased(MouseEvent e) {}

public void mouseEntered(MouseEvent e){

if(e.getSource()==b1){

try {

FileInputStream fileau=new  FileInputStream("10.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getSource()==b2){

try {

FileInputStream fileau=new  FileInputStream("11.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getSource()==b3){

try {

FileInputStream fileau=new  FileInputStream("12.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getSource()==b4){

try {

FileInputStream fileau=new  FileInputStream("13.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getSource()==b5){

try {

FileInputStream fileau=new  FileInputStream("14.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getSource()==b6){

try {

FileInputStream fileau=new  FileInputStream("15.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getSource()==b7){

try {

FileInputStream fileau=new  FileInputStream("16.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getSource()==b8){

try {

FileInputStream fileau=new  FileInputStream("17.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getSource()==b9){

try {

FileInputStream fileau=new  FileInputStream("18.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getSource()==b0){

try {

FileInputStream fileau=new  FileInputStream("19.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

}

public void mouseExited(MouseEvent e) {}

public void mouseClicked(MouseEvent e) {}

public void mouseDragged(MouseEvent e){}

public void mouseMoved(MouseEvent e)  {}

public void keyPressed(KeyEvent e){

if(e.getKeyChar()==KeyEvent.VK_1){

try {

FileInputStream fileau=new  FileInputStream("10.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getKeyChar()==KeyEvent.VK_2){

try {

FileInputStream fileau=new  FileInputStream("11.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getKeyChar()==KeyEvent.VK_3){

try {

FileInputStream fileau=new  FileInputStream("12.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getKeyChar()==KeyEvent.VK_4){

try {

FileInputStream fileau=new  FileInputStream("13.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getKeyChar()==KeyEvent.VK_5){

try {

FileInputStream fileau=new  FileInputStream("14.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getKeyChar()==KeyEvent.VK_6){

try {

FileInputStream fileau=new  FileInputStream("15.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getKeyChar()==KeyEvent.VK_7){

try {

FileInputStream fileau=new  FileInputStream("16.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getKeyChar()==KeyEvent.VK_8){

try {

FileInputStream fileau=new  FileInputStream("17.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getKeyChar()==KeyEvent.VK_9){

try {

FileInputStream fileau=new  FileInputStream("18.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

if(e.getKeyChar()==KeyEvent.VK_0){

try {

FileInputStream fileau=new  FileInputStream("19.au");

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

} catch (Exception e1) {

e1.printStackTrace();

}

}

}

public void keyTyped(KeyEvent e){}

public void keyReleased(KeyEvent e){}

}

主函数:

package piano;

public class test4 {

public static void main(String args[]){

new win();

}

}

java编写程序实现键盘钢琴,运用键盘事件、鼠标事件相关推荐

  1. 3.8编写程序 ,要求用户从键盘输入一个年份,程序输出改年出生的人的生肖。中国生肖基于12年一个周期,Java

    1. 题目要求   编写程序 ,要求用户从键盘输入一个年份,程序输出改年出生的人的生肖.中国生肖基于12年一个周期,   每年一个生肖代表.鼠(rat).牛(ox).虎(tiger).兔(rabbit ...

  2. java编写程序上机实验,《Java程序设计》上机实验

    <<Java程序设计>上机实验>由会员分享,可在线阅读,更多相关<<Java程序设计>上机实验(19页珍藏版)>请在技术文库上搜索. 1.tor的安装及 ...

  3. 基于OpenGL编写一个简易的2D渲染框架-07 鼠标事件和键盘事件

    这次为程序添加鼠标事件和键盘事件 当检测到鼠标事件和键盘事件的信息时,捕获其信息并将信息传送到需要信息的对象处理.为此,需要一个可以分派信息的对象,这个对象能够正确的把信息交到正确的对象. 实现思路: ...

  4. Java编写程序将数据存入Kafka中

    Kafka是一个类似于RabbitMQ的消息系统,它的主要功能是消息的发布和订阅.处理和存储. 1.它类似于一个消息系统,读写流式的数据. 2.编写可扩展的流应用处理程序,用于实时事件响应的场景. 3 ...

  5. 采用JAVA编写程序实现从文件读取操作

    采用JAVA编写程序实现从文件读取操作 代码: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io ...

  6. Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...

    怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ... 4个答案  提问时间: 2011-12-16  22个赞 回答:这个图形对吧? * *** ...

  7. byfen网java_用java编写程序根据考试成绩的等级打印出百分制分数段

    用java编写程序,根据考试成绩的等级打印出百分制分数段:设A为90分以上,B为80分以上,C为70分以上,D为60分以上,E为59分以下.要求在程序中使用开关语句.上级运行其结果是否符合设计要求: ...

  8. java程序步骤_java编写程序的步骤是什么?java编写程序步骤实例讲解

    写java编程就是一步一步的来,这样才会写好一个编程,之后也才能正常的运行,那么java编写程序的步骤是什么?今天我们就来给大家讲解一下这方面的内容.大家可以参考以下文章! 1.编写源文件 使用文本编 ...

  9. java编写程序实现求三角形、正方形和圆的面积

    java编写程序实现求三角形.正方形和圆的面积,要求先设计一个公共的父类,在其中·定义求面积的方法,再继承得到各种形状 package practice3; abstract class shape{ ...

最新文章

  1. iOS enum 定义与使用
  2. 网络基础知识总结_交换机
  3. acm公选课第三节4.7直播4.9补 递归 深搜啥的
  4. Silverlight学习笔记(三):创建第一个Silverlight应用程序
  5. 【Python】猜数小游戏(文件操作)
  6. 为什么总是有人说Java啰嗦,却没人说C++啰嗦?
  7. c# combobox集合数据不显示_Excel也能玩转百万数据
  8. 打包图片上传cdn_Media Buy之Landing Page的资源文件CDN部署方案
  9. Android ContentProvider简单总结
  10. RDCMan安装使用说明
  11. 大咖联袂发布 《慧技术·惠金融——2022金融科技趋势研究报告》开放下载
  12. 我的团长我的团第二十七集
  13. VPS、云服务器(云主机)和虚拟主机有何异同?
  14. 右键后资源管理器重启
  15. crontab 每天凌晨12点定时器_crontab命令定时备份执行脚本
  16. firefox 配置
  17. 2021年前端岗位面试题 “三”(本人亲测)
  18. 第6章 计算机的运算方法
  19. java 单选题_JAVA单项选择题
  20. 第四十五天 百度地图定位SDK

热门文章

  1. python动态爱心曲线_用Python来画一条动态心形曲线
  2. 科目二考试项目和操作要求
  3. 代码随想录训练营day48
  4. 打包JavaWeb项目的时候报错Error:(9,26) java: 程序包javax.servlet.http不存在
  5. WIN8 搭建FTP服务器
  6. YR8015非隔离式AC转DC电源芯片外围简单220V转5V转3.3V无需变压器 适用于小台灯小夜灯 小家电控制板的供电
  7. 微信小程序(二)-- 项目实战
  8. GC垃圾回收算法三种方式
  9. 不同地域的内容偏好性分析
  10. DW CC2019软件安装破解教程(附安装包下载)