java编写程序实现键盘钢琴,运用键盘事件、鼠标事件
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编写程序实现键盘钢琴,运用键盘事件、鼠标事件相关推荐
- 3.8编写程序 ,要求用户从键盘输入一个年份,程序输出改年出生的人的生肖。中国生肖基于12年一个周期,Java
1. 题目要求 编写程序 ,要求用户从键盘输入一个年份,程序输出改年出生的人的生肖.中国生肖基于12年一个周期, 每年一个生肖代表.鼠(rat).牛(ox).虎(tiger).兔(rabbit ...
- java编写程序上机实验,《Java程序设计》上机实验
<<Java程序设计>上机实验>由会员分享,可在线阅读,更多相关<<Java程序设计>上机实验(19页珍藏版)>请在技术文库上搜索. 1.tor的安装及 ...
- 基于OpenGL编写一个简易的2D渲染框架-07 鼠标事件和键盘事件
这次为程序添加鼠标事件和键盘事件 当检测到鼠标事件和键盘事件的信息时,捕获其信息并将信息传送到需要信息的对象处理.为此,需要一个可以分派信息的对象,这个对象能够正确的把信息交到正确的对象. 实现思路: ...
- Java编写程序将数据存入Kafka中
Kafka是一个类似于RabbitMQ的消息系统,它的主要功能是消息的发布和订阅.处理和存储. 1.它类似于一个消息系统,读写流式的数据. 2.编写可扩展的流应用处理程序,用于实时事件响应的场景. 3 ...
- 采用JAVA编写程序实现从文件读取操作
采用JAVA编写程序实现从文件读取操作 代码: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io ...
- Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...
怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ... 4个答案 提问时间: 2011-12-16 22个赞 回答:这个图形对吧? * *** ...
- byfen网java_用java编写程序根据考试成绩的等级打印出百分制分数段
用java编写程序,根据考试成绩的等级打印出百分制分数段:设A为90分以上,B为80分以上,C为70分以上,D为60分以上,E为59分以下.要求在程序中使用开关语句.上级运行其结果是否符合设计要求: ...
- java程序步骤_java编写程序的步骤是什么?java编写程序步骤实例讲解
写java编程就是一步一步的来,这样才会写好一个编程,之后也才能正常的运行,那么java编写程序的步骤是什么?今天我们就来给大家讲解一下这方面的内容.大家可以参考以下文章! 1.编写源文件 使用文本编 ...
- java编写程序实现求三角形、正方形和圆的面积
java编写程序实现求三角形.正方形和圆的面积,要求先设计一个公共的父类,在其中·定义求面积的方法,再继承得到各种形状 package practice3; abstract class shape{ ...
最新文章
- iOS enum 定义与使用
- 网络基础知识总结_交换机
- acm公选课第三节4.7直播4.9补 递归 深搜啥的
- Silverlight学习笔记(三):创建第一个Silverlight应用程序
- 【Python】猜数小游戏(文件操作)
- 为什么总是有人说Java啰嗦,却没人说C++啰嗦?
- c# combobox集合数据不显示_Excel也能玩转百万数据
- 打包图片上传cdn_Media Buy之Landing Page的资源文件CDN部署方案
- Android ContentProvider简单总结
- RDCMan安装使用说明
- 大咖联袂发布 《慧技术·惠金融——2022金融科技趋势研究报告》开放下载
- 我的团长我的团第二十七集
- VPS、云服务器(云主机)和虚拟主机有何异同?
- 右键后资源管理器重启
- crontab 每天凌晨12点定时器_crontab命令定时备份执行脚本
- firefox 配置
- 2021年前端岗位面试题 “三”(本人亲测)
- 第6章 计算机的运算方法
- java 单选题_JAVA单项选择题
- 第四十五天 百度地图定位SDK
热门文章
- python动态爱心曲线_用Python来画一条动态心形曲线
- 科目二考试项目和操作要求
- 代码随想录训练营day48
- 打包JavaWeb项目的时候报错Error:(9,26) java: 程序包javax.servlet.http不存在
- WIN8 搭建FTP服务器
- YR8015非隔离式AC转DC电源芯片外围简单220V转5V转3.3V无需变压器 适用于小台灯小夜灯 小家电控制板的供电
- 微信小程序(二)-- 项目实战
- GC垃圾回收算法三种方式
- 不同地域的内容偏好性分析
- DW CC2019软件安装破解教程(附安装包下载)