⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 piano.java

📁 Java电子琴是一个对于音乐方面的小工具,作为演示而做,功能由用户自己完善.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Piano extends Applet implements  ActionListener
{

    public void init()
    {

        byte byte0 = 12;
        byte byte1 = 21;
        byte byte2 = 15;
	byte byte3 = 20;
        byte byte4 = 100;
        byte byte5 = 5;
        byte byte6 = 16;
        byte byte7 = 66;
	byte byte8 = 21;
	byte byte9 = 15;
	char c = '\216';
        sound[0] = "w0.au";
        sound[1] = "w1.au";
        sound[2] = "w2.au";
        sound[3] = "w3.au";
        sound[4] = "w4.au";
        sound[5] = "w5.au";
        sound[6] = "w6.au";
        sound[7] = "w7.au";
        sound[8] = "w8.au";
        sound[9] = "w9.au";
        sound[10] = "w10.au";
        sound[11] = "w11.au";
        sound[12] = "w12.au";
        sound[13] = "w13.au";
        sound[14] = "w14.au";
        sound[15] = "w15.au";
        sound[16] = "w16.au";
        sound[17] = "w17.au";
        sound[18] = "w18.au";
        sound[19] = "w19.au";
        sound[20] = "w20.au";
        soundb[0] = "b0.au";
        soundb[1] = "b1.au";
        soundb[2] = "b2.au";
        soundb[3] = "b3.au";
        soundb[4] = "b4.au";
        soundb[5] = "b5.au";
        soundb[6] = "b6.au";
        soundb[7] = "b7.au";
        soundb[8] = "b8.au";
        soundb[9] = "b9.au";
        soundb[10] = "b10.au";
        soundb[11] = "b11.au";
        soundb[12] = "b12.au";
        soundb[13] = "b13.au";
        soundb[14] = "b14.au";
        record[0] = -1;
        for(int i = 0; i <= 49; i++)
        {
            memory1[i] = 0;
            memory[i] = 0;
        }

        showStatus("欢迎使用 Java Piano!");

        for(int k1 = 0; k1 <= 2; k1++)
        {
            for(int k = 0; k <= 6; k++)
            {
                play(getCodeBase(), sound[k1 * 7 + k]);
                String s = "载入 ";
                s = s.concat(String.valueOf(k1 * 7 + k + 1));
                s = s.concat(" 21 个音符.....");
                showStatus(s);
                   setBackground(Color.white);
                show();
            }

            for(int l = 0; l <= 4; l++)
                audio[0] = getAudioClip(getCodeBase(), soundb[k1 * 5 + l]);

        }

        kx[0] = 32;
        color[0] = 0;
        for(int i1 = 1; i1 < byte1; i1++)
        {
            kx[i1] = kx[0] + i1 * 20;
            color[i1] = 0;
        }

        kbx[0] = kx[0] + byte0;
        kbx[1] = kx[1] + byte0;
        kbx[2] = kx[3] + byte0;
        kbx[3] = kx[4] + byte0;
        kbx[4] = kx[5] + byte0;
        kbx[5] = kx[7] + byte0;
        kbx[6] = kx[8] + byte0;
        kbx[7] = kx[10] + byte0;
        kbx[8] = kx[11] + byte0;
        kbx[9] = kx[12] + byte0;
        kbx[10] = kx[14] + byte0;
        kbx[11] = kx[15] + byte0;
        kbx[12] = kx[17] + byte0;
        kbx[13] = kx[18] + byte0;
        kbx[14] = kx[19] + byte0;
        for(int j1 = 0; j1 < byte2; j1++)
            colorb[j1] = 0;

        clipr[0] = 0;
    setSize(550, 350);
setLayout ( new BorderLayout() );
Panel ButtonPanel = new Panel ();
 Panel ButtonPanel2 = new Panel ();
     ButtonPanel.setLayout (new GridLayout (1, 5,0,20));
    ButtonPanel2.setLayout (new GridLayout (7,1,20,0));

     ButtonPanel.add(RecordButton);
     ButtonPanel.add(PlayButton);
     ButtonPanel.add(ClearButton);
     ButtonPanel.add(SelButton);
     ButtonPanel.add(AddButton);
     RecordButton.addActionListener (this);
     PlayButton.addActionListener (this);
     ClearButton.addActionListener (this);
     SelButton.addActionListener (this);
     AddButton.addActionListener (this);
    add (ButtonPanel, BorderLayout.SOUTH);
    
	ButtonPanel2.add(Check1);
	ButtonPanel2.add(Check2);
	ButtonPanel2.add(Check3);
	ButtonPanel2.add(Check4);
	ButtonPanel2.add(Check5);
	ButtonPanel2.add(Check6);
add (ButtonPanel2, BorderLayout.EAST);
 
Check4Re[0]=-1;Check44Re[0]=-1;
Check5Re[0]=-1;Check55Re[0]=-1;
Check6Re[0]=-1;Check66Re[0]=-1;

repaint();
}

    public void paint(Graphics g)
    {
        char c = '\216';
        byte byte0 = 20;
        byte byte1 = 100;
        byte byte2 = 5;
        byte byte3 = 16;
        byte byte4 = 66;
        byte byte5 = 21;
        byte byte6 = 15;
        int ai[] = new int[11];


        Image image1 = getImage(getDocumentBase(), "piano.jpg");
        g.drawImage(image1, 0, 0, this);

        g.setColor(Color.black);
        Font nfont = new Font("宋体", 2, 30);
        g.setFont(nfont);
        g.drawString("欢迎使用 Java Piano", 50, 100);
        g.setColor(Color.black);
	Font nfont1 = new Font("宋体", 2, 14);
	g.setFont(nfont1);
        //g.drawString("", 50, 290);
        //g.drawString("", 100, 305);

      

        for(int i = 0; i < byte5; i++)
        {
            g.setColor(Color.black);
            g.drawRoundRect(kx[i], c, byte0, byte1, byte2, byte2);
            if(color[i] == 0)
                g.setColor(Color.white);
            else
                g.setColor(Color.gray);
            g.fillRoundRect(kx[i] + 1, c + 1, byte0 - 1, byte1 - 1, byte2, byte2);
        }

        for(int j = 0; j < byte6; j++)
        {
            g.setColor(Color.black);
            g.drawRoundRect(kbx[j], c, byte3, byte4, byte2, byte2);
            if(colorb[j] == 0)
                g.setColor(Color.black);
            else
                g.setColor(Color.gray);
            g.fillRoundRect(kbx[j] + 1, c + 1, byte3 - 1, byte4 - 1, byte2, byte2);
        }
    }

    public void update(Graphics g)
    {
        char c = '\216';
        byte byte0 = 20;
        byte byte1 = 100;
        byte byte2 = 5;
        byte byte3 = 16;
        byte byte4 = 66;
        byte byte5 = 21;
        byte byte6 = 15;
        boolean flag = false;
        if(memplay[0] == 1)
        {
            for(int i1 = 0; i1 <= record[0]; i1++)
            {
                clipr[0] = 1;
                if(memory1[i1] == 2)
                {
                    colorb[memory[i1]] = 1;
                    Graphics g1 = g.create();
                    g1.setColor(Color.gray);
                    g1.clipRect(kbx[memory[i1]] + 1, c + 1, byte3 - 1, byte4 - 1);
                    g1.fillRoundRect(kbx[memory[i1]] + 1, c + 1, byte3 - 1, byte4 - 1, byte2, byte2);
                    paint(g1);
                    play(getCodeBase(), soundb[memory[i1]]);
                    g1.dispose();
                    colorb[memory[i1]] = 0;
                }
                if(memory1[i1] == 3)
                {
                    color[memory[i1]] = 1;
                    Graphics g2 = g.create();
                    g2.setColor(Color.gray);
                    g2.clipRect(kx[memory[i1]] + 1, c + 1, byte0 - 1, byte1 - 1);
                    g2.fillRoundRect(kx[memory[i1]] + 1, c + 1, byte0 - 1, byte1 - 1, byte2, byte2);
                    paint(g2);
                    g2.dispose();
                    play(getCodeBase(), sound[memory[i1]]);
                    Graphics g3 = g.create();
                    g3.setColor(Color.white);
                    g3.clipRect(kx[memory[i1]] + 1, c + 1, byte0 - 1, byte1 - 1);
                    g3.fillRoundRect(kx[memory[i1]] + 1, c + 1, byte0 - 1, byte1 - 1, byte2, byte2);
                    g3.dispose();
                    color[memory[i1]] = 0;
                }
                for(int i = 0; i < byte6; i++)
                {
                    g.setColor(Color.black);
                    g.drawRoundRect(kbx[i], c, byte3, byte4, byte2, byte2);
                    if(colorb[i] == 0)
                        g.setColor(Color.black);
                    else
                        g.setColor(Color.gray);
                    g.fillRoundRect(kbx[i] + 1, c + 1, byte3 - 1, byte4 - 1, byte2, byte2);
                }

                try
                {
                    Thread.sleep(500L);
                }
                catch(InterruptedException _ex) { }
            }

            memplay[0] = 0;

        }
        for(int k = 0; k < byte5; k++)
        {
            if(color[k] >= 1)
            {
                g.clipRect(kx[k] + 1, c + 1, byte0 - 1, byte1 - 1);
                flag = true;
            }
            if(color[k] == 2)
                color[k] = 0;
        }

        for(int l = 0; l < byte6; l++)
        {
            if(colorb[l] >= 1)
            {
                g.clipRect(kbx[l] + 1, c + 1, byte3 - 1, byte4 - 1);
                flag = true;
            }
            if(colorb[l] == 2)
                colorb[l] = 0;
        }

        if(!flag && clipr[0] == 1)
        {
            g.clipRect(120, 128, 250, 12);
            clipr[0] = 0;
        }
        showStatus("弹琴,按琴键;记录,按Record. (最大允许 50个音符)。选择曲目,按Select");
        if(record[0] != -1)
            showStatus("录音重播,按PlayBack。录音清除,按Clear。录音添加,按Add。");
        paint(g);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -