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程序 键盘事件_java编写程序实现键盘钢琴,运用键盘事件、鼠标事件相关推荐

  1. java数字计算结果_Java编写程序之输入一个数字实现该数字阶乘的计算

    需求说明: 编写Java程序,输入一个数字,实现该数字阶乘的计算.一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! .例如,5的阶乘等于1*2*3*4*5,表示为5! = 120 ...

  2. java猴子分桃_java编写程序五只猴子分海滩上的一堆桃子答案

    下面给大家分享的编程题是和猴子分桃有关的内容,那么这道题目是怎样的呢?这道题目又应该如何来做解答?一起来看看具体的题目内容和答案吧. 首先我们要来看一下问题,下面是具体的题目. 一.题目 现在,在海滩 ...

  3. java向kafka推送数据_Java编写程序将数据存入Kafka中

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

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

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

  5. java程序 图形界面_java 图形程序

    第二章 Java程序设计环境 安装 Java 开发工具包 JDK : 编写Java程序的程序员使用的软件 JRE : 运行Java程序的环境,包含JVM和基本类库, 但不包含编译器 SE, EE, M ...

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

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

  7. java 写一个计算器_java编写一个计算器类

    展开全部 import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.aw ...

  8. 2n 用c语言编程程序,用C语言编写程序.ppt

    <用C语言编写程序.ppt>由会员分享,可在线阅读,更多相关<用C语言编写程序.ppt(64页珍藏版)>请在人人文库网上搜索. 1.第2章 用C语言编写程序,2.1 在屏幕上显 ...

  9. 60吨反渗透+混床程序 西门子200 smart 编写程序,西门子smart line触摸屏上位机组态

    60吨反渗透+混床程序. 西门子200 smart 编写程序,西门子smart line触摸屏上位机组态. 带模拟量,读写时钟,报警视图,用户管理,报警指示器,运行状态. 非常好的一个纯水项目实例. ...

最新文章

  1. 博士生4篇高分论文参加答辩,却遭评委批评:你写的太多了
  2. bootstrap与360浏览器不兼容问题
  3. java学习笔记(12) —— Struts2 通过 xml /json 实现简单的业务处理
  4. 6部BBC “教材级” 地理纪录片,有生之年必看系列!
  5. 中南大学12月13日考c语言,中南大学2010级C语言试卷
  6. 群晖 mysql 自动备份_宝塔定时备份网站及数据库至群晖FTP存储空间
  7. 网站并发300就很慢
  8. Codeforces Education Round 11
  9. 计算机管理工具怎么设置,电脑音频管理器怎么设置,教你电脑音频管理器怎么设置...
  10. jquery boxy插件
  11. 算法快学笔记(九):红黑二叉树
  12. 老钓友分享蚯蚓钓鲤鱼配方
  13. 修改Cisco交换机ntp服务器,Cisco交换机时间服务(NTP)的设置步驟
  14. 第03篇 以太坊POA联盟链介绍
  15. 7-30 正常血压 (6 分)
  16. aarch64指令集_ARMv8-AArch64简述
  17. [oeasy]教您玩转python - 0006 - 自由软件运动和开源运动
  18. 论文翻译-Densely Connected Convolutional Networks
  19. 大数据技术原理与应用3NoSQL数据库、云数据库
  20. Baseline | 2019 DCIC《 文化传承—汉字书法多场景识别》

热门文章

  1. fir.im Weekly
  2. 任务1、计算圆的面积
  3. [PS小教程]漂亮色调一秒变出来
  4. 玩转CSS3渐变(知识点部分)
  5. 效率源linux,效率源FAS7900现场勘验取证系统,多项产品功能惊喜来袭!
  6. 转:提问是第一领导力
  7. wcg2012世界结果
  8. 利用Python自动发送邮件
  9. 等保测评2.0超详细解读,收藏这一篇就够了
  10. 如何隐藏抖音界面的按钮和文字 - 抖音文字遮挡和重叠的解决办法