1219 lines
39 KiB
Java
1219 lines
39 KiB
Java
|
/*
|
||
|
* This is a programm to translate latin letters, words, sentences, books and so on, to morse or written morse or backwards.
|
||
|
*
|
||
|
* Marcel Michael Kapfer
|
||
|
*
|
||
|
* GPL v3.0
|
||
|
*
|
||
|
* 2014
|
||
|
*
|
||
|
* Version: 1.0.0
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
package morse;
|
||
|
|
||
|
import java.awt.EventQueue;
|
||
|
|
||
|
import javax.swing.JFrame;
|
||
|
import javax.swing.JPanel;
|
||
|
import javax.swing.border.EmptyBorder;
|
||
|
import javax.swing.JMenuBar;
|
||
|
import javax.swing.JMenuItem;
|
||
|
import javax.swing.JTextArea;
|
||
|
import javax.swing.JLabel;
|
||
|
import javax.swing.JRadioButton;
|
||
|
import javax.swing.JButton;
|
||
|
import javax.swing.JMenu;
|
||
|
|
||
|
import java.awt.event.ActionListener;
|
||
|
import java.awt.event.ActionEvent;
|
||
|
|
||
|
import javax.swing.ButtonGroup;
|
||
|
import javax.swing.JCheckBoxMenuItem;
|
||
|
|
||
|
import java.awt.*;
|
||
|
import java.awt.datatransfer.*;
|
||
|
import java.awt.event.KeyAdapter;
|
||
|
import java.awt.event.KeyEvent;
|
||
|
|
||
|
import javax.swing.JScrollPane;
|
||
|
import javax.swing.JPopupMenu;
|
||
|
|
||
|
import java.awt.event.MouseAdapter;
|
||
|
import java.awt.event.MouseEvent;
|
||
|
|
||
|
public class Morse extends JFrame {
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
private static final long serialVersionUID = -4342211364299252760L;
|
||
|
private JPanel contentPane;
|
||
|
private JTextArea tfOutput;
|
||
|
private JTextArea tfInput;
|
||
|
private JRadioButton rdbtnwmll;
|
||
|
private JRadioButton rdbtnllwm;
|
||
|
private JRadioButton rdbtnmll;
|
||
|
private JRadioButton rdbtnllm;
|
||
|
private JButton btnConvert;
|
||
|
private JButton btnSelectInput;
|
||
|
private final ButtonGroup buttonGroup = new ButtonGroup();
|
||
|
private JCheckBoxMenuItem chckbxmntmClipboardAutomatic;
|
||
|
|
||
|
/**
|
||
|
* Launch the application.
|
||
|
*/
|
||
|
public static void main(String[] args) {
|
||
|
EventQueue.invokeLater(new Runnable() {
|
||
|
public void run() {
|
||
|
try {
|
||
|
Morse frame = new Morse();
|
||
|
frame.setVisible(true);
|
||
|
} catch (Exception e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Create the frame.
|
||
|
*/
|
||
|
public Morse() {
|
||
|
setResizable(false);
|
||
|
setTitle("Morse Converter");
|
||
|
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||
|
setBounds(100, 100, 792, 443);
|
||
|
contentPane = new JPanel();
|
||
|
contentPane.setBackground(new Color(255, 255, 255));
|
||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||
|
setContentPane(contentPane);
|
||
|
contentPane.setLayout(null);
|
||
|
|
||
|
JMenuBar menuBar = new JMenuBar();
|
||
|
menuBar.setBackground(new Color(51, 102, 255));
|
||
|
menuBar.setBorderPainted(false);
|
||
|
menuBar.setBounds(0, 0, 820, 21);
|
||
|
contentPane.add(menuBar);
|
||
|
|
||
|
JMenu mnMain = new JMenu("Main Menu");
|
||
|
mnMain.setBackground(new Color(255, 255, 255));
|
||
|
menuBar.add(mnMain);
|
||
|
|
||
|
JMenuItem mntmAbout = new JMenuItem("About");
|
||
|
mntmAbout.setBackground(new Color(255, 255, 255));
|
||
|
mntmAbout.setToolTipText("Information about the Software");
|
||
|
mntmAbout.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
About.main(null);
|
||
|
}
|
||
|
});
|
||
|
mnMain.add(mntmAbout);
|
||
|
|
||
|
JMenuItem mntmBug = new JMenuItem("Bug");
|
||
|
mntmBug.setBackground(new Color(255, 255, 255));
|
||
|
mntmBug.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
Bug.main(null);
|
||
|
}
|
||
|
});
|
||
|
mntmBug.setToolTipText("Information about handling a bug");
|
||
|
mnMain.add(mntmBug);
|
||
|
|
||
|
JMenuItem mntmHowTo = new JMenuItem("How to");
|
||
|
mntmHowTo.setBackground(new Color(255, 255, 255));
|
||
|
mntmHowTo.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
HowTo.main(null);
|
||
|
}
|
||
|
});
|
||
|
mntmHowTo.setToolTipText("Information about how to use the software");
|
||
|
mnMain.add(mntmHowTo);
|
||
|
JMenuItem mntmMissingCode = new JMenuItem("Missing Code");
|
||
|
mntmMissingCode.setBackground(new Color(255, 255, 255));
|
||
|
mntmMissingCode
|
||
|
.setToolTipText("Information about handling a missing code");
|
||
|
mnMain.add(mntmMissingCode);
|
||
|
|
||
|
JMenuItem mntmExit = new JMenuItem("Exit");
|
||
|
mntmExit.setBackground(new Color(255, 255, 255));
|
||
|
mntmExit.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
setVisible(false);
|
||
|
dispose();
|
||
|
}
|
||
|
});
|
||
|
mnMain.add(mntmExit);
|
||
|
mntmMissingCode.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
MissingCode.main(null);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
JMenu mnClipboard = new JMenu("Clipboard");
|
||
|
mnClipboard.setBackground(new Color(255, 255, 255));
|
||
|
menuBar.add(mnClipboard);
|
||
|
|
||
|
JMenuItem mntnPaste = new JMenuItem("Paste from Clipboard");
|
||
|
mntnPaste.setBackground(new Color(255, 255, 255));
|
||
|
mntnPaste
|
||
|
.setToolTipText("Paste the text from your Clipboard into the input field");
|
||
|
mntnPaste.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
onPaste(tfInput);
|
||
|
}
|
||
|
});
|
||
|
mnClipboard.add(mntnPaste);
|
||
|
|
||
|
JMenuItem mntmCopy = new JMenuItem("Copy into Clipboard");
|
||
|
mntmCopy.setBackground(new Color(255, 255, 255));
|
||
|
mntmCopy.setToolTipText("Copy the text from the output field into your clipboard");
|
||
|
mntmCopy.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
onCopy(tfOutput);
|
||
|
}
|
||
|
});
|
||
|
mnClipboard.add(mntmCopy);
|
||
|
|
||
|
chckbxmntmClipboardAutomatic = new JCheckBoxMenuItem(
|
||
|
"Copy automatically into Clipboard");
|
||
|
chckbxmntmClipboardAutomatic.setBackground(new Color(255, 255, 255));
|
||
|
chckbxmntmClipboardAutomatic
|
||
|
.setToolTipText("Copy the text form the output field automatically into your clipboard");
|
||
|
mnClipboard.add(chckbxmntmClipboardAutomatic);
|
||
|
|
||
|
JScrollPane scrollPaneInput = new JScrollPane();
|
||
|
scrollPaneInput.setBounds(12, 60, 758, 140);
|
||
|
contentPane.add(scrollPaneInput);
|
||
|
|
||
|
tfInput = new JTextArea();
|
||
|
tfInput.setToolTipText("Enter here your text");
|
||
|
scrollPaneInput.setViewportView(tfInput);
|
||
|
tfInput.addKeyListener(new KeyAdapter() {
|
||
|
@Override
|
||
|
public void keyPressed(KeyEvent e) {
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void keyReleased(KeyEvent e) {
|
||
|
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
|
||
|
ChooseProcess();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void keyTyped(KeyEvent e) {
|
||
|
}
|
||
|
});
|
||
|
tfInput.setLineWrap(true);
|
||
|
|
||
|
JPopupMenu popupMenuIp = new JPopupMenu();
|
||
|
addPopup(tfInput, popupMenuIp);
|
||
|
|
||
|
JMenuItem mntmIpPaste = new JMenuItem("Paste from Clipboard");
|
||
|
mntmIpPaste
|
||
|
.setToolTipText("Paste the text from your Clipboard into the input field");
|
||
|
mntmIpPaste.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
onPaste(tfInput);
|
||
|
}
|
||
|
});
|
||
|
popupMenuIp.add(mntmIpPaste);
|
||
|
|
||
|
JMenuItem mntnIpSelect = new JMenuItem("Select text");
|
||
|
mntnIpSelect.setToolTipText("Select the whole text");
|
||
|
mntnIpSelect.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
tfInput.requestFocus();
|
||
|
tfInput.selectAll();
|
||
|
}
|
||
|
});
|
||
|
popupMenuIp.add(mntnIpSelect);
|
||
|
|
||
|
JMenuItem mntmIpDelete = new JMenuItem("Delete text");
|
||
|
mntmIpDelete.setToolTipText("Delete the whole text");
|
||
|
mntmIpDelete.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
tfInput.setText(null);
|
||
|
}
|
||
|
});
|
||
|
popupMenuIp.add(mntmIpDelete);
|
||
|
|
||
|
JLabel lblEnterYourText = new JLabel("Enter your text:");
|
||
|
lblEnterYourText.setBackground(new Color(255, 255, 255));
|
||
|
lblEnterYourText.setBounds(10, 33, 111, 15);
|
||
|
contentPane.add(lblEnterYourText);
|
||
|
|
||
|
rdbtnwmll = new JRadioButton("writtenMorse to Latin Letters");
|
||
|
rdbtnwmll.setBackground(new Color(255, 255, 255));
|
||
|
rdbtnwmll
|
||
|
.setToolTipText("Convert writtenMorse into normal latin letters");
|
||
|
buttonGroup.add(rdbtnwmll);
|
||
|
rdbtnwmll.setBounds(12, 208, 250, 23);
|
||
|
contentPane.add(rdbtnwmll);
|
||
|
|
||
|
rdbtnllwm = new JRadioButton("Latin Letters to writtenMorse");
|
||
|
rdbtnllwm.setBackground(new Color(255, 255, 255));
|
||
|
rdbtnllwm
|
||
|
.setToolTipText("Convert normal latin letters into writtenMorse");
|
||
|
buttonGroup.add(rdbtnllwm);
|
||
|
rdbtnllwm.setBounds(266, 208, 250, 23);
|
||
|
contentPane.add(rdbtnllwm);
|
||
|
|
||
|
rdbtnmll = new JRadioButton("Morse to Latin Letters");
|
||
|
rdbtnmll.setBackground(new Color(255, 255, 255));
|
||
|
rdbtnmll.setToolTipText("Convert normal morse code into normal latin letters");
|
||
|
buttonGroup.add(rdbtnmll);
|
||
|
rdbtnmll.setBounds(12, 235, 250, 23);
|
||
|
contentPane.add(rdbtnmll);
|
||
|
|
||
|
rdbtnllm = new JRadioButton("Latin Letters to Morse");
|
||
|
rdbtnllm.setBackground(new Color(255, 255, 255));
|
||
|
rdbtnllm.setToolTipText("convert normal latin letters into normal morse code");
|
||
|
buttonGroup.add(rdbtnllm);
|
||
|
rdbtnllm.setBounds(266, 235, 250, 23);
|
||
|
contentPane.add(rdbtnllm);
|
||
|
|
||
|
btnConvert = new JButton("Convert");
|
||
|
btnConvert.setForeground(new Color(255, 255, 255));
|
||
|
btnConvert.setBackground(new Color(51, 102, 255));
|
||
|
btnConvert
|
||
|
.setToolTipText("Convert the insert text to the choosen code");
|
||
|
btnConvert.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
ChooseProcess();
|
||
|
}
|
||
|
});
|
||
|
btnConvert.setBounds(612, 218, 160, 25);
|
||
|
contentPane.add(btnConvert);
|
||
|
|
||
|
JScrollPane scrollPaneOutput = new JScrollPane();
|
||
|
scrollPaneOutput.setBounds(12, 266, 758, 140);
|
||
|
contentPane.add(scrollPaneOutput);
|
||
|
|
||
|
tfOutput = new JTextArea();
|
||
|
tfOutput.setToolTipText("This is the output text field");
|
||
|
scrollPaneOutput.setViewportView(tfOutput);
|
||
|
tfOutput.setEditable(false);
|
||
|
tfOutput.setLineWrap(true);
|
||
|
|
||
|
JPopupMenu popupMenuOp = new JPopupMenu();
|
||
|
addPopup(tfOutput, popupMenuOp);
|
||
|
|
||
|
JMenuItem mntmOpClipboardCopy = new JMenuItem("Copy into Clipboard");
|
||
|
mntmOpClipboardCopy.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
onCopy(tfOutput);
|
||
|
}
|
||
|
});
|
||
|
popupMenuOp.add(mntmOpClipboardCopy);
|
||
|
|
||
|
JMenuItem mntmOpSelect = new JMenuItem("Select Text");
|
||
|
mntmOpSelect.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
tfOutput.requestFocus();
|
||
|
tfOutput.selectAll();
|
||
|
}
|
||
|
});
|
||
|
popupMenuOp.add(mntmOpSelect);
|
||
|
|
||
|
btnSelectInput = new JButton("Select Input Text");
|
||
|
btnSelectInput.setForeground(new Color(255, 255, 255));
|
||
|
btnSelectInput.setBackground(new Color(51, 102, 255));
|
||
|
btnSelectInput.setToolTipText("Select the whole text of the input box");
|
||
|
btnSelectInput.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
tfInput.requestFocus();
|
||
|
tfInput.selectAll();
|
||
|
btnSelectInput.setVisible(false);
|
||
|
}
|
||
|
});
|
||
|
btnSelectInput.setBounds(612, 28, 158, 25);
|
||
|
btnSelectInput.setVisible(false);
|
||
|
contentPane.add(btnSelectInput);
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Choose the convert process
|
||
|
*/
|
||
|
private void ChooseProcess() {
|
||
|
if (rdbtnwmll.isSelected()) {
|
||
|
tfOutput.setText("Process not available");
|
||
|
WmLl();
|
||
|
} else if (rdbtnllwm.isSelected()) {
|
||
|
LlWm();
|
||
|
} else if (rdbtnmll.isSelected()) {
|
||
|
MLl();
|
||
|
} else if (rdbtnllm.isSelected()) {
|
||
|
LlM();
|
||
|
} else {
|
||
|
tfOutput.setText("Please select a convert process");
|
||
|
rdbtnwmll.requestFocus();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Tasks to do after the converting process
|
||
|
*/
|
||
|
private void After() {
|
||
|
tfOutput.requestFocus();
|
||
|
tfOutput.selectAll();
|
||
|
btnSelectInput.setVisible(true);
|
||
|
if (chckbxmntmClipboardAutomatic.isSelected()) {
|
||
|
onCopy(tfOutput);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Code for converting latin letters into written morse
|
||
|
*/
|
||
|
private void LlWm() {
|
||
|
try {
|
||
|
// Variables
|
||
|
StringBuffer input = new StringBuffer();
|
||
|
input = input.replace(0, input.length(), tfInput.getText()
|
||
|
.toUpperCase());
|
||
|
StringBuffer output = new StringBuffer();
|
||
|
if (input.toString().equals("")) {
|
||
|
tfOutput.setText("Please enter at least one character");
|
||
|
After();
|
||
|
} else if (input.toString().equals("LETTERSPACE")) {
|
||
|
tfOutput.setText("#");
|
||
|
After();
|
||
|
} else if (input.toString().equals("END OF WORK")) {
|
||
|
tfOutput.setText("000101");
|
||
|
After();
|
||
|
} else if (input.toString().equals("ERROR")) {
|
||
|
tfOutput.setText("00000000");
|
||
|
After();
|
||
|
} else if (input.toString().equals("STARTING SIGNAL")) {
|
||
|
tfOutput.setText("10101");
|
||
|
After();
|
||
|
} else if (input.toString().equals("ENDING SIGNAL")) {
|
||
|
tfOutput.setText("01010");
|
||
|
After();
|
||
|
} else if (input.toString().equals("UNDERSTOOD")) {
|
||
|
tfOutput.setText("00010");
|
||
|
After();
|
||
|
} else if (input.toString().equals("WAIT")) {
|
||
|
tfOutput.setText("01000");
|
||
|
After();
|
||
|
} else if (input.toString().equals("SOS")) {
|
||
|
tfOutput.setText("000111000");
|
||
|
After();
|
||
|
} else if (input.toString().equals("LETTER SPACE")) {
|
||
|
tfOutput.setText("#");
|
||
|
After();
|
||
|
} else if (input.toString().equals("WORD SPACE")) {
|
||
|
tfOutput.setText("+");
|
||
|
After();
|
||
|
} else {
|
||
|
for (int c = input.length(); c > 0; c--) {
|
||
|
if (input.toString().startsWith(" ")) {
|
||
|
output.append("+");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("A")) {
|
||
|
output.append("01#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("B")) {
|
||
|
output.append("1000#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("C")) {
|
||
|
output.append("1010#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("D")) {
|
||
|
output.append("100#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("E")) {
|
||
|
output.append("0#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("F")) {
|
||
|
output.append("0010#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("G")) {
|
||
|
output.append("110#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("H")) {
|
||
|
output.append("0000#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("I")) {
|
||
|
output.append("00#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("J")) {
|
||
|
output.append("0111#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("K")) {
|
||
|
output.append("101#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("L")) {
|
||
|
output.append("0100#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("M")) {
|
||
|
output.append("11#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("N")) {
|
||
|
output.append("10#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("O")) {
|
||
|
output.append("111#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("P")) {
|
||
|
output.append("0110#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("Q")) {
|
||
|
output.append("1101#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("R")) {
|
||
|
output.append("010#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("S")) {
|
||
|
output.append("000#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("T")) {
|
||
|
output.append("1#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("U")) {
|
||
|
output.append("001#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("V")) {
|
||
|
output.append("0001#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("W")) {
|
||
|
output.append("011#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("X")) {
|
||
|
output.append("1001#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("Y")) {
|
||
|
output.append("1011#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("Z")) {
|
||
|
output.append("1100#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("0")) {
|
||
|
output.append("11111#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("1")) {
|
||
|
output.append("01111#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("2")) {
|
||
|
output.append("00111#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("3")) {
|
||
|
output.append("00011#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("4")) {
|
||
|
output.append("00001#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("5")) {
|
||
|
output.append("00000#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("6")) {
|
||
|
output.append("10000#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("7")) {
|
||
|
output.append("11000#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("8")) {
|
||
|
output.append("11100#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("9")) {
|
||
|
output.append("11110#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("Ä")) {
|
||
|
output.append("0101#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("Ö")) {
|
||
|
output.append("1110#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("Ü")) {
|
||
|
output.append("0011#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("ß")) {
|
||
|
output.append("00011000#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith(".")) {
|
||
|
output.append("010101#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith(",")) {
|
||
|
output.append("110011#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith(":")) {
|
||
|
output.append("111000#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith(";")) {
|
||
|
output.append("101010#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("?")) {
|
||
|
output.append("001100#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("!")) {
|
||
|
output.append("101011#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("-")) {
|
||
|
output.append("100001#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("_")) {
|
||
|
output.append("001101#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("(")) {
|
||
|
output.append("10110#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith(")")) {
|
||
|
output.append("101101#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("=")) {
|
||
|
output.append("10001#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("+")) {
|
||
|
output.append("01010#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("/")) {
|
||
|
output.append("10010#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("@")) {
|
||
|
output.append("011010#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("'")) {
|
||
|
output.append("011110#");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("$")) {
|
||
|
output.append("0001001#");
|
||
|
input.delete(0, 1);
|
||
|
} else {
|
||
|
tfOutput.setText("Code not listed or wrong.");
|
||
|
}
|
||
|
}
|
||
|
if (output.toString().endsWith("#")
|
||
|
&& (output.toString().equals("#") == false)) {
|
||
|
output.delete(output.length() - 1, output.length());
|
||
|
}
|
||
|
tfOutput.setText(output.toString());
|
||
|
After();
|
||
|
}
|
||
|
} catch (Exception e) {
|
||
|
tfOutput.setText("Some error occured. I'm sorry!");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Code for converting writtenMorse to latin letters
|
||
|
*/
|
||
|
private void WmLl() {
|
||
|
try {
|
||
|
// Variables
|
||
|
String input;
|
||
|
StringBuffer output = new StringBuffer();
|
||
|
input = tfInput.getText().toUpperCase() + "#";
|
||
|
StringBuffer inputToSign = new StringBuffer(input);
|
||
|
while (inputToSign.toString().equals("#") == false) {
|
||
|
int d = 0;
|
||
|
boolean signFull = true;
|
||
|
StringBuffer sign = new StringBuffer();
|
||
|
while (signFull) {
|
||
|
if (inputToSign.toString().charAt(d) == '+'
|
||
|
|| inputToSign.toString().charAt(d) == '#') {
|
||
|
if (d == 0) {
|
||
|
if (inputToSign.toString().startsWith("+")) {
|
||
|
output.append(" ");
|
||
|
}
|
||
|
inputToSign.deleteCharAt(0);
|
||
|
} else {
|
||
|
sign.replace(0, sign.length(), inputToSign
|
||
|
.toString().substring(0, d));
|
||
|
inputToSign.delete(0, d);
|
||
|
signFull = false;
|
||
|
}
|
||
|
} else {
|
||
|
d++;
|
||
|
}
|
||
|
}
|
||
|
if (input.equals("°")) {
|
||
|
break;
|
||
|
} else if (sign.toString().equals("01")) {
|
||
|
output.append("A");
|
||
|
} else if (sign.toString().equals("1000")) {
|
||
|
output.append("B");
|
||
|
} else if (sign.toString().equals("1010")) {
|
||
|
output.append("C");
|
||
|
} else if (sign.toString().equals("100")) {
|
||
|
output.append("D");
|
||
|
} else if (sign.toString().equals("0")) {
|
||
|
output.append("E");
|
||
|
} else if (sign.toString().equals("0010")) {
|
||
|
output.append("F");
|
||
|
} else if (sign.toString().equals("110")) {
|
||
|
output.append("G");
|
||
|
} else if (sign.toString().equals("0000")) {
|
||
|
output.append("H");
|
||
|
} else if (sign.toString().equals("00")) {
|
||
|
output.append("I");
|
||
|
} else if (sign.toString().equals("0111")) {
|
||
|
output.append("J");
|
||
|
} else if (sign.toString().equals("101")) {
|
||
|
output.append("K");
|
||
|
} else if (sign.toString().equals("0100")) {
|
||
|
output.append("L");
|
||
|
} else if (sign.toString().equals("11")) {
|
||
|
output.append("M");
|
||
|
} else if (sign.toString().equals("10")) {
|
||
|
output.append("N");
|
||
|
} else if (sign.toString().equals("111")) {
|
||
|
output.append("O");
|
||
|
} else if (sign.toString().equals("0110")) {
|
||
|
output.append("P");
|
||
|
} else if (sign.toString().equals("1101")) {
|
||
|
output.append("Q");
|
||
|
} else if (sign.toString().equals("010")) {
|
||
|
output.append("R");
|
||
|
} else if (sign.toString().equals("000")) {
|
||
|
output.append("S");
|
||
|
} else if (sign.toString().equals("1")) {
|
||
|
output.append("T");
|
||
|
} else if (sign.toString().equals("001")) {
|
||
|
output.append("U");
|
||
|
} else if (sign.toString().equals("0001")) {
|
||
|
output.append("V");
|
||
|
} else if (sign.toString().equals("011")) {
|
||
|
output.append("W");
|
||
|
} else if (sign.toString().equals("1001")) {
|
||
|
output.append("X");
|
||
|
} else if (sign.toString().equals("1011")) {
|
||
|
output.append("Y");
|
||
|
} else if (sign.toString().equals("1100")) {
|
||
|
output.append("Z");
|
||
|
} else if (sign.toString().equals("11111")) {
|
||
|
output.append("0 (zero)");
|
||
|
} else if (sign.toString().equals("01111")) {
|
||
|
output.append("1");
|
||
|
} else if (sign.toString().equals("00111")) {
|
||
|
output.append("2");
|
||
|
} else if (sign.toString().equals("00011")) {
|
||
|
output.append("3");
|
||
|
} else if (sign.toString().equals("00001")) {
|
||
|
output.append("4");
|
||
|
} else if (sign.toString().equals("00000")) {
|
||
|
output.append("5");
|
||
|
} else if (sign.toString().equals("10000")) {
|
||
|
output.append("6");
|
||
|
} else if (sign.toString().equals("11000")) {
|
||
|
output.append("7");
|
||
|
} else if (sign.toString().equals("11100")) {
|
||
|
output.append("8");
|
||
|
} else if (sign.toString().equals("11110")) {
|
||
|
output.append("9");
|
||
|
} else if (sign.toString().equals("0101")) {
|
||
|
output.append("Ä");
|
||
|
} else if (sign.toString().equals("1110")) {
|
||
|
output.append("Ö");
|
||
|
} else if (sign.toString().equals("0011")) {
|
||
|
output.append("Ü");
|
||
|
} else if (sign.toString().equals("00011000")) {
|
||
|
output.append("ß");
|
||
|
} else if (sign.toString().equals("1111")) {
|
||
|
output.append("CH");
|
||
|
} else if (sign.toString().equals("010101")) {
|
||
|
output.append(".");
|
||
|
} else if (sign.toString().equals("110011")) {
|
||
|
output.append(",");
|
||
|
} else if (sign.toString().equals("111000")) {
|
||
|
output.append(":");
|
||
|
} else if (sign.toString().equals("101010")) {
|
||
|
output.append(";");
|
||
|
} else if (sign.toString().equals("001100")) {
|
||
|
output.append("?");
|
||
|
} else if (sign.toString().equals("101011")) {
|
||
|
output.append("!");
|
||
|
} else if (sign.toString().equals("100001")) {
|
||
|
output.append("-");
|
||
|
} else if (sign.toString().equals("001101")) {
|
||
|
output.append("_");
|
||
|
} else if (sign.toString().equals("10110")) {
|
||
|
output.append("(");
|
||
|
} else if (sign.toString().equals("101101")) {
|
||
|
output.append(")");
|
||
|
} else if (sign.toString().equals("011110")) {
|
||
|
output.append("'");
|
||
|
} else if (sign.toString().equals("10001")) {
|
||
|
output.append("=");
|
||
|
} else if (sign.toString().equals("01010")) {
|
||
|
output.append("+ or End of the signal");
|
||
|
} else if (sign.toString().equals("10010")) {
|
||
|
output.append("/");
|
||
|
} else if (sign.toString().equals("011010")) {
|
||
|
output.append("@");
|
||
|
} else if (sign.toString().equals("10101")) {
|
||
|
output.append("Begin of the signal");
|
||
|
} else if (sign.toString().equals("10001")) {
|
||
|
output.append("Wait");
|
||
|
} else if (sign.toString().equals("00010")) {
|
||
|
output.append("Understood");
|
||
|
} else if (sign.toString().equals("000101")) {
|
||
|
output.append("End of work");
|
||
|
} else if (sign.toString().equals("000111000")) {
|
||
|
output.append("SOS");
|
||
|
} else if (sign.toString().equals("00000000")) {
|
||
|
output.append("Error");
|
||
|
} else {
|
||
|
tfOutput.setText("Code not listed or wrong.");
|
||
|
}
|
||
|
}
|
||
|
tfOutput.setText(output.toString());
|
||
|
After();
|
||
|
} catch (Exception e) {
|
||
|
tfOutput.setText("Some error occured. I'm sorry!");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Code for converting normal letters into morse code
|
||
|
*/
|
||
|
|
||
|
private void LlM() {
|
||
|
try {
|
||
|
// Variables
|
||
|
StringBuffer input = new StringBuffer();
|
||
|
input = input.replace(0, input.length(), tfInput.getText()
|
||
|
.toUpperCase());
|
||
|
StringBuffer output = new StringBuffer();
|
||
|
if (input.toString().equals("")) {
|
||
|
tfOutput.setText("Please enter at least one character");
|
||
|
After();
|
||
|
} else if (input.toString().equals("LETTERSPACE")) {
|
||
|
tfOutput.setText(" ");
|
||
|
After();
|
||
|
} else if (input.toString().equals("END OF WORK")) {
|
||
|
tfOutput.setText("...-.-");
|
||
|
After();
|
||
|
} else if (input.toString().equals("ERROR")) {
|
||
|
tfOutput.setText("........");
|
||
|
After();
|
||
|
} else if (input.toString().equals("STARTING SIGNAL")) {
|
||
|
tfOutput.setText("-.-.-");
|
||
|
After();
|
||
|
} else if (input.toString().equals("ENDING SIGNAL")) {
|
||
|
tfOutput.setText(".-.-.");
|
||
|
After();
|
||
|
} else if (input.toString().equals("UNDERSTOOD")) {
|
||
|
tfOutput.setText("...-.");
|
||
|
After();
|
||
|
} else if (input.toString().equals("WAIT")) {
|
||
|
tfOutput.setText(".-...");
|
||
|
After();
|
||
|
} else if (input.toString().equals("SOS")) {
|
||
|
tfOutput.setText("...---...");
|
||
|
After();
|
||
|
} else if (input.toString().equals("LETTER SPACE")) {
|
||
|
tfOutput.setText(" ");
|
||
|
After();
|
||
|
} else if (input.toString().equals("WORD SPACE")) {
|
||
|
tfOutput.setText(" ");
|
||
|
After();
|
||
|
} else {
|
||
|
for (int c = input.length(); c > 0; c--) {
|
||
|
if (input.toString().startsWith(" ")) {
|
||
|
output.append(" ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("A")) {
|
||
|
output.append(".- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("B")) {
|
||
|
output.append("-... ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("C")) {
|
||
|
output.append("-.-. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("D")) {
|
||
|
output.append("-.. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("E")) {
|
||
|
output.append(". ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("F")) {
|
||
|
output.append("..-. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("G")) {
|
||
|
output.append("--. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("H")) {
|
||
|
output.append(".... ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("I")) {
|
||
|
output.append(".. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("J")) {
|
||
|
output.append(".--- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("K")) {
|
||
|
output.append("-.- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("L")) {
|
||
|
output.append(".-.. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("M")) {
|
||
|
output.append("-- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("N")) {
|
||
|
output.append("-. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("O")) {
|
||
|
output.append("--- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("P")) {
|
||
|
output.append(".--. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("Q")) {
|
||
|
output.append("--.- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("R")) {
|
||
|
output.append(".-. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("S")) {
|
||
|
output.append("... ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("T")) {
|
||
|
output.append("- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("U")) {
|
||
|
output.append("..- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("V")) {
|
||
|
output.append("...- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("W")) {
|
||
|
output.append(".-- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("X")) {
|
||
|
output.append("-..- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("Y")) {
|
||
|
output.append("-.-- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("Z")) {
|
||
|
output.append("--.. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("0")) {
|
||
|
output.append("----- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("1")) {
|
||
|
output.append(".---- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("2")) {
|
||
|
output.append("..--- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("3")) {
|
||
|
output.append("...-- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("4")) {
|
||
|
output.append("....- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("5")) {
|
||
|
output.append("..... ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("6")) {
|
||
|
output.append("-.... ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("7")) {
|
||
|
output.append("--... ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("8")) {
|
||
|
output.append("---.. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("9")) {
|
||
|
output.append("----. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("Ä")) {
|
||
|
output.append(".-.- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("Ö")) {
|
||
|
output.append("---. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("Ü")) {
|
||
|
output.append("..-- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("ß")) {
|
||
|
output.append("...--... ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith(".")) {
|
||
|
output.append(".-.-.- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith(",")) {
|
||
|
output.append("--..-- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith(":")) {
|
||
|
output.append("---... ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith(";")) {
|
||
|
output.append("-.-.-. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("?")) {
|
||
|
output.append("..--.. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("!")) {
|
||
|
output.append("-.-.-- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("-")) {
|
||
|
output.append("-....- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("_")) {
|
||
|
output.append("..--.- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("(")) {
|
||
|
output.append("-.--. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith(")")) {
|
||
|
output.append("-.--.- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("=")) {
|
||
|
output.append("-...- ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("+")) {
|
||
|
output.append(".-.-. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("/")) {
|
||
|
output.append("-..-. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("@")) {
|
||
|
output.append(".--.-. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("'")) {
|
||
|
output.append(".----. ");
|
||
|
input.delete(0, 1);
|
||
|
} else if (input.toString().startsWith("$")) {
|
||
|
output.append("...-..- ");
|
||
|
input.delete(0, 1);
|
||
|
} else {
|
||
|
tfOutput.setText("Code not listed or wrong.");
|
||
|
}
|
||
|
}
|
||
|
if (output.toString().endsWith(" ")
|
||
|
&& (output.toString().equals(" ") == false)) {
|
||
|
output.delete(output.length() - 3, output.length());
|
||
|
}
|
||
|
tfOutput.setText(output.toString());
|
||
|
After();
|
||
|
}
|
||
|
} catch (Exception e) {
|
||
|
tfOutput.setText("Some error occured. I'm sorry!");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Code for converting morse code into latin letters
|
||
|
*/
|
||
|
private void MLl() {
|
||
|
try {
|
||
|
// Variables
|
||
|
String input;
|
||
|
StringBuffer output = new StringBuffer();
|
||
|
input = tfInput.getText() + " ";
|
||
|
StringBuffer inputToSign = new StringBuffer(input);
|
||
|
while (inputToSign.toString().equals(" ") == false) {
|
||
|
int d = 0;
|
||
|
boolean signFull = true;
|
||
|
StringBuffer sign = new StringBuffer();
|
||
|
while (signFull) {
|
||
|
if (inputToSign.toString().startsWith(" ")) {
|
||
|
output.append(" ");
|
||
|
inputToSign.delete(d, d + 9);
|
||
|
} else if (inputToSign.toString().substring(d, d + 3)
|
||
|
.equals(" ")) {
|
||
|
if (d == 0) {
|
||
|
inputToSign.delete(0, 3);
|
||
|
} else {
|
||
|
sign.replace(0, sign.length(), inputToSign
|
||
|
.toString().substring(0, d));
|
||
|
inputToSign.delete(0, d);
|
||
|
signFull = false;
|
||
|
}
|
||
|
} else {
|
||
|
d++;
|
||
|
}
|
||
|
}
|
||
|
if (sign.toString().equals(".-")) {
|
||
|
output.append("A");
|
||
|
} else if (sign.toString().equals("-...")) {
|
||
|
output.append("B");
|
||
|
} else if (sign.toString().equals("-.-.")) {
|
||
|
output.append("C");
|
||
|
} else if (sign.toString().equals("-..")) {
|
||
|
output.append("D");
|
||
|
} else if (sign.toString().equals(".")) {
|
||
|
output.append("E");
|
||
|
} else if (sign.toString().equals("..-.")) {
|
||
|
output.append("F");
|
||
|
} else if (sign.toString().equals("--.")) {
|
||
|
output.append("G");
|
||
|
} else if (sign.toString().equals("....")) {
|
||
|
output.append("H");
|
||
|
} else if (sign.toString().equals("..")) {
|
||
|
output.append("I");
|
||
|
} else if (sign.toString().equals(".---")) {
|
||
|
output.append("J");
|
||
|
} else if (sign.toString().equals("-.-")) {
|
||
|
output.append("K");
|
||
|
} else if (sign.toString().equals(".-..")) {
|
||
|
output.append("L");
|
||
|
} else if (sign.toString().equals("--")) {
|
||
|
output.append("M");
|
||
|
} else if (sign.toString().equals("-.")) {
|
||
|
output.append("N");
|
||
|
} else if (sign.toString().equals("---")) {
|
||
|
output.append("O");
|
||
|
} else if (sign.toString().equals(".--.")) {
|
||
|
output.append("P");
|
||
|
} else if (sign.toString().equals("--.-")) {
|
||
|
output.append("Q");
|
||
|
} else if (sign.toString().equals(".-.")) {
|
||
|
output.append("R");
|
||
|
} else if (sign.toString().equals("...")) {
|
||
|
output.append("S");
|
||
|
} else if (sign.toString().equals("-")) {
|
||
|
output.append("T");
|
||
|
} else if (sign.toString().equals("..-")) {
|
||
|
output.append("U");
|
||
|
} else if (sign.toString().equals("...-")) {
|
||
|
output.append("V");
|
||
|
} else if (sign.toString().equals(".--")) {
|
||
|
output.append("W");
|
||
|
} else if (sign.toString().equals("-..-")) {
|
||
|
output.append("X");
|
||
|
} else if (sign.toString().equals("-.--")) {
|
||
|
output.append("Y");
|
||
|
} else if (sign.toString().equals("--..")) {
|
||
|
output.append("Z");
|
||
|
} else if (sign.toString().equals("-----")) {
|
||
|
output.append(". (zero)");
|
||
|
} else if (sign.toString().equals(".----")) {
|
||
|
output.append("-");
|
||
|
} else if (sign.toString().equals("..---")) {
|
||
|
output.append("2");
|
||
|
} else if (sign.toString().equals("...--")) {
|
||
|
output.append("3");
|
||
|
} else if (sign.toString().equals("....-")) {
|
||
|
output.append("4");
|
||
|
} else if (sign.toString().equals(".....")) {
|
||
|
output.append("5");
|
||
|
} else if (sign.toString().equals("-....")) {
|
||
|
output.append("6");
|
||
|
} else if (sign.toString().equals("--...")) {
|
||
|
output.append("7");
|
||
|
} else if (sign.toString().equals("---..")) {
|
||
|
output.append("8");
|
||
|
} else if (sign.toString().equals("----.")) {
|
||
|
output.append("9");
|
||
|
} else if (sign.toString().equals(".-.-")) {
|
||
|
output.append("Ä");
|
||
|
} else if (sign.toString().equals("---.")) {
|
||
|
output.append("Ö");
|
||
|
} else if (sign.toString().equals("..--")) {
|
||
|
output.append("Ü");
|
||
|
} else if (sign.toString().equals("...--...")) {
|
||
|
output.append("ß");
|
||
|
} else if (sign.toString().equals("----")) {
|
||
|
output.append("CH");
|
||
|
} else if (sign.toString().equals(".-.-.-")) {
|
||
|
output.append(".");
|
||
|
} else if (sign.toString().equals("--..--")) {
|
||
|
output.append(",");
|
||
|
} else if (sign.toString().equals("---...")) {
|
||
|
output.append(":");
|
||
|
} else if (sign.toString().equals("-.-.-.")) {
|
||
|
output.append(";");
|
||
|
} else if (sign.toString().equals("..--..")) {
|
||
|
output.append("?");
|
||
|
} else if (sign.toString().equals("-.-.--")) {
|
||
|
output.append("!");
|
||
|
} else if (sign.toString().equals("-....-")) {
|
||
|
output.append("-");
|
||
|
} else if (sign.toString().equals("..--.-")) {
|
||
|
output.append("_");
|
||
|
} else if (sign.toString().equals("-.--.")) {
|
||
|
output.append("(");
|
||
|
} else if (sign.toString().equals("-.--.-")) {
|
||
|
output.append(")");
|
||
|
} else if (sign.toString().equals(".----.")) {
|
||
|
output.append("'");
|
||
|
} else if (sign.toString().equals("-...-")) {
|
||
|
output.append("=");
|
||
|
} else if (sign.toString().equals(".-.-.")) {
|
||
|
output.append("+ or End of the signal");
|
||
|
} else if (sign.toString().equals("-..-.")) {
|
||
|
output.append("/");
|
||
|
} else if (sign.toString().equals(".--.-.")) {
|
||
|
output.append("@");
|
||
|
} else if (sign.toString().equals("-.-.-")) {
|
||
|
output.append("Begin of the signal");
|
||
|
} else if (sign.toString().equals("-...-")) {
|
||
|
output.append("Wait");
|
||
|
} else if (sign.toString().equals("...-.")) {
|
||
|
output.append("Understood");
|
||
|
} else if (sign.toString().equals("...-.-")) {
|
||
|
output.append("End of work");
|
||
|
} else if (sign.toString().equals("...---...")) {
|
||
|
output.append("SOS");
|
||
|
} else if (sign.toString().equals("........")) {
|
||
|
output.append("Error");
|
||
|
} else {
|
||
|
tfOutput.setText("Code not listed or wrong.");
|
||
|
}
|
||
|
}
|
||
|
tfOutput.setText(output.toString());
|
||
|
After();
|
||
|
} catch (Exception e) {
|
||
|
tfOutput.setText("Some error occured. I'm sorry!");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* popup menu
|
||
|
*/
|
||
|
private static void addPopup(Component component, final JPopupMenu popup) {
|
||
|
component.addMouseListener(new MouseAdapter() {
|
||
|
public void mousePressed(MouseEvent e) {
|
||
|
if (e.isPopupTrigger()) {
|
||
|
showMenu(e);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void mouseReleased(MouseEvent e) {
|
||
|
if (e.isPopupTrigger()) {
|
||
|
showMenu(e);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void showMenu(MouseEvent e) {
|
||
|
popup.show(e.getComponent(), e.getX(), e.getY());
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Past function
|
||
|
*/
|
||
|
private void onPaste(JTextArea tf) {
|
||
|
try{
|
||
|
Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();
|
||
|
Transferable t = c.getContents(this);
|
||
|
if (t == null)
|
||
|
return;
|
||
|
try {
|
||
|
tf.setText((String) t.getTransferData(DataFlavor.stringFlavor));
|
||
|
} catch (Exception e) {
|
||
|
e.printStackTrace();
|
||
|
}// try
|
||
|
} catch (Exception e){
|
||
|
tfOutput.setText("Some error occured. I'm sorry! \n Are you sure that your clipboard isn't empty?");
|
||
|
}
|
||
|
}// onPaste
|
||
|
|
||
|
/*
|
||
|
* Copy function
|
||
|
*/
|
||
|
private void onCopy(JTextArea tf) {
|
||
|
StringSelection selection = new StringSelection(tf.getText());
|
||
|
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
|
||
|
clipboard.setContents(selection, selection);
|
||
|
}
|
||
|
}
|