展开全部

复制粘贴,采纳即可。

import java.applet.AudioClip;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.io.File;

import java.io.IOException;

import java.net.MalformedURLException;

import java.net.URL;

import javax.imageio.ImageIO;

import javax.swing.JApplet;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class Keygame

{

private final static int WIDTH = 800;

private final static int HEIGHT = 600;

public static void main ( String[] args )

{

62616964757a686964616fe59b9ee7ad9431333337393634JFrame jFrame = new JFrame ();

jFrame.setTitle ("指法练习");

jFrame.setBounds (300, 50, WIDTH, HEIGHT);

jFrame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

Mypanel mp = new Mypanel (WIDTH, HEIGHT);

jFrame.add (mp);

Thread thread = new Thread (mp);

thread.start ();

jFrame.addKeyListener (mp);

jFrame.setVisible (true);

}

}

class Mypanel extends JPanel implements Runnable, KeyListener

{

private static final long serialVersionUID = 1L;

int width, height;

int x[] = new int[10];

int y[] = new int[10];

char c[] = new char[10];

int score = 1000;

Image bgImage;

AudioClip christmas = loadSound ("christmas.wav");

public Mypanel ( int width, int height )

{

this.width = width;

this.height = height;

try

{

bgImage = ImageIO.read (new File ("christmas.jpg"));

}

catch (IOException e)

{

e.printStackTrace ();

}

for ( int i = 0; i

{

x[i] = (int) ( Math.random () * 800 );

y[i] = (int) ( Math.random () * 600 );

c[i] = (char) ( Math.random () * 26 + 97 );

}

christmas.loop ();

}

public void paint ( Graphics g )

{

super.paint (g);

g.drawImage (bgImage, 0, 0, width, height, this);

g.setFont (new Font (Font.DIALOG, Font.BOLD, 17));

for ( int i = 0; i

{

g.setColor (Color.WHITE);

g.drawString (new Character (c[i]).toString (), x[i], y[i]);

g.setColor (Color.green);

g.drawString ("score: " + score, 5, 15);

}

g.dispose ();

}

public void run ()

{

while (true)

{

for ( int i = 0; i

{

y[i]++;

if (y[i] > 800)

{

y[i] = 0;

x[i] = (int) ( Math.random () * 600 );

c[i] = (char) ( Math.random () * 26 + 97 );

score -= 10;

}

}

try

{

Thread.sleep (10);

}

catch (Exception e0000)

{

e0000.printStackTrace ();

}

repaint ();

}

}

public AudioClip loadSound ( String filename )

{

URL url = null;

try

{

url = new URL ("file:" + filename);

}

catch (MalformedURLException e)

{}

return JApplet.newAudioClip (url);

}

@Override

public void keyPressed ( KeyEvent e )

{

char keyChar = e.getKeyChar ();

int nowY = -1;

int index = -1;

for ( int i = 0; i

{

if (keyChar == c[i])

{

if (y[i] > nowY)

{

nowY = y[i];

index = i;

}

score += 10;

}

}

if (index != -1)

{

y[index] = 0;

x[index] = (int) ( Math.random () * 800 );

c[index] = (char) ( Math.random () * 26 + 97 );

}

}

@Override

public void keyReleased ( KeyEvent e )

{}

@Override

public void keyTyped ( KeyEvent e )

{}

}

java窗体加入声音_我用JAVA写好了一个窗体游戏,怎么加背景音乐?相关推荐

  1. java midi没有声音_简单的Java MIDI示例不产生任何声音

    这个简单的代码在我用来测试的几台机器上没有产生任何声音.我正在Eclipse中运行代码,但我也尝试过使用命令行无济于事. public static void main(String[] args) ...

  2. java获取机器号_(转)JAVA获得机器码的实现

    http://yangshangchuan.iteye.com/blog/2012401 首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换: Java代码  收藏代码 /** *生成机 ...

  3. 新手学java 学哪方面_初学者学Java应从哪些方面学习?

    原标题:初学者学Java应从哪些方面学习? Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.那么,初学者学Java应从哪些方面学 ...

  4. java程序移动图形源程序_如何运用java程序设计创建移动图形

    那么这一节我们就来学习一下,如何运用java程序设计创建移动图形,希望大家能够好好学习这个课程,并且能够在这个基础上进行修改代码. 在上一节的教程中,我们学会了基本绘图方法,基本思路是先创建一个窗体框 ...

  5. java.sql在哪_我的Java访问MS SQL的程序错在哪了?谢谢!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我用的开发工具是Jbuilder2006, MS SQL SERVER 2000. 源程序是: package data; import java.*; ...

  6. java hdfs创建文件_使用HDFS java api 创建文件出错。

    //创建文件核心代码 public static void createNewHDFSFile(String toCreateFilePath, String content) throws IOEx ...

  7. java hdfs 新建目录_如何用java在hdfs中创建一个新目录?

    public static void main(String[] args) throws IOException, URISyntaxException { ????????????配置config ...

  8. 深入理解Java虚拟机知乎_深入理解Java虚拟机(类文件结构)

    深入理解Java虚拟机(类文件结构) 欢迎关注微信公众号:BaronTalk,获取更多精彩好文! 之前在阅读 ASM 文档时,对于已编译类的结构.方法描述符.访问标志.ACC_PUBLIC.ACC_P ...

  9. java继承和引用_浅谈Java继承、传递

    一.继承 1. 继承的概念: 子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 2. 继承中的初始化顺序: 从类的结构上而言,其内部可以有如下四种常见形态:属性(包括类属 ...

最新文章

  1. Could not create the view: An unexpected exception was thrown. Myeclipse空间报错
  2. CSS :active 伪类
  3. 目标检测算法之Fast R-CNN算法详解
  4. 我让代码生了个孩子继承了他爸爸谁知他爸爸继承了他爷爷(16)
  5. mod_wsgi的工作模式和配置
  6. 用U盘作为启动盘做系统步骤
  7. java搜索引擎创建索引_搜索引擎系列 ---lucene简介 创建索引和搜索初步
  8. shell 不等于_Shell 布尔运算符与逻辑运算符
  9. Oracle查看表空间使用率SQL脚本
  10. C++程序设计基础(1)程序的编译和执行
  11. orcl数据库先决条件检查时失败
  12. js+canvas绘制360加速球
  13. 网络工程师面试常见问题:OSPF篇
  14. linux软硬链接 计数,linux软硬连接知识点
  15. CodeForces 319B 栈
  16. 约束优化方法_1_——Zoutendijk可行方向法
  17. VSCode前端开发工具插件--LiveServer实时刷新网页
  18. 数字图像处理实验之对比度拉伸
  19. 机器人螺栓拆装_机器人拧螺栓:重庆高端装备制造企业的转型之路
  20. 如何在BIOS设置电脑主机刚接通电源后开机方式

热门文章

  1. 安装多个mysql及mysql服务
  2. Java 使用开源类库 Tesseract 实现图片文字识别
  3. 在java中如何输入角度_在Java中以特定角度绘制一条线
  4. Linux系统内存还有剩余就开始使用swap交换区了
  5. Vue ---- 指令
  6. python爬虫定时运行_python 每天如何定时启动爬虫任务
  7. Maven Install报错:Perhaps you are running on a JRE rather than a JDK
  8. mysql中float、double、decimal的区别
  9. 【Python网络爬虫】规则#20181023
  10. 手机端的1px细线问题