Skip to content
GitLab
Explore
Sign in
Commits on Source (1)
Vaihe 3 - Leikisti toimiva ohjelma
· 1b18ce32
Vesa Lappalainen
authored
Jan 06, 2020
1b18ce32
Hide whitespace changes
Inline
Side-by-side
.project
View file @
1b18ce32
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>
vaihe2
</name>
<name>
trunk
</name>
<comment></comment>
<projects>
</projects>
...
...
kerho.jar
View file @
1b18ce32
No preview for this file type
src/fxKerho/AboutView.fxml
View file @
1b18ce32
...
...
@@ -6,13 +6,13 @@
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>
<?import fi.jyu.mit.fxgui.*?>
<BorderPane
prefHeight=
"281.0"
prefWidth=
"409.0"
xmlns:fx=
"http://javafx.com/fxml/1"
xmlns=
"http://javafx.com/javafx/8.0.40"
>
<BorderPane
prefHeight=
"281.0"
prefWidth=
"409.0"
xmlns=
"http://javafx.com/javafx/8.0.40"
xmlns:fx=
"http://javafx.com/fxml/1"
fx:controller=
"fi.jyu.mit.fxgui.ModalController"
>
<bottom>
<BorderPane
BorderPane.alignment=
"CENTER"
>
<right>
<Button
defaultButton=
"true"
minWidth=
"70.0"
mnemonicParsing=
"false"
text=
"OK"
BorderPane.alignment=
"CENTER"
/>
<Button
defaultButton=
"true"
minWidth=
"70.0"
mnemonicParsing=
"false"
onAction=
"#handleDefaultOK"
text=
"OK"
BorderPane.alignment=
"CENTER"
/>
</right>
<BorderPane.margin>
<Insets
/>
...
...
src/fxKerho/HarrastusDialogView.fxml
View file @
1b18ce32
...
...
@@ -13,7 +13,7 @@
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<BorderPane
xmlns=
"http://javafx.com/javafx/8.0.111"
xmlns:fx=
"http://javafx.com/fxml/1"
>
<BorderPane
xmlns=
"http://javafx.com/javafx/8.0.111"
xmlns:fx=
"http://javafx.com/fxml/1"
fx:controller=
"fi.jyu.mit.fxgui.ModalController"
>
<bottom>
<VBox
BorderPane.alignment=
"CENTER"
>
<children>
...
...
@@ -21,8 +21,8 @@
<HBox
/>
<ButtonBar
prefHeight=
"40.0"
prefWidth=
"200.0"
>
<buttons>
<Button
defaultButton=
"true"
mnemonicParsing=
"false"
text=
"OK"
/>
<Button
cancelButton=
"true"
mnemonicParsing=
"false"
text=
"Cancel"
/>
<Button
defaultButton=
"true"
mnemonicParsing=
"false"
onAction=
"#handleDefaultOK"
text=
"OK"
/>
<Button
cancelButton=
"true"
mnemonicParsing=
"false"
onAction=
"#handleDefaultCancel"
text=
"Cancel"
/>
</buttons>
<padding>
<Insets
right=
"10.0"
/>
...
...
src/fxKerho/JasenDialogView.fxml
View file @
1b18ce32
...
...
@@ -7,7 +7,7 @@
<?import javafx.scene.text.*?>
<?import javafx.scene.layout.BorderPane?>
<BorderPane
xmlns=
"http://javafx.com/javafx/8.0.40"
xmlns:fx=
"http://javafx.com/fxml/1"
>
<BorderPane
xmlns=
"http://javafx.com/javafx/8.0.40"
xmlns:fx=
"http://javafx.com/fxml/1"
fx:controller=
"fi.jyu.mit.fxgui.ModalController"
>
<bottom>
<VBox
BorderPane.alignment=
"CENTER"
>
<children>
...
...
@@ -15,8 +15,8 @@
<HBox
/>
<ButtonBar
prefHeight=
"40.0"
prefWidth=
"200.0"
>
<buttons>
<Button
defaultButton=
"true"
mnemonicParsing=
"false"
text=
"OK"
/>
<Button
cancelButton=
"true"
mnemonicParsing=
"false"
text=
"Cancel"
/>
<Button
defaultButton=
"true"
mnemonicParsing=
"false"
onAction=
"#handleDefaultOK"
text=
"OK"
/>
<Button
cancelButton=
"true"
mnemonicParsing=
"false"
onAction=
"#handleDefaultCancel"
text=
"Cancel"
/>
</buttons>
<padding>
<Insets
right=
"10.0"
/>
...
...
src/fxKerho/KerhoGUIController.java
View file @
1b18ce32
package
fxKerho
;
import
java.awt.Desktop
;
import
java.io.IOException
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.net.URL
;
import
java.util.ResourceBundle
;
import
fi.jyu.mit.fxgui.ComboBoxChooser
;
import
fi.jyu.mit.fxgui.Dialogs
;
import
fi.jyu.mit.fxgui.ModalController
;
import
javafx.application.Platform
;
import
javafx.fxml.FXML
;
import
javafx.fxml.Initializable
;
import
javafx.scene.control.Label
;
import
javafx.scene.control.TextField
;
/**
* Luokka kerhon käyttöliittymän tapahtumien hoitamiseksi.
*
* @author vesal
* @version 31.12.2015
*
Luokka käyttöliittymän tapahtumien hoitamiseksi
*
@version 5.1.2015
*/
public
class
KerhoGUIController
{
public
class
KerhoGUIController
implements
Initializable
{
@FXML
private
TextField
hakuehto
;
@FXML
private
ComboBoxChooser
<
String
>
cbKentat
;
@FXML
private
Label
labelVirhe
;
private
String
kerhonnimi
=
"kelmit"
;
@Override
public
void
initialize
(
URL
url
,
ResourceBundle
bundle
)
{
//
}
@FXML
private
void
handleHakuehto
()
{
String
hakukentta
=
cbKentat
.
getSelectedText
();
String
ehto
=
hakuehto
.
getText
();
if
(
ehto
.
isEmpty
()
)
naytaVirhe
(
null
);
else
naytaVirhe
(
"Ei osata vielä hakea "
+
hakukentta
+
": "
+
ehto
);
}
@FXML
private
void
handleTallenna
()
{
tallenna
();
}
@FXML
private
void
handleAvaa
()
{
avaa
();
}
@FXML
private
void
handleTulosta
()
{
TulostusController
.
tulosta
(
null
);
}
@FXML
private
void
handleLopeta
()
{
tallenna
();
Platform
.
exit
();
}
@FXML
private
void
handleUusiJasen
()
{
Dialogs
.
showMessageDialog
(
"Vielä ei osata lisätä jäsentä"
);
}
@FXML
private
void
handleMuokkaaJasen
()
{
ModalController
.
showModal
(
KerhoGUIController
.
class
.
getResource
(
"JasenDialogView.fxml"
),
"Jäsen"
,
null
,
""
);
}
@FXML
private
void
handlePoistaJasen
()
{
Dialogs
.
showMessageDialog
(
"Vielä ei osata poistaa jäsentä"
);
}
@FXML
private
void
handleUusiHarrastus
()
{
Dialogs
.
showMessageDialog
(
"Ei osata vielä lisätä harrastusta"
);
}
@FXML
private
void
handleMuokkaaHarrastus
()
{
ModalController
.
showModal
(
KerhoGUIController
.
class
.
getResource
(
"HarrastusDialogView.fxml"
),
"Harrastus"
,
null
,
""
);
}
@FXML
private
void
handlePoistaHarrastus
()
{
Dialogs
.
showMessageDialog
(
"Ei osata vielä poistaa harrastusta"
);
}
@FXML
private
void
handleApua
()
{
avustus
();
}
@FXML
private
void
handleTietoja
()
{
// Dialogs.showMessageDialog("Ei osata vielä tietoja");
ModalController
.
showModal
(
KerhoGUIController
.
class
.
getResource
(
"AboutView.fxml"
),
"Kerho"
,
null
,
""
);
}
//===========================================================================================
// Tästä eteenpäin ei käyttöliittymään suoraan liittyvää koodia
private
void
naytaVirhe
(
String
virhe
)
{
if
(
virhe
==
null
||
virhe
.
isEmpty
()
)
{
labelVirhe
.
setText
(
""
);
labelVirhe
.
getStyleClass
().
removeAll
(
"virhe"
);
return
;
}
labelVirhe
.
setText
(
virhe
);
labelVirhe
.
getStyleClass
().
add
(
"virhe"
);
}
private
void
setTitle
(
String
title
)
{
ModalController
.
getStage
(
hakuehto
).
setTitle
(
title
);
}
/**
* Käsitellään uuden jäsenen lisääminen
* Alustaa kerhon lukemalla sen valitun nimisestä tiedostosta
* @param nimi tiedosto josta kerhon tiedot luetaan
*/
@FXML
private
void
handleUusiJasen
()
{
// Dialogs.showMessageDialog("Ei osata vielä lisätä");
// Dialogs.showMessageDialog("Tiedosto kelmit/nimet.dat ei aukea");
Dialogs
.
showQuestionDialog
(
"Poisto?"
,
"Poistetaanko jäsen: Hopo Hessu"
,
"Kyllä"
,
"Ei"
);
protected
void
lueTiedosto
(
String
nimi
)
{
kerhonnimi
=
nimi
;
setTitle
(
"Kerho - "
+
kerhonnimi
);
String
virhe
=
"Ei osata lukea vielä"
;
// TODO: tähän oikea tiedoston lukeminen
// if (virhe != null)
Dialogs
.
showMessageDialog
(
virhe
);
}
/**
* Kysytään tiedoston nimi ja luetaan se
* @return true jos onnistui, false jos ei
*/
public
boolean
avaa
()
{
String
uusinimi
=
KerhonNimiController
.
kysyNimi
(
null
,
kerhonnimi
);
if
(
uusinimi
==
null
)
return
false
;
lueTiedosto
(
uusinimi
);
return
true
;
}
/**
* Tietojen tallennus
*/
private
void
tallenna
()
{
Dialogs
.
showMessageDialog
(
"Tallennetetaan! Mutta ei toimi vielä"
);
}
/**
* Tarkistetaan onko tallennus tehty
* @return true jos saa sulkea sovelluksen, false jos ei
*/
public
boolean
voikoSulkea
()
{
tallenna
();
return
true
;
}
/**
* Näytetään ohjelman suunnitelma erillisessä selaimessa.
*/
private
void
avustus
()
{
Desktop
desktop
=
Desktop
.
getDesktop
();
try
{
URI
uri
=
new
URI
(
"https://tim.jyu.fi/view/kurssit/tie/ohj2/2019k/ht/vesal"
);
desktop
.
browse
(
uri
);
}
catch
(
URISyntaxException
e
)
{
return
;
}
catch
(
IOException
e
)
{
return
;
}
}
}
src/fxKerho/KerhoGUIView.fxml
View file @
1b18ce32
...
...
@@ -27,19 +27,19 @@
<menus>
<Menu
text=
"_Tiedosto"
>
<items>
<MenuItem
text=
"_Tallenna"
>
<MenuItem
onAction=
"#handleTallenna"
text=
"_Tallenna"
>
<accelerator>
<KeyCodeCombination
alt=
"UP"
code=
"S"
control=
"DOWN"
meta=
"UP"
shift=
"UP"
shortcut=
"UP"
/>
</accelerator>
</MenuItem>
<MenuItem
text=
"Avaa..."
>
<MenuItem
onAction=
"#handleAvaa"
text=
"Avaa..."
>
</MenuItem>
<MenuItem
mnemonicParsing=
"false"
text=
"Tulosta..."
>
<MenuItem
mnemonicParsing=
"false"
onAction=
"#handleTulosta"
text=
"Tulosta..."
>
<accelerator>
<KeyCodeCombination
alt=
"UP"
code=
"T"
control=
"DOWN"
meta=
"UP"
shift=
"UP"
shortcut=
"UP"
/>
</accelerator>
</MenuItem>
<MenuItem
mnemonicParsing=
"true"
text=
"L_opeta"
>
<MenuItem
mnemonicParsing=
"true"
onAction=
"#handleLopeta"
text=
"L_opeta"
>
<accelerator>
<KeyCodeCombination
alt=
"UP"
code=
"Q"
control=
"DOWN"
meta=
"UP"
shift=
"UP"
shortcut=
"UP"
/>
</accelerator>
...
...
@@ -48,44 +48,44 @@
</Menu>
<Menu
mnemonicParsing=
"true"
text=
"_Muokkaa"
>
<items>
<MenuItem
mnemonicParsing=
"true"
text=
"Uusi jäsen"
>
<MenuItem
mnemonicParsing=
"true"
onAction=
"#handleUusiJasen"
text=
"Uusi jäsen"
>
<accelerator>
<KeyCodeCombination
alt=
"UP"
code=
"N"
control=
"DOWN"
meta=
"UP"
shift=
"UP"
shortcut=
"UP"
/>
</accelerator>
</MenuItem>
<MenuItem
mnemonicParsing=
"true"
text=
"Muokkaa jäsentä..."
>
<MenuItem
mnemonicParsing=
"true"
onAction=
"#handleMuokkaaJasen"
text=
"Muokkaa jäsentä..."
>
<accelerator>
<KeyCodeCombination
alt=
"UP"
code=
"E"
control=
"DOWN"
meta=
"UP"
shift=
"UP"
shortcut=
"UP"
/>
</accelerator>
</MenuItem>
<MenuItem
mnemonicParsing=
"true"
text=
"Lisää harrastus"
>
<MenuItem
mnemonicParsing=
"true"
onAction=
"#handleUusiHarrastus"
text=
"Lisää harrastus"
>
<accelerator>
<KeyCodeCombination
alt=
"UP"
code=
"H"
control=
"DOWN"
meta=
"UP"
shift=
"UP"
shortcut=
"UP"
/>
</accelerator>
</MenuItem>
<MenuItem
mnemonicParsing=
"true"
text=
"Muokkaa harrastusta..."
>
<MenuItem
mnemonicParsing=
"true"
onAction=
"#handleMuokkaaHarrastus"
text=
"Muokkaa harrastusta..."
>
<accelerator>
<KeyCodeCombination
alt=
"UP"
code=
"U"
control=
"DOWN"
meta=
"UP"
shift=
"UP"
shortcut=
"UP"
/>
</accelerator>
</MenuItem>
<MenuItem
mnemonicParsing=
"false"
text=
"Poista jäsen..."
>
<MenuItem
mnemonicParsing=
"false"
onAction=
"#handlePoistaJasen"
text=
"Poista jäsen..."
>
</MenuItem>
<MenuItem
mnemonicParsing=
"false"
text=
"Poista harrastus"
>
<MenuItem
mnemonicParsing=
"false"
onAction=
"#handlePoistaHarrastus"
text=
"Poista harrastus"
>
</MenuItem>
</items>
</Menu>
<Menu
mnemonicParsing=
"true"
text=
"_Apua"
>
<items>
<MenuItem
mnemonicParsing=
"false"
text=
"Apua"
>
<MenuItem
mnemonicParsing=
"false"
onAction=
"#handleApua"
text=
"Apua"
>
</MenuItem>
<MenuItem
mnemonicParsing=
"false"
text=
"Tietoja..."
/>
<MenuItem
mnemonicParsing=
"false"
onAction=
"#handleTietoja"
text=
"Tietoja..."
/>
</items>
</Menu>
</menus>
</MenuBar>
</top>
<center>
<SplitPane
dividerPositions=
"0.27
, 0.66
"
BorderPane.alignment=
"CENTER"
>
<SplitPane
dividerPositions=
"0.27
235772357723576, 0.6605691056910569
"
BorderPane.alignment=
"CENTER"
>
<items>
<BorderPane
maxWidth=
"150.0"
minWidth=
"100.0"
prefWidth=
"138.0"
>
<center>
...
...
@@ -95,8 +95,8 @@
<VBox
BorderPane.alignment=
"CENTER"
>
<children>
<Label
alignment=
"CENTER"
maxWidth=
"300.0"
text=
"Hakuehto"
/>
<
TextField
/>
<
ComboBoxChooser
maxWidth=
"200.0"
rivit=
"nimi hetu katuosoite postinumero kotipuhelin työpuhelin autopuhelin liittymisvuosi jäsenmaksu maksettu maksu lisätietoja
"
/>
<
ComboBoxChooser
fx:id=
"cbKentat"
maxWidth=
"200.0"
onAction=
"#handleHakuehto"
rivit=
"nimi hetu katuosoite postinumero kotipuhelin työpuhelin autopuhelin liittymisvuosi jäsenmaksu maksettu maksu lisätietoja"
/>
<
TextField
fx:id=
"hakuehto"
onKeyReleased=
"#handleHakuehto
"
/>
<Label
alignment=
"CENTER"
maxWidth=
"300.0"
text=
"Jäsenet"
/>
</children>
</VBox>
...
...
@@ -165,7 +165,7 @@
</ScrollPane>
</center>
<bottom>
<Label
alignment=
"CENTER"
maxWidth=
"1.7976931348623157E308"
BorderPane.alignment=
"CENTER"
/>
<Label
fx:id=
"labelVirhe"
alignment=
"CENTER"
maxWidth=
"1.7976931348623157E308"
BorderPane.alignment=
"CENTER"
/>
</bottom>
</BorderPane>
<BorderPane>
...
...
@@ -192,7 +192,7 @@
<Tooltip
text=
"Lisää uuden jäsenen kerhoon"
/>
</tooltip>
</Button>
<Button
mnemonicParsing=
"false"
text=
"Tallenna"
>
<Button
mnemonicParsing=
"false"
onAction=
"#handleTallenna"
text=
"Tallenna"
>
<tooltip>
<Tooltip
text=
"Tallentaa kerhon tiedot"
/>
</tooltip></Button>
...
...
@@ -205,11 +205,11 @@
<right>
<HBox
spacing=
"10.0"
BorderPane.alignment=
"CENTER"
>
<children>
<Button
mnemonicParsing=
"true"
text=
"Lisää _harrastus"
>
<Button
mnemonicParsing=
"true"
onAction=
"#handleUusiHarrastus"
text=
"Lisää _harrastus"
>
<tooltip>
<Tooltip
text=
"Lisää jäsenelle uuden harrastuksen"
/>
</tooltip></Button>
<Button
mnemonicParsing=
"false"
text=
"Poista harrastus"
>
<Button
mnemonicParsing=
"false"
onAction=
"#handlePoistaHarrastus"
text=
"Poista harrastus"
>
<tooltip>
<Tooltip
text=
"Poistetaan kohdalla oleva harrastus"
/>
</tooltip></Button>
...
...
src/fxKerho/KerhoMain.java
View file @
1b18ce32
package
fxKerho
;
import
javafx.application.Application
;
import
javafx.application.Platform
;
import
javafx.stage.Stage
;
import
javafx.scene.Scene
;
import
javafx.scene.layout.
Border
Pane
;
import
javafx.scene.layout.Pane
;
import
javafx.fxml.FXMLLoader
;
/**
* @author vesal
* @version 31.12.201
5
* @version 31.12.201
6
*
* Pääohjelma Kerho-ohjelman käynnistämiseksi
*/
public
class
KerhoMain
extends
Application
{
@Override
public
void
start
(
Stage
primaryStage
)
{
try
{
BorderPane
root
=
(
BorderPane
)
FXMLLoader
.
load
(
getClass
().
getResource
(
"KerhoGUIView.fxml"
));
Scene
scene
=
new
Scene
(
root
);
scene
.
getStylesheets
().
add
(
getClass
().
getResource
(
"kerho.css"
).
toExternalForm
());
primaryStage
.
setScene
(
scene
);
primaryStage
.
setTitle
(
"Kerho"
);
primaryStage
.
show
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
public
void
start
(
Stage
primaryStage
)
{
try
{
final
FXMLLoader
ldr
=
new
FXMLLoader
(
getClass
().
getResource
(
"KerhoGUIView.fxml"
));
final
Pane
root
=
(
Pane
)
ldr
.
load
();
final
KerhoGUIController
kerhoCtrl
=
(
KerhoGUIController
)
ldr
.
getController
();
final
Scene
scene
=
new
Scene
(
root
);
scene
.
getStylesheets
().
add
(
getClass
().
getResource
(
"kerho.css"
).
toExternalForm
());
primaryStage
.
setScene
(
scene
);
primaryStage
.
setTitle
(
"Kerho"
);
// Platform.setImplicitExit(false); // tätä ei kai saa laittaa
primaryStage
.
setOnCloseRequest
((
event
)
->
{
if
(
!
kerhoCtrl
.
voikoSulkea
()
)
event
.
consume
();
});
primaryStage
.
show
();
if
(
!
kerhoCtrl
.
avaa
()
)
Platform
.
exit
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
/**
* Käynnistetään käyttöliittymä
...
...
src/fxKerho/KerhonNimiController.java
0 → 100644
View file @
1b18ce32
package
fxKerho
;
import
fi.jyu.mit.fxgui.ModalController
;
import
fi.jyu.mit.fxgui.ModalControllerInterface
;
import
javafx.fxml.FXML
;
import
javafx.scene.control.TextField
;
import
javafx.stage.Stage
;
/**
* Kystään kerhon nimi ja luodaan tätä varten dialogi.
*
* @author vesal
* @version 2.1.2016
*/
public
class
KerhonNimiController
implements
ModalControllerInterface
<
String
>
{
@FXML
private
TextField
textVastaus
;
private
String
vastaus
=
null
;
@FXML
private
void
handleOK
()
{
vastaus
=
textVastaus
.
getText
();
ModalController
.
closeStage
(
textVastaus
);
}
@FXML
private
void
handleCancel
()
{
ModalController
.
closeStage
(
textVastaus
);
}
@Override
public
String
getResult
()
{
return
vastaus
;
}
@Override
public
void
setDefault
(
String
oletus
)
{
textVastaus
.
setText
(
oletus
);
}
/**
* Mitä tehdään kun dialogi on näytetty
*/
@Override
public
void
handleShown
()
{
textVastaus
.
requestFocus
();
}
/**
* Luodaan nimenkysymisdialogi ja palautetaan siihen kirjoitettu nimi tai null
* @param modalityStage mille ollaan modaalisia, null = sovellukselle
* @param oletus mitä nimeä näytetään oletuksena
* @return null jos painetaan Cancel, muuten kirjoitettu nimi
*/
public
static
String
kysyNimi
(
Stage
modalityStage
,
String
oletus
)
{
return
ModalController
.
showModal
(
KerhonNimiController
.
class
.
getResource
(
"KerhonNimiView.fxml"
),
"Kerho"
,
modalityStage
,
oletus
);
}
}
src/fxKerho/KerhonNimiView.fxml
View file @
1b18ce32
...
...
@@ -7,8 +7,7 @@
<?import javafx.scene.text.*?>
<?import javafx.scene.layout.BorderPane?>
<BorderPane
prefHeight=
"295.0"
prefWidth=
"468.0"
xmlns:fx=
"http://javafx.com/fxml/1"
xmlns=
"http://javafx.com/javafx/8.0.40"
>
<BorderPane
prefHeight=
"295.0"
prefWidth=
"468.0"
xmlns=
"http://javafx.com/javafx/8.0.40"
xmlns:fx=
"http://javafx.com/fxml/1"
fx:controller=
"fxKerho.KerhonNimiController"
>
<center>
<VBox
alignment=
"CENTER"
style=
"-fx-background-color: #ffff99;"
BorderPane.alignment=
"CENTER"
>
<children>
...
...
@@ -36,7 +35,7 @@
<Insets
left=
"10.0"
right=
"10.0"
top=
"10.0"
/>
</padding>
</Label>
<TextField
text=
"kelmit"
HBox.hgrow=
"ALWAYS"
>
<TextField
fx:id=
"textVastaus"
text=
"kelmit"
HBox.hgrow=
"ALWAYS"
>
<padding>
<Insets
bottom=
"5.0"
left=
"5.0"
right=
"5.0"
top=
"5.0"
/>
</padding>
...
...
@@ -48,8 +47,8 @@
</HBox>
<ButtonBar
prefHeight=
"40.0"
prefWidth=
"200.0"
>
<buttons>
<Button
defaultButton=
"true"
mnemonicParsing=
"false"
text=
"OK"
/>
<Button
cancelButton=
"true"
mnemonicParsing=
"false"
text=
"Cancel"
/>
<Button
defaultButton=
"true"
mnemonicParsing=
"false"
onAction=
"#handleOK"
text=
"OK"
/>
<Button
cancelButton=
"true"
mnemonicParsing=
"false"
onAction=
"#handleCancel"
text=
"Cancel"
/>
</buttons>
<padding>
<Insets
right=
"10.0"
/>
...
...
src/fxKerho/TulostusController.java
0 → 100644
View file @
1b18ce32
package
fxKerho
;
import
fi.jyu.mit.fxgui.Dialogs
;
import
fi.jyu.mit.fxgui.ModalController
;
import
fi.jyu.mit.fxgui.ModalControllerInterface
;
import
javafx.fxml.FXML
;
import
javafx.scene.control.TextArea
;
/**
* Tulostuksen hoitava luokka
*
* @author vesal
* @version 4.1.2016
*/
public
class
TulostusController
implements
ModalControllerInterface
<
String
>
{
@FXML
TextArea
tulostusAlue
;
@FXML
private
void
handleOK
()
{
ModalController
.
closeStage
(
tulostusAlue
);
}
@FXML
private
void
handleTulosta
()
{
Dialogs
.
showMessageDialog
(
"Ei osata vielä tulostaa"
);
}
@Override
public
String
getResult
()
{
return
null
;
}
@Override
public
void
setDefault
(
String
oletus
)
{
if
(
oletus
==
null
)
return
;
tulostusAlue
.
setText
(
oletus
);
}
/**
* Mitä tehdään kun dialogi on näytetty
*/
@Override
public
void
handleShown
()
{
//
}
/**
* Näyttää tulostusalueessa tekstin
* @param tulostus tulostettava teskti
*/
public
static
void
tulosta
(
String
tulostus
)
{
ModalController
.
showModeless
(
TulostusController
.
class
.
getResource
(
"TulostusView.fxml"
),
"Tulostus"
,
tulostus
);
}
}
src/fxKerho/TulostusView.fxml
View file @
1b18ce32
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.*?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>
<BorderPane
prefHeight=
"497.0"
prefWidth=
"354.0"
xmlns:fx=
"http://javafx.com/fxml/1"
xmlns=
"http://javafx.com/javafx/8.0.40"
>
<BorderPane
prefHeight=
"497.0"
prefWidth=
"354.0"
xmlns=
"http://javafx.com/javafx/8.0.40"
xmlns:fx=
"http://javafx.com/fxml/1"
fx:controller=
"fxKerho.TulostusController"
>
<bottom>
<ButtonBar
prefHeight=
"40.0"
prefWidth=
"200.0"
BorderPane.alignment=
"CENTER"
>
<buttons>
<Button
mnemonicParsing=
"false"
text=
"Tulosta"
/>
<Button
defaultButton=
"true"
mnemonicParsing=
"false"
text=
"OK"
/>
<Button
mnemonicParsing=
"false"
onAction=
"#handleTulosta"
text=
"Tulosta"
/>
<Button
defaultButton=
"true"
mnemonicParsing=
"false"
onAction=
"#handleOK"
text=
"OK"
/>
</buttons>
<padding>
<Insets
right=
"10.0"
/>
...
...
@@ -20,6 +20,10 @@
</ButtonBar>
</bottom>
<center>
<TextArea
prefHeight=
"200.0"
prefWidth=
"200.0"
text=
"Valitut jäsenet ---------------------------------------------- id : 4 nimi : Ankka Iines hetu : 020406 katuosoite : Ankkakuja 9 postinumero : 12345 postiosoite : ANKKALINNA kotipuhelin : 12-1234 työpuhelin : autopuhelin : liittymisvuosi : 1996 jäsenmaksu : 50.00 maksettumaksu : 0.00 lisätietoja : Velkaa Roopelle ---------------------------------------------- Naisten kerho 1967 36 Meikkaaminen 1942 45 Keimailu 1971 31 Keilailu 1972 5 ---------------------------------------------- id : 5 nimi : Susi Sepe hetu : 020347-123T katuosoite : postinumero : 12555 postiosoite : Takametsä kotipuhelin : työpuhelin : autopuhelin : liittymisvuosi : 1962 jäsenmaksu : 50.00 maksettumaksu : 0.00 lisätietoja : ---------------------------------------------- possujen jahtaaminen 1954 20 kelmien kerho 1962 2 "
BorderPane.alignment=
"CENTER"
/>
<TextArea
fx:id=
"tulostusAlue"
prefHeight=
"200.0"
prefWidth=
"200.0"
text=
"Valitut jäsenet ---------------------------------------------- id : 4 nimi : Ankka Iines hetu : 020406 katuosoite : Ankkakuja 9 postinumero : 12345 postiosoite : ANKKALINNA kotipuhelin : 12-1234 työpuhelin : autopuhelin : liittymisvuosi : 1996 jäsenmaksu : 50.00 maksettumaksu : 0.00 lisätietoja : Velkaa Roopelle ---------------------------------------------- Naisten kerho 1967 36 Meikkaaminen 1942 45 Keimailu 1971 31 Keilailu 1972 5 ---------------------------------------------- id : 5 nimi : Susi Sepe hetu : 020347-123T katuosoite : postinumero : 12555 postiosoite : Takametsä kotipuhelin : työpuhelin : autopuhelin : liittymisvuosi : 1962 jäsenmaksu : 50.00 maksettumaksu : 0.00 lisätietoja : ---------------------------------------------- possujen jahtaaminen 1954 20 kelmien kerho 1962 2 "
BorderPane.alignment=
"CENTER"
>
<font>
<Font
name=
"Consolas"
size=
"12.0"
/>
</font>
</TextArea>
</center>
</BorderPane>
src/fxKerho/kerho.css
View file @
1b18ce32
/* JavaFX CSS - Leave this comment until you have at least create one rule which uses -fx-Property */
\ No newline at end of file
.virhe
{
/* @SuppressWarning */
-fx-background-color
:
red
;
}
.normaali
{
/* @SuppressWarning */
-fx-background-color
:
white
;
}
\ No newline at end of file