From c6502e34fcd59ead87bba70762dfa8a3d2ec660c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Ko=C5=BEusznik?= <jan@kozusznik.cz> Date: Wed, 17 Mar 2021 22:35:06 +0100 Subject: [PATCH] solution --- src/main/java/koz01/java2/lab06/App.java | 10 ++-- .../koz01/java2/lab06/Texts.properties | 4 ++ .../koz01/java2/lab06/Texts_cs_CZ.properties | 4 ++ .../koz01/java2/lab06/Texts_en.properties | 1 + .../koz01/java2/lab06/Texts_en_GB.properties | 1 + .../koz01/java2/lab06/Texts_en_US.properties | 1 + .../resources/koz01/java2/lab06/screen.fxml | 2 +- .../java/koz01/java2/lab06/DemoLocale.java | 45 +++++++++++++++++ .../java/koz01/java2/lab06/DemoNumbers.java | 50 +++++++++++++++++++ 9 files changed, 114 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/koz01/java2/lab06/Texts.properties create mode 100644 src/main/resources/koz01/java2/lab06/Texts_cs_CZ.properties create mode 100644 src/main/resources/koz01/java2/lab06/Texts_en.properties create mode 100644 src/main/resources/koz01/java2/lab06/Texts_en_GB.properties create mode 100644 src/main/resources/koz01/java2/lab06/Texts_en_US.properties create mode 100644 src/test/java/koz01/java2/lab06/DemoLocale.java create mode 100644 src/test/java/koz01/java2/lab06/DemoNumbers.java diff --git a/src/main/java/koz01/java2/lab06/App.java b/src/main/java/koz01/java2/lab06/App.java index cbbaae2..4dc7590 100644 --- a/src/main/java/koz01/java2/lab06/App.java +++ b/src/main/java/koz01/java2/lab06/App.java @@ -1,8 +1,11 @@ package koz01.java2.lab06; +import java.util.ResourceBundle; + import javafx.application.Application; import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; @@ -14,9 +17,10 @@ public class App extends Application { @Override public void start(Stage primaryStage) { try { - - Scene scene = new Scene(FXMLLoader.load(getClass().getResource( - "screen.fxml")), 400, 400); + ResourceBundle rb = ResourceBundle.getBundle("koz01.java2.lab06.Texts"); + Parent parent = FXMLLoader.load(getClass().getResource("screen.fxml"), + rb); + Scene scene = new Scene(parent, 400, 400); scene.getStylesheets().add(getClass().getResource("application.css") .toExternalForm()); primaryStage.setScene(scene); diff --git a/src/main/resources/koz01/java2/lab06/Texts.properties b/src/main/resources/koz01/java2/lab06/Texts.properties new file mode 100644 index 0000000..d5248ee --- /dev/null +++ b/src/main/resources/koz01/java2/lab06/Texts.properties @@ -0,0 +1,4 @@ +color=Barva +greeting=Ahoj +title=pane +label=Label \ No newline at end of file diff --git a/src/main/resources/koz01/java2/lab06/Texts_cs_CZ.properties b/src/main/resources/koz01/java2/lab06/Texts_cs_CZ.properties new file mode 100644 index 0000000..b87bce9 --- /dev/null +++ b/src/main/resources/koz01/java2/lab06/Texts_cs_CZ.properties @@ -0,0 +1,4 @@ +color=Barva +greeting=\u010Cau +title=kámo +label=Popisek \ No newline at end of file diff --git a/src/main/resources/koz01/java2/lab06/Texts_en.properties b/src/main/resources/koz01/java2/lab06/Texts_en.properties new file mode 100644 index 0000000..2e40f54 --- /dev/null +++ b/src/main/resources/koz01/java2/lab06/Texts_en.properties @@ -0,0 +1 @@ +greeting=Hello \ No newline at end of file diff --git a/src/main/resources/koz01/java2/lab06/Texts_en_GB.properties b/src/main/resources/koz01/java2/lab06/Texts_en_GB.properties new file mode 100644 index 0000000..579b389 --- /dev/null +++ b/src/main/resources/koz01/java2/lab06/Texts_en_GB.properties @@ -0,0 +1 @@ +color=colour \ No newline at end of file diff --git a/src/main/resources/koz01/java2/lab06/Texts_en_US.properties b/src/main/resources/koz01/java2/lab06/Texts_en_US.properties new file mode 100644 index 0000000..23b00e5 --- /dev/null +++ b/src/main/resources/koz01/java2/lab06/Texts_en_US.properties @@ -0,0 +1 @@ +color=color diff --git a/src/main/resources/koz01/java2/lab06/screen.fxml b/src/main/resources/koz01/java2/lab06/screen.fxml index be5e1b8..ab0ec2b 100644 --- a/src/main/resources/koz01/java2/lab06/screen.fxml +++ b/src/main/resources/koz01/java2/lab06/screen.fxml @@ -7,7 +7,7 @@ <AnchorPane prefHeight="484.0" prefWidth="550.0" xmlns="http://javafx.com/javafx/15.0.1" xmlns:fx="http://javafx.com/fxml/1"> <children> - <Label layoutX="129.0" layoutY="41.0" prefHeight="31.0" prefWidth="292.0" text="Label" /> + <Label layoutX="129.0" layoutY="41.0" prefHeight="31.0" prefWidth="292.0" text="%label" /> <Button layoutX="197.0" layoutY="300.0" mnemonicParsing="false" prefHeight="26.0" prefWidth="156.0" text="Button" /> </children> </AnchorPane> diff --git a/src/test/java/koz01/java2/lab06/DemoLocale.java b/src/test/java/koz01/java2/lab06/DemoLocale.java new file mode 100644 index 0000000..43cfb96 --- /dev/null +++ b/src/test/java/koz01/java2/lab06/DemoLocale.java @@ -0,0 +1,45 @@ +package koz01.java2.lab06; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.format.FormatStyle; +import java.util.Locale; +import java.util.ResourceBundle; + +import org.junit.jupiter.api.Test; + +import lombok.extern.log4j.Log4j2; + +@Log4j2 +public class DemoLocale { + + @Test + public void testLocaleCreation() { + Locale locale = Locale.getDefault(); + log.info("locale = {}", locale); + } + + @Test + public void testResourceBundle() { + ResourceBundle resourceBundle = ResourceBundle.getBundle( + "koz01.java2.lab06.Texts", new Locale("ro", "RO")); + log.info("color = {}", resourceBundle.getObject("color")); + log.info("greeting = {} {}", resourceBundle.getObject("greeting"), + resourceBundle.getObject("title")); + } + + @Test + public void testFormatNumber() { + log.info(String.format(Locale.KOREA, "%f\n", Math.PI)); + + } + + @Test + public void testFormatDate() { + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofLocalizedDate( + FormatStyle.FULL).localizedBy(Locale.CHINA); + log.info("actual date = " + dateTimeFormatter.format(LocalDate.now())); + + + } +} diff --git a/src/test/java/koz01/java2/lab06/DemoNumbers.java b/src/test/java/koz01/java2/lab06/DemoNumbers.java new file mode 100644 index 0000000..852fa85 --- /dev/null +++ b/src/test/java/koz01/java2/lab06/DemoNumbers.java @@ -0,0 +1,50 @@ +package koz01.java2.lab06; + +import java.math.BigDecimal; +import java.math.BigInteger; + +import org.junit.jupiter.api.Test; + +import lombok.extern.log4j.Log4j2; + +@Log4j2 +public class DemoNumbers { + + @Test + public void testDouble() { + double val = 0.1; + for (int i = 0; i < 10; i++) { + val += 0.1; + } + log.info("result = {}", val); + } + + @Test + public void testBigDecimal() { + BigDecimal val = BigDecimal.valueOf(1, 1); + BigDecimal result = val; + for (int i = 0; i < 10; i++) { + result = result.add(val); + } + log.info("result = {}", val); + } + + @Test + public void testEquals() { + BigDecimal val1 = BigDecimal.valueOf(1, 1); + BigDecimal val2 = BigDecimal.valueOf(10, 2); + + log.info("val1 = {}, val2 = {}", val1, val2); + log.info("val1.equals(val2) = {}", val1.equals(val2)); + } + + @Test + public void testFactorial() { + BigInteger val = BigInteger.ONE; + final int fact = 20000; + for (int i = 2; i <= fact; i++) { + val = val.multiply(BigInteger.valueOf(i)); + } + log.info("fact({})={}", fact, val); + } +} -- GitLab