Create Java MP3 To Wav Converter

 All converted file has name like original file with added .wav at the end and located in the same directory with original mp3 file.
You can convert multiple files in a time.

Mp3ToWavConvert.java

/**
 * Created by Mohd Anis
 * on Jan 30, 2011
 * Files : Mp3ToWavConvert.java; SwingWorker.java
 * API javazoom.jar
 * Original by: http://java2everyone.blogspot.com.br/2011/01/create-java-mp3-to-wav-converter.html
 * https://pastebin.com/raw/qHjM6TEh
 * https://pastebin.com/raw/Q2tPqWdJ
 * Last modified: 2017/04/04 by J. Marcos B.
 * Site: https://isjavado.wordpress.com/2017/04/04/create-java-mp3-to-wav-converter/
 */

import java.awt.Cursor;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Toolkit;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;
import javax.swing.filechooser.FileFilter;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.File;
import javax.swing.JLabel;

import javazoom.jl.converter.Converter;

public class Mp3ToWavConvert extends JFrame {

    private static final long serialVersionUID = 1L;
    private JPanel contentPane;

    JFileChooser jfc;
    SwingWorker worker;
    File selectedFile;
    JButton btnMp3 = new JButton();
    JLabel lblStatus = new JLabel("STATUS : No File To Convert.");

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Mp3ToWavConvert frame = new Mp3ToWavConvert();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    void updateJlabel(final String jlabelText) {
        Runnable doSetProgressBarValue = new Runnable() {
            public void run() {
                lblStatus.setText(jlabelText);
            }
        };
        SwingUtilities.invokeLater(doSetProgressBarValue);
    }

    Object doWork() {
        File[] groupOfFiles = jfc.getSelectedFiles();
        int numberOfFiles = groupOfFiles.length;
        for (int i = 0; i < numberOfFiles; i++) {
            btnMp3.setEnabled(false);
            selectedFile = groupOfFiles[i];
            if (selectedFile.getName().toLowerCase().endsWith(".mp3")) {
                try {
                    updateJlabel("Please wait : " + selectedFile.getName()
                            + " still in converting...");
                    Converter myConverter = new Converter();
                    myConverter.convert(selectedFile.getPath(),
                            selectedFile.getPath() + ".wav");

                    JOptionPane.showMessageDialog(null, "File converted.",
                            "Free Java MP3 To Wav Converter",
                            JOptionPane.INFORMATION_MESSAGE);

                } catch (Exception error) {
                    // updateJlabel("Converting Process Fail For : "+selectedFile.getName());
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(null,
                            "Converting Process Fail!", "ERROR!",
                            JOptionPane.ERROR_MESSAGE);
                }
            } else {
                // updateJlabel(selectedFile.getName()+" not a MP3 File");
                Toolkit.getDefaultToolkit().beep();
                JOptionPane.showMessageDialog(null, selectedFile.getName()
                        + " not a MP3 file!", "ERROR!",
                        JOptionPane.ERROR_MESSAGE);
            }
        }
        return new Object();
    }

    // Class TypeOfFile
    class TypeOfFile extends FileFilter {
        // Type of file that should be display in JFileChooser will be set here
        // We choose to display only directory and mp3 file
        public boolean accept(File f) {
            return f.getName().toLowerCase().endsWith(".mp3")
                    || f.isDirectory();
        }

        // Set description for the type of file that should be display
        public String getDescription() {
            return ".mp3 files";
        }
    }

    /**
     * Create the frame.
     */
    public Mp3ToWavConvert() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // setBounds(100, 100, 450, 300);
        this.setSize(500, 300);
        this.setTitle("Free Java MP3 To Wav Converter");
        // Tamanho fixo do programa, sem alteção
        this.setResizable(false);
        // Deixa o programa no meio da tela, centralizado
        this.setLocationRelativeTo(null);

        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);
        btnMp3.setFont(new Font("Tahoma", Font.BOLD, 12));

        btnMp3.setText("Mp3");
        btnMp3.setToolTipText("Mp3");
        btnMp3.setCursor(new Cursor(Cursor.HAND_CURSOR));
        btnMp3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                if (e.getSource() == btnMp3) {
                    btnMp3.setEnabled(false);

                    jfc = new JFileChooser();
                    jfc.setMultiSelectionEnabled(true);
                    jfc.setFileFilter(new TypeOfFile());
                    jfc.setDialogTitle("Select File To Convert");
                    // The method showDialog(int) from the type Activity is
                    // deprecated.
                    // int a = jfc.showDialog(this, "Convert");
                    int a = jfc.showSaveDialog(null);
                    if (a == JFileChooser.APPROVE_OPTION) {
                        worker = new SwingWorker() {
                            public Object construct() {
                                return doWork();
                            }

                            public void finished() {
                                btnMp3.setEnabled(true);
                                updateJlabel("STATUS : No File To Convert");
                                // JOptionPane.showMessageDialog(null, "",
                                // "ERROR",
                                // JOptionPane.ERROR_MESSAGE);
                            }
                        };
                        worker.start();
                    } else {
                        btnMp3.setEnabled(true);
                    }
                }
            }
        });
        btnMp3.setBounds(201, 237, 89, 23);
        contentPane.add(btnMp3);

        JLabel lblInformation = new JLabel();
        lblInformation.setHorizontalAlignment(SwingConstants.CENTER);
        lblInformation.setFont(new Font("Arial", Font.BOLD, 12));
        lblInformation
                .setText("<html>     All converted file has name like original file with added .wav at the end and located in the same "
                        + "directory with original mp3 file."
                        + "
You can convert multiple files in a time.</html>");
        lblInformation.setBounds(73, 76, 371, 100);
        contentPane.add(lblInformation);

        lblStatus.setBounds(73, 187, 371, 14);
        lblStatus.setHorizontalAlignment(SwingConstants.CENTER);
        contentPane.add(lblStatus);

        JLabel lblTitle = new JLabel("Mp3 To Wav");
        lblTitle.setHorizontalAlignment(SwingConstants.CENTER);
        lblTitle.setFont(new Font("Arial Black", Font.BOLD, 24));
        lblTitle.setBounds(73, 11, 371, 54);
        contentPane.add(lblTitle);
    }
}
// I will put this complete source codes in my blog
// http://java2everyone.blogspot.com.br/2011/01/create-java-mp3-to-wav-converter.html
SwingWorker.java
import javax.swing.SwingUtilities;

/**
 * This is the 3rd version of SwingWorker (also known as SwingWorker 3), an
 * abstract class that you subclass to perform GUI-related work in a dedicated
 * thread. For instructions on using this class, see:
 *
 * http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html
 *
 * Note that the API changed slightly in the 3rd version: You must now invoke
 * start() on the SwingWorker after creating it.
 */
public abstract class SwingWorker {
    private Object value; // see getValue(), setValue()
    private Thread thread;

    /**
     * Class to maintain reference to current worker thread under separate
     * synchronization control.
     */
    private static class ThreadVar {
        private Thread thread;

        ThreadVar(Thread t) {
            thread = t;
        }

        synchronized Thread get() {
            return thread;
        }

        synchronized void clear() {
            thread = null;
        }
    }

    private ThreadVar threadVar;

    /**
     * Get the value produced by the worker thread, or null if it hasn't been
     * constructed yet.
     */
    protected synchronized Object getValue() {
        return value;
    }

    /**
     * Set the value produced by worker thread
     */
    private synchronized void setValue(Object x) {
        value = x;
    }

    /**
     * Compute the value to be returned by the <code>get</code> method.
     */
    public abstract Object construct();

    /**
     * Called on the event dispatching thread (not on the worker thread) after
     * the <code>construct</code> method has returned.
     */
    public void finished() {

    }

    /**
     * A new method that interrupts the worker thread. Call this method to force
     * the worker to stop what it's doing.
     */
    public void interrupt() {
        Thread t = threadVar.get();
        if (t != null) {
            t.interrupt();
        }
        threadVar.clear();
    }

    /**
     * Return the value created by the <code>construct</code> method. Returns
     * null if either the constructing thread or the current thread was
     * interrupted before a value was produced.
     *
     * @return the value created by the <code>construct</code> method
     */
    public Object get() {
        while (true) {
            Thread t = threadVar.get();
            if (t == null) {
                return getValue();
            }
            try {
                t.join();
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt(); // propagate
                return null;
            }
        }
    }

    /**
     * Start a thread that will call the <code>construct</code> method and then
     * exit.
     */
    public SwingWorker() {
        final Runnable doFinished = new Runnable() {
            public void run() {
                finished();
            }
        };

        Runnable doConstruct = new Runnable() {
            public void run() {
                try {
                    setValue(construct());
                } finally {
                    threadVar.clear();
                }

                SwingUtilities.invokeLater(doFinished);
            }
        };

        Thread t = new Thread(doConstruct);
        threadVar = new ThreadVar(t);
    }

    /**
     * Start the worker thread.
     */
    public void start() {
        Thread t = threadVar.get();
        if (t != null) {
            t.start();
        }
    }

    public Thread getThread() {
        return thread;
    }

    public void setThread(Thread thread) {
        this.thread = thread;
    }
}
// I will put this complete source codes in my blog
// My blog url is http://java2everyone.blogspot.com
Thank you all.

Deafword – Um Editor De Textos Baseado Em Libras

DeafWord ScreenShortPessoal olhem que ideia mais legal essa. Um aplicativo em Java que é um editor de textos baseado em Libras. O aplicativo não está totalmente finalizado, ainda falta muitas coisas que podem ser implementada, melhorado, os autores originais não conseguiram dar continuidade ao projeto, mas disponibilizaram prontamente o que já foi desenvolvido.

Quero muito agradecer a Ellen Souza que foi a primeira em entra em contato comigo e também agradecer ao Cleyton Vanut que me mandou o fonte.

Quem gostaria de da continuidade a esse projeto? Quem precisa de um projeto para o seu TCC e/ou trabalho de curso mesmo pode da um upgrade nesse projeto e terá um ótimo TCC.

DeafWordPORTUGUÊS PARA DEFICIENTES AUDITIVOS: EXPERIÊNCIAS INICIAIS COM UM EDITOR DE TEXTOS BASEADO NA LIBRAS

O Deafword tem como objetivo apresentar para estudantes portadores de deficiência auditiva uma interface focada principalmente nos sinais da LIBRAS, diferentemente de outros sistemas de edição de textos que apresenta foco principal no português. O sistema possui as características básicas de edição de texto permitindo que o aluno surdo possa produzir frases e textos, apoiado pela visualização da forma gestual das expressões.
O projeto inicial do editor de texto traz, na forma de sinais, o alfabeto e as primeiras categorias de palavras implementadas para utilização na construção de textos dentro da categoria família, apresentação pessoal, informática e tempo. A ideia é que o Deafword possa evoluir para uma ferramenta de autoria, na qual o próprio professor mediador possa gravar e adicionar na base de dados as suas expressões idiomáticas em LIBRAS, juntamente com o respectivo termo em português.

Autores:
Ronnie E. S. Santos da Universidade Federal de Pernambuco/Brasil Email: ress@gmail.com
Ellen P. R. Souza da Universidade Federal Rural de Pernambuco/Brasil Email: ellen.polliana@gmail.com
Cleyton V. C. de Magalhães da Universidade Federal de Pernambuco/Brasil Email: cvcm@gmail.com
Jozinalva S. Maciel do Centro Educacional de Triunfo Prefeitura Municipal de Triunfo, Pernambuco/Brasil Email: josinalvamaciel@yahoo.com.br
Jorge S. Correia-Neto da Universidade Federal Rural de Pernambuco/Brasil Email: jorgecorreianeto@gmail.com

Aqui vai as classes Java para estudo e implementação do aplicativo.

Primeira classe Java é a Controle.java

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument;

public class Controle implements ActionListener {

    GUI gui = new GUI();
    int i = 0;
    int j = 0;
    int negrito = 0;
    int italico = 0;
    int centro = 0;
    int direita = 0;
    Font fonte;

    ImageIcon cat0 = new ImageIcon("src/Imagens/Categorias/Saudações.gif");
    ImageIcon cat1 = new ImageIcon("src/Imagens/Categorias/Família.gif");
    ImageIcon cat2 = new ImageIcon("src/Imagens/Categorias/Identificação.gif");

    ImageIcon vetor_categorias[] = { cat0, cat1, cat2 };

    ImageIcon esq = new ImageIcon(
            Controle.class.getResource("Imagens/Menu/esq.png"));
    ImageIcon cen = new ImageIcon(
            Controle.class.getResource("Imagens/Menu/centralizado.png"));
    ImageIcon dir = new ImageIcon(
            Controle.class.getResource("Imagens/Menu/dir.png"));

    // ImageIcon img0 = new
    // ImageIcon("src/Imagens/Palavras/Saudacoes/Bem vindo.gif");
    ImageIcon img0 = new ImageIcon(
            "src/Imagens/Palavras/Saudacoes/2. Bem vindo.gif");
    ImageIcon img1 = new ImageIcon(
            "src/Imagens/Palavras/Saudacoes/3. Bom dia.gif");
    ImageIcon img2 = new ImageIcon(
            "src/Imagens/Palavras/Saudacoes/4. Boa tarde.gif");
    ImageIcon img3 = new ImageIcon(
            "src/Imagens/Palavras/Saudacoes/5. Boa noite 1.gif");
    ImageIcon img4 = new ImageIcon(
            "src/Imagens/Palavras/Saudacoes/6. Boa noite 2.gif");
    ImageIcon img5 = new ImageIcon(
            "src/Imagens/Palavras/Saudacoes/7. com licença.gif");
    ImageIcon img6 = new ImageIcon(
            "src/Imagens/Palavras/Saudacoes/8. desculpe.gif");
    ImageIcon img7 = new ImageIcon(
            "src/Imagens/Palavras/Saudacoes/9. perdão.gif");
    ImageIcon img8 = new ImageIcon(
            "src/Imagens/Palavras/Saudacoes/10. obrigado.gif");
    ImageIcon img9 = new ImageIcon(
            "src/Imagens/Palavras/Saudacoes/11. de nada.gif");

    ImageIcon img10 = new ImageIcon(
            "src/Imagens/Palavras/Familia/01. marido.gif");
    ImageIcon img11 = new ImageIcon(
            "src/Imagens/Palavras/Familia/02. esposa.gif");
    ImageIcon img12 = new ImageIcon("src/Imagens/Palavras/Familia/03. pai.gif");
    ImageIcon img13 = new ImageIcon("src/Imagens/Palavras/Familia/04. mãe.gif");
    ImageIcon img14 = new ImageIcon("src/Imagens/Palavras/Familia/05. bebê.gif");
    ImageIcon img15 = new ImageIcon(
            "src/Imagens/Palavras/Familia/06. filho.gif");
    ImageIcon img16 = new ImageIcon(
            "src/Imagens/Palavras/Familia/07. filha.gif");
    ImageIcon img17 = new ImageIcon(
            "src/Imagens/Palavras/Familia/08. menino.gif");
    ImageIcon img18 = new ImageIcon(
            "src/Imagens/Palavras/Familia/09. menina.gif");
    ImageIcon img19 = new ImageIcon(
            "src/Imagens/Palavras/Familia/10. jovem.gif");
    ImageIcon img20 = new ImageIcon(
            "src/Imagens/Palavras/Familia/11. rapaz.gif");
    ImageIcon img21 = new ImageIcon("src/Imagens/Palavras/Familia/12. moça.gif");
    ImageIcon img22 = new ImageIcon(
            "src/Imagens/Palavras/Familia/13. irmão.gif");
    ImageIcon img23 = new ImageIcon("src/Imagens/Palavras/Familia/14. irmã.gif");
    ImageIcon img24 = new ImageIcon(
            "src/Imagens/Palavras/Familia/15. filho adotivo.gif");
    ImageIcon img25 = new ImageIcon(
            "src/Imagens/Palavras/Familia/16. meio irmão.gif");
    ImageIcon img26 = new ImageIcon("src/Imagens/Palavras/Familia/17. vovô.gif");
    ImageIcon img27 = new ImageIcon("src/Imagens/Palavras/Familia/18. vovó.gif");
    ImageIcon img28 = new ImageIcon(
            "src/Imagens/Palavras/Familia/19. padrasto.gif");
    ImageIcon img29 = new ImageIcon(
            "src/Imagens/Palavras/Familia/20. madrasta.gif");
    ImageIcon img30 = new ImageIcon("src/Imagens/Palavras/Familia/21. tio.gif");
    ImageIcon img31 = new ImageIcon("src/Imagens/Palavras/Familia/22. tia.gif");
    ImageIcon img32 = new ImageIcon(
            "src/Imagens/Palavras/Familia/23. primo.gif");
    ImageIcon img33 = new ImageIcon(
            "src/Imagens/Palavras/Familia/24. sogra.gif");
    ImageIcon img34 = new ImageIcon(
            "src/Imagens/Palavras/Familia/25. cunhado.gif");
    ImageIcon img35 = new ImageIcon(
            "src/Imagens/Palavras/Familia/26. cunhada.gif");
    ImageIcon img36 = new ImageIcon(
            "src/Imagens/Palavras/Familia/27. sobrinho.gif");
    ImageIcon img37 = new ImageIcon(
            "src/Imagens/Palavras/Familia/28. madrinha.gif");
    ImageIcon img38 = new ImageIcon(
            "src/Imagens/Palavras/Familia/29. namoradpa.gif");
    ImageIcon img39 = new ImageIcon(
            "src/Imagens/Palavras/Familia/30. enteado.gif");
    ImageIcon img40 = new ImageIcon(
            "src/Imagens/Palavras/Familia/31. parentes.gif");
    ImageIcon img41 = new ImageIcon(
            "src/Imagens/Palavras/Familia/32. gêmeos.gif");
    ImageIcon img42 = new ImageIcon(
            "src/Imagens/Palavras/Familia/33. amigo.gif");
    ImageIcon img43 = new ImageIcon(
            "src/Imagens/Palavras/Familia/34. bisavó.gif");
    ImageIcon img44 = new ImageIcon(
            "src/Imagens/Palavras/Familia/35. bisavô.gif");

    ImageIcon img45 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/01. nome.gif");
    ImageIcon img46 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/02. sinal.gif");
    ImageIcon img47 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/03. idade.gif");
    ImageIcon img48 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/04. eu.gif");
    ImageIcon img49 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/05. voce.gif");
    ImageIcon img50 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/06. ele ou ela.gif");
    ImageIcon img51 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/07. nos.gif");
    ImageIcon img52 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/08. seu ou sua.gif");
    ImageIcon img53 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/09. meu ou minha.gif");
    ImageIcon img54 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/10. homem.gif");
    ImageIcon img55 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/11. solteiro.gif");
    ImageIcon img56 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/12. noivo.gif");
    ImageIcon img57 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/13. viúvo.gif");
    ImageIcon img58 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/14. separado.gif");
    ImageIcon img59 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/15. casado.gif");
    ImageIcon img60 = new ImageIcon(
            "src/Imagens/Palavras/Identificacao/16. adulto.gif");

    // ImageIcon img61 = new ImageIcon("src/Imagens/Testes/DeafWord.png");
    // ImageIcon img62 = new ImageIcon("src/Imagens/Testes/QuadroAzul.png");

    ImageIcon vetor_de_palavras[] = { img0, img1, img2, img3, img4, img5, img6,
            img7, img8, img9 };
    ImageIcon vetor_de_palavras2[] = { img10, img11, img12, img13, img14,
            img15, img16, img17, img18, img19, img20, img21, img22, img23,
            img24, img25, img26 };
    ImageIcon vetor_de_palavras3[] = { img45, img46, img47, img48, img49,
            img50, img51, img52, img53, img54, img55, img56, img57, img58,
            img59, img60 };

    public Controle() {

        gui.btnEsquerda.setIcon(esq);
        gui.btnCentralizar.setIcon(cen);
        gui.btnDireita.setIcon(dir);

        gui.setVisible(true);

        gui.btnRetroceder.addActionListener(this);
        gui.btnRetroceder2.addActionListener(this);
        gui.btnAvancar.addActionListener(this);
        gui.btnAvancar2.addActionListener(this);
        gui.btnAdicionar.addActionListener(this);
        gui.btnNegrito.addActionListener(this);
        gui.btnItalico.addActionListener(this);
        gui.btnCentralizar.addActionListener(this);
        gui.btnDireita.addActionListener(this);
        gui.btnEsquerda.addActionListener(this);
        gui.btnPreto.addActionListener(this);
        gui.btnLaranja.addActionListener(this);
        gui.btnAzul.addActionListener(this);
        gui.btnVermelho.addActionListener(this);
        gui.btnVerde.addActionListener(this);
    }

    public void carregarImagensCategoria() {

        if (gui.interprete_categoria.getIcon().toString() == "saudacoes")
            ;
        {
            // gui.interprete_palavras.setIcon(img0);
        }
    }

    public void actionPerformed(final ActionEvent e) {

        if (e.getSource() == gui.btnNegrito) {
            String texto = gui.painel_texto.getText();
            fonte = gui.painel_texto.getFont();

            if (negrito == 0) {
                gui.painel_texto.setText(texto);
                gui.painel_texto.setFont(fonte.deriveFont(Font.BOLD));
                negrito = 1;
                italico = 0;
            }

            else if (negrito == 1) {
                gui.painel_texto.setText(texto);
                gui.painel_texto.setFont(fonte.deriveFont(Font.PLAIN));
                negrito = 0;
                italico = 0;
            }
        }

        if (e.getSource() == gui.btnItalico) {
            String texto = gui.painel_texto.getText();
            fonte = gui.painel_texto.getFont();

            if (italico == 0) {
                gui.painel_texto.setText(texto);
                gui.painel_texto.setFont(fonte.deriveFont(Font.ITALIC));
                italico = 1;
                negrito = 0;
            }

            else if (italico == 1) {
                gui.painel_texto.setText(texto);
                gui.painel_texto.setFont(fonte.deriveFont(Font.PLAIN));
                italico = 0;
                negrito = 0;
            }
        }

        if (e.getSource() == gui.btnPreto) {
            String texto = gui.painel_texto.getText();
            fonte = gui.painel_texto.getFont();
            gui.painel_texto.setText(texto);
            gui.painel_texto.setForeground(Color.BLACK);
        }

        if (e.getSource() == gui.btnAzul) {
            String texto = gui.painel_texto.getText();
            fonte = gui.painel_texto.getFont();
            gui.painel_texto.setText(texto);
            gui.painel_texto.setForeground(Color.BLUE);
        }

        if (e.getSource() == gui.btnVermelho) {
            String texto = gui.painel_texto.getText();
            fonte = gui.painel_texto.getFont();
            gui.painel_texto.setText(texto);
            gui.painel_texto.setForeground(Color.RED);
        }

        if (e.getSource() == gui.btnVerde) {
            String texto = gui.painel_texto.getText();
            fonte = gui.painel_texto.getFont();
            gui.painel_texto.setText(texto);
            gui.painel_texto.setForeground(Color.GREEN);
        }

        if (e.getSource() == gui.btnLaranja) {
            String texto = gui.painel_texto.getText();
            fonte = gui.painel_texto.getFont();
            gui.painel_texto.setText(texto);
            gui.painel_texto.setForeground(Color.ORANGE);
        }

        if (e.getSource() == gui.btnCentralizar) {
            if (centro == 0) {
                StyledDocument doc = gui.painel_texto.getStyledDocument();
                SimpleAttributeSet center = new SimpleAttributeSet();
                StyleConstants
                        .setAlignment(center, StyleConstants.ALIGN_CENTER);
                doc.setParagraphAttributes(0, doc.getLength(), center, false);
                centro = 1;
                direita = 0;
            }

            else if (centro == 1) {
                StyledDocument doc = gui.painel_texto.getStyledDocument();
                SimpleAttributeSet center = new SimpleAttributeSet();
                StyleConstants.setAlignment(center, StyleConstants.ALIGN_LEFT);
                doc.setParagraphAttributes(0, doc.getLength(), center, false);
                centro = 0;
                direita = 0;
            }
        }

        if (e.getSource() == gui.btnDireita) {
            if (direita == 0) {
                StyledDocument doc = gui.painel_texto.getStyledDocument();
                SimpleAttributeSet center = new SimpleAttributeSet();
                StyleConstants.setAlignment(center, StyleConstants.ALIGN_RIGHT);
                doc.setParagraphAttributes(0, doc.getLength(), center, false);
                centro = 0;
                direita = 1;
            }

            else if (direita == 1) {
                StyledDocument doc = gui.painel_texto.getStyledDocument();
                SimpleAttributeSet center = new SimpleAttributeSet();
                StyleConstants.setAlignment(center, StyleConstants.ALIGN_LEFT);
                doc.setParagraphAttributes(0, doc.getLength(), center, false);
                direita = 0;
                centro = 0;
            }
        }

        if (e.getSource() == gui.btnEsquerda) {
            StyledDocument doc = gui.painel_texto.getStyledDocument();
            SimpleAttributeSet center = new SimpleAttributeSet();
            StyleConstants.setAlignment(center, StyleConstants.ALIGN_LEFT);
            doc.setParagraphAttributes(0, doc.getLength(), center, false);
        }

        if (e.getSource() == gui.btnRetroceder) {
            i--;

            if (i < 0) {
                i = vetor_categorias.length - 1;
            }

            // gui.interprete_palavras.setIcon(img61);
            gui.interprete_palavras.setIcon(cat0);
            gui.palavra.setText("");
            gui.interprete_categoria.setIcon(vetor_categorias[i]);
            String cat = vetor_categorias[i].getDescription().toString();
            cat = cat.substring(23, cat.length() - 4);
            gui.nome_saudacoes.setText(cat);

        }

        if (e.getSource() == gui.btnAvancar) {

            // gui.interprete_palavras.setIcon(img61);
            gui.interprete_palavras.setIcon(cat0);
            gui.palavra.setText("");
            gui.interprete_categoria.setIcon(vetor_categorias[i]);
            String cat = vetor_categorias[i].getDescription().toString();
            cat = cat.substring(23, cat.length() - 4);
            gui.nome_saudacoes.setText(cat);

            i++;

            if (i == vetor_categorias.length - 1) {
                i = 0;
            }
        }

        // -----------------------------------------------------------------

        if (e.getSource() == gui.btnAvancar2) {
            if (gui.nome_saudacoes.getText().equals("Saudações")) {
                gui.interprete_palavras.setIcon(vetor_de_palavras[j]);
                String palavra = vetor_de_palavras[j].getDescription()
                        .toString();
                palavra = palavra.substring(34, palavra.length() - 4);
                gui.palavra.setText(palavra);
                j++;

                if (i == vetor_de_palavras.length - 1) {
                    j = 0;
                }
            }

            if (gui.nome_saudacoes.getText().equals("Família")) {
                gui.interprete_palavras.setIcon(vetor_de_palavras2[j]);
                String palavra = vetor_de_palavras2[j].getDescription()
                        .toString();
                palavra = palavra.substring(28, palavra.length() - 4);
                gui.palavra.setText(palavra);

                j++;

                if (j == vetor_de_palavras2.length - 1) {
                    j = 0;
                }
            }

            if (gui.nome_saudacoes.getText().equals("Identificação")) {
                gui.interprete_palavras.setIcon(vetor_de_palavras3[j]);

                String palavra = vetor_de_palavras3[j].getDescription()
                        .toString();
                palavra = palavra.substring(34, palavra.length() - 4);
                gui.palavra.setText(palavra);

                j++;

                if (j == vetor_de_palavras3.length - 1) {
                    j = 0;
                }
            }
        }

        if (e.getSource() == gui.btnRetroceder2) {
            if (gui.nome_saudacoes.getText().equals("Saudações")) {
                j--;

                if (j < 0) {
                    j = vetor_categorias.length - 1;
                }

                gui.interprete_palavras.setIcon(vetor_de_palavras[j]);
                String palavra = vetor_de_palavras[j].getDescription()
                        .toString();
                palavra = palavra.substring(34, palavra.length() - 4);
                gui.palavra.setText(palavra);
            }

            if (gui.nome_saudacoes.getText().equals("Família")) {
                j--;
                if (j < 0) {
                    j = vetor_categorias.length - 1;
                }

                gui.interprete_palavras.setIcon(vetor_de_palavras2[j]);
                String palavra = vetor_de_palavras2[j].getDescription()
                        .toString();
                palavra = palavra.substring(28, palavra.length() - 4);
                gui.palavra.setText(palavra);
            }

            if (gui.nome_saudacoes.getText().equals("Identificação")) {
                j--;
                if (j < 0) {
                    j = vetor_categorias.length - 1;
                }

                gui.interprete_palavras.setIcon(vetor_de_palavras3[j]);
                String palavra = vetor_de_palavras3[j].getDescription()
                        .toString();
                palavra = palavra.substring(35, palavra.length() - 4);
                gui.palavra.setText(palavra);
            }
        }

        if (e.getSource() == gui.btnAdicionar) {
            gui.painel_texto.setText(gui.painel_texto.getText() + " "
                    + gui.palavra.getText());
        }
    }
}

A segunda clase Java é a GUI.java

import java.awt.*;
import javax.swing.*;
import javax.swing.GroupLayout;
import javax.swing.border.*;
/*
 * Created by JFormDesigner on Sat Jun 18 20:31:29 BRT 2011
 *
 * @author Brainrain
 */

public class GUI extends JFrame {
    
    private static final long serialVersionUID = 1L;
    public GUI() {
        initComponents();
    }

    private void initComponents() {
        // JFormDesigner - Component initialization - DO NOT MODIFY
        barra_menus = new JMenuBar();
        menu1 = new JMenu();
        menuItem1 = new JMenuItem();
        menuItem2 = new JMenuItem();
        menuItem3 = new JMenuItem();
        menuItem4 = new JMenuItem();
        barra_ferramentas = new JToolBar();
        btnNegrito = new JButton();
        btnItalico = new JButton();
        btnEsquerda = new JButton();
        btnCentralizar = new JButton();
        btnDireita = new JButton();
        btnPreto = new JButton();
        btnAzul = new JButton();
        btnVerde = new JButton();
        btnLaranja = new JButton();
        btnVermelho = new JButton();
        painel_editor = new JPanel();
        scrollPane1 = new JScrollPane();
        painel_texto = new JTextPane();
        painel_interprete = new JPanel();
        painel_interprete_categorias = new JPanel();
        interprete_categoria = new JLabel();
        btnRetroceder = new JButton();
        btnAvancar = new JButton();
        nome_saudacoes = new JTextField();
        painel_interprete_categorias2 = new JPanel();
        interprete_palavras = new JLabel();
        btnRetroceder2 = new JButton();
        btnAvancar2 = new JButton();
        palavra = new JTextField();
        btnAdicionar = new JButton();

        //======== this ========
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setTitle("DeafWord");
        Container contentPane = getContentPane();

        //======== barra_menus ========
        {

            //======== menu1 ========
            {
                menu1.setText("Arquivo");

                //---- menuItem1 ----
                menuItem1.setText("Abrir");
                menu1.add(menuItem1);

                //---- menuItem2 ----
                menuItem2.setText("Salvar");
                menu1.add(menuItem2);

                //---- menuItem3 ----
                menuItem3.setText("Imprimir");
                menu1.add(menuItem3);

                //---- menuItem4 ----
                menuItem4.setText("Sair");
                menu1.add(menuItem4);
            }
            barra_menus.add(menu1);
        }
        setJMenuBar(barra_menus);

        //======== barra_ferramentas ========
        {

            //---- bot_n ----
            btnNegrito.setText(" N ");
            btnNegrito.setFont(new Font("Tahoma", Font.BOLD, 18));
            barra_ferramentas.add(btnNegrito);

            //---- btnItalico ----
            btnItalico.setText(" I ");
            btnItalico.setFont(new Font("Tahoma", Font.ITALIC, 18));
            barra_ferramentas.add(btnItalico);
            barra_ferramentas.add(btnEsquerda);
            barra_ferramentas.add(btnCentralizar);
            barra_ferramentas.add(btnDireita);

            //---- btnPreto ----
            btnPreto.setText("preto");
            barra_ferramentas.add(btnPreto);

            //---- btnAzul ----
            btnAzul.setText("Azul");
            barra_ferramentas.add(btnAzul);

            //---- btnVerde ----
            btnVerde.setText("Verde");
            barra_ferramentas.add(btnVerde);

            //---- btnLaranja ----
            btnLaranja.setText("Laranja");
            barra_ferramentas.add(btnLaranja);

            //---- btnVermelho ----
            btnVermelho.setText("Vermelho");
            barra_ferramentas.add(btnVermelho);
        }

        //======== painel_editor ========
        {

            //======== scrollPane1 ========
            {
                scrollPane1.setViewportView(painel_texto);
            }

            GroupLayout painel_editorLayout = new GroupLayout(painel_editor);
            painel_editor.setLayout(painel_editorLayout);
            painel_editorLayout.setHorizontalGroup(
                painel_editorLayout.createParallelGroup()
                    .addGroup(painel_editorLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(scrollPane1, GroupLayout.DEFAULT_SIZE, 779, Short.MAX_VALUE)
                        .addContainerGap())
            );
            painel_editorLayout.setVerticalGroup(
                painel_editorLayout.createParallelGroup()
                    .addGroup(painel_editorLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(scrollPane1, GroupLayout.DEFAULT_SIZE, 593, Short.MAX_VALUE)
                        .addContainerGap())
            );
        }

        //======== painel_interprete ========
        {

            //======== painel_interprete_categorias ========
            {
                painel_interprete_categorias.setBorder(new TitledBorder("Categorias"));

                //---- interprete_categoria ----
                interprete_categoria.setHorizontalAlignment(SwingConstants.CENTER);
                interprete_categoria.setIcon(new ImageIcon(GUI.class.getResource("Imagens/Testes/DeafWord.png")));

                //---- btnRetroceder ----
                btnRetroceder.setText("<");
                btnRetroceder.setToolTipText("Retroceder");
                btnRetroceder.setCursor(new Cursor(Cursor.HAND_CURSOR));

                //---- btnAvancar ----
                btnAvancar.setText(">");
                btnAvancar.setToolTipText("Avançar");
                btnAvancar.setCursor(new Cursor(Cursor.HAND_CURSOR));

                //---- nome_saudacoes ----
                nome_saudacoes.setHorizontalAlignment(SwingConstants.CENTER);

                GroupLayout painel_interprete_categoriasLayout = new GroupLayout(painel_interprete_categorias);
                painel_interprete_categorias.setLayout(painel_interprete_categoriasLayout);
                painel_interprete_categoriasLayout.setHorizontalGroup(
                    painel_interprete_categoriasLayout.createParallelGroup()
                        .addGroup(painel_interprete_categoriasLayout.createSequentialGroup()
                            .addContainerGap()
                            .addGroup(painel_interprete_categoriasLayout.createParallelGroup()
                                .addGroup(painel_interprete_categoriasLayout.createSequentialGroup()
                                    .addComponent(btnRetroceder)
                                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(nome_saudacoes, GroupLayout.PREFERRED_SIZE, 112, GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(btnAvancar, GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE))
                                .addComponent(interprete_categoria, GroupLayout.DEFAULT_SIZE, 205, Short.MAX_VALUE))
                            .addContainerGap())
                );
                painel_interprete_categoriasLayout.setVerticalGroup(
                    painel_interprete_categoriasLayout.createParallelGroup()
                        .addGroup(GroupLayout.Alignment.TRAILING, painel_interprete_categoriasLayout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(interprete_categoria, GroupLayout.PREFERRED_SIZE, 164, GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
                            .addGroup(painel_interprete_categoriasLayout.createParallelGroup(GroupLayout.Alignment.TRAILING)
                                .addComponent(btnAvancar, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGroup(painel_interprete_categoriasLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(btnRetroceder, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(nome_saudacoes, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
                            .addContainerGap())
                );
            }

            //======== painel_interprete_categorias2 ========
            {
                painel_interprete_categorias2.setBorder(new TitledBorder("Palavras"));
                
                //---- interprete_palavras ----
                interprete_palavras.setHorizontalAlignment(SwingConstants.CENTER);
                interprete_palavras.setIcon(new ImageIcon(GUI.class.getResource("Imagens/Testes/DeafWord.png")));

                //---- btnRetroceder2 ----
                btnRetroceder2.setText("<");
                btnRetroceder2.setToolTipText("Retroceder 2");
                btnRetroceder2.setCursor(new Cursor(Cursor.HAND_CURSOR));

                //---- btnAvancar2 ----
                btnAvancar2.setText(">");
                btnAvancar2.setToolTipText("Avancçar 2");
                btnAvancar2.setCursor(new Cursor(Cursor.HAND_CURSOR));

                //---- Campo palavra ----
                palavra.setHorizontalAlignment(SwingConstants.CENTER);

                //---- btnAdicionar ----
                btnAdicionar.setText("Adicionar");
                btnAdicionar.setToolTipText("Adicionar");
                btnAdicionar.setCursor(new Cursor(Cursor.HAND_CURSOR));

                GroupLayout painel_interprete_categorias2Layout = new GroupLayout(painel_interprete_categorias2);
                painel_interprete_categorias2.setLayout(painel_interprete_categorias2Layout);
                painel_interprete_categorias2Layout.setHorizontalGroup(
                    painel_interprete_categorias2Layout.createParallelGroup()
                        .addGroup(GroupLayout.Alignment.TRAILING, painel_interprete_categorias2Layout.createSequentialGroup()
                            .addContainerGap()
                            .addGroup(painel_interprete_categorias2Layout.createParallelGroup(GroupLayout.Alignment.TRAILING)
                                .addComponent(btnAdicionar, GroupLayout.DEFAULT_SIZE, 205, Short.MAX_VALUE)
                                .addComponent(interprete_palavras, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 205, Short.MAX_VALUE)
                                .addGroup(painel_interprete_categorias2Layout.createSequentialGroup()
                                    .addComponent(btnRetroceder2)
                                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(palavra, GroupLayout.PREFERRED_SIZE, 108, GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 9, Short.MAX_VALUE)
                                    .addComponent(btnAvancar2)))
                            .addContainerGap())
                );
                painel_interprete_categorias2Layout.setVerticalGroup(
                    painel_interprete_categorias2Layout.createParallelGroup()
                        .addGroup(GroupLayout.Alignment.TRAILING, painel_interprete_categorias2Layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(interprete_palavras, GroupLayout.PREFERRED_SIZE, 137, GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
                            .addGroup(painel_interprete_categorias2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                .addComponent(btnRetroceder2)
                                .addComponent(palavra, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(btnAvancar2))
                            .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(btnAdicionar)
                            .addGap(12, 12, 12))
                );
            }

            GroupLayout painel_interpreteLayout = new GroupLayout(painel_interprete);
            painel_interprete.setLayout(painel_interpreteLayout);
            painel_interpreteLayout.setHorizontalGroup(
                painel_interpreteLayout.createParallelGroup()
                    .addGroup(painel_interpreteLayout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(painel_interpreteLayout.createParallelGroup()
                            .addComponent(painel_interprete_categorias, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(painel_interprete_categorias2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                        .addContainerGap())
            );
            painel_interpreteLayout.setVerticalGroup(
                painel_interpreteLayout.createParallelGroup()
                    .addGroup(painel_interpreteLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(painel_interprete_categorias, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 99, Short.MAX_VALUE)
                        .addComponent(painel_interprete_categorias2, GroupLayout.PREFERRED_SIZE, 247, GroupLayout.PREFERRED_SIZE)
                        .addContainerGap())
            );
        }

        GroupLayout contentPaneLayout = new GroupLayout(contentPane);
        contentPane.setLayout(contentPaneLayout);
        contentPaneLayout.setHorizontalGroup(
            contentPaneLayout.createParallelGroup()
                .addGroup(contentPaneLayout.createSequentialGroup()
                    .addGroup(contentPaneLayout.createParallelGroup()
                        .addGroup(contentPaneLayout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(painel_editor, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(painel_interprete, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                        .addComponent(barra_ferramentas, GroupLayout.DEFAULT_SIZE, 1072, Short.MAX_VALUE))
                    .addContainerGap())
        );
        contentPaneLayout.setVerticalGroup(
            contentPaneLayout.createParallelGroup()
                .addGroup(contentPaneLayout.createSequentialGroup()
                    .addComponent(barra_ferramentas, GroupLayout.PREFERRED_SIZE, 35, GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.TRAILING)
                        .addComponent(painel_interprete, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(painel_editor, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addContainerGap())
        );
        pack();
        setLocationRelativeTo(getOwner());
        // JFormDesigner - End of component initialization  //GEN-END:initComponents
    }

    // JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
    public JMenuBar barra_menus;
    private JMenu menu1;
    private JMenuItem menuItem1;
    private JMenuItem menuItem2;
    private JMenuItem menuItem3;
    private JMenuItem menuItem4;
    public JToolBar barra_ferramentas;
    public JButton btnNegrito;
    public JButton btnItalico;
    public JButton btnEsquerda;
    public JButton btnCentralizar;
    public JButton btnDireita;
    public JButton btnPreto;
    public JButton btnAzul;
    public JButton btnVerde;
    public JButton btnLaranja;
    public JButton btnVermelho;
    public JPanel painel_editor;
    public JScrollPane scrollPane1;
    public JTextPane painel_texto;
    public JPanel painel_interprete;
    public JPanel painel_interprete_categorias;
    public JLabel interprete_categoria;
    public JButton btnRetroceder;
    public JButton btnAvancar;
    public JTextField nome_saudacoes;
    public JPanel painel_interprete_categorias2;
    public JLabel interprete_palavras;
    public JButton btnRetroceder2;
    public JButton btnAvancar2;
    public JTextField palavra;
    public JButton btnAdicionar;
    // JFormDesigner - End of variables declaration  //GEN-END:variables
}

É a terceira classe Java é a Inicio.java

public class Inicio {

    public static void main(String[] args) {
        Controle c = new Controle();
    }
}

Qualquer coisa entrem em contato com os autores citados logo acima, ou entre em contato comigo mesmo por aqui.

Lembre-se o programa não esta totalmente finalizado ainda tem alguns bugs, mas a ideia principal e inicial está aí é só melhorar.

Link para baixar o aplicativo rodando mesmo sem estar totalmente finalizado.

Deafworf.jar

http://www.4shared.com/file/w5g8zW8Hce/DeafWord.html

Espero que aproveitem.

Jewelry Of Classical Music Volume I

Jewelry Of Classical Music Volume IApplication developed in Java programming language nonprofit desktop based on API’s JLayer, BasicPlayer of JavaZoom. Jewelry Of Classical Music Volume I is a music player still in the experimental phase.

List of songs:

Bach – Toccata e Fuga.
Beethoven – Sonata Claire de Lune 1º Movimento.
Bellini – Capuletos e Montéquios ‘Chi Sei Tu’.
Brhams – Dança Húngara.
Chopin – Noturno op. 15 em Fá Maior.
Mendelsohn – Intermezzo De Sonho De Uma Noite de Verão.
Mozart – Sinfonia nº 40 1º Movimento.
Rossini – O Sítio de Corinto.
Tchaikovsky – Dança Espanhola O Lago Dos Cisnes.
Vivaldi – Quatro estações ‘A Primavera’.

File: Jewelry Of Classical Music Volume I.jar
Download link: http://www.4shared.com/file/YKkCAhBvce/Jewelry_Of_Classical_Music_Vol.html
Size: 43.3MB

Jewelry Of Classical Music Volume IIFile: Jewelry Of Classical Music Volume II.jar
Download link: http://www.4shared.com/file/nT2hNOLNba/Jewelry_Of_Classical_Music_Vol.html

Size: 48.7MB

Many thanks for help to friends:

Matthew Molloy
https://github.com/whamtet?tab=repositories

Johnny  Luo
https://www.facebook.com/lzqwebsoft

JC MOUSE(Julio Cesar Jallaza)
http://jc-mouse.blogspot.com.br/2010/05/reproductor-mp3-en-java.html

JAVA speaks English for YOU

Speak ScreenShortOnline Dictionary, this little app is for you and for all CongdongJava members. It works as following:
– based on Google’s online dict and javazoom.jl.player.Player
– if a word is not found (i.e. not existed or misspelled) nothing happens,
– if your word exists already Button “SPEAK” is enabled and you can hear how to speak
– if your word isn’t existed and Google Online Dict does have this word it will be downloaded to the CURRENT directory (e.g. world.mp3), then SPEAK is enabled.
Enjoy!

Because SUN’s JMF and MP3Plugin are both not very reliable and cause more troubles than funs. The package is jl1.0.1.jar and available on Windows, Linux and OSX.
Download site: http://www.javazoom.net/javalayer/sources.html
http://programmingwiki.de/Sound_Demo_3

////////////////////////////////////////////////////////////////////////////////
// (c) Joe T. Nartca
// Free. Not for commercial purpose.
// Donation: To the Children here.
// http://www.thanhniennews.com/society/poor-vietnamese-boy-hacks-life-without-arms-36897.html
// http://www.thanhniennews.com/society/limbless-soc-trang-girl-lives-life-to-fullest-36762.html
// All Right reserved.
// Last modified: on May 12, 2016 by J. Marcos B.
// Blog: https://isjavado.wordpress.com/
///////////////////////////////////////////////////////////////////////////////

import java.io.*;
import java.net.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

// because SUN's JMF and MP3Plugin are both not very reliable and cause
// more troubles than funs. The package is jl1.0.1.jar and available on
// Windows, Linux and OSX.
// Download site: http://www.javazoom.net/javalayer/sources.html
// http://programmingwiki.de/Sound_Demo_3
import javazoom.jl.player.Player;

public class Speak extends JFrame implements ActionListener {

    private static final long serialVersionUID = 1L;

    private JProgressBar jpb;
    private JTextField word;
    private JButton speak;
    private JLabel msg;
    private String lnk = "https://ssl.gstatic.com/dictionary/static/sounds/de/0/";

    // the constructor
    public Speak() {
        // Size of frame
        this.setSize(340, 160);
        // Title of frame
        this.setTitle("JAVA speaks English for YOU");
        // To set a frame fixed size.
        this.setResizable(false);
        // To set a frame center on screen.
        this.setLocationRelativeTo(null);
        // this.setBounds(200, 50, 340, 160);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);

        JLabel lab = new JLabel("Your word");
        word = new JTextField("community", 16);
        word.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent es) {

                download();
            }
        });

        JPanel j1 = new JPanel();
        j1.add(lab);
        j1.add(word);

        JPanel j2 = new JPanel();
        speak = new JButton("SPEAK");
        speak.addActionListener(this);
        speak.setEnabled(false);
        speak.setToolTipText("Speak");
        speak.setCursor(new Cursor(Cursor.HAND_CURSOR));
        j2.add(speak);

        JPanel jmsg = new JPanel();
        msg = new JLabel("Insert the word you want to hear");
        jmsg.add(msg);

        JPanel jn = new JPanel(new GridLayout(2, 0));
        jn.add(j1);
        jn.add(j2);

        jpb = new JProgressBar(0, 100);
        jpb.setValue(0);
        jpb.setStringPainted(true);
        jpb.setBounds(100, 115, 350, 25);
        jpb.setForeground(Color.blue);

        JPanel pb = new JPanel();
        pb.add(jpb);

        add("North", jmsg);
        add("Center", jn);
        add("South", pb);

    }

    public void actionPerformed(ActionEvent a) {
        String fn = word.getText().trim().toLowerCase() + ".mp3";
        if (!(new File(fn)).exists())

            download();

        else {
            sf = fn;
            ItSounds is = new ItSounds();
        }
    }

    private class ItSounds {

        public ItSounds() {

            mp3Play();
        }

        private Player player;

        // play the MP3Player file to the sound
        private void mp3Play() {
            try {
                player = new Player(new FileInputStream(sf));
                new Thread() {
                    public void run() {
                        try {
                            player.play();
                            player.close();
                        } catch (Exception e) {
                            Toolkit.getDefaultToolkit().beep();
                            JOptionPane.showMessageDialog(null, "ERROR: " + e,
                                    "Speak", JOptionPane.ERROR_MESSAGE);
                        }
                    }
                }.start();
            } catch (Exception e) {
                Toolkit.getDefaultToolkit().beep();
                JOptionPane.showMessageDialog(null, "ERROR: " + e, "Speak",
                        JOptionPane.ERROR_MESSAGE);
            }
        }
    }

    private void download() {
        String fn = word.getText().trim().toLowerCase() + ".mp3";
        if (!(new File(fn)).exists()) {
            speak.setEnabled(false);
            (new FetchSoundFile(fn)).start();
        } else {
            sf = fn;
            msg.setText("<Click SPEAK to hear>");
            ItSounds is = new ItSounds();
            speak.setEnabled(true);
        }
    }

    private String sf;

    private class FetchSoundFile extends Thread {
        public FetchSoundFile(String fn) {
            this.fn = fn;
        }

        private String fn;

        public void run() {
            String fx = word.getText().trim().toLowerCase();
            try {
                URL url = new URL(lnk + fn);
                InputStream inp = url.openStream();
                long fs = url.openConnection().getContentLength();
                if (fs < 1)
                    msg.setText("Downloaded " + fn + " is empty");
                else {
                    int b;
                    long tot = 0;
                    byte[] buf = new byte[fs < 102400 ? 10 : 1024];
                    FileOutputStream fo = new FileOutputStream(fn);
                    for (b = inp.read(buf); b != -1; b = inp.read(buf)) {
                        fo.write(buf, 0, b);
                        tot += b;
                        jpb.setValue((int) ((float) (tot * 100 / fs)));
                    }
                    sf = fn;
                    fo.flush();
                    fo.close();
                    inp.close();
                    speak.setEnabled(true);
                    ItSounds is = new ItSounds();
                    msg.setText("Click SPEAK to hear " + fx);
                }
            } catch (Exception e) {
                e.printStackTrace();
                msg.setText("Unknown " + fx);
            }
        }
    }

    // Main class
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    // look for Nimbus...
                    UIManager
                            .setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
                    Speak frame = new Speak();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

}

Metro Tuner Pro In Java

screenshotMetro Tuner Pro 2011 by Sabin Timalsena

A simple Java-based guitar tuner/metronone application.

I built this metronome/guitar tuner application as I was experimenting with Java Swing for UI programming. It allows you to pluck a guitar string and hear the sound for tuning, and also to play the ticking of a metronome at a set BPM. MIDI was used to play the metronome sounds.

For the source code, check this github link:

https://github.com/SabinT/MetroTuner