public class morse{

    private String[] code = new String[3];
 /*double playFunction(double x, double freq){
 double sinValue = Math.sin(2*Math.PI*freq*x); 
 return sinValue;
}*/

public void morseAusgabe() {//gibt für jede buchstabe . und/oder _
 String morse = new String();
 String morsekette = ""; 
 morse = JOptionPane.showInputDialog(null, "Gib den Text ein!");
 for (int i = 0; i < morse.length(); i++) {
  String zeichen = morse.substring(i, i+1).toUpperCase();
  switch (zeichen) {
   case "A":
    morsekette = morsekette + " .-";
    break;
   case "B":
    morsekette = morsekette + " -...";
    break;
   case "C":
    morsekette = morsekette + " -.-.";
    break;
   case "D":
    morsekette = morsekette + " -..";
    break;
   case "E":
    morsekette = morsekette + " .";
    break;
   case "F":
    morsekette = morsekette + " ..-.";
    break;
   case "G":
    morsekette = morsekette + " --.";
    break;
   case "H":
    morsekette = morsekette + " ....";
    break;
   case "I":
    morsekette = morsekette + " ..";
    break;
   case "J":
    morsekette = morsekette + " .---";
    break;
   case "K":
    morsekette = morsekette + " -.-";
    break;
   case "L":
    morsekette = morsekette + " .-..";
    break;
   case "M":
    morsekette = morsekette + " --";
    break;
   case "N":
    morsekette = morsekette + " -.";
    break;
   case "O":
    morsekette = morsekette + " ---";
    break;
   case "P":
    morsekette = morsekette + " .--.";
    break;
   case "Q":
    morsekette = morsekette + " --.-";
    break;
   case "R":
    morsekette = morsekette + " .-.";
    break;
   case "S":
    morsekette = morsekette + " ...";
    break;
   case "T":
    morsekette = morsekette + " -";
    break;
   case "U":
    morsekette = morsekette + " ..-";
    break;
   case "V":
    morsekette = morsekette + " ...-";
    break;
   case "W":
    morsekette = morsekette + " .--";
    break;
   case "X":
    morsekette = morsekette + " -..-";
    break;
   case "Y":
    morsekette = morsekette + " -.--";
    break;
   case "Z":
    morsekette = morsekette + " --..";
    break;
   case "0":
    morsekette = morsekette + " -----";
    break;
   case "1":
    morsekette = morsekette + " .----";
    break;
   case "2":
    morsekette = morsekette + " ..---";
    break;
   case "3":
    morsekette = morsekette + " ...--";
    break;
   case "4":
    morsekette = morsekette + " ....-";
    break;
   case "5":
    morsekette = morsekette + " .....";
    break;
   case "6":
    morsekette = morsekette + " -....";
    break;
   case "7":
    morsekette = morsekette + " --...";
    break;
   case "8":
    morsekette = morsekette + " ---..";
    break;
   case "9":
    morsekette = morsekette + " ----.";
    break;
   case "Ä":
    morsekette = morsekette + " .-.-";
    break;
   case "Ö":
    morsekette = morsekette + " ---.";
    break;
   case "Ü":
    morsekette = morsekette + " ..--";
    break;
   case "ß":
    morsekette = morsekette + " ...--..";
    break;
   case ".":
    morsekette = morsekette + " .-.-.-";
    break;
   case ":":
    morsekette = morsekette + " ---...";
    break;
   case ",":
    morsekette = morsekette + " --..--";
    break;
   case ";":
    morsekette = morsekette + " -.-.-.";
    break;
   case "?":
    morsekette = morsekette + " ..--..";
    break;
   case "-":
    morsekette = morsekette + " -....-";
    break;
   case "_":
    morsekette = morsekette + " ..--.-";
    break;
   case "(":
    morsekette = morsekette + " -.--.";
    break;
   case ")":
    morsekette = morsekette + " -.--.-";
    break;
   case "'":
    morsekette = morsekette + " .----.";
    break;
   case "=":
    morsekette = morsekette + " -...-";
    break;
   case "+":
    morsekette = morsekette + " .-.-.";
    break;
   case "/":
    morsekette = morsekette + " -..-.";
    break;
   case "@":
    morsekette = morsekette + " .--.-.";
    break;
   case " ":
    morsekette = morsekette + "/";
    break;
   default:
    morsekette = morsekette + "?";
  }
 }
 /*System.out.println(morsekette);
 canvas.clear();
 int posx = 0;
 int posy = 20;
 for (int i = 0; i < morsekette.length(); i++) {
  String zeichen = morsekette.substring(i, i+1).toUpperCase();
  switch (zeichen) {
   case ".":
    play(0.2,0,1000.0);
    dauer = 1000/4; canvas.fillRect(posx, posy, dauer/20, 10); // 1 kurzer Balken entspricht einem "Punkt" im Morsealphabet. 
    posx = posx + dauer/20 + 5;
    if (posx > 780) {
     posx = 0; posy = posy + 20;
    }
    break;
   case "-":
    play(0.6,0,1000.0);
    dauer = 1000/1; canvas.fillRect(posx, posy, dauer/20, 10); // 1 langer Balken entspricht einem "Strich" im Morsealphabet.
    posx = posx + dauer/20 + 5;
    if (posx > 780) {
     posx = 0; posy = posy + 20;
    }
    break;
   case " ":
    play(0.6,0,0.0);
    dauer = 300/1; canvas.fillRect(posx, posy, dauer/20, 00); // 1 Strich entspricht einer Pause zwischen 2 Buchstaben.
    posx = posx + dauer/20 + 5;
    if (posx > 780) {
     posx = 0; posy = posy + 20;
    } 
    break;
   case "/":
    play(1.0,0,0.0);
    dauer = 300/1; canvas.fillRect(posx, posy, dauer/20, 00); // 2 Striche entsprechen einer Pause zwischen 2 Wörtern.
    posx = posx + dauer/20 + 5;
    if (posx > 780) {
     posx = 0; posy = posy + 20;
    }
    break;*/
    
    public void kodieren(){
        //buchstaben eingeben (Array/Liste?), fur jede buchstabe kombination aus . und - einsetzen
        //for (int i=0, i<=code.length(-1), i++){
         System.out.printl(morsekette...)   
            
        }
    }
  }
 }
}
}