I\'ve done soemthing wrong here because I have no errors, but this program I wro
ID: 3764763 • Letter: I
Question
I've done soemthing wrong here because I have no errors, but this program I wrote won't run. Please help to get this to run according to the assignment.
Program Description: Using JavaFX: Write a program that reads
//words from a text file and displays all the words
//(duplicates allowed) in ascending alphabetical order.
//The words must start with a letter. The text file is passed
//as a command-line argument. The text file I'm to nuse is called
example20_1.txt and there is to be an input box for the file and submit button, the file results are to be displayed in an input window below the box and button. This is what I have:
import java.io.*;
import java.util.*;
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.text.Text;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.control.TextArea;
import javafx.event.EventType;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
public class DisplayingWords extends Application {
TextField fileName = new TextField();
Button submitButton = new Button("Submit");
TextArea outputArea = new TextArea();
public void main() {
submitButton.setOnAction(e -> {
if(fileName.getText().length() > 0) {
submitButtonClick();
}
});
}
public void main(String[] args) throws IOException {
// Check command-line parameter usage
if (args.length > 0) {
fileName.setText(args[0]);
System.out.println("Source file: " + fileName.getText());
}
main();
}
@Override
public void start(Stage primaryStage) {
try {
BorderPane root = new BorderPane();
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.show();
// Set the stage title
primaryStage.setTitle("Exercise20_01");
// Place the scene in the stage
primaryStage.setScene(scene);
// Display the stage
primaryStage.show();
// Hold a button in an HBox
HBox inputBox = new HBox();
inputBox.setSpacing(10);
inputBox.setAlignment(Pos.CENTER);
inputBox.getChildren().addAll(new Text("Filename:"));
inputBox.getChildren().addAll(fileName);
inputBox.getChildren().addAll(submitButton);
root.setTop(inputBox);
//This creates a text box to display the results
//from reading the file in a pane
outputArea.setStyle("-fx-text-fill: black");
outputArea.setStyle("-fx-background-color: grey");
root.setCenter(outputArea);
} catch(Exception e) {
e.printStackTrace();
}
}
public void submitButtonClick() {
if(fileName.getText().length() > 0) {
// File sourceFile = new File(fileName.getText());
// if (!sourceFile.exists()) {
// System.out.println("Source file " + fileName.getText()
// + " does not exist");
// }
}
fileName.setText("Test 1");
}
class SortFile
{
//sorting function
void sortArray(String array[]) {
//Loop for no.of passes
for(int i=0;i<array.length-1;i++)
//Repeat no.of comparisons
for(int j=0;j<array.length-i-1;j++)
//Comparing adjacent elements
if(array[j].compareTo(array[j+1])>0)
{
//Swap using temp variable
String temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
public void main(String args[])
{
//Creating File object
File freader;
//Scanner for reading
Scanner filescanner;
//Array list for dynamic elements adding
ArrayList <String> array = new ArrayList<String>();
//If file name is no.of passed as argument is 1
if(args.length==1)
{
try
{
//Create file object
freader = new File(args[0]);
//Reading from file
filescanner = new Scanner(freader);
//Reading until end of file
while(filescanner.hasNext())
{
//Reading each word and to Array List
array.add(filescanner.next());
}
}
//If file IOException is thrown
catch(IOException ie)
{
System.out.println(ie);
}String[] newArray = new String[array.size()];
//Convert Array list to ArraynewArray=array.toArray(newArray);
System.out.println("List of strings from file Before Sorting : ");
//Print before sorting words
for(int i=0;i<newArray.length;i++)
System.out.print(newArray[i]+" ");
//Call sorting method
sortArray(newArray);
System.out.println(" List of strings from file After Sorting : ");
//Print after sorting words
for(int i=0;i<newArray.length;i++)
System.out.print(newArray[i]+" ");
System.out.print(" ");
}
else
//If file name is not passed as argument then show usage syntax
System.out.println("Usage syntax: SoftFile <example20_1.txt>");}
}
}
Explanation / Answer
You made a mistake in the line 22 you have to complete e->....
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.