Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • tie/ohj2/ve/2025/kevat/ohj2
  • hasemajo/ohj2
  • nikaleko/ohj2
  • tntvanha/ohj2
  • lemaline/ohj2
  • rintahe/ohj2
  • tersaton/ohj2
  • tornhale/ohj2
  • pjyypiix/ohj-2
  • aneejoko/ohj2
  • reponaw/ohj2
  • saarian/ohj2
  • niemimm/ohj2
  • jppaasww/ohj2-2025k
  • ssniinim/ohj2
  • niememan/ohj2
  • milimaas/ohj2
  • kallmovu/ohj2
  • adaoliro/ohj2
  • tojuhann/ohj2
  • vevejuha/ohj2
  • mieikrla/ohj2
  • miankort/ohj2
  • saeteppo/ohj2
  • saelripa/ohj2
  • saniitty/ohj2
  • nsmietyt/ohj2
  • mikkolto/ohj2
  • mmuhonen/ohj2k25
  • saukkota/ohj-2-ht
  • eenorta/ohj2
  • oapaaso/ht-2
  • eeeeoino/ohj2
  • hietmaem/ohj2
  • vvlaspa/ohj2ht
  • lalaajal/ohj2
  • pepartyy/ohj2
  • loukovjv/ohj2
  • vihtkaan/ohj2
  • annelinu/ohjelmointi2
  • lehtikmi/ohj2
  • ihakalel/ohj2
  • aichinos/ohj2
  • lahteela/ohj-2-ht
  • pellrata/ohj2
  • iljinisa/ohj2
  • nkeuren/ohj2
  • hiltunma/ohj2
  • esshelkr/ohj2
  • vianelo/ohj2
  • kousaepw/ohj-2-ht
  • amheikkz/ohj2
  • jatirkko/ohj2
  • akharine/ohj2
  • rlokilja/ohj2
  • eskrliim/ohj2
  • masakoiv/ohj2
  • toivjope/ohj2
  • sasalons/ohj2
  • hirvepjw/ohj2
  • lajoveps/vuororekisteri
  • lelitirr/ohj-225
  • juhsansa/ohj2
  • essmarpe/ohj2
  • lehtlrvt/ohj2
  • setilus/ohj2
  • julipits/ohj2
  • kivistve/ohj2
  • erpajala/ohj2
  • pslohi/ohj2
  • sediiv/ohj2
  • jovesaar/ohj2
  • jutaalko/ohj2
  • valltoha/ohj2
  • ruotvive/ohj2ht
  • kkvalke/ohj2
  • aetuukka/espanjakohderekisteri
  • pdanilei/ohj2ht
  • lahtlule/ohj2
  • jaemvahu/ohj2
  • kantsiii/ohj2
  • tototuru/ohj2
  • elmotabe/ohj2
  • sutinele/ohj2
  • vepajuna/ohj2
  • tornittu/reseptilista
  • sasoleht/ohj2
  • eemjorto/ohj2
  • gagolzar/ohj2
  • sievanee/ohj2
  • nobekail/ohj2
  • mamiparv/ohj2
  • halolpvz/ohj2
  • tukilo/ohj2
  • mmleppis/ohj2
  • tmruisma/ohj2
  • aajataip/ohj-2
  • salonevs/ohj-2
  • ygulusen/ohj2
  • saarakka/ohj2
  • eakoskix/ohj2
  • lamminm/ohj2ht
  • sellmmv/salibandynpelaajarekisteri
  • tuoskopp/ohj2
  • haarates/ohj-2
  • jormlsuu/ohj2
  • lihiauka/ohj2
  • eeemkarv/ohj2
  • uekolehm/ohj2
  • smkolari/ohj-2-a
  • spicjrxz/ohj2
  • maalvirt/ohj-2-ht
  • hietaolo/ohj2ht
  • rtmatilt/ohj2
  • veevjoen/ohj2
  • lainejee/ohj2
  • pohtojoj/tuotelistaaja
  • jokayli/ohj2
  • sulasaal/ohj2
  • kalloupe/ohj2
  • apeshhhh/ohj2
  • kopperp/ohj2
  • garammtu/ohj2
  • ettalaes/ohj2
  • rajanije/ohj2
  • timovaan/ohj2
  • mkvuonos/ohj2
  • tuomiluu/ohj2
  • konttijm/ohj2
  • palolala/ohj2
  • vejokauk/ohj2
  • peihanus/ohj2
  • itsario/ohj2
  • hejumivu/ohj2
  • isojarto/ohj2
  • pirinpot/ohj2ht
  • oihietan/ohj2
  • niemhizz/ohj2
  • oparve/ohj2
  • truhtejo/ohj-2-ht
  • malineps/ohj-2-pelivalikoima
  • kylkii/ohj2
  • emigrank/ohj2
  • samavakk/ohj2
  • lausofla/ohj2
  • arossors/ohj-2-2
  • nurmsajo/ohj2
  • mattarma/ohj2
  • akjuhesa/ohj-2-ht
  • ovevalka/ohj2
  • lequyanh/ohj-2-ht
  • jasyvays/ohj2
  • lindtope/ohj2
  • kaipainm/ohj2
  • peillips/ohj2
  • miwamich/ohj2
  • anpahypp/ohj2harkka
  • kreenk/ohj2
  • iiaumaoi/ohj2
  • jmsutizy/ohj-2-25
  • conrcsir/ohj2
  • palaakho/ht-metsastyspaivakirja
  • makelkjt/ohj2
  • jooantni/ohj2
  • ttkelaw/ohj-2-2025-k
  • koivishe/kuntohalli-oy
  • laleiho/harjoitustyo-ohj-2
  • joolmatt/ohj2-ht
  • akrasa/ohj2
  • rikretel/ohj-2-ht
  • vuorelma/ohj2
171 results
Show changes
Commits on Source (15)
Showing with 737 additions and 0 deletions
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/ohj2"/>
<classpathentry kind="output" path="bin"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Kirjalista</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
File added
<?xml version="1.0" encoding="ASCII"?>
<anttasks:AntTask xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:anttasks="http://org.eclipse.fx.ide.jdt/1.0" buildDirectory="${project}/build">
<deploy>
<application name="Kirjalista"/>
<info/>
</deploy>
<signjar/>
</anttasks:AntTask>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project Kirjalista">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required -->
<!--define folder properties-->
<property name="dir.buildfile" value="."/>
<property name="dir.workspace" value="C:/kurssit/ohj2/ws"/>
<property name="dir.jarfile" value="${dir.buildfile}"/>
<target name="create_run_jar">
<jar destfile="${dir.jarfile}/Kirjalista.jar" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="fxKirjalista.KirjalistaMain"/>
<attribute name="Class-Path" value="."/>
</manifest>
<fileset dir="${dir.jarfile}/bin"/>
<zipfileset excludes="META-INF/*.SF" src="C:/devel/jar/Ali.jar"/>
<zipfileset excludes="META-INF/*.SF" src="C:/devel/jar/fxgui.jar"/>
<zipfileset excludes="META-INF/*.SF" src="C:/devel/jar/Graphics.jar"/>
</jar>
</target>
</project>
kuvat/Lisaa.png

9.54 KiB

kuvat/Paaikkuna.png

19.1 KiB

kuvat/muokkaa.png

11.3 KiB

kuvat/poista.png

8.5 KiB

kuvat/virhe.png

7 KiB

package fxKirjalista;
import java.util.Optional;
import fi.jyu.mit.fxgui.Dialogs;
import fi.jyu.mit.fxgui.ModalController;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.ButtonBar.ButtonData;
import javafx.scene.control.ButtonType;
/**
* Ohjelman pääikkunan käsittelijä
*/
public class KirjalistaGUIController {
/**
* Kirjan lisäys
*/
@FXML void handleLisaaKirja() {
ModalController.showModal(KirjalistaGUIController.class.getResource("LisaaView.fxml"), "Kirja", null, "");
}
/**
* Kirjan muokkaus
*/
@FXML void handleMuokkaaKirja() {
ModalController.showModal(KirjalistaGUIController.class.getResource("MuokkaaView.fxml"), "Kirja", null, "");
}
/**
* Tiedosto-valikon tallenna-valinta
*/
@FXML void handleTallenna() {
// TODO:
Dialogs.showMessageDialog("Vielä ei osata tallentaa");
}
/**
* Apua-valikon tietoja-valinta
*/
@FXML void handleTietoja() {
// TODO:
Dialogs.showMessageDialog("Vielä ei osata antaa tietoja");
}
/**
* Tiedosto-valikon tulosta-valinta
*/
@FXML void handleTulosta() {
// TODO:
Dialogs.showMessageDialog("Vielä ei osata tulostaa");
}
/**
* Muokkaa-valikon poista-valinta
*/
@FXML void poistaKirja() {
poistoVahvistus();
}
@FXML void handleHaku() {
Dialogs.showMessageDialog("Vielä ei osata hakea");
}
/**
* Luo näytölle dialogin, joka kysyy vahvistusta kirjan poistamiseksi
*/
public static void poistoVahvistus() {
Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
alert.setTitle("Poista");
alert.setHeaderText(null);
alert.setContentText("Haluatko varmasti poistaa kirjan?");
ButtonType buttonTypeYes = new ButtonType("Kyllä", ButtonData.OK_DONE);
ButtonType buttonTypeCancel = new ButtonType("Ei", ButtonData.CANCEL_CLOSE);
alert.getButtonTypes().setAll(buttonTypeYes, buttonTypeCancel);
Optional<ButtonType> result = alert.showAndWait();
if ( result.get() == buttonTypeYes ) Dialogs.showMessageDialog("Vielä ei osata poistaa");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Menu?>
<?import javafx.scene.control.MenuBar?>
<?import javafx.scene.control.MenuItem?>
<?import javafx.scene.control.ScrollPane?>
<?import javafx.scene.control.SplitMenuButton?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="400.0" prefWidth="499.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fxKirjalista.KirjalistaGUIController">
<right>
<VBox maxHeight="400.0" maxWidth="258.0" prefHeight="400.0" prefWidth="258.0" BorderPane.alignment="CENTER">
<children>
<Label text="Kirjan tiedot:">
<VBox.margin>
<Insets bottom="7.0" left="7.0" right="7.0" top="7.0" />
</VBox.margin>
</Label>
<ScrollPane prefHeight="383.0" prefWidth="274.0">
<content>
<AnchorPane prefHeight="303.0" prefWidth="237.0">
<children>
<GridPane layoutX="-1.0" layoutY="1.0" prefHeight="235.0" prefWidth="238.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="Nimi:">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</Label>
<Label text="Kirjailija:" GridPane.rowIndex="1">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</Label>
<Label text="Kirjasarja:" GridPane.rowIndex="2">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</Label>
<Label text="Genre:" GridPane.rowIndex="3">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</Label>
<Label text="Julkaisuvuosi:" GridPane.rowIndex="4">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</Label>
<TextField text="Hobitti" GridPane.columnIndex="1">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TextField>
<TextField text="J.R.R. Tolkien" GridPane.columnIndex="1" GridPane.rowIndex="1">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TextField>
<TextField text="-" GridPane.columnIndex="1" GridPane.rowIndex="2">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TextField>
<TextField text="Fantasia" GridPane.columnIndex="1" GridPane.rowIndex="3">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TextField>
<TextField text="1937" GridPane.columnIndex="1" GridPane.rowIndex="4">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
</TextField>
</children>
</GridPane>
</children>
</AnchorPane>
</content>
</ScrollPane>
</children></VBox>
</right>
<left>
<VBox prefHeight="330.0" prefWidth="300.0" BorderPane.alignment="CENTER">
<children>
<HBox prefHeight="38.0" prefWidth="250.0">
<children>
<TextField onAction="#handleHaku" opacity="0.58" promptText="Haku🔍" />
<SplitMenuButton mnemonicParsing="false" text="Hakuehto">
<items>
<MenuItem mnemonicParsing="false" text="Nimi" />
<MenuItem mnemonicParsing="false" text="Kirjailija" />
<MenuItem mnemonicParsing="false" text="Genre" />
</items>
<HBox.margin>
<Insets left="7.0" />
</HBox.margin>
</SplitMenuButton>
</children>
<VBox.margin>
<Insets bottom="7.0" left="7.0" right="7.0" top="7.0" />
</VBox.margin>
</HBox>
<Label text="Kirjat:" textAlignment="CENTER">
<VBox.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</VBox.margin>
</Label>
<ScrollPane prefHeight="311.0" prefWidth="256.0">
<content>
<AnchorPane prefHeight="336.0" prefWidth="267.0">
<children>
<Label text="Hobitti">
<padding>
<Insets bottom="5.0" left="5.0" right="150.0" top="5.0" />
</padding>
</Label>
<Label layoutY="28.0" prefHeight="27.0" prefWidth="284.0" text="Taru sormusten herrasta">
<padding>
<Insets bottom="5.0" left="5.0" right="150.0" top="5.0" />
</padding>
</Label>
<Label layoutY="56.0" text="Java-ohjelmointi">
<padding>
<Insets bottom="5.0" left="5.0" right="150.0" top="5.0" />
</padding>
</Label>
</children>
</AnchorPane>
</content>
</ScrollPane>
</children>
</VBox>
</left>
<top>
<MenuBar BorderPane.alignment="CENTER">
<menus>
<Menu mnemonicParsing="false" text="Tiedosto">
<items>
<MenuItem mnemonicParsing="false" onAction="#handleTallenna" text="Tallenna" />
<MenuItem mnemonicParsing="false" onAction="#handleTulosta" text="Tulosta" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Muokkaa">
<items>
<MenuItem mnemonicParsing="false" onAction="#handleMuokkaaKirja" text="Muokkaa" />
<MenuItem mnemonicParsing="false" onAction="#poistaKirja" text="Poista" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Apua">
<items>
<MenuItem mnemonicParsing="false" onAction="#handleTietoja" text="Tietoja" />
</items>
</Menu>
</menus>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</MenuBar>
</top>
<bottom>
<HBox BorderPane.alignment="CENTER">
<children>
<Button mnemonicParsing="false" onAction="#handleLisaaKirja" text="Lisää kirja">
<HBox.margin>
<Insets bottom="5.0" left="7.0" right="5.0" top="5.0" />
</HBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#handleMuokkaaKirja" text="Muokkaa">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
</Button>
</children>
</HBox>
</bottom>
</BorderPane>
package fxKirjalista;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.fxml.FXMLLoader;
/**
* @author omistaja
* @version 23.1.2025
*
*/
public class KirjalistaMain extends Application {
@Override
public void start(Stage primaryStage) {
try {
final FXMLLoader ldr = new FXMLLoader(getClass().getResource("KirjalistaGUIView.fxml"));
final Pane root = (Pane)ldr.load();
// final KirjalistaGUIController kirjalistaCtrl = (KirjalistaGUIController) ldr.getController();
final Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("kirjalista.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.setTitle("Kirjalista");
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
/**
* @param args Ei kaytossa
*/
public static void main(String[] args) {
launch(args);
}
}
\ No newline at end of file
package fxKirjalista;
import fi.jyu.mit.fxgui.ComboBoxChooser;
import javafx.fxml.FXML;
import javafx.scene.control.TextField;
import fi.jyu.mit.fxgui.Dialogs;
import fi.jyu.mit.fxgui.ModalController;
import fi.jyu.mit.fxgui.ModalControllerInterface;
/**
* Kirjan liäämisikkunan käsittelijä
*/
public class LisaaController implements ModalControllerInterface<String> {
@FXML private ComboBoxChooser<?> comboboxGenre;
@FXML private TextField textKirjailija;
@FXML private TextField textNimi;
@FXML private TextField textSarja;
@FXML private TextField textSivu;
@FXML private TextField textVuosi;
@FXML void handleJasenLisatty() {
// TODO:
}
@FXML void handleOK() {
Dialogs.showMessageDialog("Vielä ei osata lisätä");
ModalController.closeStage(textNimi);
}
@Override
public String getResult() {
// TODO Auto-generated method stub
return null;
}
@Override
public void handleShown() {
// TODO Auto-generated method stub
}
@Override
public void setDefault(String arg0) {
// TODO Auto-generated method stub
}
}
<?xml version="1.0" encoding="UTF-8"?>
<?import fi.jyu.mit.fxgui.ComboBoxChooser?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="343.0" prefWidth="255.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fxKirjalista.LisaaController">
<children>
<Label text="Lisää" />
<GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="272.0" prefWidth="241.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints vgrow="SOMETIMES" />
<RowConstraints vgrow="SOMETIMES" />
<RowConstraints vgrow="SOMETIMES" />
<RowConstraints vgrow="SOMETIMES" />
<RowConstraints vgrow="SOMETIMES" />
<RowConstraints vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="Nimi:">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</Label>
<Label text="Kirjailija:" GridPane.rowIndex="1">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</Label>
<Label text="Kirjasarja:" GridPane.rowIndex="2">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</Label>
<Label text="Genre:" GridPane.rowIndex="3">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</Label>
<Label text="Julkaisuvuosi:" GridPane.rowIndex="4">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</Label>
<TextField fx:id="textNimi" GridPane.columnIndex="1">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</TextField>
<TextField fx:id="textKirjailija" GridPane.columnIndex="1" GridPane.rowIndex="1">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</TextField>
<TextField fx:id="textSarja" GridPane.columnIndex="1" GridPane.rowIndex="2">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</TextField>
<TextField fx:id="textVuosi" GridPane.columnIndex="1" GridPane.rowIndex="4">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</TextField>
<Label text="Sivumäärä:" GridPane.rowIndex="5">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</Label>
<TextField fx:id="textSivu" GridPane.columnIndex="1" GridPane.rowIndex="5">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</TextField>
<ComboBoxChooser fx:id="comboboxGenre" prefHeight="25.0" prefWidth="106.0" rivit="Valitse&#10;Sci-fi&#10;Fantasia&#10;Komedia&#10;Tietokirja" GridPane.columnIndex="1" GridPane.rowIndex="3">
<GridPane.margin>
<Insets bottom="7.0" left="7.0" right="7.0" />
</GridPane.margin>
</ComboBoxChooser>
</children>
</GridPane>
<HBox alignment="CENTER_RIGHT" prefHeight="100.0" prefWidth="200.0">
<children>
<Button contentDisplay="CENTER" mnemonicParsing="false" onAction="#handleOK" text="OK">
<padding>
<Insets bottom="5.0" left="20.0" right="20.0" top="5.0" />
</padding>
<HBox.margin>
<Insets bottom="7.0" left="7.0" right="7.0" top="7.0" />
</HBox.margin>
</Button>
</children>
</HBox>
</children>
<padding>
<Insets bottom="7.0" left="7.0" right="7.0" top="7.0" />
</padding>
</VBox>
package fxKirjalista;
import fi.jyu.mit.fxgui.ComboBoxChooser;
import javafx.fxml.FXML;
import javafx.scene.control.TextField;
import fi.jyu.mit.fxgui.Dialogs;
import fi.jyu.mit.fxgui.ModalController;
import fi.jyu.mit.fxgui.ModalControllerInterface;
/**
*
*/
public class MuokkaaController implements ModalControllerInterface<String> {
@FXML private ComboBoxChooser<?> comboboxGenre;
@FXML private TextField textKirjailija;
@FXML private TextField textNimi;
@FXML private TextField textSarja;
@FXML private TextField textSivu;
@FXML private TextField textVuosi;
@FXML void handleJasenLisatty() {
// TODO:
}
@FXML void handleOK() {
Dialogs.showMessageDialog("Vielä ei osata muokata");
ModalController.closeStage(textNimi);
}
@FXML void handlePoista() {
KirjalistaGUIController.poistoVahvistus();
ModalController.closeStage(textNimi);
}
@Override
public String getResult() {
// TODO Auto-generated method stub
return null;
}
@Override
public void handleShown() {
// TODO Auto-generated method stub
}
@Override
public void setDefault(String arg0) {
// TODO Auto-generated method stub
}
}
<?xml version="1.0" encoding="UTF-8"?>
<?import fi.jyu.mit.fxgui.ComboBoxChooser?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="343.0" prefWidth="255.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fxKirjalista.MuokkaaController">
<children>
<Label text="Muokkaa" />
<GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="272.0" prefWidth="241.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints vgrow="SOMETIMES" />
<RowConstraints vgrow="SOMETIMES" />
<RowConstraints vgrow="SOMETIMES" />
<RowConstraints vgrow="SOMETIMES" />
<RowConstraints vgrow="SOMETIMES" />
<RowConstraints vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="Nimi:">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</Label>
<Label text="Kirjailija:" GridPane.rowIndex="1">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</Label>
<Label text="Kirjasarja:" GridPane.rowIndex="2">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</Label>
<Label text="Genre:" GridPane.rowIndex="3">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</Label>
<Label text="Julkaisuvuosi:" GridPane.rowIndex="4">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</Label>
<TextField fx:id="textNimi" GridPane.columnIndex="1">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</TextField>
<TextField fx:id="textKirjailija" GridPane.columnIndex="1" GridPane.rowIndex="1">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</TextField>
<TextField fx:id="textSarja" GridPane.columnIndex="1" GridPane.rowIndex="2">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</TextField>
<TextField fx:id="textVuosi" GridPane.columnIndex="1" GridPane.rowIndex="4">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</TextField>
<Label text="Sivumäärä:" GridPane.rowIndex="5">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</Label>
<TextField fx:id="textSivu" GridPane.columnIndex="1" GridPane.rowIndex="5">
<GridPane.margin>
<Insets left="7.0" right="7.0" />
</GridPane.margin>
</TextField>
<ComboBoxChooser fx:id="comboboxGenre" prefHeight="25.0" prefWidth="106.0" rivit="Valitse&#10;Sci-fi&#10;Fantasia&#10;Komedia&#10;Tietokirja" GridPane.columnIndex="1" GridPane.rowIndex="3">
<GridPane.margin>
<Insets bottom="7.0" left="7.0" right="7.0" />
</GridPane.margin>
</ComboBoxChooser>
</children>
</GridPane>
<HBox alignment="CENTER_RIGHT" prefHeight="100.0" prefWidth="200.0">
<children>
<Button contentDisplay="CENTER" mnemonicParsing="false" onAction="#handlePoista" text="Poista">
<padding>
<Insets bottom="5.0" left="20.0" right="20.0" top="5.0" />
</padding>
<HBox.margin>
<Insets bottom="7.0" left="7.0" right="7.0" top="7.0" />
</HBox.margin>
</Button>
<Button contentDisplay="CENTER" mnemonicParsing="false" onAction="#handleOK" text="OK">
<padding>
<Insets bottom="5.0" left="20.0" right="20.0" top="5.0" />
</padding>
<HBox.margin>
<Insets bottom="7.0" left="7.0" right="7.0" top="7.0" />
</HBox.margin>
</Button>
</children>
</HBox>
</children>
<padding>
<Insets bottom="7.0" left="7.0" right="7.0" top="7.0" />
</padding>
</VBox>
/* JavaFX CSS - Leave this comment until you have at least create one rule which uses -fx-Property */