Bu applet ile Mors alfabesinden İngilizceye , İngilizceden Mors alfabesine çevirme yapabilirsiniz. Kullanıcı arayüzünde 2 tane JTextfield (girilen ve çıkan yazı için ) ve 2 tane JButton (çevirme ve çıkış düğmesi) nesnesi kullanılmıştır.
Kodun çalışan halini (appleti) görmek için https://tik.lat/4ivhX adresini ziyaret edin.
//***************************************************************
// MorseCode.java Author: Cemil İnanç , Başkent University
//
// Morse2English , English2Morse applet
//***************************************************************
// CEMİL İNANÇ
// [email protected]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class MorseCode extends JApplet implements ActionListener {
private JLabel girisEtiketi,cikisEtiketi; // yazı alanı etiketleri
private JTextField girisAlani,cikisAlani; // yazı alanları
private JButton cevir,cik;
private JRadioButton oto,m2e,e2m;
private ButtonGroup radioGroup;
private Font bP;
public **** init() {
Container c = getContentPane();
c.setLayout(new FlowLayout());
girisEtiketi = new JLabel("Çevirilecek sözcük öbeği");
c.add(girisEtiketi);
girisAlani = new JTextField(30);
c.add(girisAlani);
cikisEtiketi = new JLabel("Çevirilmiş sözcük öbeği");
c.add(cikisEtiketi);
cikisAlani = new JTextField(30);
cikisAlani.setEditable(false);
c.add(cikisAlani);
oto = new JRadioButton("Otomatik",true);
m2e = new JRadioButton("Morse -> English",false);
e2m = new JRadioButton("English -> Morse",false);
c.add(oto);
c.add(m2e);
c.add(e2m);
oto.addActionListener(this);
m2e.addActionListener(this);
e2m.addActionListener(this);
cevir = new JButton("ÇEVİR");
cevir.addActionListener(this);
c.add(cevir);
cik = new JButton("ÇIKIŞ");
cik.addActionListener(this);
c.add(cik);
}
public **** actionPerformed (ActionEvent e){
String cumle,cumle2="";
String mharf;
int i;
int cevirme=0;
radioGroup = new ButtonGroup();
radioGroup.add(oto);
radioGroup.add(m2e);
radioGroup.add(e2m);
// ÇEVİR tuşuna basıldığında yapılacak işlemler
if(e.getSource() == cevir){
//Giriş okunuyor
cumle = girisAlani.getText();
StringTokenizer tokens = new StringTokenizer(cumle);//Parçalar
StringBuffer buffer = new StringBuffer(cumle);// cumle'nin yedeği
StringBuffer buffer2 = new StringBuffer(); // çevrilmiş değer için
//Harfleri büyük harfe çevirme
for(i=0;i<buffer.length();i++){
buffer.setCharAt(i,Character.toUpperCase(buffer.charAt(i)));
}
//Hangi çevirmenin yapılacağını otomatik olarak anlamak için
//Morse -> English mi , English -> Morse mu?
for(i=0;i<buffer.length();i++){
if(buffer.charAt(i)=='.' || buffer.charAt(i)=='-'){
cevirme = 1;
break;
}
else
cevirme = 0;
}
//Morse -> English çevirme durumu
i=0;//genel amaçlı sayaç sıfırlandı
if(cevirme == 1){
while(tokens.hasMoreTokens()){
if(!(buffer.charAt(i)==' ' && buffer.charAt(i-1)==' ')){
mharf = tokens.nextToken();
buffer2.append(MtoE(mharf));
i += mharf.length()+1;
}
else{
buffer2.append(' ');
i=i+2;
}
}
}
//English -> Morse çevirme durumu
if(cevirme == 0){
for(i=0;i<buffer.length();i++){
if(buffer.charAt(i)==' '){
buffer2.append(" ");
}
else{
buffer2.append(EtoM(buffer.charAt(i)));
buffer2.append(' ');
}
}
}
// buffer2,cumle2 stringine dönüştürülüyor
for(i=0;i<buffer2.length();i++){
cumle2 = cumle2 + buffer2.charAt(i);
}
// cikisAlani textArea bolumune çevrilen değer aktarılıyor
bP = new Font("Serif", Font.BOLD,16);
cikisAlani.setFont(bP);
cikisAlani.setText(String.format(cumle2));
}
if(e.getSource() == cik){
destroy();
}
}
// Morse to English metodu
// String -> char dönüşümü yapılıyor
public static char MtoE(String mharf){
char c='0'; // missing return statement hatası için ve ilk değer istiyor
if(mharf.equals(".-")) {c='A';}
else if(mharf.equals("-...")) {c='B';}
else if(mharf.equals("-.-.")) {c='C';}
else if(mharf.equals("-..")) {c='D';}
else if(mharf.equals(".")) {c='E';}
else if(mharf.equals("..-.")) {c='F';}
else if(mharf.equals("--.")) {c='G';}
else if(mharf.equals("....")) {c='H';}
else if(mharf.equals("..")) {c='I';}
else if(mharf.equals(".---")) {c='J';}
else if(mharf.equals("-.-")) {c='K';}
else if(mharf.equals(".-..")) {c='L';}
else if(mharf.equals("--")) {c='M';}
else if(mharf.equals("-.")) {c='N';}
else if(mharf.equals("---")) {c='O';}
else if(mharf.equals(".--.")) {c='P';}
else if(mharf.equals("--.-")) {c='Q';}
else if(mharf.equals(".-.")) {c='R';}
else if(mharf.equals("...")) {c='S';}
else if(mharf.equals("-")) {c='T';}
else if(mharf.equals("..-")) {c='U';}
else if(mharf.equals("...-")) {c='V';}
else if(mharf.equals(".--")) {c='W';}
else if(mharf.equals("-..-")) {c='X';}
else if(mharf.equals("-.--")) {c='Y';}
else if(mharf.equals("--..")) {c='Z';}
else if(mharf.equals("-----")) {c='0';}
else if(mharf.equals(".----")) {c='1';}
else if(mharf.equals("..---")) {c='2';}
else if(mharf.equals("...--")) {c='3';}
else if(mharf.equals("....-")) {c='4';}
else if(mharf.equals(".....")) {c='5';}
else if(mharf.equals("-....")) {c='6';}
else if(mharf.equals("--...")) {c='7';}
else if(mharf.equals("---..")) {c='8';}
else if(mharf.equals("----.")) {c='9';}
return c;
}
// English to Morse metodu
// char -> string dönüşümü yapılıyor
// switch-case sorun çıkartıyor (yapılamadı)
public static String EtoM(char harf){
String s="0";
if(harf == 'A') {s=".-";}
else if(harf == 'B') {s="-...";}
else if(harf == 'C') {s="-.-.";}
else if(harf == 'D') {s="-..";}
else if(harf == 'E') {s=".";}
else if(harf == 'F') {s="..-.";}
else if(harf == 'G') {s="--.";}
else if(harf == 'H') {s="....";}
else if(harf == 'I') {s="..";}
else if(harf == 'J') {s=".---";}
else if(harf == 'K') {s="-.-";}
else if(harf == 'L') {s=".-..";}
else if(harf == 'M') {s="--";}
else if(harf == 'N') {s="-.";}
else if(harf == 'O') {s="---";}
else if(harf == 'P') {s=".--.";}
else if(harf == 'Q') {s="--.-";}
else if(harf == 'R') {s=".-.";}
else if(harf == 'S') {s="...";}
else if(harf == 'T') {s="-";}
else if(harf == 'U') {s="..-";}
else if(harf == 'V') {s="...-";}
else if(harf == 'W') {s=".--";}
else if(harf == 'X') {s="-..-";}
else if(harf == 'Y') {s="-.--";}
else if(harf == 'Z') {s="--..";}
else if(harf == '0') {s="-----";}
else if(harf == '1') {s=".----";}
else if(harf == '2') {s="..---";}
else if(harf == '3') {s="...--";}
else if(harf == '4') {s="....-";}
else if(harf == '5') {s=".....";}
else if(harf == '6') {s="-....";}
else if(harf == '7') {s="--...";}
else if(harf == '8') {s="---..";}
else if(harf == '9') {s="----.";}
return s;
}
}
Kodun çalışan halini (appleti) görmek için https://tik.lat/4ivhX adresini ziyaret edin.
//***************************************************************
// MorseCode.java Author: Cemil İnanç , Başkent University
//
// Morse2English , English2Morse applet
//***************************************************************
// CEMİL İNANÇ
// [email protected]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class MorseCode extends JApplet implements ActionListener {
private JLabel girisEtiketi,cikisEtiketi; // yazı alanı etiketleri
private JTextField girisAlani,cikisAlani; // yazı alanları
private JButton cevir,cik;
private JRadioButton oto,m2e,e2m;
private ButtonGroup radioGroup;
private Font bP;
public **** init() {
Container c = getContentPane();
c.setLayout(new FlowLayout());
girisEtiketi = new JLabel("Çevirilecek sözcük öbeği");
c.add(girisEtiketi);
girisAlani = new JTextField(30);
c.add(girisAlani);
cikisEtiketi = new JLabel("Çevirilmiş sözcük öbeği");
c.add(cikisEtiketi);
cikisAlani = new JTextField(30);
cikisAlani.setEditable(false);
c.add(cikisAlani);
oto = new JRadioButton("Otomatik",true);
m2e = new JRadioButton("Morse -> English",false);
e2m = new JRadioButton("English -> Morse",false);
c.add(oto);
c.add(m2e);
c.add(e2m);
oto.addActionListener(this);
m2e.addActionListener(this);
e2m.addActionListener(this);
cevir = new JButton("ÇEVİR");
cevir.addActionListener(this);
c.add(cevir);
cik = new JButton("ÇIKIŞ");
cik.addActionListener(this);
c.add(cik);
}
public **** actionPerformed (ActionEvent e){
String cumle,cumle2="";
String mharf;
int i;
int cevirme=0;
radioGroup = new ButtonGroup();
radioGroup.add(oto);
radioGroup.add(m2e);
radioGroup.add(e2m);
// ÇEVİR tuşuna basıldığında yapılacak işlemler
if(e.getSource() == cevir){
//Giriş okunuyor
cumle = girisAlani.getText();
StringTokenizer tokens = new StringTokenizer(cumle);//Parçalar
StringBuffer buffer = new StringBuffer(cumle);// cumle'nin yedeği
StringBuffer buffer2 = new StringBuffer(); // çevrilmiş değer için
//Harfleri büyük harfe çevirme
for(i=0;i<buffer.length();i++){
buffer.setCharAt(i,Character.toUpperCase(buffer.charAt(i)));
}
//Hangi çevirmenin yapılacağını otomatik olarak anlamak için
//Morse -> English mi , English -> Morse mu?
for(i=0;i<buffer.length();i++){
if(buffer.charAt(i)=='.' || buffer.charAt(i)=='-'){
cevirme = 1;
break;
}
else
cevirme = 0;
}
//Morse -> English çevirme durumu
i=0;//genel amaçlı sayaç sıfırlandı
if(cevirme == 1){
while(tokens.hasMoreTokens()){
if(!(buffer.charAt(i)==' ' && buffer.charAt(i-1)==' ')){
mharf = tokens.nextToken();
buffer2.append(MtoE(mharf));
i += mharf.length()+1;
}
else{
buffer2.append(' ');
i=i+2;
}
}
}
//English -> Morse çevirme durumu
if(cevirme == 0){
for(i=0;i<buffer.length();i++){
if(buffer.charAt(i)==' '){
buffer2.append(" ");
}
else{
buffer2.append(EtoM(buffer.charAt(i)));
buffer2.append(' ');
}
}
}
// buffer2,cumle2 stringine dönüştürülüyor
for(i=0;i<buffer2.length();i++){
cumle2 = cumle2 + buffer2.charAt(i);
}
// cikisAlani textArea bolumune çevrilen değer aktarılıyor
bP = new Font("Serif", Font.BOLD,16);
cikisAlani.setFont(bP);
cikisAlani.setText(String.format(cumle2));
}
if(e.getSource() == cik){
destroy();
}
}
// Morse to English metodu
// String -> char dönüşümü yapılıyor
public static char MtoE(String mharf){
char c='0'; // missing return statement hatası için ve ilk değer istiyor
if(mharf.equals(".-")) {c='A';}
else if(mharf.equals("-...")) {c='B';}
else if(mharf.equals("-.-.")) {c='C';}
else if(mharf.equals("-..")) {c='D';}
else if(mharf.equals(".")) {c='E';}
else if(mharf.equals("..-.")) {c='F';}
else if(mharf.equals("--.")) {c='G';}
else if(mharf.equals("....")) {c='H';}
else if(mharf.equals("..")) {c='I';}
else if(mharf.equals(".---")) {c='J';}
else if(mharf.equals("-.-")) {c='K';}
else if(mharf.equals(".-..")) {c='L';}
else if(mharf.equals("--")) {c='M';}
else if(mharf.equals("-.")) {c='N';}
else if(mharf.equals("---")) {c='O';}
else if(mharf.equals(".--.")) {c='P';}
else if(mharf.equals("--.-")) {c='Q';}
else if(mharf.equals(".-.")) {c='R';}
else if(mharf.equals("...")) {c='S';}
else if(mharf.equals("-")) {c='T';}
else if(mharf.equals("..-")) {c='U';}
else if(mharf.equals("...-")) {c='V';}
else if(mharf.equals(".--")) {c='W';}
else if(mharf.equals("-..-")) {c='X';}
else if(mharf.equals("-.--")) {c='Y';}
else if(mharf.equals("--..")) {c='Z';}
else if(mharf.equals("-----")) {c='0';}
else if(mharf.equals(".----")) {c='1';}
else if(mharf.equals("..---")) {c='2';}
else if(mharf.equals("...--")) {c='3';}
else if(mharf.equals("....-")) {c='4';}
else if(mharf.equals(".....")) {c='5';}
else if(mharf.equals("-....")) {c='6';}
else if(mharf.equals("--...")) {c='7';}
else if(mharf.equals("---..")) {c='8';}
else if(mharf.equals("----.")) {c='9';}
return c;
}
// English to Morse metodu
// char -> string dönüşümü yapılıyor
// switch-case sorun çıkartıyor (yapılamadı)
public static String EtoM(char harf){
String s="0";
if(harf == 'A') {s=".-";}
else if(harf == 'B') {s="-...";}
else if(harf == 'C') {s="-.-.";}
else if(harf == 'D') {s="-..";}
else if(harf == 'E') {s=".";}
else if(harf == 'F') {s="..-.";}
else if(harf == 'G') {s="--.";}
else if(harf == 'H') {s="....";}
else if(harf == 'I') {s="..";}
else if(harf == 'J') {s=".---";}
else if(harf == 'K') {s="-.-";}
else if(harf == 'L') {s=".-..";}
else if(harf == 'M') {s="--";}
else if(harf == 'N') {s="-.";}
else if(harf == 'O') {s="---";}
else if(harf == 'P') {s=".--.";}
else if(harf == 'Q') {s="--.-";}
else if(harf == 'R') {s=".-.";}
else if(harf == 'S') {s="...";}
else if(harf == 'T') {s="-";}
else if(harf == 'U') {s="..-";}
else if(harf == 'V') {s="...-";}
else if(harf == 'W') {s=".--";}
else if(harf == 'X') {s="-..-";}
else if(harf == 'Y') {s="-.--";}
else if(harf == 'Z') {s="--..";}
else if(harf == '0') {s="-----";}
else if(harf == '1') {s=".----";}
else if(harf == '2') {s="..---";}
else if(harf == '3') {s="...--";}
else if(harf == '4') {s="....-";}
else if(harf == '5') {s=".....";}
else if(harf == '6') {s="-....";}
else if(harf == '7') {s="--...";}
else if(harf == '8') {s="---..";}
else if(harf == '9') {s="----.";}
return s;
}
}