Updated Application to comply with SE.QA.09. Issue #35
This commit is contained in:
parent
9b741d90db
commit
edd26247fc
1 changed files with 18 additions and 9 deletions
|
@ -13,7 +13,6 @@ import uk.ac.aber.cs221.group20.json.DictionaryEntry;
|
||||||
import uk.ac.aber.cs221.group20.json.JsonProcessing;
|
import uk.ac.aber.cs221.group20.json.JsonProcessing;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -40,8 +39,11 @@ public class Application extends javafx.application.Application {
|
||||||
// Class variables. //
|
// Class variables. //
|
||||||
// //////////////// //
|
// //////////////// //
|
||||||
|
|
||||||
public static LinkedList<DictionaryEntry> dictionary = new LinkedList<>(); // Dictionary containing all the words.
|
// Dictionary containing all the words.
|
||||||
public static LinkedList<DictionaryEntry> practiceList = new LinkedList<>(); // Practice list containing all the practice words.
|
public static LinkedList<DictionaryEntry> dictionary = new LinkedList<>();
|
||||||
|
|
||||||
|
// Practice list containing all the practice words.
|
||||||
|
public static LinkedList<DictionaryEntry> practiceList = new LinkedList<>();
|
||||||
|
|
||||||
// ////////////// //
|
// ////////////// //
|
||||||
// Class methods. //
|
// Class methods. //
|
||||||
|
@ -49,6 +51,7 @@ public class Application extends javafx.application.Application {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Applications main method that is first ran when the program is started. This method is responsible for calling JavaFX's launch method that starts the program's JavaFX.
|
* Applications main method that is first ran when the program is started. This method is responsible for calling JavaFX's launch method that starts the program's JavaFX.
|
||||||
|
*
|
||||||
* @param args Programs arguments.
|
* @param args Programs arguments.
|
||||||
*/
|
*/
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
@ -60,7 +63,7 @@ public class Application extends javafx.application.Application {
|
||||||
// Instance variables. //
|
// Instance variables. //
|
||||||
// /////////////////// //
|
// /////////////////// //
|
||||||
|
|
||||||
private JsonProcessing jsonProcessing = new JsonProcessing(); // JSON processor to import and export the json dictionary file.
|
private final JsonProcessing jsonProcessing = new JsonProcessing(); // JSON processor to import and export the json dictionary file.
|
||||||
|
|
||||||
// //////// //
|
// //////// //
|
||||||
// Methods. //
|
// Methods. //
|
||||||
|
@ -80,19 +83,24 @@ public class Application extends javafx.application.Application {
|
||||||
@Override
|
@Override
|
||||||
public void start(Stage stage) {
|
public void start(Stage stage) {
|
||||||
|
|
||||||
File jsonFileLocation = null; // Prompts the user to load their dictionary json file.
|
File jsonFileLocation = null;
|
||||||
|
|
||||||
while (jsonFileLocation == null) { // Keep prompting the user to choose select whilst a json file hasn't been selected.
|
// Keep prompting the user to select if a json file hasn't been selected.
|
||||||
|
while (jsonFileLocation == null) {
|
||||||
|
|
||||||
|
// Shows prompt to the user to load their dictionary json file.
|
||||||
FileChooser fileChooser = new FileChooser();
|
FileChooser fileChooser = new FileChooser();
|
||||||
fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Json Files", "*.json"));
|
fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Json Files", "*.json"));
|
||||||
fileChooser.setTitle("Open Json File");
|
fileChooser.setTitle("Open Json File");
|
||||||
jsonFileLocation = fileChooser.showOpenDialog(stage);
|
jsonFileLocation = fileChooser.showOpenDialog(stage);
|
||||||
}
|
}
|
||||||
final File jsonFileFinalLocation = jsonFileLocation;
|
final File jsonFileFinalLocation = jsonFileLocation;
|
||||||
dictionary = jsonProcessing.readInJson(jsonFileFinalLocation); // Load the file chosen by the user.
|
|
||||||
|
|
||||||
|
// Load the file chosen by the user.
|
||||||
|
dictionary = jsonProcessing.readInJson(jsonFileFinalLocation);
|
||||||
|
|
||||||
for (DictionaryEntry entry : dictionary) { // Adds all words that are practice words to the practice list.
|
// Adds all words that are practice words to the practice list.
|
||||||
|
for (DictionaryEntry entry : dictionary) {
|
||||||
if (entry.isPracticeWord()) {
|
if (entry.isPracticeWord()) {
|
||||||
practiceList.add(entry);
|
practiceList.add(entry);
|
||||||
}
|
}
|
||||||
|
@ -105,6 +113,7 @@ public class Application extends javafx.application.Application {
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
new ScreenSwitch(stage); // Initialise the ScreenSwitch class, passing the programs Stage as the parameter in order to display the first screen.
|
// Initialise the ScreenSwitch class, passing the programs Stage as the parameter in order to display the first screen.
|
||||||
|
new ScreenSwitch(stage);
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in a new issue