diff --git a/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/Application.java b/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/Application.java
index 9020ee6..7b150e3 100644
--- a/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/Application.java
+++ b/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/Application.java
@@ -1,14 +1,11 @@
/**
- * @(#) App.java 0,1 2020/04/07
+ * @(#) Application.java 0,2 2020/04/30
*
* Copyright (c) 2020 Aberystwyth University.
* All rights reserved.
*/
package uk.ac.aber.cs22120.group20.javafx;
-import javafx.fxml.FXMLLoader;
-import javafx.scene.Parent;
-import javafx.scene.Scene;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import uk.ac.aber.cs22120.group20.json.DictionaryEntry;
@@ -16,9 +13,7 @@ import uk.ac.aber.cs22120.group20.json.JsonProcessing;
import java.io.File;
import java.io.IOException;
-import java.net.URL;
import java.util.LinkedList;
-import java.util.Scanner;
/**
* A class that launches the Welsh Vocabulary tutor Application.
@@ -31,89 +26,50 @@ import java.util.Scanner;
* @author Oscar Pocock [osp1]
* @author Waylen Watts [ncw]
* @author Luke Wybar [law39]
- *
* @version 0.1 Initial development
*/
public class Application extends javafx.application.Application {
-
- private JsonProcessing jsonProcessing = new JsonProcessing();
- private Scanner scanner = new Scanner(System.in);
-
+ // Dictionary containing all the words.
public static LinkedList dictionary = new LinkedList<>();
- public static LinkedList practiseList = new LinkedList<>();
+
+ // Practice list containing all the practice words.
+ public static LinkedList practiceList = new LinkedList<>();
+
+ // Json processor to import and export the json dictionary file.
+ private JsonProcessing jsonProcessing = new JsonProcessing();
/**
- *
- * @param stage
- * @throws IOException
- */
- @Override
- public void start(Stage stage) throws IOException {
- Scene scene;
- File jsonFileLocation = null;
-
- while(jsonFileLocation ==null) {
- FileChooser fileChooser = new FileChooser();
- fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Json Files", "*.json"));
- fileChooser.setTitle("Open Json File");
- jsonFileLocation = fileChooser.showOpenDialog(stage);
- }
-
- final File jsonFileFinalLocation = jsonFileLocation;
- dictionary = jsonProcessing.readInJson(jsonFileFinalLocation);
- for (DictionaryEntry entry : dictionary) {
- if (entry.isPracticeWord()) {
- practiseList.add(entry);
- }
- }
-// dictionary.add(new DictionaryEntry("abbey", "abaty", "nm", false));
-// dictionary.add(new DictionaryEntry("believe", "credu", "verb", true));
-// dictionary.add(new DictionaryEntry("concert", "cyngerdd", "nm", false));
-// dictionary.add(new DictionaryEntry("disease", "clefyd", "nm", true));
-// dictionary.add(new DictionaryEntry("extremely", "dros ben", "other", false));
-// dictionary.add(new DictionaryEntry("flu", "ffliw", "nm", false));
- new ScreenSwitch(stage);
-// scene = new Scene(loadFXML("dictionary"));
-// stage.setScene(scene);
-// stage.setOnCloseRequest(e -> {
-// jsonProcessing.writeOutJson(jsonFileLocation, dictionary);
-// Platform.exit();
-// System.exit(0);
-// });
-// stage.show();
-// ScreenSwitch.setScene(scene);
- }
-
- /**
- * @deprecated Please now use ScreenSwitch swap method with SceneEnum
- * @param fxml
- * @throws IOException
- * @see ScreenSwitch
- * @see ScreenSwitch.SceneEnum
- */
- static void setRoot(String fxml) throws IOException {
- ScreenSwitch.swap(ScreenSwitch.SceneEnum.dictionaryScene);
- }
-
-// /**
-// *
-// * @param fxml
-// * @return
-// * @throws IOException
-// */
-// private static Parent loadFXML(String fxml) throws IOException {
-//// FXMLLoader fxmlLoader = new FXMLLoader(Application.class.getResource(fxml + ".fxml"));
-// FXMLLoader fxmlLoader = new FXMLLoader(new URL("file:src/main/resources/uk/ac/aber/cs22120/group20/" + fxml + ".fxml"));
-// return fxmlLoader.load();
-// }
-
- /**
- *
* @param args
*/
public static void main(String[] args) {
launch();
}
+ /**
+ * @param stage
+ * @throws IOException
+ */
+ @Override
+ public void start(Stage stage) throws IOException {
+
+ // Prompts the user to load their dictionary json file.
+ File jsonFileLocation = null;
+ while (jsonFileLocation == null) {
+ FileChooser fileChooser = new FileChooser();
+ fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Json Files", "*.json"));
+ fileChooser.setTitle("Open Json File");
+ jsonFileLocation = fileChooser.showOpenDialog(stage);
+ }
+ final File jsonFileFinalLocation = jsonFileLocation;
+ dictionary = jsonProcessing.readInJson(jsonFileFinalLocation);
+
+ // Adds all words that are practice words to the practice list.
+ for (DictionaryEntry entry : dictionary) {
+ if (entry.isPracticeWord()) {
+ practiceList.add(entry);
+ }
+ }
+ new ScreenSwitch(stage);
+ }
}
\ No newline at end of file
diff --git a/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/DictionaryController.java b/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/DictionaryController.java
index 6f14342..34914b6 100644
--- a/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/DictionaryController.java
+++ b/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/DictionaryController.java
@@ -12,7 +12,6 @@ import javafx.collections.ObservableList;
import javafx.collections.transformation.FilteredList;
import javafx.collections.transformation.SortedList;
import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableRow;
import javafx.scene.control.TableView;
@@ -21,13 +20,9 @@ import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
-import uk.ac.aber.cs22120.group20.javafx.Application;
import uk.ac.aber.cs22120.group20.json.DictionaryEntry;
-import java.io.IOException;
-import java.net.URL;
import java.util.ArrayList;
-import java.util.ResourceBundle;
/**
* A class that handles the keyboard and mouse input and interaction for the 'Dictionary Page' which is
@@ -160,16 +155,16 @@ public class DictionaryController extends SharedCodeController {
if (row.getItem().isPracticeWord()) {
Application.dictionary.get(list.indexOf(row.getItem())).setPracticeWord(false);
ArrayList toRemove = new ArrayList();
- for (DictionaryEntry entry : Application.practiseList) {
+ for (DictionaryEntry entry : Application.practiceList) {
if (entry.equals(row.getItem())) {
toRemove.add(entry);
}
}
- Application.practiseList.removeAll(toRemove);
+ Application.practiceList.removeAll(toRemove);
// row.getItem().setPracticeWord(false);
} else if (!row.getItem().isPracticeWord()) {
Application.dictionary.get(list.indexOf(row.getItem())).setPracticeWord(true);
- Application.practiseList.add(row.getItem());
+ Application.practiceList.add(row.getItem());
// row.getItem().setPracticeWord(true);
}
table.getSelectionModel().clearSelection();
diff --git a/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/FlashcardController.java b/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/FlashcardController.java
index ae1db1b..2f7ed37 100644
--- a/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/FlashcardController.java
+++ b/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/FlashcardController.java
@@ -45,10 +45,10 @@ public class FlashcardController extends SharedCodeController {
@FXML
private Text wordType;
@FXML
- private Rectangle flashcard;
- @FXML
private Text testWord;
+ @FXML
+ private ImageView flashcard;
@FXML
private ImageView leftArrow;
@FXML
@@ -76,9 +76,9 @@ public class FlashcardController extends SharedCodeController {
updateCounter();
card = flashcard;
-
- leftArrow.setImage(new Image(getClass().getResourceAsStream("/assets/icons/black_icons/50px/left-50.png")));
- rightArrow.setImage(new Image(getClass().getResourceAsStream("/assets/icons/black_icons/50px/right-50.png")));
+ flashcard.setImage(new Image("file:src/main/resources/assets/flashcard/Flashcard.png"));
+ leftArrow.setImage(new Image("file:src/main/resources/assets/icons/black_icons/50px/left-50.png"));
+ rightArrow.setImage(new Image("file:src/main/resources/assets/icons/black_icons/50px/right-50.png"));
}
/**
diff --git a/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/PracticeListController.java b/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/PracticeListController.java
index 3b2a0e5..c6e7399 100644
--- a/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/PracticeListController.java
+++ b/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/javafx/PracticeListController.java
@@ -12,19 +12,14 @@ import javafx.collections.ObservableList;
import javafx.collections.transformation.FilteredList;
import javafx.collections.transformation.SortedList;
import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
import javafx.scene.control.*;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
-import uk.ac.aber.cs22120.group20.javafx.Application;
import uk.ac.aber.cs22120.group20.json.DictionaryEntry;
-import java.io.IOException;
-import java.net.URL;
import java.util.ArrayList;
-import java.util.ResourceBundle;
/**
* A class that handles the keyboard and mouse input and interaction for the 'Dictionary Page' which is
@@ -83,7 +78,7 @@ public class PracticeListController extends SharedCodeController{
langSort.setImage(new Image("file:src/main/resources/assets/icons/black_icons/50px/sort-lang-50.png"));
// list.addAll(Application.dictionary);
- list.addAll(Application.practiseList);
+ list.addAll(Application.practiceList);
// for (DictionaryEntry entry : Application.dictionary) {
// if (entry.isPracticeWord())
// list.add(entry);
@@ -150,13 +145,13 @@ public class PracticeListController extends SharedCodeController{
}
ArrayList toRemove = new ArrayList();
- for (DictionaryEntry entry : Application.practiseList) {
+ for (DictionaryEntry entry : Application.practiceList) {
if (entry.equals(row.getItem())) {
toRemove.add(entry);
list.remove(row.getItem());
}
}
- Application.practiseList.removeAll(toRemove);
+ Application.practiceList.removeAll(toRemove);
table.getSelectionModel().clearSelection();
}
});
diff --git a/src/Welsh Vocabulary Tutor/src/main/resources/uk/ac/aber/cs22120/group20/flashcard.fxml b/src/Welsh Vocabulary Tutor/src/main/resources/uk/ac/aber/cs22120/group20/flashcard.fxml
index 013a9e1..6335e5e 100644
--- a/src/Welsh Vocabulary Tutor/src/main/resources/uk/ac/aber/cs22120/group20/flashcard.fxml
+++ b/src/Welsh Vocabulary Tutor/src/main/resources/uk/ac/aber/cs22120/group20/flashcard.fxml
@@ -1,4 +1,4 @@
-
+
@@ -124,11 +124,10 @@
-
+
-
-
+
+