Need help coding MorseCode in Java:
Create Class MorseCodeClient. This represents a Client that allows a user communicate with a
server across a network. The server saves the message and then relays the message to another
client This is a JFrame application and should extend JFrame and Implement Runnable. The
client application should allow the user to type English-language phrases in a JTextArea. When
the user sends the message, the client application encodes the text into Morse code and sends the
coded message through the server to the other client. Create class MorseCodeClientTest, this is a
test class for morse code client and uses the main method to created new instance of
MorseCodeClient.
Solution
package MorseCode;
import java.util.ArrayList;
public class MorseCodeConverter extends javax.swing.JFrame {
/**
* Creates new form MorseCodeConverter
*/
public MorseCodeConverter() {
initComponents();
}
@SuppressWarnings(\"unchecked\")
// //GEN-BEGIN:initComponents
private void initComponents() {
mainWindowContainer = new javax.swing.JPanel();
userSentence = new javax.swing.JTextField();
inputLabel = new javax.swing.JLabel();
outputLabel = new javax.swing.JLabel();
inputConfirmButton = new javax.swing.JButton();
outputField = new javax.swing.JTextField();
title = new javax.swing.JLabel();
javax.swing.GroupLayout mainWindowContainerLayout = new
javax.swing.GroupLayout(mainWindowContainer);
mainWindowContainer.setLayout(mainWindowContainerLayout);
mainWindowContainerLayout.setHorizontalGroup(
mainWindowContainerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD
ING)
.addGap(0, 100, Short.MAX_VALUE)
);
mainWindowContainerLayout.setVerticalGroup(
mainWindowContainerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD
ING)
.addGap(0, 100, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(204, 204, 255));
userSentence.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
userSentenceActionPerformed(evt);
}
});
inputLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
inputLabel.setText(\"Enter your sentence here\");
outputLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
outputLabel.setText(\"This is your sentence in Morse Code\");
outputLabel.setToolTipText(\"\");
inputConfirmButton.setText(\"OK\");
inputConfirmButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
inputConfirmButtonActionPerformed(evt);
}
});
outputField.setFont(new java.awt.Font(\"Tahoma\", 0, 16)); // NOI18N
title.setFont(new java.awt.Font(\"Simplified Arabic\", 0, 18)); // NOI18N
title.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
title.setText(\"Morse Code Converter\");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGrou.
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Need help coding MorseCode in JavaCreate Class MorseCodeClient. T.pdf
1. Need help coding MorseCode in Java:
Create Class MorseCodeClient. This represents a Client that allows a user communicate with a
server across a network. The server saves the message and then relays the message to another
client This is a JFrame application and should extend JFrame and Implement Runnable. The
client application should allow the user to type English-language phrases in a JTextArea. When
the user sends the message, the client application encodes the text into Morse code and sends the
coded message through the server to the other client. Create class MorseCodeClientTest, this is a
test class for morse code client and uses the main method to created new instance of
MorseCodeClient.
Solution
package MorseCode;
import java.util.ArrayList;
public class MorseCodeConverter extends javax.swing.JFrame {
/**
* Creates new form MorseCodeConverter
*/
public MorseCodeConverter() {
initComponents();
}
@SuppressWarnings("unchecked")
// //GEN-BEGIN:initComponents
private void initComponents() {
mainWindowContainer = new javax.swing.JPanel();
userSentence = new javax.swing.JTextField();
inputLabel = new javax.swing.JLabel();
outputLabel = new javax.swing.JLabel();
inputConfirmButton = new javax.swing.JButton();
outputField = new javax.swing.JTextField();
title = new javax.swing.JLabel();
javax.swing.GroupLayout mainWindowContainerLayout = new
javax.swing.GroupLayout(mainWindowContainer);
mainWindowContainer.setLayout(mainWindowContainerLayout);
mainWindowContainerLayout.setHorizontalGroup(
4. .addComponent(inputLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(userSentence, javax.swing.GroupLayout.PREFERRED_SIZE, 27,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(inputConfirmButton)
.addGap(31, 31, 31)
.addComponent(outputLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(outputField, javax.swing.GroupLayout.PREFERRED_SIZE, 30,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(44, 44, 44))
);
layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[]
{outputField, userSentence});
pack();
}// //GEN-END:initComponents
/**
* This method is run when the User enters a sentence; it runs
* when the user hits 'enter'.
*/
private void userSentenceActionPerformed(java.awt.event.ActionEvent evt) {
//GEN- FIRST:event_userSentenceActionPerformed
String[] morseCode = {" ", "--..--", ".-.-.-", "..--..", "-----",
".----", "..---", "...---", "....-", ".....", "-....", "--...",
"---..", "----.", ".-", "-...", "-.-.", "-..", ".", "..-.", "--.",
"....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.",
"--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--",
"--.."};
String english = " ,.?0123456789abcdefghijklmnopqrstuvwxyz";
char[] englishArray = english.toCharArray();
ArrayList holdList = new ArrayList<>();
StringBuilder holdBuilder = new StringBuilder();
5. String userString = userSentence.getText().toLowerCase();
char[] userArray = userString.toCharArray();
for(int i = 0; i < userArray.length; i++) {
for(int n = 0; n < englishArray.length; n++) {
if(userArray[i] == englishArray[n]) {
holdList.add(n);
}
}
}
for(int i = 0; i < holdList.size(); i++) {
holdBuilder.append(morseCode[holdList.get(i)]);
}
String moCode = holdBuilder.toString();
outputField.setText(moCode);
}//GEN-LAST:event_userSentenceActionPerformed
/**
* This method is run when the user clicks the 'OK' button
* in the GUI. It has the same code as the userSentence method
*/
private void inputConfirmButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_inputConfirmButtonActionPerformed
// a string array to hold all of the Morse Code values
String[] morseCode = {" ", "--..--", ".-.-.-", "..--..", "-----",
".----", "..---", "...---", "....-", ".....", "-....", "--...",
"---..", "----.", ".-", "-...", "-.-.", "-..", ".", "..-.", "--.",
"....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.",
"--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--",
"--.."};
// a string of english letter, numbers and punctuation that
// corresponds to the Morse Code list
String english = " ,.?0123456789abcdefghijklmnopqrstuvwxyz";
// turn that english string into an array of characters
// this will allow us to iterate over it
char[] englishArray = english.toCharArray();
6. // make an ArrayList to hold our index values as we find them.
// also initialize a StringBuilder object that will help us in
// printing out a clean string of morse code values
ArrayList holdList = new ArrayList<>();
StringBuilder holdBuilder = new StringBuilder();
// user input, convert to lowercase for simplicity;
// convert the input to a character array. This will
// allow iteration
String userString = userSentence.getText().toLowerCase();
char[] userArray = userString.toCharArray();
// loop through each character in the userArray, and match
// them up with values in the array of english characters.
// save the index value of the english array
for(int i = 0; i < userArray.length; i++) {
for(int n = 0; n < englishArray.length; n++) {
if(userArray[i] == englishArray[n]) {
holdList.add(n);
}
}
}
// append all morse codes associated
// with the english array indexes to the StringBuilder object.
for(int i = 0; i < holdList.size(); i++) {
holdBuilder.append(morseCode[holdList.get(i)]);
}
// convert that object to a string and print it out.
String moCode = holdBuilder.toString();
outputField.setText(moCode);
}//GEN-LAST:event_inputConfirmButtonActionPerformed
public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {