From 6fb81c27aa7de648d3c9c6a2ee5e73b9a24e6649 Mon Sep 17 00:00:00 2001 From: Lauri Maaninka Date: Tue, 12 May 2026 23:52:53 +0300 Subject: [PATCH 1/8] =?UTF-8?q?#16=20asetukset=20v=C3=A4lilehden=20luonti?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fi/lpam/App.java | 11 ++++--- src/main/java/fi/lpam/gui/Asetukset.java | 38 ++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 src/main/java/fi/lpam/gui/Asetukset.java diff --git a/src/main/java/fi/lpam/App.java b/src/main/java/fi/lpam/App.java index ea5880b..13d8797 100644 --- a/src/main/java/fi/lpam/App.java +++ b/src/main/java/fi/lpam/App.java @@ -1,9 +1,6 @@ package fi.lpam; import fi.lpam.dataluokat.Tietokanta; -import fi.lpam.gui.Asiakashallinta; -import fi.lpam.gui.Kierroshallinta; -import fi.lpam.gui.KuljetusRaportit; -import fi.lpam.gui.KuljetusListat; +import fi.lpam.gui.*; import fi.lpam.gui.elementit.MuutosIlmoitus; import javafx.application.Application; import javafx.geometry.Side; @@ -32,12 +29,13 @@ public class App extends Application { root.setTabMinHeight(35); root.setTabMaxHeight(50); - Tab asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut; + Tab asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset; asiakasHallinta = new Tab("Asiakashallinta", new Asiakashallinta()); kierrostenHallinta = new Tab("Kierrostenhallinta"); kuljetusListat = new Tab("Kuljetuslistat"); kuljetetut = new Tab("Kuljetetut"); - root.getTabs().addAll(asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut); + asetukset = new Tab("Asetukset"); + root.getTabs().addAll(asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset); root.getSelectionModel().selectedItemProperty().addListener((_, _, newValue) -> { switch (newValue.getText()) { @@ -45,6 +43,7 @@ public class App extends Application { case "Kierrostenhallinta": newValue.setContent(new Kierroshallinta()); break; case "Kuljetuslistat": newValue.setContent(new KuljetusListat()); break; case "Kuljetetut": newValue.setContent(new KuljetusRaportit()); break; + case "Asetukset": newValue.setContent(new Asetukset()); break; } }); diff --git a/src/main/java/fi/lpam/gui/Asetukset.java b/src/main/java/fi/lpam/gui/Asetukset.java new file mode 100644 index 0000000..423086a --- /dev/null +++ b/src/main/java/fi/lpam/gui/Asetukset.java @@ -0,0 +1,38 @@ +package fi.lpam.gui; + +import fi.lpam.gui.elementit.TabPohja; +import javafx.geometry.Pos; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.layout.BorderPane; +import javafx.scene.layout.HBox; + + +public class Asetukset extends TabPohja { + public Asetukset() { + BorderPane root = new BorderPane(); + root.setPadding(oletusInsets); + + HBox yläpalkki = new HBox(); + yläpalkki.setSpacing(5); + yläpalkki.setAlignment(Pos.CENTER_RIGHT); + Button btnTallenna = new Button("Tallenna"); + btnTallenna.setFont(buttonFont); + btnTallenna.setOnAction(e -> tallennaAsetukset()); + yläpalkki.getChildren().add(btnTallenna); + root.setTop(yläpalkki); + + + root.setCenter(new Label("Asetukset")); + + this.getChildren().add(root); + } + + private void tallennaAsetukset() { + throw new RuntimeException("Not implemented"); + } + + private void näytäAsetukset() { + throw new RuntimeException("Not implemented"); + } +} From 5344efd62c9b76d1d90481b562cc784365c8ccd7 Mon Sep 17 00:00:00 2001 From: Lauri Maaninka Date: Tue, 12 May 2026 23:52:53 +0300 Subject: [PATCH 2/8] =?UTF-8?q?fix=20#16=20asetukset=20v=C3=A4lilehden=20l?= =?UTF-8?q?uonti?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fi/lpam/App.java | 11 ++++--- src/main/java/fi/lpam/gui/Asetukset.java | 38 ++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 src/main/java/fi/lpam/gui/Asetukset.java diff --git a/src/main/java/fi/lpam/App.java b/src/main/java/fi/lpam/App.java index ea5880b..13d8797 100644 --- a/src/main/java/fi/lpam/App.java +++ b/src/main/java/fi/lpam/App.java @@ -1,9 +1,6 @@ package fi.lpam; import fi.lpam.dataluokat.Tietokanta; -import fi.lpam.gui.Asiakashallinta; -import fi.lpam.gui.Kierroshallinta; -import fi.lpam.gui.KuljetusRaportit; -import fi.lpam.gui.KuljetusListat; +import fi.lpam.gui.*; import fi.lpam.gui.elementit.MuutosIlmoitus; import javafx.application.Application; import javafx.geometry.Side; @@ -32,12 +29,13 @@ public class App extends Application { root.setTabMinHeight(35); root.setTabMaxHeight(50); - Tab asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut; + Tab asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset; asiakasHallinta = new Tab("Asiakashallinta", new Asiakashallinta()); kierrostenHallinta = new Tab("Kierrostenhallinta"); kuljetusListat = new Tab("Kuljetuslistat"); kuljetetut = new Tab("Kuljetetut"); - root.getTabs().addAll(asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut); + asetukset = new Tab("Asetukset"); + root.getTabs().addAll(asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset); root.getSelectionModel().selectedItemProperty().addListener((_, _, newValue) -> { switch (newValue.getText()) { @@ -45,6 +43,7 @@ public class App extends Application { case "Kierrostenhallinta": newValue.setContent(new Kierroshallinta()); break; case "Kuljetuslistat": newValue.setContent(new KuljetusListat()); break; case "Kuljetetut": newValue.setContent(new KuljetusRaportit()); break; + case "Asetukset": newValue.setContent(new Asetukset()); break; } }); diff --git a/src/main/java/fi/lpam/gui/Asetukset.java b/src/main/java/fi/lpam/gui/Asetukset.java new file mode 100644 index 0000000..423086a --- /dev/null +++ b/src/main/java/fi/lpam/gui/Asetukset.java @@ -0,0 +1,38 @@ +package fi.lpam.gui; + +import fi.lpam.gui.elementit.TabPohja; +import javafx.geometry.Pos; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.layout.BorderPane; +import javafx.scene.layout.HBox; + + +public class Asetukset extends TabPohja { + public Asetukset() { + BorderPane root = new BorderPane(); + root.setPadding(oletusInsets); + + HBox yläpalkki = new HBox(); + yläpalkki.setSpacing(5); + yläpalkki.setAlignment(Pos.CENTER_RIGHT); + Button btnTallenna = new Button("Tallenna"); + btnTallenna.setFont(buttonFont); + btnTallenna.setOnAction(e -> tallennaAsetukset()); + yläpalkki.getChildren().add(btnTallenna); + root.setTop(yläpalkki); + + + root.setCenter(new Label("Asetukset")); + + this.getChildren().add(root); + } + + private void tallennaAsetukset() { + throw new RuntimeException("Not implemented"); + } + + private void näytäAsetukset() { + throw new RuntimeException("Not implemented"); + } +} From 9cc55be77186a9c999cb4cb1788fb360501c001b Mon Sep 17 00:00:00 2001 From: Lauri Maaninka Date: Wed, 13 May 2026 01:56:21 +0300 Subject: [PATCH 3/8] =?UTF-8?q?#17=20melkein=20valmis,=20vaatii=20viel?= =?UTF-8?q?=C3=A4=20testaamista?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fi/lpam/App.java | 11 ++- src/main/java/fi/lpam/gui/Asetukset.java | 98 +++++++++++++++++-- .../java/fi/lpam/gui/Asiakashallinta.java | 1 + .../java/fi/lpam/gui/Kierroshallinta.java | 16 +-- ...ListCell.java => AsiakasMCLVListCell.java} | 8 +- .../java/fi/lpam/gui/elementit/TabPohja.java | 18 +++- .../java/fi/lpam/tulostajat/Tulostaja.java | 3 +- src/main/resources/defaults.properties | 11 ++- 8 files changed, 136 insertions(+), 30 deletions(-) rename src/main/java/fi/lpam/gui/elementit/{AsiakasListCell.java => AsiakasMCLVListCell.java} (87%) diff --git a/src/main/java/fi/lpam/App.java b/src/main/java/fi/lpam/App.java index 13d8797..4a96af0 100644 --- a/src/main/java/fi/lpam/App.java +++ b/src/main/java/fi/lpam/App.java @@ -26,8 +26,8 @@ public class App extends Application { TabPane root = new TabPane(); root.setSide(Side.LEFT); root.setTabMinWidth(50); - root.setTabMinHeight(35); - root.setTabMaxHeight(50); + root.setTabMinHeight(Double.parseDouble(Main.properties.getProperty("buttonFonttiKoko"))*2); + root.setTabMaxHeight(Double.parseDouble(Main.properties.getProperty("buttonFonttiKoko"))*2); Tab asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset; asiakasHallinta = new Tab("Asiakashallinta", new Asiakashallinta()); @@ -49,7 +49,10 @@ public class App extends Application { for (Tab tab : root.getTabs()) { tab.setClosable(false); - tab.setStyle("-fx-font-size: 18px; -fx-font-weight: bold; -fx-font-family: Open Sans"); + tab.setStyle( + "-fx-font-size: " + Main.properties.getProperty("buttonFonttiKoko") + "px;" + + " -fx-font-weight: bold;" + + " -fx-font-family: " + Main.properties.getProperty("buttonFontti")); } Scene scene = new Scene(root); @@ -65,6 +68,6 @@ public class App extends Application { primaryStage.show(); primaryStage.getIcons().add(new Image(Objects.requireNonNull(Main.class.getClassLoader().getResourceAsStream("kuljetusruokalaatikko.jpg")))); - if (!Main.properties.getProperty("version").equals(Main.properties.getProperty("viimeisinVersio"))) new MuutosIlmoitus(); + if (!Main.properties.getProperty("version").equals(Main.properties.getProperty("viimeisinVersio", "0.0.0"))) new MuutosIlmoitus(); } } \ No newline at end of file diff --git a/src/main/java/fi/lpam/gui/Asetukset.java b/src/main/java/fi/lpam/gui/Asetukset.java index 423086a..2c84481 100644 --- a/src/main/java/fi/lpam/gui/Asetukset.java +++ b/src/main/java/fi/lpam/gui/Asetukset.java @@ -1,14 +1,27 @@ package fi.lpam.gui; +import fi.lpam.Main; import fi.lpam.gui.elementit.TabPohja; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; import javafx.geometry.Pos; import javafx.scene.control.Button; +import javafx.scene.control.ComboBox; import javafx.scene.control.Label; +import javafx.scene.control.Spinner; import javafx.scene.layout.BorderPane; +import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; +import javafx.scene.text.Font; + +import java.util.Properties; public class Asetukset extends TabPohja { + private static final Properties prop = Main.properties; + private static final ObservableList järjestelmäFontit = FXCollections.observableArrayList(Font.getFamilies()); + + public Asetukset() { BorderPane root = new BorderPane(); root.setPadding(oletusInsets); @@ -16,23 +29,90 @@ public class Asetukset extends TabPohja { HBox yläpalkki = new HBox(); yläpalkki.setSpacing(5); yläpalkki.setAlignment(Pos.CENTER_RIGHT); - Button btnTallenna = new Button("Tallenna"); - btnTallenna.setFont(buttonFont); - btnTallenna.setOnAction(e -> tallennaAsetukset()); - yläpalkki.getChildren().add(btnTallenna); + Button btnNollaa = new Button("Palauta oletukset"); + btnNollaa.setFont(buttonFont); + btnNollaa.setOnAction(_ -> palautaOletukset()); + yläpalkki.getChildren().add(btnNollaa); root.setTop(yläpalkki); + root.setLeft(getFonttiAsetukset()); - root.setCenter(new Label("Asetukset")); + Label asetukset = new Label("Asetukset"); + asetukset.setFont(tekstiFont); + root.setRight(asetukset); this.getChildren().add(root); } - private void tallennaAsetukset() { - throw new RuntimeException("Not implemented"); + private Spinner tekstiFonttiKoko, buttonFonttiKoko, tulostusFonttiKoko, insets; + private ComboBox tekstiFontti, buttonFontti; + private int minFonttiKoko = 8; + private int maxFonttiKoko = 30; + private int stepFontti = 1; + + /** + * Luo paneelin fonttien asetusten säätämiseen + * @return paneeli + */ + private GridPane getFonttiAsetukset() { + GridPane root = new GridPane(); + root.setAlignment(Pos.CENTER); + root.setHgap(10); + root.setVgap(10); + root.setBorder(oletusBorder); + root.setPadding(oletusInsets); + int row = 0; + + Label otsikko = new Label("Fonttien asetukset"); + otsikko.setFont(tekstiFont); + root.addRow(row++, otsikko); + + tekstiFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Double.parseDouble(prop.getProperty("tekstiFonttiKoko")), stepFontti); + tekstiFonttiKoko.setEditable(true); + tekstiFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("tekstiFonttiKoko", String.valueOf(tekstiFonttiKoko.getValue()))); + Label tekstinKoko = new Label("Tekstin koko"); + tekstinKoko.setFont(tekstiFont); + root.addRow(row++, tekstinKoko, tekstiFonttiKoko); + + tekstiFontti = new ComboBox<>(); + tekstiFontti.setItems(järjestelmäFontit); + tekstiFontti.getSelectionModel().select(prop.getProperty("tekstiFontti")); + tekstiFontti.valueProperty().addListener((_) -> prop.setProperty("tekstiFontti", tekstiFontti.getValue())); + Label tekstinFontti = new Label("Tekstin fontti"); + tekstinFontti.setFont(tekstiFont); + root.addRow(row++, tekstinFontti, tekstiFontti); + + buttonFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Double.parseDouble(prop.getProperty("buttonFonttiKoko")), stepFontti); + buttonFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("buttonFonttiKoko", String.valueOf(buttonFonttiKoko.getValue()))); + Label nappiTekstinKoko = new Label("Painikkeiden koko"); + nappiTekstinKoko.setFont(tekstiFont); + root.addRow(row++, nappiTekstinKoko, buttonFonttiKoko); + + buttonFontti = new ComboBox<>(); + buttonFontti.setItems(järjestelmäFontit); + buttonFontti.getSelectionModel().select(prop.getProperty("buttonFontti")); + buttonFontti.valueProperty().addListener((_) -> prop.setProperty("buttonFontti", buttonFontti.getValue())); + Label napinFontti = new Label("Painikkeiden fontti"); + napinFontti.setFont(tekstiFont); + root.addRow(row++, napinFontti, buttonFontti); + + tulostusFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Double.parseDouble(prop.getProperty("tulostusFonttiKoko")), stepFontti); + tulostusFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("tulostusFonttiKoko", String.valueOf(tulostusFonttiKoko.getValue()))); + Label tulostusFontinKoko = new Label("Tulostusfontin koko"); + tulostusFontinKoko.setFont(tekstiFont); + root.addRow(row++, tulostusFontinKoko, tulostusFonttiKoko); + + insets = new Spinner<>(0, 10, Double.parseDouble(prop.getProperty("insets")), 1); + insets.valueProperty().addListener((_) -> prop.setProperty("insets", String.valueOf(insets.getValue()))); + Label insetsi = new Label("Yleinen fyllinki"); + insetsi.setFont(tekstiFont); + root.addRow(row++, insetsi, insets); + + return root; } - private void näytäAsetukset() { - throw new RuntimeException("Not implemented"); + private void palautaOletukset() { + + } } diff --git a/src/main/java/fi/lpam/gui/Asiakashallinta.java b/src/main/java/fi/lpam/gui/Asiakashallinta.java index 4712fc7..78414cb 100644 --- a/src/main/java/fi/lpam/gui/Asiakashallinta.java +++ b/src/main/java/fi/lpam/gui/Asiakashallinta.java @@ -37,6 +37,7 @@ public class Asiakashallinta extends TabPohja { HBox yläpalkinNapit = new HBox(); yläpalkinNapit.setSpacing(5); + yläpalkinNapit.setPadding(oletusInsets); yläpalkki.setRight(yläpalkinNapit); Button avaaVersioloki = new Button("VERSIOLOKI"); diff --git a/src/main/java/fi/lpam/gui/Kierroshallinta.java b/src/main/java/fi/lpam/gui/Kierroshallinta.java index 576f4bd..eeddecd 100644 --- a/src/main/java/fi/lpam/gui/Kierroshallinta.java +++ b/src/main/java/fi/lpam/gui/Kierroshallinta.java @@ -4,7 +4,7 @@ import com.dlsc.gemsfx.MultiColumnListView; import fi.lpam.dataluokat.Asiakas; import fi.lpam.dataluokat.Kierros; -import fi.lpam.gui.elementit.AsiakasListCell; +import fi.lpam.gui.elementit.AsiakasMCLVListCell; import fi.lpam.gui.elementit.TabPohja; import javafx.collections.FXCollections; @@ -30,7 +30,7 @@ public class Kierroshallinta extends TabPohja { root.setPadding(oletusInsets); root.setCenter(mclv); - mclv.setCellFactory(_ -> new AsiakasListCell(mclv)); + mclv.setCellFactory(_ -> new AsiakasMCLVListCell(mclv)); mclv.setPlaceholderFrom(new Asiakas("")); mclv.setPlaceholderTo(new Asiakas("")); rakennaSarakkeet(); @@ -51,11 +51,11 @@ public class Kierroshallinta extends TabPohja { int uudenKierroksenNumero = mclv.getColumns().size(); lisaaKierros(new Kierros(uudenKierroksenNumero, FXCollections.observableArrayList(new ArrayList<>()))); }); - lisääKierros.setFont(TabPohja.buttonFont); + lisääKierros.setFont(buttonFont); yläpalkinNapit.getChildren().add(lisääKierros); Button tallenna = new Button("Tallenna kierrokset"); - tallenna.setFont(TabPohja.buttonFont); + tallenna.setFont(buttonFont); tallenna.setOnAction(_ ->tallennaKierrokset()); yläpalkinNapit.getChildren().add(tallenna); @@ -84,7 +84,9 @@ public class Kierroshallinta extends TabPohja { } } MultiColumnListView.ListViewColumn colEiKierroksella = new MultiColumnListView.ListViewColumn<>(); - colEiKierroksella.setHeader(new Label("Ei vielä kierroksella")); + Label labelEiKierroksella = new Label("Ei vielä kierroksella"); + labelEiKierroksella.setFont(tekstiFont); + colEiKierroksella.setHeader(labelEiKierroksella); colEiKierroksella.setItems(FXCollections.observableArrayList(eiKierroksella)); mclv.getColumns().add(colEiKierroksella); } @@ -92,7 +94,9 @@ public class Kierroshallinta extends TabPohja { private void lisaaKierros(Kierros kierros) { if (kierros.getId() == -1) kierrokset.add(kierros); MultiColumnListView.ListViewColumn uusiSarake = new MultiColumnListView.ListViewColumn<>(); - uusiSarake.setHeader(new Label("Kierros " + kierros.getKierrosNumero())); + Label label = new Label("Kierros " + kierros.getKierrosNumero()); + label.setFont(tekstiFont); + uusiSarake.setHeader(label); uusiSarake.setItems(kierros.getAsiakkaat()); mclv.getColumns().add(kierros.getKierrosNumero()-1, uusiSarake); } diff --git a/src/main/java/fi/lpam/gui/elementit/AsiakasListCell.java b/src/main/java/fi/lpam/gui/elementit/AsiakasMCLVListCell.java similarity index 87% rename from src/main/java/fi/lpam/gui/elementit/AsiakasListCell.java rename to src/main/java/fi/lpam/gui/elementit/AsiakasMCLVListCell.java index 838651e..5d76f4b 100644 --- a/src/main/java/fi/lpam/gui/elementit/AsiakasListCell.java +++ b/src/main/java/fi/lpam/gui/elementit/AsiakasMCLVListCell.java @@ -12,13 +12,13 @@ import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; -public class AsiakasListCell extends MultiColumnListView.ColumnListCell { +public class AsiakasMCLVListCell extends MultiColumnListView.ColumnListCell { private final StackPane wrapper; - public AsiakasListCell(MultiColumnListView multiColumnListView) { + public AsiakasMCLVListCell(MultiColumnListView multiColumnListView) { super(multiColumnListView); - this.setMinHeight(60); - this.setMaxHeight(60); + this.setMinHeight(TabPohja.tekstiFont.getSize()*4); + this.setMaxHeight(TabPohja.tekstiFont.getSize()*4); VBox content = new VBox(); content.visibleProperty().bind(placeholder.not().and(emptyProperty().not())); diff --git a/src/main/java/fi/lpam/gui/elementit/TabPohja.java b/src/main/java/fi/lpam/gui/elementit/TabPohja.java index f0d74f4..d5b3a76 100644 --- a/src/main/java/fi/lpam/gui/elementit/TabPohja.java +++ b/src/main/java/fi/lpam/gui/elementit/TabPohja.java @@ -1,22 +1,30 @@ package fi.lpam.gui.elementit; +import fi.lpam.Main; import javafx.geometry.Insets; import javafx.scene.layout.*; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; +import java.util.Properties; + /** * Käyttöliittymän pohja */ public class TabPohja extends StackPane { - public static final Insets oletusInsets = new Insets(5); - public static final String oletusStyle = "-fx-background-color: lightgray;"; - public static final Font buttonFont = Font.font("Open Sans", FontWeight.BOLD, 16); - public static final Font tekstiFont = Font.font("Open Sans", FontWeight.NORMAL, 16); - public static final Border oletusBorder = new Border(new BorderStroke(Color.BLACK, BorderStrokeStyle.SOLID, new CornerRadii(5), BorderWidths.DEFAULT)); + public static Insets oletusInsets; + public static Border oletusBorder = new Border(new BorderStroke(Color.BLACK, BorderStrokeStyle.SOLID, new CornerRadii(5), BorderWidths.DEFAULT)); + public static String oletusStyle; + public static Font buttonFont; + public static Font tekstiFont; public TabPohja() { + Properties prop = Main.properties; + oletusInsets = new Insets(Double.parseDouble(prop.getProperty("insets"))); + oletusStyle = "-fx-background-color: " + prop.getProperty("taustaVari") + ";"; + buttonFont = Font.font(prop.getProperty("buttonFontti"), FontWeight.BOLD, Double.parseDouble(prop.getProperty("buttonFonttiKoko"))); + tekstiFont = Font.font(prop.getProperty("tekstiFontti"), FontWeight.NORMAL, Double.parseDouble(prop.getProperty("tekstiFonttiKoko"))); this.setStyle(oletusStyle); this.setPadding(oletusInsets); this.setBorder(oletusBorder); diff --git a/src/main/java/fi/lpam/tulostajat/Tulostaja.java b/src/main/java/fi/lpam/tulostajat/Tulostaja.java index 20dd42d..d428427 100644 --- a/src/main/java/fi/lpam/tulostajat/Tulostaja.java +++ b/src/main/java/fi/lpam/tulostajat/Tulostaja.java @@ -1,5 +1,6 @@ package fi.lpam.tulostajat; +import fi.lpam.Main; import fi.lpam.gui.virheDialogit.SiirtoVirhe; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; @@ -17,7 +18,7 @@ import java.io.IOException; public abstract class Tulostaja { final PDRectangle SIVUKOKO = PDRectangle.A4; final PDFont FONTTI = new PDType1Font(Standard14Fonts.FontName.HELVETICA); - final float FONTTI_KOKO = 13; + final float FONTTI_KOKO = Float.parseFloat(Main.properties.getProperty("tulostusFonttiKoko")); final float MARGINAALI = 50; final float RIVI_KORKEUS = FONTTI_KOKO * 1.2F; diff --git a/src/main/resources/defaults.properties b/src/main/resources/defaults.properties index b73f2ce..b93ba0e 100644 --- a/src/main/resources/defaults.properties +++ b/src/main/resources/defaults.properties @@ -1,2 +1,11 @@ version=${project.version} -viimeisinVersio=0.0.0 \ No newline at end of file + +buttonFonttiKoko=16 +buttonFontti=Open Sans +tekstiFonttiKoko=16 +tekstiFontti=Open Sans + +tulostusFonttiKoko=13 + +taustaVari=lightgray +insets=5 \ No newline at end of file From 89d30b8ac9b105036d528905a87caf7fbbe54c77 Mon Sep 17 00:00:00 2001 From: Lauri Maaninka Date: Wed, 13 May 2026 02:22:14 +0300 Subject: [PATCH 4/8] =?UTF-8?q?#17=20Luotu=20custom=20label=20luokka,=20ot?= =?UTF-8?q?ettu=20uudet=20s=C3=A4=C3=A4d=C3=B6t=20k=C3=A4ytt=C3=B6=C3=B6n?= =?UTF-8?q?=20mahdollisimman=20monessa=20paikkaa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fi/lpam/gui/Asetukset.java | 3 +-- .../java/fi/lpam/gui/Asiakashallinta.java | 15 ++++++------- .../java/fi/lpam/gui/Kierroshallinta.java | 11 ++++------ src/main/java/fi/lpam/gui/KuljetusListat.java | 21 +++++++++++-------- .../java/fi/lpam/gui/KuljetusRaportit.java | 19 ++++++++++------- .../java/fi/lpam/gui/elementit/FontLabel.java | 11 ++++++++++ .../java/fi/lpam/gui/elementit/TabPohja.java | 2 ++ 7 files changed, 48 insertions(+), 34 deletions(-) create mode 100644 src/main/java/fi/lpam/gui/elementit/FontLabel.java diff --git a/src/main/java/fi/lpam/gui/Asetukset.java b/src/main/java/fi/lpam/gui/Asetukset.java index 2c84481..6250a01 100644 --- a/src/main/java/fi/lpam/gui/Asetukset.java +++ b/src/main/java/fi/lpam/gui/Asetukset.java @@ -112,7 +112,6 @@ public class Asetukset extends TabPohja { } private void palautaOletukset() { - - + //TODO } } diff --git a/src/main/java/fi/lpam/gui/Asiakashallinta.java b/src/main/java/fi/lpam/gui/Asiakashallinta.java index 78414cb..972aee1 100644 --- a/src/main/java/fi/lpam/gui/Asiakashallinta.java +++ b/src/main/java/fi/lpam/gui/Asiakashallinta.java @@ -1,5 +1,6 @@ package fi.lpam.gui; +import fi.lpam.Main; import fi.lpam.dataluokat.Asiakas; import fi.lpam.gui.elementit.MaaraTableColumn; import fi.lpam.gui.elementit.TabPohja; @@ -36,7 +37,7 @@ public class Asiakashallinta extends TabPohja { yläpalkki.setLeft(otsikko); HBox yläpalkinNapit = new HBox(); - yläpalkinNapit.setSpacing(5); + yläpalkinNapit.setSpacing(Double.parseDouble(Main.properties.getProperty("insets"))); yläpalkinNapit.setPadding(oletusInsets); yläpalkki.setRight(yläpalkinNapit); @@ -118,25 +119,18 @@ public class Asiakashallinta extends TabPohja { tcKuljetusmäärät.getColumns().addAll(tcSalaatit, tcPääruoat, tcJälkiruoat); TableColumn tcErityisruokavalio = new TableColumn<>("Ruokarajoitteet"); -// tcErityisruokavalio.setMinWidth(150); tcErityisruokavalio.setCellValueFactory(new PropertyValueFactory<>("erityisruokavalio")); TableColumn tcAvainTieto = new TableColumn<>("Avaintieto"); -// tcAvainTieto.setMinWidth(150); tcAvainTieto.setCellValueFactory(new PropertyValueFactory<>("avainTieto")); TableColumn tcLisätiedot = new TableColumn<>("Lisätieto kuljetukselle"); -// tcLisätiedot.setMinWidth(250); tcLisätiedot.setCellValueFactory(new PropertyValueFactory<>("lisätiedot")); TableColumn tcYhteyshenkilönNimi = new TableColumn<>("Yhteyshenkilö"); -// tcYhteyshenkilönNimi.setMinWidth(250); tcYhteyshenkilönNimi.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönNimi")); TableColumn tcLaskutusOsoite = new TableColumn<>("Laskutusosoite"); -// tcLaskutusOsoite.setMinWidth(250); tcLaskutusOsoite.setCellValueFactory(new PropertyValueFactory<>("laskutusOsoite")); TableColumn tcYhteyshenkilönPuhelinnumero = new TableColumn<>("Yhteyshenkilön puhelinnumero"); -// tcYhteyshenkilönPuhelinnumero.setMinWidth(250); tcYhteyshenkilönPuhelinnumero.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönPuhelinnumero")); TableColumn tcYhteyshenkilönSähköposti = new TableColumn<>("Yhteyshenkilön sähköposti"); -// tcYhteyshenkilönSähköposti.setMinWidth(250); tcYhteyshenkilönSähköposti.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönSähköposti")); tvAsiakkaat.getColumns().addAll(tcId, tcNimi, tcOsoite, tcKuljetuspäivät, tcKuljetusmäärät, tcErityisruokavalio, tcAvainTieto, tcLisätiedot, tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti); @@ -145,7 +139,10 @@ public class Asiakashallinta extends TabPohja { column.setEditable(false); column.setReorderable(false); column.setResizable(true); - column.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;"); + column.setStyle( + "-fx-alignment: CENTER;" + + "-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" + + "-fx-font-family: " + Main.properties.getProperty("tekstiFontti")); } diff --git a/src/main/java/fi/lpam/gui/Kierroshallinta.java b/src/main/java/fi/lpam/gui/Kierroshallinta.java index eeddecd..ad31221 100644 --- a/src/main/java/fi/lpam/gui/Kierroshallinta.java +++ b/src/main/java/fi/lpam/gui/Kierroshallinta.java @@ -5,6 +5,7 @@ import com.dlsc.gemsfx.MultiColumnListView; import fi.lpam.dataluokat.Asiakas; import fi.lpam.dataluokat.Kierros; import fi.lpam.gui.elementit.AsiakasMCLVListCell; +import fi.lpam.gui.elementit.FontLabel; import fi.lpam.gui.elementit.TabPohja; import javafx.collections.FXCollections; @@ -38,8 +39,7 @@ public class Kierroshallinta extends TabPohja { BorderPane yläpalkki = new BorderPane(); root.setTop(yläpalkki); - Label infoTeksti = new Label("Siirrä asiakkaat haluamallesi kierrokselle. Kierroksia voit lisätä painamalla lisää uusi kierros painiketta.\nKierrosnumerot päivittyvät, sekä tyhjät poistuvat kierroksia tallentaessa."); - infoTeksti.setFont(tekstiFont); + Label infoTeksti = new FontLabel(tekstiFont, "Siirrä asiakkaat haluamallesi kierrokselle. Kierroksia voit lisätä painamalla lisää uusi kierros painiketta.\nKierrosnumerot päivittyvät, sekä tyhjät poistuvat kierroksia tallentaessa."); yläpalkki.setLeft(infoTeksti); HBox yläpalkinNapit = new HBox(); @@ -84,8 +84,7 @@ public class Kierroshallinta extends TabPohja { } } MultiColumnListView.ListViewColumn colEiKierroksella = new MultiColumnListView.ListViewColumn<>(); - Label labelEiKierroksella = new Label("Ei vielä kierroksella"); - labelEiKierroksella.setFont(tekstiFont); + Label labelEiKierroksella = new FontLabel(tekstiFont, "Ei vielä kierroksella"); colEiKierroksella.setHeader(labelEiKierroksella); colEiKierroksella.setItems(FXCollections.observableArrayList(eiKierroksella)); mclv.getColumns().add(colEiKierroksella); @@ -94,9 +93,7 @@ public class Kierroshallinta extends TabPohja { private void lisaaKierros(Kierros kierros) { if (kierros.getId() == -1) kierrokset.add(kierros); MultiColumnListView.ListViewColumn uusiSarake = new MultiColumnListView.ListViewColumn<>(); - Label label = new Label("Kierros " + kierros.getKierrosNumero()); - label.setFont(tekstiFont); - uusiSarake.setHeader(label); + uusiSarake.setHeader(new FontLabel(tekstiFont, "Kierros " + kierros.getKierrosNumero())); uusiSarake.setItems(kierros.getAsiakkaat()); mclv.getColumns().add(kierros.getKierrosNumero()-1, uusiSarake); } diff --git a/src/main/java/fi/lpam/gui/KuljetusListat.java b/src/main/java/fi/lpam/gui/KuljetusListat.java index 3bdff8b..ac2bc0d 100644 --- a/src/main/java/fi/lpam/gui/KuljetusListat.java +++ b/src/main/java/fi/lpam/gui/KuljetusListat.java @@ -1,8 +1,10 @@ package fi.lpam.gui; +import fi.lpam.Main; import fi.lpam.dataluokat.Asiakas; import fi.lpam.dataluokat.Kierros; import fi.lpam.dataluokat.Kuljetus; +import fi.lpam.gui.elementit.FontLabel; import fi.lpam.gui.tableCell.IntegerFieldTableCellFactory; import fi.lpam.gui.tableCell.KuljetaTableCell; import fi.lpam.tulostajat.KuljetusListaTulostaja; @@ -49,30 +51,28 @@ public class KuljetusListat extends TabPohja { this.getChildren().add(root); BorderPane yläpalkki = new BorderPane(); - Label infoTeksti = new Label("Kuljetuslistojen luonti"); - infoTeksti.setFont(tekstiFont); + Label infoTeksti = new FontLabel(tekstiFont, "Kuljetuslistojen luonti"); yläpalkki.setLeft(infoTeksti); HBox kierroksenValintaLaatikko = new HBox(); - kierroksenValintaLaatikko.setSpacing(5); - kierroksenValintaLaatikko.setSpacing(5); + kierroksenValintaLaatikko.setSpacing(spacing); kierroksenValintaLaatikko.setAlignment(Pos.CENTER); Button valitse = new Button("Valitse"); valitse.setFont(buttonFont); valitse.setOnAction(_ -> päivitäListanäkymä()); - tallennusStatus = new Label("Tallennettu: Kyllä"); + tallennusStatus = new FontLabel(tekstiFont, "Tallennettu: Kyllä"); tallennusStatus.setFont(tekstiFont); datePicker.valueProperty().addListener(_ -> päivitäListanäkymä()); kierrosValinta.valueProperty().addListener(_ -> päivitäListanäkymä()); kierroksenValintaLaatikko.getChildren().addAll( - new Label("Valitse päivämäärä:"), + new FontLabel(tekstiFont, "Valitse päivämäärä:"), datePicker, - new Label("Valitse kierros:"), + new FontLabel(tekstiFont, "Valitse kierros:"), kierrosValinta, tallennusStatus); yläpalkki.setCenter(kierroksenValintaLaatikko); HBox napit = new HBox(); - napit.setSpacing(5); + napit.setSpacing(spacing); Button poista = new Button("Poista kuljetusrivi"); poista.setOnAction(_ ->poistaRivi()); poista.setFont(buttonFont); @@ -147,7 +147,10 @@ public class KuljetusListat extends TabPohja { sarake.setSortable(false); sarake.setEditable(true); sarake.setResizable(true); - sarake.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;"); + sarake.setStyle( + "-fx-alignment: CENTER;" + + "-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" + + "-fx-font-family: " + Main.properties.getProperty("tekstiFontti")); } tcNimi.setEditable(false); tcNimi.setResizable(false); diff --git a/src/main/java/fi/lpam/gui/KuljetusRaportit.java b/src/main/java/fi/lpam/gui/KuljetusRaportit.java index 49c7d78..b2b3177 100644 --- a/src/main/java/fi/lpam/gui/KuljetusRaportit.java +++ b/src/main/java/fi/lpam/gui/KuljetusRaportit.java @@ -1,6 +1,8 @@ package fi.lpam.gui; +import fi.lpam.Main; import fi.lpam.dataluokat.RaporttiRivi; +import fi.lpam.gui.elementit.FontLabel; import fi.lpam.tulostajat.KuljetusRaporttiTulostaja; import fi.lpam.gui.tableCell.PaivamaaraTableCell; import fi.lpam.gui.elementit.TabPohja; @@ -41,16 +43,16 @@ public class KuljetusRaportit extends TabPohja { BorderPane yläpalkki = new BorderPane(); root.setTop(yläpalkki); - Label infoTeksti = new Label("Kuljetusraportit. \nTarkka-valinnalla koostetun raportin tulostaminen paperille ei suositeltua."); - infoTeksti.setFont(tekstiFont); + Label infoTeksti = new FontLabel(tekstiFont, "Kuljetusraportit. \nTarkka-valinnalla koostetun raportin tulostaminen paperille ei suositeltua."); yläpalkki.setLeft(infoTeksti); HBox yläpalkinNapit = new HBox(); yläpalkinNapit.setAlignment(Pos.CENTER); - yläpalkinNapit.setSpacing(5); + yläpalkinNapit.setSpacing(spacing); yläpalkki.setRight(yläpalkinNapit); tarkka = new CheckBox("Tarkka"); + tarkka.setFont(tekstiFont); alkuPvm = new DatePicker(LocalDate.now().minusDays(LocalDate.now().getDayOfMonth() - 1)); loppuPvm = new DatePicker(LocalDate.now()); Button haeKuljetukset = new Button("Hae"); @@ -60,8 +62,8 @@ public class KuljetusRaportit extends TabPohja { tulostaRaportti.setFont(buttonFont); tulostaRaportti.setOnAction(_ ->tulostaRaportti()); yläpalkinNapit.getChildren().addAll(tarkka, - new Label("Hae kuljetukset välillä:"), - alkuPvm, new Label("-"), loppuPvm, + new FontLabel(tekstiFont,"Hae kuljetukset välillä:"), + alkuPvm, new FontLabel(tekstiFont,"-"), loppuPvm, haeKuljetukset, tulostaRaportti); root.setCenter(tableView); @@ -109,12 +111,15 @@ public class KuljetusRaportit extends TabPohja { tableView.getColumns().addAll(tcNimi, tcPvm, tcSalaatit, tcPääruoat, tcJälkiruoat, tcLisätiedot, tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti); - tableView.setPlaceholder(new Label("Hae raportti")); + tableView.setPlaceholder(new FontLabel(buttonFont, "Hae raportti")); for (TableColumn sarake : tableView.getColumns()) { sarake.setSortable(false); sarake.setEditable(false); sarake.setResizable(true); - sarake.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;"); + sarake.setStyle( + "-fx-alignment: CENTER;" + + "-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" + + "-fx-font-family: " + Main.properties.getProperty("tekstiFontti")); } } } \ No newline at end of file diff --git a/src/main/java/fi/lpam/gui/elementit/FontLabel.java b/src/main/java/fi/lpam/gui/elementit/FontLabel.java new file mode 100644 index 0000000..cc42acb --- /dev/null +++ b/src/main/java/fi/lpam/gui/elementit/FontLabel.java @@ -0,0 +1,11 @@ +package fi.lpam.gui.elementit; + +import javafx.scene.control.Label; +import javafx.scene.text.Font; + +public class FontLabel extends Label { + public FontLabel(Font font, String text) { + super(text); + this.setFont(font); + } +} diff --git a/src/main/java/fi/lpam/gui/elementit/TabPohja.java b/src/main/java/fi/lpam/gui/elementit/TabPohja.java index d5b3a76..4e354eb 100644 --- a/src/main/java/fi/lpam/gui/elementit/TabPohja.java +++ b/src/main/java/fi/lpam/gui/elementit/TabPohja.java @@ -18,10 +18,12 @@ public class TabPohja extends StackPane { public static String oletusStyle; public static Font buttonFont; public static Font tekstiFont; + public static double spacing; public TabPohja() { Properties prop = Main.properties; oletusInsets = new Insets(Double.parseDouble(prop.getProperty("insets"))); + spacing = Double.parseDouble(prop.getProperty("insets")); oletusStyle = "-fx-background-color: " + prop.getProperty("taustaVari") + ";"; buttonFont = Font.font(prop.getProperty("buttonFontti"), FontWeight.BOLD, Double.parseDouble(prop.getProperty("buttonFonttiKoko"))); tekstiFont = Font.font(prop.getProperty("tekstiFontti"), FontWeight.NORMAL, Double.parseDouble(prop.getProperty("tekstiFonttiKoko"))); From 6284ac066350124a6e0e42bef874c93e3f7e1682 Mon Sep 17 00:00:00 2001 From: Lauri Maaninka Date: Wed, 13 May 2026 02:22:14 +0300 Subject: [PATCH 5/8] =?UTF-8?q?#17=20Luotu=20custom=20label=20luokka,=20ot?= =?UTF-8?q?ettu=20uudet=20s=C3=A4=C3=A4d=C3=B6t=20k=C3=A4ytt=C3=B6=C3=B6n?= =?UTF-8?q?=20mahdollisimman=20monessa=20paikkaa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fi/lpam/gui/Asetukset.java | 7 +------ .../java/fi/lpam/gui/Asiakashallinta.java | 15 ++++++------- .../java/fi/lpam/gui/Kierroshallinta.java | 11 ++++------ src/main/java/fi/lpam/gui/KuljetusListat.java | 21 +++++++++++-------- .../java/fi/lpam/gui/KuljetusRaportit.java | 19 ++++++++++------- .../java/fi/lpam/gui/elementit/FontLabel.java | 11 ++++++++++ .../java/fi/lpam/gui/elementit/TabPohja.java | 2 ++ 7 files changed, 48 insertions(+), 38 deletions(-) create mode 100644 src/main/java/fi/lpam/gui/elementit/FontLabel.java diff --git a/src/main/java/fi/lpam/gui/Asetukset.java b/src/main/java/fi/lpam/gui/Asetukset.java index 2c84481..d94b7ad 100644 --- a/src/main/java/fi/lpam/gui/Asetukset.java +++ b/src/main/java/fi/lpam/gui/Asetukset.java @@ -37,10 +37,6 @@ public class Asetukset extends TabPohja { root.setLeft(getFonttiAsetukset()); - Label asetukset = new Label("Asetukset"); - asetukset.setFont(tekstiFont); - root.setRight(asetukset); - this.getChildren().add(root); } @@ -112,7 +108,6 @@ public class Asetukset extends TabPohja { } private void palautaOletukset() { - - + //TODO } } diff --git a/src/main/java/fi/lpam/gui/Asiakashallinta.java b/src/main/java/fi/lpam/gui/Asiakashallinta.java index 78414cb..972aee1 100644 --- a/src/main/java/fi/lpam/gui/Asiakashallinta.java +++ b/src/main/java/fi/lpam/gui/Asiakashallinta.java @@ -1,5 +1,6 @@ package fi.lpam.gui; +import fi.lpam.Main; import fi.lpam.dataluokat.Asiakas; import fi.lpam.gui.elementit.MaaraTableColumn; import fi.lpam.gui.elementit.TabPohja; @@ -36,7 +37,7 @@ public class Asiakashallinta extends TabPohja { yläpalkki.setLeft(otsikko); HBox yläpalkinNapit = new HBox(); - yläpalkinNapit.setSpacing(5); + yläpalkinNapit.setSpacing(Double.parseDouble(Main.properties.getProperty("insets"))); yläpalkinNapit.setPadding(oletusInsets); yläpalkki.setRight(yläpalkinNapit); @@ -118,25 +119,18 @@ public class Asiakashallinta extends TabPohja { tcKuljetusmäärät.getColumns().addAll(tcSalaatit, tcPääruoat, tcJälkiruoat); TableColumn tcErityisruokavalio = new TableColumn<>("Ruokarajoitteet"); -// tcErityisruokavalio.setMinWidth(150); tcErityisruokavalio.setCellValueFactory(new PropertyValueFactory<>("erityisruokavalio")); TableColumn tcAvainTieto = new TableColumn<>("Avaintieto"); -// tcAvainTieto.setMinWidth(150); tcAvainTieto.setCellValueFactory(new PropertyValueFactory<>("avainTieto")); TableColumn tcLisätiedot = new TableColumn<>("Lisätieto kuljetukselle"); -// tcLisätiedot.setMinWidth(250); tcLisätiedot.setCellValueFactory(new PropertyValueFactory<>("lisätiedot")); TableColumn tcYhteyshenkilönNimi = new TableColumn<>("Yhteyshenkilö"); -// tcYhteyshenkilönNimi.setMinWidth(250); tcYhteyshenkilönNimi.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönNimi")); TableColumn tcLaskutusOsoite = new TableColumn<>("Laskutusosoite"); -// tcLaskutusOsoite.setMinWidth(250); tcLaskutusOsoite.setCellValueFactory(new PropertyValueFactory<>("laskutusOsoite")); TableColumn tcYhteyshenkilönPuhelinnumero = new TableColumn<>("Yhteyshenkilön puhelinnumero"); -// tcYhteyshenkilönPuhelinnumero.setMinWidth(250); tcYhteyshenkilönPuhelinnumero.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönPuhelinnumero")); TableColumn tcYhteyshenkilönSähköposti = new TableColumn<>("Yhteyshenkilön sähköposti"); -// tcYhteyshenkilönSähköposti.setMinWidth(250); tcYhteyshenkilönSähköposti.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönSähköposti")); tvAsiakkaat.getColumns().addAll(tcId, tcNimi, tcOsoite, tcKuljetuspäivät, tcKuljetusmäärät, tcErityisruokavalio, tcAvainTieto, tcLisätiedot, tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti); @@ -145,7 +139,10 @@ public class Asiakashallinta extends TabPohja { column.setEditable(false); column.setReorderable(false); column.setResizable(true); - column.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;"); + column.setStyle( + "-fx-alignment: CENTER;" + + "-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" + + "-fx-font-family: " + Main.properties.getProperty("tekstiFontti")); } diff --git a/src/main/java/fi/lpam/gui/Kierroshallinta.java b/src/main/java/fi/lpam/gui/Kierroshallinta.java index eeddecd..ad31221 100644 --- a/src/main/java/fi/lpam/gui/Kierroshallinta.java +++ b/src/main/java/fi/lpam/gui/Kierroshallinta.java @@ -5,6 +5,7 @@ import com.dlsc.gemsfx.MultiColumnListView; import fi.lpam.dataluokat.Asiakas; import fi.lpam.dataluokat.Kierros; import fi.lpam.gui.elementit.AsiakasMCLVListCell; +import fi.lpam.gui.elementit.FontLabel; import fi.lpam.gui.elementit.TabPohja; import javafx.collections.FXCollections; @@ -38,8 +39,7 @@ public class Kierroshallinta extends TabPohja { BorderPane yläpalkki = new BorderPane(); root.setTop(yläpalkki); - Label infoTeksti = new Label("Siirrä asiakkaat haluamallesi kierrokselle. Kierroksia voit lisätä painamalla lisää uusi kierros painiketta.\nKierrosnumerot päivittyvät, sekä tyhjät poistuvat kierroksia tallentaessa."); - infoTeksti.setFont(tekstiFont); + Label infoTeksti = new FontLabel(tekstiFont, "Siirrä asiakkaat haluamallesi kierrokselle. Kierroksia voit lisätä painamalla lisää uusi kierros painiketta.\nKierrosnumerot päivittyvät, sekä tyhjät poistuvat kierroksia tallentaessa."); yläpalkki.setLeft(infoTeksti); HBox yläpalkinNapit = new HBox(); @@ -84,8 +84,7 @@ public class Kierroshallinta extends TabPohja { } } MultiColumnListView.ListViewColumn colEiKierroksella = new MultiColumnListView.ListViewColumn<>(); - Label labelEiKierroksella = new Label("Ei vielä kierroksella"); - labelEiKierroksella.setFont(tekstiFont); + Label labelEiKierroksella = new FontLabel(tekstiFont, "Ei vielä kierroksella"); colEiKierroksella.setHeader(labelEiKierroksella); colEiKierroksella.setItems(FXCollections.observableArrayList(eiKierroksella)); mclv.getColumns().add(colEiKierroksella); @@ -94,9 +93,7 @@ public class Kierroshallinta extends TabPohja { private void lisaaKierros(Kierros kierros) { if (kierros.getId() == -1) kierrokset.add(kierros); MultiColumnListView.ListViewColumn uusiSarake = new MultiColumnListView.ListViewColumn<>(); - Label label = new Label("Kierros " + kierros.getKierrosNumero()); - label.setFont(tekstiFont); - uusiSarake.setHeader(label); + uusiSarake.setHeader(new FontLabel(tekstiFont, "Kierros " + kierros.getKierrosNumero())); uusiSarake.setItems(kierros.getAsiakkaat()); mclv.getColumns().add(kierros.getKierrosNumero()-1, uusiSarake); } diff --git a/src/main/java/fi/lpam/gui/KuljetusListat.java b/src/main/java/fi/lpam/gui/KuljetusListat.java index 3bdff8b..ac2bc0d 100644 --- a/src/main/java/fi/lpam/gui/KuljetusListat.java +++ b/src/main/java/fi/lpam/gui/KuljetusListat.java @@ -1,8 +1,10 @@ package fi.lpam.gui; +import fi.lpam.Main; import fi.lpam.dataluokat.Asiakas; import fi.lpam.dataluokat.Kierros; import fi.lpam.dataluokat.Kuljetus; +import fi.lpam.gui.elementit.FontLabel; import fi.lpam.gui.tableCell.IntegerFieldTableCellFactory; import fi.lpam.gui.tableCell.KuljetaTableCell; import fi.lpam.tulostajat.KuljetusListaTulostaja; @@ -49,30 +51,28 @@ public class KuljetusListat extends TabPohja { this.getChildren().add(root); BorderPane yläpalkki = new BorderPane(); - Label infoTeksti = new Label("Kuljetuslistojen luonti"); - infoTeksti.setFont(tekstiFont); + Label infoTeksti = new FontLabel(tekstiFont, "Kuljetuslistojen luonti"); yläpalkki.setLeft(infoTeksti); HBox kierroksenValintaLaatikko = new HBox(); - kierroksenValintaLaatikko.setSpacing(5); - kierroksenValintaLaatikko.setSpacing(5); + kierroksenValintaLaatikko.setSpacing(spacing); kierroksenValintaLaatikko.setAlignment(Pos.CENTER); Button valitse = new Button("Valitse"); valitse.setFont(buttonFont); valitse.setOnAction(_ -> päivitäListanäkymä()); - tallennusStatus = new Label("Tallennettu: Kyllä"); + tallennusStatus = new FontLabel(tekstiFont, "Tallennettu: Kyllä"); tallennusStatus.setFont(tekstiFont); datePicker.valueProperty().addListener(_ -> päivitäListanäkymä()); kierrosValinta.valueProperty().addListener(_ -> päivitäListanäkymä()); kierroksenValintaLaatikko.getChildren().addAll( - new Label("Valitse päivämäärä:"), + new FontLabel(tekstiFont, "Valitse päivämäärä:"), datePicker, - new Label("Valitse kierros:"), + new FontLabel(tekstiFont, "Valitse kierros:"), kierrosValinta, tallennusStatus); yläpalkki.setCenter(kierroksenValintaLaatikko); HBox napit = new HBox(); - napit.setSpacing(5); + napit.setSpacing(spacing); Button poista = new Button("Poista kuljetusrivi"); poista.setOnAction(_ ->poistaRivi()); poista.setFont(buttonFont); @@ -147,7 +147,10 @@ public class KuljetusListat extends TabPohja { sarake.setSortable(false); sarake.setEditable(true); sarake.setResizable(true); - sarake.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;"); + sarake.setStyle( + "-fx-alignment: CENTER;" + + "-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" + + "-fx-font-family: " + Main.properties.getProperty("tekstiFontti")); } tcNimi.setEditable(false); tcNimi.setResizable(false); diff --git a/src/main/java/fi/lpam/gui/KuljetusRaportit.java b/src/main/java/fi/lpam/gui/KuljetusRaportit.java index 49c7d78..b2b3177 100644 --- a/src/main/java/fi/lpam/gui/KuljetusRaportit.java +++ b/src/main/java/fi/lpam/gui/KuljetusRaportit.java @@ -1,6 +1,8 @@ package fi.lpam.gui; +import fi.lpam.Main; import fi.lpam.dataluokat.RaporttiRivi; +import fi.lpam.gui.elementit.FontLabel; import fi.lpam.tulostajat.KuljetusRaporttiTulostaja; import fi.lpam.gui.tableCell.PaivamaaraTableCell; import fi.lpam.gui.elementit.TabPohja; @@ -41,16 +43,16 @@ public class KuljetusRaportit extends TabPohja { BorderPane yläpalkki = new BorderPane(); root.setTop(yläpalkki); - Label infoTeksti = new Label("Kuljetusraportit. \nTarkka-valinnalla koostetun raportin tulostaminen paperille ei suositeltua."); - infoTeksti.setFont(tekstiFont); + Label infoTeksti = new FontLabel(tekstiFont, "Kuljetusraportit. \nTarkka-valinnalla koostetun raportin tulostaminen paperille ei suositeltua."); yläpalkki.setLeft(infoTeksti); HBox yläpalkinNapit = new HBox(); yläpalkinNapit.setAlignment(Pos.CENTER); - yläpalkinNapit.setSpacing(5); + yläpalkinNapit.setSpacing(spacing); yläpalkki.setRight(yläpalkinNapit); tarkka = new CheckBox("Tarkka"); + tarkka.setFont(tekstiFont); alkuPvm = new DatePicker(LocalDate.now().minusDays(LocalDate.now().getDayOfMonth() - 1)); loppuPvm = new DatePicker(LocalDate.now()); Button haeKuljetukset = new Button("Hae"); @@ -60,8 +62,8 @@ public class KuljetusRaportit extends TabPohja { tulostaRaportti.setFont(buttonFont); tulostaRaportti.setOnAction(_ ->tulostaRaportti()); yläpalkinNapit.getChildren().addAll(tarkka, - new Label("Hae kuljetukset välillä:"), - alkuPvm, new Label("-"), loppuPvm, + new FontLabel(tekstiFont,"Hae kuljetukset välillä:"), + alkuPvm, new FontLabel(tekstiFont,"-"), loppuPvm, haeKuljetukset, tulostaRaportti); root.setCenter(tableView); @@ -109,12 +111,15 @@ public class KuljetusRaportit extends TabPohja { tableView.getColumns().addAll(tcNimi, tcPvm, tcSalaatit, tcPääruoat, tcJälkiruoat, tcLisätiedot, tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti); - tableView.setPlaceholder(new Label("Hae raportti")); + tableView.setPlaceholder(new FontLabel(buttonFont, "Hae raportti")); for (TableColumn sarake : tableView.getColumns()) { sarake.setSortable(false); sarake.setEditable(false); sarake.setResizable(true); - sarake.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;"); + sarake.setStyle( + "-fx-alignment: CENTER;" + + "-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" + + "-fx-font-family: " + Main.properties.getProperty("tekstiFontti")); } } } \ No newline at end of file diff --git a/src/main/java/fi/lpam/gui/elementit/FontLabel.java b/src/main/java/fi/lpam/gui/elementit/FontLabel.java new file mode 100644 index 0000000..cc42acb --- /dev/null +++ b/src/main/java/fi/lpam/gui/elementit/FontLabel.java @@ -0,0 +1,11 @@ +package fi.lpam.gui.elementit; + +import javafx.scene.control.Label; +import javafx.scene.text.Font; + +public class FontLabel extends Label { + public FontLabel(Font font, String text) { + super(text); + this.setFont(font); + } +} diff --git a/src/main/java/fi/lpam/gui/elementit/TabPohja.java b/src/main/java/fi/lpam/gui/elementit/TabPohja.java index d5b3a76..4e354eb 100644 --- a/src/main/java/fi/lpam/gui/elementit/TabPohja.java +++ b/src/main/java/fi/lpam/gui/elementit/TabPohja.java @@ -18,10 +18,12 @@ public class TabPohja extends StackPane { public static String oletusStyle; public static Font buttonFont; public static Font tekstiFont; + public static double spacing; public TabPohja() { Properties prop = Main.properties; oletusInsets = new Insets(Double.parseDouble(prop.getProperty("insets"))); + spacing = Double.parseDouble(prop.getProperty("insets")); oletusStyle = "-fx-background-color: " + prop.getProperty("taustaVari") + ";"; buttonFont = Font.font(prop.getProperty("buttonFontti"), FontWeight.BOLD, Double.parseDouble(prop.getProperty("buttonFonttiKoko"))); tekstiFont = Font.font(prop.getProperty("tekstiFontti"), FontWeight.NORMAL, Double.parseDouble(prop.getProperty("tekstiFonttiKoko"))); From e93004ee0dbf7eb12d4552a004602b3c9e02f70e Mon Sep 17 00:00:00 2001 From: Lauri Maaninka Date: Wed, 13 May 2026 02:27:16 +0300 Subject: [PATCH 6/8] =?UTF-8?q?#17=20Luotu=20custom=20label=20luokka,=20ot?= =?UTF-8?q?ettu=20uudet=20s=C3=A4=C3=A4d=C3=B6t=20k=C3=A4ytt=C3=B6=C3=B6n?= =?UTF-8?q?=20mahdollisimman=20monessa=20paikkaa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fi/lpam/gui/Asetukset.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/fi/lpam/gui/Asetukset.java b/src/main/java/fi/lpam/gui/Asetukset.java index d94b7ad..48e8ad1 100644 --- a/src/main/java/fi/lpam/gui/Asetukset.java +++ b/src/main/java/fi/lpam/gui/Asetukset.java @@ -35,7 +35,7 @@ public class Asetukset extends TabPohja { yläpalkki.getChildren().add(btnNollaa); root.setTop(yläpalkki); - root.setLeft(getFonttiAsetukset()); + root.setCenter(getFonttiAsetukset()); this.getChildren().add(root); } @@ -43,7 +43,7 @@ public class Asetukset extends TabPohja { private Spinner tekstiFonttiKoko, buttonFonttiKoko, tulostusFonttiKoko, insets; private ComboBox tekstiFontti, buttonFontti; private int minFonttiKoko = 8; - private int maxFonttiKoko = 30; + private int maxFonttiKoko = 25; private int stepFontti = 1; /** @@ -53,8 +53,8 @@ public class Asetukset extends TabPohja { private GridPane getFonttiAsetukset() { GridPane root = new GridPane(); root.setAlignment(Pos.CENTER); - root.setHgap(10); - root.setVgap(10); + root.setHgap(spacing*2); + root.setVgap(spacing*2); root.setBorder(oletusBorder); root.setPadding(oletusInsets); int row = 0; From 624c2bf38859d9329ea5056212ba10b76d2c420a Mon Sep 17 00:00:00 2001 From: laurimaaninka Date: Wed, 13 May 2026 22:07:42 +0300 Subject: [PATCH 7/8] #17 maksimifonttikoko havaittu ja tulostus testattu Signed-off-by: laurimaaninka --- src/main/java/fi/lpam/gui/Asetukset.java | 2 +- src/main/java/fi/lpam/gui/KuljetusListat.java | 4 ++-- src/main/java/fi/lpam/gui/KuljetusRaportit.java | 4 ++-- src/main/java/fi/lpam/tulostajat/KuljetusListaTulostaja.java | 3 ++- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/fi/lpam/gui/Asetukset.java b/src/main/java/fi/lpam/gui/Asetukset.java index 6250a01..2786df6 100644 --- a/src/main/java/fi/lpam/gui/Asetukset.java +++ b/src/main/java/fi/lpam/gui/Asetukset.java @@ -47,7 +47,7 @@ public class Asetukset extends TabPohja { private Spinner tekstiFonttiKoko, buttonFonttiKoko, tulostusFonttiKoko, insets; private ComboBox tekstiFontti, buttonFontti; private int minFonttiKoko = 8; - private int maxFonttiKoko = 30; + private int maxFonttiKoko = 18; private int stepFontti = 1; /** diff --git a/src/main/java/fi/lpam/gui/KuljetusListat.java b/src/main/java/fi/lpam/gui/KuljetusListat.java index ac2bc0d..599b6a1 100644 --- a/src/main/java/fi/lpam/gui/KuljetusListat.java +++ b/src/main/java/fi/lpam/gui/KuljetusListat.java @@ -65,9 +65,9 @@ public class KuljetusListat extends TabPohja { datePicker.valueProperty().addListener(_ -> päivitäListanäkymä()); kierrosValinta.valueProperty().addListener(_ -> päivitäListanäkymä()); kierroksenValintaLaatikko.getChildren().addAll( - new FontLabel(tekstiFont, "Valitse päivämäärä:"), + new FontLabel(tekstiFont, "Päivämäärä:"), datePicker, - new FontLabel(tekstiFont, "Valitse kierros:"), + new FontLabel(tekstiFont, "Kierros:"), kierrosValinta, tallennusStatus); yläpalkki.setCenter(kierroksenValintaLaatikko); diff --git a/src/main/java/fi/lpam/gui/KuljetusRaportit.java b/src/main/java/fi/lpam/gui/KuljetusRaportit.java index b2b3177..56c90df 100644 --- a/src/main/java/fi/lpam/gui/KuljetusRaportit.java +++ b/src/main/java/fi/lpam/gui/KuljetusRaportit.java @@ -43,7 +43,7 @@ public class KuljetusRaportit extends TabPohja { BorderPane yläpalkki = new BorderPane(); root.setTop(yläpalkki); - Label infoTeksti = new FontLabel(tekstiFont, "Kuljetusraportit. \nTarkka-valinnalla koostetun raportin tulostaminen paperille ei suositeltua."); + Label infoTeksti = new FontLabel(tekstiFont, "Kuljetusraportit. \nTarkka-valinnalla koostetun raportin \ntulostaminen paperille ei suositeltua."); yläpalkki.setLeft(infoTeksti); HBox yläpalkinNapit = new HBox(); @@ -62,7 +62,7 @@ public class KuljetusRaportit extends TabPohja { tulostaRaportti.setFont(buttonFont); tulostaRaportti.setOnAction(_ ->tulostaRaportti()); yläpalkinNapit.getChildren().addAll(tarkka, - new FontLabel(tekstiFont,"Hae kuljetukset välillä:"), + //new FontLabel(tekstiFont,"Hae kuljetukset välillä:"), alkuPvm, new FontLabel(tekstiFont,"-"), loppuPvm, haeKuljetukset, tulostaRaportti); diff --git a/src/main/java/fi/lpam/tulostajat/KuljetusListaTulostaja.java b/src/main/java/fi/lpam/tulostajat/KuljetusListaTulostaja.java index 661afe9..fcf0ff1 100644 --- a/src/main/java/fi/lpam/tulostajat/KuljetusListaTulostaja.java +++ b/src/main/java/fi/lpam/tulostajat/KuljetusListaTulostaja.java @@ -44,7 +44,8 @@ public class KuljetusListaTulostaja extends Tulostaja{ siirräOsoitinta(NIMEN_LEVEYS); sisältö.showText(kuljetus.getLisätieto()); uusiRivi(RIVI_KORKEUS*0.1F); - sisältö.showText("___________________________________________________________________"); //67 alaviivaa (noin sivun leveys) + //67 alaviivaa fonttikoolla 13 (noin sivun leveys) + sisältö.showText("_".repeat((int) (67*13/FONTTI_KOKO))); } tulosta(); From 1b589d0fb5437162e80ba7036f8c14713b73a491 Mon Sep 17 00:00:00 2001 From: laurimaaninka Date: Thu, 14 May 2026 21:52:16 +0300 Subject: [PATCH 8/8] fix #17 Muutettu oletusfontti Arialiin Signed-off-by: laurimaaninka --- src/main/java/fi/lpam/gui/Asetukset.java | 37 ++++++++++++------- .../java/fi/lpam/gui/Asiakashallinta.java | 21 +++++++---- src/main/resources/defaults.properties | 4 +- 3 files changed, 39 insertions(+), 23 deletions(-) diff --git a/src/main/java/fi/lpam/gui/Asetukset.java b/src/main/java/fi/lpam/gui/Asetukset.java index 3c34cca..1a4d66c 100644 --- a/src/main/java/fi/lpam/gui/Asetukset.java +++ b/src/main/java/fi/lpam/gui/Asetukset.java @@ -5,15 +5,13 @@ import fi.lpam.gui.elementit.TabPohja; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.geometry.Pos; -import javafx.scene.control.Button; -import javafx.scene.control.ComboBox; -import javafx.scene.control.Label; -import javafx.scene.control.Spinner; +import javafx.scene.control.*; import javafx.scene.layout.BorderPane; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.scene.text.Font; +import java.io.IOException; import java.util.Properties; @@ -42,9 +40,6 @@ public class Asetukset extends TabPohja { private Spinner tekstiFonttiKoko, buttonFonttiKoko, tulostusFonttiKoko, insets; private ComboBox tekstiFontti, buttonFontti; - private int minFonttiKoko = 8; - private int maxFonttiKoko = 18; - private int stepFontti = 1; /** * Luo paneelin fonttien asetusten säätämiseen @@ -63,8 +58,10 @@ public class Asetukset extends TabPohja { otsikko.setFont(tekstiFont); root.addRow(row++, otsikko); - tekstiFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Double.parseDouble(prop.getProperty("tekstiFonttiKoko")), stepFontti); - tekstiFonttiKoko.setEditable(true); + int minFonttiKoko = 8; + int maxFonttiKoko = 18; + int stepFontti = 1; + tekstiFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Integer.parseInt(prop.getProperty("tekstiFonttiKoko")), stepFontti); tekstiFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("tekstiFonttiKoko", String.valueOf(tekstiFonttiKoko.getValue()))); Label tekstinKoko = new Label("Tekstin koko"); tekstinKoko.setFont(tekstiFont); @@ -78,7 +75,7 @@ public class Asetukset extends TabPohja { tekstinFontti.setFont(tekstiFont); root.addRow(row++, tekstinFontti, tekstiFontti); - buttonFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Double.parseDouble(prop.getProperty("buttonFonttiKoko")), stepFontti); + buttonFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Integer.parseInt(prop.getProperty("buttonFonttiKoko")), stepFontti); buttonFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("buttonFonttiKoko", String.valueOf(buttonFonttiKoko.getValue()))); Label nappiTekstinKoko = new Label("Painikkeiden koko"); nappiTekstinKoko.setFont(tekstiFont); @@ -92,13 +89,13 @@ public class Asetukset extends TabPohja { napinFontti.setFont(tekstiFont); root.addRow(row++, napinFontti, buttonFontti); - tulostusFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Double.parseDouble(prop.getProperty("tulostusFonttiKoko")), stepFontti); + tulostusFonttiKoko = new Spinner<>(minFonttiKoko, maxFonttiKoko, Integer.parseInt(prop.getProperty("tulostusFonttiKoko")), stepFontti); tulostusFonttiKoko.valueProperty().addListener((_) -> prop.setProperty("tulostusFonttiKoko", String.valueOf(tulostusFonttiKoko.getValue()))); Label tulostusFontinKoko = new Label("Tulostusfontin koko"); tulostusFontinKoko.setFont(tekstiFont); root.addRow(row++, tulostusFontinKoko, tulostusFonttiKoko); - insets = new Spinner<>(0, 10, Double.parseDouble(prop.getProperty("insets")), 1); + insets = new Spinner<>(0, 10, Integer.parseInt(prop.getProperty("insets")), 1); insets.valueProperty().addListener((_) -> prop.setProperty("insets", String.valueOf(insets.getValue()))); Label insetsi = new Label("Yleinen fyllinki"); insetsi.setFont(tekstiFont); @@ -108,6 +105,20 @@ public class Asetukset extends TabPohja { } private void palautaOletukset() { - //TODO + try { + Properties defaults = new Properties(); + defaults.load(Main.class.getClassLoader().getResourceAsStream("defaults.properties")); + + tekstiFonttiKoko.getValueFactory().setValue(Integer.valueOf(defaults.getProperty("tekstiFonttiKoko"))); + tekstiFontti.getSelectionModel().select(defaults.getProperty("tekstiFontti")); + buttonFonttiKoko.getValueFactory().setValue(Integer.valueOf(defaults.getProperty("buttonFonttiKoko"))); + buttonFontti.getSelectionModel().select(defaults.getProperty("buttonFontti")); + tulostusFonttiKoko.getValueFactory().setValue(Integer.valueOf(defaults.getProperty("tulostusFonttiKoko"))); + insets.getValueFactory().setValue(Integer.valueOf(defaults.getProperty("insets"))); + } + catch (IOException e) { + //noinspection CallToPrintStackTrace + e.printStackTrace(); + } } } diff --git a/src/main/java/fi/lpam/gui/Asiakashallinta.java b/src/main/java/fi/lpam/gui/Asiakashallinta.java index 972aee1..7aaf6ae 100644 --- a/src/main/java/fi/lpam/gui/Asiakashallinta.java +++ b/src/main/java/fi/lpam/gui/Asiakashallinta.java @@ -136,14 +136,8 @@ public class Asiakashallinta extends TabPohja { tvAsiakkaat.getColumns().addAll(tcId, tcNimi, tcOsoite, tcKuljetuspäivät, tcKuljetusmäärät, tcErityisruokavalio, tcAvainTieto, tcLisätiedot, tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti); for (TableColumn column : tvAsiakkaat.getColumns()) { - column.setEditable(false); - column.setReorderable(false); - column.setResizable(true); - column.setStyle( - "-fx-alignment: CENTER;" + - "-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" + - "-fx-font-family: " + Main.properties.getProperty("tekstiFontti")); - + column.getColumns().forEach(this::määritäColumn); + määritäColumn(column); } tvAsiakkaat.setItems(FXCollections.observableArrayList(Objects.requireNonNull(Asiakas.haeKaikki()))); @@ -186,4 +180,15 @@ public class Asiakashallinta extends TabPohja { } } } + + private void määritäColumn(TableColumn column) { + column.setEditable(false); + column.setReorderable(false); + column.setResizable(true); + column.setStyle( + "-fx-alignment: CENTER;" + + "-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" + + "-fx-font-family: " + Main.properties.getProperty("tekstiFontti") + ); + } } \ No newline at end of file diff --git a/src/main/resources/defaults.properties b/src/main/resources/defaults.properties index b93ba0e..9752ca7 100644 --- a/src/main/resources/defaults.properties +++ b/src/main/resources/defaults.properties @@ -1,9 +1,9 @@ version=${project.version} buttonFonttiKoko=16 -buttonFontti=Open Sans +buttonFontti=Arial tekstiFonttiKoko=16 -tekstiFontti=Open Sans +tekstiFontti=Arial tulostusFonttiKoko=13