Skip to content
Snippets Groups Projects
Commit 124ac497 authored by Vesa Lappalainen's avatar Vesa Lappalainen :bicyclist:
Browse files

fxexamples

parents
No related branches found
No related tags found
No related merge requests found
Showing
with 490 additions and 0 deletions
Examples/autolaskuri.png

5.96 KiB

<?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="FXExamples"/>
<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 Examples">
<!--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="E:/kurssit/ws/16"/>
<property name="dir.jarfile" value="${dir.buildfile}"/>
<target name="create_run_jar">
<jar destfile="${dir.jarfile}/Examples.jar" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="ristinolla.RistiNollaMain"/>
<attribute name="Class-Path" value="."/>
</manifest>
<fileset dir="${dir.jarfile}/bin"/>
<fileset dir="E:/kurssit/ohj2/FXExamples/FXGui/bin"/>
<zipfileset excludes="META-INF/*.SF" src="C:/devel/ec45/eclipse/plugins/org.eclipse.fx.ide.css.jfx8_2.1.0.201508240705.jar"/>
</jar>
</target>
</project>
Examples/helloworld.png

1.53 KiB

Examples/helloworldbutton.png

2.47 KiB

Examples/jasenet.png

27 KiB

<?xml version="1.0" encoding="WINDOWS-1252" standalone="no"?>
<jardesc>
<jar path="Examples/laskuri.jar"/>
<options buildIfNeeded="true" compress="true" descriptionLocation="/Examples/laskuri.jardesc" exportErrors="true" exportWarnings="true" includeDirectoryEntries="false" overwrite="true" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
<storedRefactorings deprecationInfo="true" structuralOnly="false"/>
<selectedProjects/>
<manifest generateManifest="true" manifestLocation="" manifestVersion="1.0" reuseManifest="false" saveManifest="false" usesManifest="true">
<sealing sealJar="false">
<packagesToSeal/>
<packagesToUnSeal/>
</sealing>
</manifest>
<selectedElements exportClassFiles="true" exportJavaFiles="false" exportOutputFolder="false">
<javaElement handleIdentifier="=Examples/src&lt;autolaskuri.comp{Laskuri.java"/>
<file path="/Examples/src/autolaskuri/comp/autolaskuri.css"/>
<file path="/Examples/src/autolaskuri/comp/LaskuriView.fxml"/>
</selectedElements>
</jardesc>
Examples/ristinolla.png

13.3 KiB

package autolaskuri.basic;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
/**
* Yksinkertainen autolaskuri, jossa painkikkeita painamalla
* voidaan kasvattaa laskureiden arvoja
* @author vesal
* @version 5.3.2016
*/
public class AutolaskuriController {
@FXML private Label laskuriHA;
@FXML private Label laskuriKA;
private int ha = 0;
private int ka = 0;
@FXML void handleHA() {
laskuriHA.setText("" + ++ha);
}
@FXML void handleKA() {
laskuriKA.setText("" + ++ka);
}
@FXML void handleNollaa() {
laskuriHA.setText("" + (ha=0));
laskuriKA.setText("" + (ka=0));
}
}
\ No newline at end of file
package autolaskuri.basic;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.fxml.FXMLLoader;
/**
* Autolaskuri
* @author vesal
* @version 5.3.2016
*/
public class AutolaskuriMain extends Application {
@Override
public void start(Stage primaryStage) {
try {
FXMLLoader ldr = new FXMLLoader(getClass().getResource("AutolaskuriView.fxml"));
final Pane root = ldr.load();
//final AutolaskuriController autolaskuriCtrl = (AutolaskuriController) ldr.getController();
Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("autolaskuri.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.setTitle("Autolaskuri");
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
/**
* @param args Ei kytss
*/
public static void main(String[] args) {
launch(args);
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>
<GridPane hgap="10.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" stylesheets="@autolaskuri.css" vgap="20.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.65" fx:controller="autolaskuri.basic.AutolaskuriController">
<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>
<children>
<Label fx:id="laskuriHA" alignment="CENTER_RIGHT" maxWidth="1.7976931348623157E308" styleClass="laskuri" text="0">
<GridPane.margin>
<Insets />
</GridPane.margin>
<padding>
<Insets right="10.0" />
</padding>
</Label>
<Label fx:id="laskuriKA" alignment="CENTER_RIGHT" maxWidth="1.7976931348623157E308" styleClass="laskuri" text="0" GridPane.columnIndex="1">
<GridPane.margin>
<Insets />
</GridPane.margin>
<padding>
<Insets right="10.0" />
</padding>
</Label>
<Button alignment="CENTER" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#handleHA" text="Henkilöautoja" GridPane.rowIndex="1" />
<Button alignment="CENTER" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#handleKA" text="Kuorma-autoja" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<Button alignment="CENTER" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#handleNollaa" text="Nollaa" GridPane.columnSpan="2" GridPane.rowIndex="2">
<GridPane.margin>
<Insets left="30.0" right="30.0" />
</GridPane.margin>
</Button>
</children>
<padding>
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
</padding>
</GridPane>
.laskuri {
/* @SuppressWarning */ -fx-font-size: 30px;
/* @SuppressWarning */ -fx-background-color: cyan;
/* @SuppressWarning */ -fx-background-radius: 10;
}
\ No newline at end of file
package autolaskuri.bind;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
/**
* Yksinkertainen autolaskuri, jossa painkikkeita painamalla
* voidaan kasvattaa laskureiden arvoja
* @author vesal
* @version 5.3.2016
*/
public class AutolaskuriController implements Initializable {
@FXML private Label laskuriHA;
@FXML private Label laskuriKA;
private SimpleIntegerProperty ha = new SimpleIntegerProperty(0);
private SimpleIntegerProperty ka = new SimpleIntegerProperty(0);
@Override
public void initialize(URL location, ResourceBundle resources) {
laskuriHA.textProperty().bind(ha.asString());
laskuriKA.textProperty().bind(ka.asString());
}
@FXML void handleHA() {
ha.set(ha.get()+1);
}
@FXML void handleKA() {
ka.set(ka.get()+1);
}
@FXML void handleNollaa() {
ha.set(0);
ka.set(0);
}
}
\ No newline at end of file
package autolaskuri.bind;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.fxml.FXMLLoader;
/**
* Autolaskuri
* @author vesal
* @version 5.3.2016
*/
public class AutolaskuriMain extends Application {
@Override
public void start(Stage primaryStage) {
try {
FXMLLoader ldr = new FXMLLoader(getClass().getResource("AutolaskuriView.fxml"));
final Pane root = ldr.load();
//final AutolaskuriController autolaskuriCtrl = (AutolaskuriController) ldr.getController();
Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("autolaskuri.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.setTitle("Autolaskuri");
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
/**
* @param args Ei kytss
*/
public static void main(String[] args) {
launch(args);
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>
<GridPane hgap="10.0" stylesheets="@autolaskuri.css" vgap="20.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.65" fx:controller="autolaskuri.bind.AutolaskuriController">
<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>
<children>
<Label fx:id="laskuriHA" alignment="CENTER_RIGHT" maxWidth="2000" styleClass="laskuri" text="0">
<GridPane.margin>
<Insets />
</GridPane.margin>
<padding>
<Insets right="10.0" />
</padding>
</Label>
<Label fx:id="laskuriKA" alignment="CENTER_RIGHT" maxWidth="2000" styleClass="laskuri" text="0" GridPane.columnIndex="1">
<GridPane.margin>
<Insets />
</GridPane.margin>
<padding>
<Insets right="10.0" />
</padding>
</Label>
<Button alignment="CENTER" maxWidth="2000" mnemonicParsing="false" onAction="#handleHA" text="Henkilöautoja" GridPane.rowIndex="1" />
<Button alignment="CENTER" maxWidth="2000" mnemonicParsing="false" onAction="#handleKA" text="Kuorma-autoja" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<Button alignment="CENTER" maxWidth="2000" mnemonicParsing="false" onAction="#handleNollaa" text="Nollaa" GridPane.columnSpan="2" GridPane.rowIndex="2">
<GridPane.margin>
<Insets left="30.0" right="30.0" />
</GridPane.margin>
</Button>
</children>
<padding>
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
</padding>
</GridPane>
.laskuri {
/* @SuppressWarning */ -fx-font-size: 30px;
/* @SuppressWarning */ -fx-background-color: cyan;
/* @SuppressWarning */ -fx-background-radius: 10;
}
\ No newline at end of file
package autolaskuri.comp;
import static fi.jyu.mit.fxgui.Functions.getNodes;
import java.net.URL;
import java.util.List;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.control.Button;
/**
* Yksinkertainen autolaskuri, jossa painkikkeita painamalla
* voidaan kasvattaa laskureiden arvoja.
* Laskurit tehty omalle komponentilla.
* @author vesal
* @version 6.3.2016
*/
public class AutolaskuriController implements Initializable {
@FXML private Button buttonNollaa;
private Laskuri.Laskurit laskettavat = new Laskuri.Laskurit();
@Override
public void initialize(URL location, ResourceBundle resources) {
Node parent = buttonNollaa.getParent();
List<Laskuri> laskurit = getNodes(parent, Laskuri.class, n->true, true);
for (Laskuri laskuri: laskurit) {
laskettavat.add(laskuri);
}
}
@FXML void handleNollaa() { laskettavat.reset(); }
}
\ No newline at end of file
package autolaskuri.comp;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.fxml.FXMLLoader;
/**
* Autolaskuri
* @author vesal
* @version 5.3.2016
*/
public class AutolaskuriMain extends Application {
@Override
public void start(Stage primaryStage) {
try {
FXMLLoader ldr = new FXMLLoader(getClass().getResource("AutolaskuriView.fxml"));
final Pane root = ldr.load();
//final AutolaskuriController autolaskuriCtrl = (AutolaskuriController) ldr.getController();
Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("autolaskuri.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.setTitle("Autolaskuri");
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
/**
* @param args Ei kytss
*/
public static void main(String[] args) {
launch(args);
}
}
\ No newline at end of file
<?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.ProgressBar?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>
<?import autolaskuri.comp.Laskuri?>
<GridPane hgap="10.0" stylesheets="@autolaskuri.css" vgap="20.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="autolaskuri.comp.AutolaskuriController">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="40.0" prefHeight="70.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Laskuri caption="Henkilöautoja" />
<Laskuri caption="Kuorma-autoja" GridPane.columnIndex="1" />
<Button fx:id="buttonNollaa" alignment="CENTER" maxWidth="2000" onAction="#handleNollaa" text="Nollaa" GridPane.columnSpan="2" GridPane.rowIndex="1">
<GridPane.margin>
<Insets left="30.0" right="30.0" />
</GridPane.margin>
</Button>
</children>
<padding>
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
</padding>
</GridPane>
package autolaskuri.comp;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
/**
* Laskuri-komponentti
* @author vesal
* @version 6.3.2016
*
*/
public class Laskuri extends VBox implements Initializable {
@SuppressWarnings("javadoc")
public static class Laskettava extends SimpleIntegerProperty {
public Laskettava(int value) { super(value); }
public int inc() { set(get()+1); return get(); }
public int reset() { set(0); return get(); }
}
@SuppressWarnings("javadoc")
public static class Laskurit {
private List<Laskuri> alkiot = new ArrayList<>();
public void add(Laskuri alkio) { alkiot.add(alkio); }
public void reset() { alkiot.forEach(l -> l.reset()); }
}
@FXML private Label laskuri;
@FXML private Button button;
private Laskettava laskettava = new Laskettava(0);
/** Luodaan laskuri */
public Laskuri() {
FXMLLoader loader = new FXMLLoader(getClass().getResource("LaskuriView.fxml"));
loader.setRoot(this);
loader.setController(this);
try {
loader.load();
}
catch (IOException ex) {
System.err.println(ex.getMessage());
}
}
@Override
public void initialize(URL location, ResourceBundle resources) {
laskuri.textProperty().bind(laskettava.asString());
laskuri.setOnMouseClicked(e -> laskettava.inc());
laskuri.setOnTouchPressed(e -> laskettava.inc());
button.setOnAction(e -> laskettava.inc());
}
/** Nollataan laskuri */
public void reset() { laskettava.reset(); }
/** @return painikkeen teksti */
public String getCaption() { return button.getText(); }
/** @param caption painikkeelle asetettava teksti */
public void setCaption(String caption) { button.setText(caption); }
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment