Naar de inhoud

Ramen

Een kijk op....
seniorennet.beseniorennet.be

emnTekstverbeteringTester :: Voorbereiding :: Deel 3

emnTekstverbeteringTester :: Voorbereiding Deel 3

Een eerste testprocedure :

Deze test of er in een gegeven woord geen letter verkeerd is getijpt door alle letters van het woord één voor één te vervangen door alle letters van het alfabet.

De vergelijkingswoordenliijst Nederlands werd afgehaald zoals aangegeven in het vorige bericht. Wel werden de referensiesijfers die zich onderaan deze woordenschatlijst bevinden verwijderd.

Het resultaat van dit testprogramma:

false
Gemaakte Trefwoorden:aetterz;betterz;cetterz;detterz;eetterz;fetterz;...
gevonden verbetering: letters
gevonden verbetering: lettert
[aetterz, betterz, cetterz, detterz, eetterz, fetterz, getterz, hetterz,...
Gemaakte Trefwoorden:aettes;bettes;cettes;dettes;eettes;fettes;gettes;...
gevonden verbetering: lentes
gevonden verbetering: letten
gevonden verbetering: letter
[aettes, bettes, cettes, dettes, eettes, fettes, gettes, hettes, lettys,...

Eerste test : fout woord : letterz

Eerst kijkt dit prog. of het woord letterz voorkomt in de woorlijst Nederlands...>false

Nadien worden trefwoorden gemaakt en vergeleken > 2 oplossingen : letters en lettert

Tweede test : fout woord : lettes > 3 mogelijkheden werden gevonden : lentes, letten en letter

package neweditor; import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.HashMap; import java.util.Scanner; public class StartNewEditor { private static HashMap<String,Integer> wbNed = new HashMap<String,Integer>(); private static ArrayList<String> resultaat = new ArrayList<String>(); public static void main(String[] args) { maak_woord_lijst("src/neweditor/Nederlands.wb.txt"); System.out.println(woordinlijst("letterz")); //Als het woord zich niet in de lijst bevindt nagaan of //er geen letter verkeerd is getyped. //TEST 1 letterverkeerd("letterz"); //wanneer dit de gemaakte fout zou zijn dan moet één van de nieuwe kombinaties //in de lijst "resultaat" staan. //We kijken na of één van deze kombinasies een mogelijke oplossing is //en indien dit het geval is voegen we het toe aan de lijst "mogelijkeoplossingen" indienoplossing_pasdezetoe(); System.out.println(resultaat); resultaat.clear(); //pas ledigen nadat alle mogelijkheden doorlopen zijn //We willen ook kontrolleren op letterwisseling, letterbijvoegen enz... //TEST 2 letterverkeerd("lettes"); indienoplossing_pasdezetoe(); System.out.println(resultaat); } private static void maak_woord_lijst(String bestandsnaam){ int i=0; Scanner sc; try { sc = new Scanner(new File(bestandsnaam)); while (sc.hasNext()) { wbNed.put(sc.next(), i); i++; } } catch (FileNotFoundException e) { e.printStackTrace(); System.out.println("Er is een Fout opgetreden"); } System.out.println("item:" + wbNed.get("speling")); } private static boolean woordinlijst(String woord){ boolean falsetrue=false; if (wbNed.containsKey(woord)) {falsetrue = true;} return falsetrue; } //Nazicht op één letter verkeerd in het woord bvb kontact > kontakt private static void letterverkeerd(String woord){ //een letter ontbreekt bvb boken//broken in plaats van bokken//brokken .. //door na de opeenvolgende letters van get woord System.out.print("Gemaakte Trefwoorden:"); for (int i = 0; i < woord.length(); ++i) { StringBuilder vervangLetters = new StringBuilder(woord); for (char c = 'a'; c <= 'z'; ++c) { vervangLetters.setCharAt(i, c); // alle mogelijk gevormde trefwoorden toevoegen in // de lijst "resultaat" resultaat.add(vervangLetters.toString()); System.out.print(vervangLetters.toString()+";"); } } System.out.println(""); } //Bedoeld als eindprosedure dus nadat alle mogelijke oplossingen //vergaard zijn in ArrayList "resultaat". private static void indienoplossing_pasdezetoe(){ for (String s : resultaat) { if (wbNed.containsKey(s)) { System.out.println("gevonden verbetering: " +s); //TE DOEN: //======== //Het gevonden woord veervangen met het foute woord uit de //te verbeteren tekst.Of het woord in een dialoog weergeven //bij en knopaksie. }else{ //System.out.println("Geen match gevonden"); //Volgende zoekprosedure starten; } } } //Nazicht op één letter te weinig in het woord bvb omiddelijk > onmiddellijk //private static void letterteweinig(String woord){ //} }

Geschreven door de makers om 16:44 Reageer op dit bericht

Opmaken van een spellinglijst : emnTekstverbeteringTester :: Voorbereiding

Het opmaken van de spelling woordlijsten wordt gedaan via 

Download Free International Dictionaries for JavaScript Spell Check

Ga naar deze webstek : Klik hier

Geschreven door de makers om 11:43 Reageer op dit bericht

emnTekstverbeteringTester Deel 2

TekstverbeteringsTester emn :: (c) pw & kollegas Belgium

.

.

.

.

.

.

Deel 2 : Voorbereiding

emnTesterLayout.fxml

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<?import javafx.scene.text.*?>

<AnchorPane id="AnchorPane" prefHeight="520.0" prefWidth="573.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="emnTekstverbeteringTester.EMNTesterController">
  <children>
    <TextField fx:id="Zoek_Voegtoe_verwijder_tekstveld" layoutX="50.0" layoutY="93.0" onKeyPressed="#aksie_Zoekwoord" prefWidth="473.0" />
    <TextArea fx:id="testtekstEdit" layoutX="50.0" layoutY="222.0" prefHeight="100.0" prefWidth="473.0" wrapText="true" />
    <Text fill="#0066ff" fontSmoothingType="GRAY" layoutX="477.0" layoutY="55.0" scaleX="2.8521263124216563" scaleY="1.5012237713712362" strokeType="OUTSIDE" strokeWidth="0.0" text="emn" />
    <Text layoutX="295.0" layoutY="41.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Tekstverbetering Tester">
      <fill>
        <Color blue="0.000" green="0.000" red="0.400" fx:id="x1" />
      </fill>
      <font>
        <Font name="System Bold" size="14.0" />
      </font>
    </Text>
    <Separator layoutX="295.0" layoutY="52.0" prefWidth="142.3037109375" />
    <TextArea fx:id="resultaat" editable="false" layoutX="49.0" layoutY="379.0" prefHeight="116.0" prefWidth="473.0" wrapText="true" />
    <Text fill="$x1" layoutX="49.0" layoutY="219.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Geef hier een testtekst in" />
    <Text fill="$x1" layoutX="49.0" layoutY="376.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Verbetering van de ingegeven tekst" />
    <Button id="knop_Delete_woord" fx:id="knop_verwijder" disable="true" layoutX="424.0" layoutY="119.0" mnemonicParsing="false" onAction="#aksie_knop_verwijder" prefHeight="21.0" prefWidth="97.9998779296875" text="Verwijder" textFill="#cc0000">
      <font>
        <Font name="System Bold" size="12.0" fx:id="x2" />
      </font>
    </Button>
    <Button fx:id="knop_voegtoe" disable="true" font="$x2" layoutX="143.0" layoutY="119.0" mnemonicParsing="false" onAction="#aksie_knop_voegtoe" prefWidth="76.0" text="Voeg Toe" textFill="#216600" />
    <Button fx:id="tekstknop" font="$x2" layoutX="50.0" layoutY="322.0" mnemonicParsing="false" onAction="#aksie_testknop" prefWidth="473.0" text="Test" />
    <ListView fx:id="lijstGevonden" layoutX="54.0" layoutY="154.0" orientation="HORIZONTAL" prefHeight="43.0" prefWidth="469.0" />
    <Button fx:id="knop_zoek" font="$x2" layoutX="53.0" layoutY="119.0" mnemonicParsing="false" onAction="#aksie_knop_zoek" prefWidth="76.0" text="Zoek" />
    <Label layoutX="54.0" layoutY="74.0" text="Zoek naar:" textFill="$x1" />
    <Label layoutX="410.0" layoutY="499.0" prefHeight="21.0" prefWidth="116.0" text="(c) pw &amp; kollegas Belgium">
      <font>
        <Font name="System Italic" size="10.0" />
      </font>
    </Label>
  </children>
</AnchorPane>

Geschreven door de makers om 08:40 Reageer op dit bericht

TekstverbeteringsTester emn :: deel 1 Voorbereiding

TekstverbeteringsTester emn :: (c) pw Begium


Part 01 :
Listview : add items, delete items :: ObservableList :: Messagedialog (Responsedialog)


Om dit dialoogvenster te kunnen toepassen dien je onderstaande jar af te halen.
If you want to usse this respose dialog you need to download javafx.dialogs-0.0.3.jar.
Para utilizar este cuadro de diálogo, es necesario descargar el siguiente archivo y agregarlo a su proyecto. javafx.dialogs-0.0.3.jar (Raw)

int woordindex = 0; ArrayList<String> werklijst = new ArrayList<String>(); ObservableList<String> names = FXCollections.observableArrayList(); @FXML private ListView<String> lijstGevonden; private void... DialogResponse respons = Dialogs .showConfirmDialog( this, " Aksie : Item verwijderen" + "\n Projekt Tekstverbetering " + "modern Nederlands" + "\n pw Belgium", "Het woord met index " + woordindex + " verwijderen?", "Bevestigingsdialoog", DialogOptions.OK_CANCEL); if (respons.toString().equals("OK")) { System.out.println("response:" + respons); werklijst.remove(woordindex); knop_verwijder.setDisable(true); names.clear(); lijstGevonden.setItems(names); }


Om onze vrienden van de men's- taalspelling die we hier toevallig op het web hebben ontmoet te helpen, werken enkel kollega's en ik in onze schaarse vrije tijd, aan een prog voor deze nieuwe spelling. Dit omdat wij dit vereenvoudigd systeem goed vinden en ook om even met het bombastische diktee der ned. taal een weinig te spotten. Immers wij geven onze vrienden volkomen gelijk wanneer zij zeggen dat men beter eerst op een deftige manier leert spreken in deze mooie zelfstandige taal die maar al te vaak verkracht, onderschat en vernederd wordt.

Geschreven door de makers om 02:09 Reageer op dit bericht

Open and close Stage and scene. Scenes stored in Hashmap

JavaFX  FXML

Open and close Stage (and scene) from within different controllers. Scenes are stored in a Hashmap
Stage venster openen (met scene opgeslagen in Hashmap) en sluiten vanuit Controllers

 

1: Start_scenes.java



package yourpackage;	
	
import java.net.URL;
import java.util.HashMap;
import javafx.application.Application;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.JavaFXBuilderFactory;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Start_scenes extends Application {
	
	@FXML
	public static HashMap<String, Scene> scenes = new HashMap<String, Scene>();

	public static void main(String[] args) {
		launch(args);
	}

	@Override
	public void start(Stage stage) throws Exception {

		URL location01 = getClass().getResource("Scene01.fxml");
		URL location02 = getClass().getResource("Scene02.fxml");

		FXMLLoader fxmlLoader = new FXMLLoader();
		
		fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory());
		fxmlLoader.setRoot(fxmlLoader.load(location01.openStream()));
		Scene scene = new Scene((Parent) fxmlLoader.getRoot());
		scenes.put("scene01", scene);

		fxmlLoader.setRoot(null);
		fxmlLoader.setController(null);
		//fxmlLoader.setLocation(null);

		fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory());
		fxmlLoader.setRoot(fxmlLoader.load(location02.openStream()));
		Scene scene01 = new Scene((Parent) fxmlLoader.getRoot());
		scenes.put("scene02", scene01);

		stage.setScene(scenes.get("scene02"));
		stage.show();
	}
}

2: Scene01Controller.java



package yourpackage;

import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.stage.Stage;

/**
 * @auteur pw : Belgium (02-2013)
 */

public class Scene01Controller extends Stage implements Initializable {

	@FXML
	private void handleButtonAction(ActionEvent event) {

		// English : Get the scene to be displayed
		// Belgium : Haal de gewenste scene op
		
		Scene scene = this.getScene();
		scene = Start_scenes.scenes.get("scene02");

		Node source = (Node) event.getSource();
		Stage stage = (Stage) source.getScene().getWindow();
		stage.close();

		this.setScene(scene);
		this.show();
	}

	@Override
	public void initialize(URL url, ResourceBundle rb) {
		// TODO
	}
}

	

3: Scene02Controller.java



package yourpackage;

import java.net.URL;
import java.util.ResourceBundle;

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.stage.Stage;

/**
 * @auteur pw Belgium
 */

public class Scene02Controller extends Stage implements Initializable {

	@FXML
	private void handleButtonAction(ActionEvent event) {

		// English : Get the scene to be displayed
		// Belgium : Haal de gewenste scene op

		Scene scene = this.getScene();
		scene = Start_scenes.scenes.get("scene01");

		Node source = (Node) event.getSource();
		Stage stage = (Stage) source.getScene().getWindow();
		stage.close();

		this.setScene(scene);
		this.show();
	}

	@Override
	public void initialize(URL url, ResourceBundle rb) {
		// TODO
	}
}
	

4: Scene01.fxml



<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>

<AnchorPane id="AnchorPane" prefHeight="200.0" prefWidth="320.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="meerderescenes.Scene01Controller">
  <children>
    <Button fx:id="button" layoutX="22.0" layoutY="104.0" onAction="#handleButtonAction" text="Close this window  and open window  scene 02" />
     <Label layoutX="102.0" layoutY="33.0" text="SCENE 01">
      <font>
        <Font size="22.0" />
      </font>
    </Label>
    <Label layoutX="91.0" layoutY="155.0" text="Opgehaald uit Hashmap" />
  </children>
</AnchorPane>
	

5: Scene02.java



<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>

<AnchorPane id="AnchorPane" prefHeight="200.0" prefWidth="320.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="meerderescenes.Scene02Controller">
  <children>
    <Button fx:id="button" layoutX="21.0" layoutY="90.0" onAction="#handleButtonAction" prefWidth="285.0" text="Sluit dit venster en open  venster scene 01" />
    <Label layoutX="90.0" layoutY="37.0" text="SCENE 02">
      <font>
        <Font size="30.0" />
      </font>
    </Label>
    <Label layoutX="76.0" layoutY="145.0" text="Haal scene 01 op uit Hashmap" />
  </children>
</AnchorPane>
	
Geschreven door de makers om 22:16 Reageer op dit bericht

JavaFX FXML voorbeelden | JavaFX FXML examples

Java FX   FXML         | Voorbeelden Examples  Ejemplos

by pw [Belgium]

Belgium Engish Espanol
Meerder fxml bestanden (schermen) laden met hun respektievelijke JavaFX controller (*) Loading (Managing) multiple fxml files (screens) and their specific controller (*) Carga (Gestión) archivos y multiple controllers(*)
(*) Oplossing voor het korrekt doorgeven van eigenschappen als VBox.vgrow = ALWAYS in vorig voorbeeld.

(Meervoudige schermen)

(*) Solution to pass correctly the properties like VBox.vgrow = ALWAYS in previous example.

(Multiple screens)

(*) Solución para pasar correctamente las propiedades como "VBox.vgrow" en el ejemplo anterior.

(Pantallas múltiples)

Van het ene object nar het andere bewegen op een JavaFX Pane Moving between objects on a JavaFX Pane. Moviéndo entre objetos en un Panede JavaFX
JavaFX fxml Webbrauwser JavaFX fxml Webbrowser JavaFX fxml Webbrowser
Java kodestarters in Eclipse Java templates in Eclipse Java templates en Eclipse
Draai Oracle Screen Builder vanuit Eclipse Run Oracle Screen Builder from within Eclipse Ejecute Oracle Screen Builder desde dentro de Eclipse
Eenvoudig JavaFX fxml voorbeeld Simple example JavaFX fxml Ejemplo sencillo JavaFX fxml
     
Gebruikte gratis Programmas: Used Free Programs: Programmas libres usados:
Geschreven door de makers om 00:00 Reageer op dit bericht

Eigenschappen voorbeeld uit vorig blog | Properties sample from previous blog

Multiple screens and controllers :: extra info on the example code

Originele Kode    (JavaFX Meervoudige fxml schermen laden| load multiple fxml schermen. pw)

Belgium:

De eigenschappen die we instelden in onze fxml bestanden zoals VBox.vgrow="ALWAYS" en "AnchorPane.topAnchor" werken niet in het gemaakte voorbeeld. Dit euvel is eenvoudig op te lossen indien je in de volgende kode uit de fxml bestanden :

...

<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<?scenebuilder-background-color 0x404040ff?>

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="550.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="meervoudige_schermen.MenuController">
<children>

...

deze code invoegt na bvb prefWidth="600.0"

AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"

Nadien zal je merken dat alle instellingen die we gemaakt hebben ook werken.


Engish:

The strech properties like VBox.vgrow="ALWAYS" or properties like "AnchorPane.topAnchor" I configured are not working in the project Load multiple screens.
Thats correct.
To solve this issue you simply have to inset the code below into the start AnchorPane in all the fxml files :

...

<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<?scenebuilder-background-color 0x404040ff?>

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="550.0" prefWidth="600.0"  xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="meervoudige_schermen.MenuController">
<children>

...

Insert for ex. after prefWidth="600.0":

AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"

and the configuration made in the fxml file will work.

pw [België]



Español:

Las propiedades de estiramiento como VBox.vgrow = "ALWAYS" o propiedades como "AnchorPane.topAnchor" configuré in su projecto FXML no están trabajando (en el projecto cargar múltiples pantallas).
Eso es correcto .
Para resolver este problema , simplemente tienes que insertar el código siguiente en el inicio AnchorPane inicio en el fxml archivos :

...<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<?scenebuilder-background-color 0x404040ff?>

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="550.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="meervoudige_schermen.MenuController">
<children>

...

Inserte (ej. después prefWidth="600.0"

AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"

y la configuración realizada en el archivo fxml funcionará.

PW [Bélgica ]

Geschreven door de makers om 00:00 Reageer op dit bericht

Meervoudige fxml bestanden laden | Loading multiple fxml files and controllers

JavaFX ECLIPSE Meervoudige schermen laden | Multple screens  (multiple fxml files and controllers)
Meervoudige  FXML bestanden laden Load multiple  FXML files Cargar varios archivos FXML
 
 
 
Code Samples
1:     menu.fxml   |    Scherm1.fxml     |     Scherm2.fxml
Vergeet de "yourpackage"       van fx:contrplller aan te passen.
Don't forget to adjust the name "yourpackage"
No te olvides de personalizar el nombre "yourpackage" in su proyecto.

Menu.fxml :

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<?scenebuilder-background-color 0x404040ff?>

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="550.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="yourpackage.MenuController">
<children>
<VBox id="VBoxSchermMain" alignment="CENTER" prefHeight="550.0" prefWidth="600.0" spacing="5.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<Label prefHeight="42.0" prefWidth="142.0" text="Keuzescherm" textFill="WHITE">
<font>
<Font name="Arial" size="22.0" />
</font>
</Label>
<Button fx:id="button1" onAction="#aksie_naarscherm1" prefHeight="42.0" prefWidth="296.0" style=" -fx-background-color: &#10; radial-gradient(radius 100%, &#10; derive(-fx-base,-60%), &#10; derive(-fx-base,-80%)), &#10; derive(-fx-base,-40%), &#10; radial-gradient(radius 100%, &#10; derive(-fx-base,-60%), &#10; derive(-fx-base,-80%)); &#10; -fx-background-insets: 0 0 -1 0, 0, 1, 2; &#10; -fx-background-radius: 25, 25, 24; &#10; -fx-padding: 0.0em 0.5em 0.0em 0.0em; &#10; -fx-alignment: CENTER; &#10; -fx-content-display: LEFT; " text="Laad scherm TabPane één" textFill="#99c2ff">
<font>
<Font name="System Bold" size="20.0" fx:id="x1" />
</font>
</Button>
<Button fx:id="button2" font="$x1" onAction="#aksie_naarscherm2" prefHeight="42.0" prefWidth="296.0" style=" -fx-background-color: &#10; radial-gradient(radius 100%, &#10; derive(-fx-base,-60%), &#10; derive(-fx-base,-80%)), &#10; derive(-fx-base,-40%), &#10; radial-gradient(radius 100%, &#10; derive(-fx-base,-60%), &#10; derive(-fx-base,-80%)); &#10; -fx-background-insets: 0 0 -1 0, 0, 1, 2; &#10; -fx-background-radius: 25, 25, 24; &#10; -fx-padding: 0.0em 0.5em 0.0em 0.0em; &#10; -fx-alignment: CENTER; &#10; -fx-content-display: LEFT; " text="Laad scherm TabPane twee" textFill="#74ff33" />
</children>
</VBox>
</children>
</AnchorPane>

 

Scherm1.fxml :

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="550.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="yourpackage.Scherm1Controller">
<children>
<VBox id="VBoxScherm2" alignment="CENTER" prefHeight="550.0" spacing="5.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<TabPane prefHeight="500.0" prefWidth="600.0" tabClosingPolicy="UNAVAILABLE" VBox.vgrow="ALWAYS">
<tabs>
<Tab text="SCHERM 1 Tab 1">
<content>
<AnchorPane id="Content" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="500.0" prefWidth="600.0" />
</content>
</Tab>
<Tab text="SCHERM 1 Tab 2">
<content>
<AnchorPane id="Content" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="600.0" />
</content>
</Tab>
</tabs>
</TabPane>
<Button fx:id="button" onAction="#aksie_NaarHoofdscherm" text="Ga naar scherm Menu">
<font>
<Font name="System Bold" size="12.0" />
</font>
</Button>
</children>
</VBox>
</children>
</AnchorPane>

 

Scherm2.fxml :

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<?import javafx.scene.text.*?>

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="550.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="yourpackage.Scherm2Controller">
<children>
<VBox id="VBoxScherm1" alignment="TOP_CENTER" prefHeight="400.0" prefWidth="600.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<TabPane prefHeight="500.0" prefWidth="600.0" tabClosingPolicy="UNAVAILABLE" VBox.vgrow="ALWAYS">
<tabs>
<Tab text="SCHERM 2 Tab 1">
<content>
<AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="-1.0" prefWidth="-1.0" />
</content>
</Tab>
<Tab text="SCHERM 2 Tab 2">
<content>
<AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
</content>
</Tab>
</tabs>
</TabPane>
<Button contentDisplay="CENTER" mnemonicParsing="false" onAction="#aksie_NaarHoofdscherm" text="Naar Menu scherm">
<font>
<Font name="System Bold" size="12.0" />
</font>
</Button>
</children>
</VBox>
</children>
</AnchorPane>



2: Start_Schermen_FXMLTest.java


 

import java.io.IOException; import java.net.URL; import java.util.HashMap; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.fxml.JavaFXBuilderFactory; import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.layout.AnchorPane; import javafx.stage.Stage; /** * Belgium : JavaFX : Meerdere fxml-bestanden beheren * English : JavaFX : Managing multiple screens * Español : JavaFX : Gestión de múltiples pantallas * @auteur : pw 22-11-2013 */ public class Start_Schermen_FXMLTest extends Application { public static AnchorPane root = new AnchorPane(); public static HashMap<String, Node> schermen = new HashMap<>(); //public static HashMap<String, Node> screencontrollers = new HashMap<>(); public static void main(String[] args) { Application.launch(args); } @Override public void start(Stage stage) { // Schermen in Hashmap laden // Load the different (fxml files) screens into a Hashmap // Almacenar las pantallas SchermBeheer sc = new SchermBeheer(); sc.laadSchermen("MENU", "Menu.fxml"); sc.laadSchermen("SCHERM2", "Scherm2.fxml"); sc.laadSchermen("SCHERM1", "Scherm1.fxml"); // Laad het basischerm met keuzemenu: // Load the Main screen (menu.fxml) // Cargue la pantalla principal (menu.fxml) FXMLLoader fxmlLoader = new FXMLLoader(); URL url = getClass().getResource("Menu.fxml"); fxmlLoader = new FXMLLoader(); fxmlLoader.setLocation(url); fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory()); try { root = (AnchorPane) fxmlLoader.load(url.openStream()); root.setStyle("-fx-background-color: black;"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } Scene scene = new Scene(root, 550, 600); stage.setTitle("Meervoudige schermen mett eigen controller"); stage.setScene(scene); stage.show(); try { Thread.sleep(1000); } catch (InterruptedException ex) { Thread.currentThread().interrupt(); } sc.laadScherm("MENU", "Menu.fxml"); } }




3: SchermBeheer.java


import java.io.IOException; import java.net.URL; import java.util.ResourceBundle; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; import javafx.fxml.JavaFXBuilderFactory; import javafx.scene.layout.AnchorPane; /** * Belgium : JavaFX : Meerdere fxml-bestanden beheren * English : JavaFX : Managing multiple schermen * Español : JavaFX : Gestión de múltiples pantallas * * @auteur : pw 22-11-2013 */ public class SchermBeheer extends AnchorPane implements Initializable { public void laadScherm(String naam, String schermFXML) { if (Start_Schermen_FXMLTest.schermen.get(naam) != null) { // Belgium : oud scherm verwijderen en nieuw scherm toevoegen // English : remove the previous screen and add the new one // Español : borrar la pantalla anterior y agregar el nuevo Start_Schermen_FXMLTest.root.getChildren().clear(); Start_Schermen_FXMLTest.root.getChildren().add(Start_Schermen_FXMLTest.schermen.get(naam)); } else { try { URL url = getClass().getResource(schermFXML); FXMLLoader fxmlLoader = new FXMLLoader(); fxmlLoader.setLocation(url); fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory()); AnchorPane scherm = (AnchorPane) fxmlLoader.load(url .openStream()); Start_Schermen_FXMLTest.root.getChildren().clear(); Start_Schermen_FXMLTest.root.getChildren().add(scherm); } catch (IOException e) { e.printStackTrace(); } } } public void laadSchermen(String naam, String schermFXML) { try { URL url = getClass().getResource(schermFXML); FXMLLoader fxmlLoader = new FXMLLoader(); fxmlLoader.setLocation(url); fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory()); AnchorPane scherm = (AnchorPane) fxmlLoader.load(url.openStream()); fxmlLoader.getController(); // Belgium : Alle schermen opslagen in Hashmap // English : Store all the schermen in a Hashmap // Español : Guarde todas las pantallas en un Hashmap Start_Schermen_FXMLTest.schermen.put(naam, scherm); // FXMLTest.screencontrollers.put(naam, (Node) // fxmlLoader.getController()); } catch (IOException e) { e.printStackTrace(); } } @Override public void initialize(URL url, ResourceBundle rb) { } }


4: MenuController.java


import java.net.URL; import java.util.ResourceBundle; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.layout.AnchorPane; /** * Belgium : JavaFX : Meerdere fxml-bestanden beheren * English : JavaFX : Managing multiple screens * Español : JavaFX : Gestión de múltiples pantallas * * @auteur : pw 22-11-2013 */ public class MenuController extends AnchorPane implements Initializable { @FXML private void aksie_naarscherm1(ActionEvent event) { System.out.println("Controller Menu"); SchermBeheer sc = new SchermBeheer(); sc.laadScherm("SCHERM1", "Scherm1.fxml"); } @FXML private void aksie_naarscherm2(ActionEvent event) { System.out.println("Menu Controller"); SchermBeheer sc = new SchermBeheer(); sc.laadScherm("SCHERM2", "Scherm2.fxml"); } @Override public void initialize(URL url, ResourceBundle rb) { } }


 

5: Scherm1Controller.java


import java.net.URL; import java.util.ResourceBundle; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.layout.VBox; /** * Belgium : JavaFX : Meerdere fxml-bestanden beheren * English : JavaFX : Managing multiple screens * Español : JavaFX : Gestión de múltiples pantallas * * @auteur : pw 22-11-2013 */ public class Scherm1Controller extends VBox implements Initializable { @FXML private void aksie_NaarHoofdscherm(ActionEvent event) { System.out.println("Controller Scherm 1"); SchermBeheer sc = new SchermBeheer(); sc.laadScherm("MENU", "Menu.fxml"); } @Override public void initialize(URL url, ResourceBundle rb) { } }

6: Scherm2Controller.java


import java.net.URL; import java.util.ResourceBundle; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.layout.VBox; /** * Belgium : JavaFX : Meerdere fxml-bestanden beheren * English : JavaFX : Managing multiple screens * Español : JavaFX : Gestión de múltiples pantallas * * @auteur : pw 22-11-2013 */ public class Scherm2Controller extends VBox implements Initializable { @FXML private void aksie_NaarHoofdscherm(ActionEvent event) { System.out.println("Controller Scherm 2"); SchermBeheer sc = new SchermBeheer(); sc.laadScherm("MENU", "Menu.fxml"); } @Override public void initialize(URL url, ResourceBundle rb) { } }

 

Gebruikte gratis Programmas: Used Free Programs: Programmas libres usados:
Pics
Geschreven door de makers om 00:00 Reageer op dit bericht

Move from one object to another :: JavaFX

JavaFX ECLIPSE Van het ene object naar het andere op een Pane (fxml controller voorbeeld)
Naar verschillende plaatsen op een javaFX pane Move to different objects on a javaFX Pane Mover a diferentes objetos en un Pane de JavaFX
Benoem een AnchorPane van bvb 395 op 500
prefHeight="500.0" prefWidth="395.0"

Benoem nadien een Pane van bvb 650 op 2000
Verdeel over dit Pane je verschillende objecten bvb.: -1: een foto, een knop, een label.
-2: een foto, drie knoppen.
-3. een browserobject (echt slechts als voorbeeld)
Appoint a AnchorPane of for ex. 395 on 500
prefHeight="500.0" prefWidth="395.0"


Appoint than a Pane of for ex. 650 on 2000


Order on this Pane the different objects you need:
-1: A picture, a button, a label.
-2: A photo, three buttons.
-3. a browser object (really just an example)

 
Designa un AnchorPane de por ejemplo 395 - 500
prefHeight="500.0" prefWidth="395.0"


Entonces designa un Pane de, por ejemplo 650-2000


Ponga en su Pane los objetos diferentes, por ejemplo.:
-1: Una imagen, un botón, una etiqueta.
-2: Una foto, tres botones.
-3. un objeto de navegador (en realidad sólo un ejemplo)
Code Samples
1: movesamplelayout.fxml

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.net.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.effect.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<?import javafx.scene.shape.*?>
<?import javafx.scene.text.*?>

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="527.0" prefWidth="352.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="move.MoveController">
<children>
<Pane id="pane" fx:id="id_pane" layoutX="-6.0" layoutY="0.0" prefHeight="1468.0" prefWidth="717.0">
<children>
<VBox id="VBox" alignment="CENTER" layoutX="38.0" layoutY="1229.0" spacing="5.0">
<children>
<TextArea id="TextArea" fx:id="tekstgebied" prefWidth="200.0" rotate="337.0" text="Auteur Author : Piet&#10;België Belgium&#10;&#10;&#10;Move Sample" wrapText="true">
<stylesheets>
<URL value="@splash.css" />
</stylesheets>
</TextArea>
<Button id="splashscreen" mnemonicParsing="false" onAction="#aksie_splashscreen" prefHeight="40.6839599609375" prefWidth="200.0" text="Splashscreen">
<font>
<Font size="17.0" fx:id="x1" />
</font>
<stylesheets>
<URL value="@splash.css" />
</stylesheets>
<textFill>
<Color blue="0.000" green="0.800" red="0.063" fx:id="x2" />
</textFill>
</Button>
</children>
</VBox>
<VBox id="VBox" alignment="CENTER" layoutX="79.0" layoutY="60.0" spacing="5.0">
<children>
<ImageView fitHeight="193.0" fitWidth="193.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="file:/C:/Users/Home/Pictures/penguin01.JPG" />
</image>
</ImageView>
<Button fx:id="welkom" mnemonicParsing="false" onAction="#aksie_welkom" prefHeight="115.0" prefWidth="193.0" text="Welkom" textFill="radial-gradient(focus-angle 0.0deg, focus-distance 0.0% , center 100.0px 100.0px, radius 200.0px, 0xff0000ff 0.0%, 0xff0000ff 10.0%, 0xffffffff 30.0%, 0x000000ff 100.0%)">
<font>
<Font size="39.0" />
</font>
<stylesheets>
<URL value="@splash.css" />
</stylesheets>
</Button>
<Label text="Men's Desktop">
<effect>
<Reflection fraction="0.9801587301587301" topOpacity="0.8412698412698413" />
</effect>
<font>
<Font name="Bookshelf Symbol 7" size="35.0" />
</font>
</Label>
</children>
</VBox>
<VBox id="hbox" alignment="CENTER" layoutX="487.0" layoutY="734.0" spacing="5.0">
<children>
<ImageView fitHeight="150.0" fitWidth="200.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="file:/C:/Users/Home/Pictures/penguin02.jpg" />
</image>
</ImageView>
<Button fx:id="info" font="$x1" mnemonicParsing="false" onAction="#aksie_info" prefHeight="41.0" prefWidth="200.0" text="Info" textFill="#ccff00">
<stylesheets>
<URL value="@splash.css" />
</stylesheets>
</Button>
<Button fx:id="splashscreen" font="$x1" mnemonicParsing="false" onAction="#aksie_splashscreen" prefHeight="40.6839599609375" prefWidth="200.0" text="Splashscreen" textFill="$x2">
<stylesheets>
<URL value="@splash.css" />
</stylesheets>
</Button>
<Button id="loadfxml" fx:id="laadfxml" font="$x1" mnemonicParsing="false" onAction="#aksie_laadfxml" prefHeight="41.0" prefWidth="200.0" text="Load new FXML" textFill="#00b4cc">
<stylesheets>
<URL value="@splash.css" />
</stylesheets>
</Button>
</children>
<stylesheets>
<URL value="@splash.css" />
</stylesheets>
</VBox>
</children>
</Pane>
</children>
</AnchorPane>

 



2: Start_move.java


 

package move; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; public class Start_move extends Application { public static void main(String[] args) { Application.launch(args); //Application.launch(Start_move.class, (java.lang.String[])null); } @Override public void start(Stage stage) throws Exception { try{ Parent root = FXMLLoader.load(getClass().getResource("movesamplelayout.fxml")); stage.setScene(new Scene(root)); stage.show(); } catch(Exception e){ System.out.print(e); } } }




3: MoveController.java


package move; import java.net.URL; import java.util.ResourceBundle; import javafx.animation.TranslateTransition; import javafx.animation.TranslateTransitionBuilder; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.TextArea; import javafx.scene.layout.Pane; import javafx.util.Duration; public class MoveController { @FXML private ResourceBundle resources; @FXML private URL location; @FXML private Button info; @FXML private Pane id_pane; @FXML private Button splashscreen; @FXML private Button laadfxml; @FXML private TextArea tekstgebied; @FXML private Button welkom; @FXML void aksie_info(ActionEvent event) { tekstgebied.setText("Sample Move pane" + "(and objects)\nAuthor : piet\n" + "Belgum"); moveScreen(50,-1100,id_pane); } @FXML void aksie_splashscreen(ActionEvent event) { moveScreen(0,0,id_pane); } @FXML void aksie_welkom(ActionEvent event) { moveScreen(-400,-650,id_pane); } @FXML void aksie_laadfxml(ActionEvent event) { System.out.println("laad fxml"); tekstgebied.setText("Volgend blog : \nVerschillende FXML bestanden laden"); moveScreen(50,-1100,id_pane); } private void moveScreen(int toX, int toY, Pane pane) { // Object pane; TranslateTransition ganaarlokasie = TranslateTransitionBuilder. create(). toX(toX). toY(toY). duration(Duration.seconds(1)). node(pane). build(); ganaarlokasie.play(); } @FXML void initialize() { } }


4:splash.css


.button { -fx-background-color: radial-gradient(radius 100%, derive(-fx-base,-60%), derive(-fx-base,-80%)), derive(-fx-base,-40%), radial-gradient(radius 100%, derive(-fx-base,-60%), derive(-fx-base,-80%)); -fx-background-insets: 0 0 -1 0, 0, 1, 2; -fx-background-radius: 25, 25, 24; -fx-padding: 0.0em 0.5em 0.0em 0.0em; -fx-alignment: CENTER; -fx-content-display: LEFT; } #fancytext { -fx-font: 200px Tahoma; -fx-fill: linear-gradient(from 0% 0% to 100% 200%, repeat, aqua 0%, red 50%); -fx-stroke: black; -fx-stroke-width: 1; } #TextArea { -fx-font-size: 16px; }



 

Gebruikte gratis Programmas: Used Free Programs: Programmas libres usados:
Pics


1498495-869636073706efb55e516b9f7dfbda45.JPG

1498495-e19652e6822987aaa5a582e4340edbda.JPG

1498495-3990e2759c53655298797d99397d452d.JPG

1498495-5fa2d9101e76e132e070b02dc37a967c.JPG

1498495-0a4aa292a00f46d28047d92bd12c1baa.JPG
Geschreven door de makers om 10:13 Reageer op dit bericht

JavaFX templates

JavaFX ECLIPSE add FXML Templates
Gebruikte gratis Programmas:
Eclipse-standard-kepler-SR1-win32
C:Program Files/Java/jre8

Hulpprogramma:
JavaFX Scene Builder"
Dit is een GUI javaFX programma dat tevens ook een voorstel geeft voor de opbouw van je java controller bestand.

Indien je een lagere jre versie wil gebruiken kijk dan na of deze de jfxrt.jar bevat voeg deze anders toe via:
Eclipse >> Build pad / add external jars.

Waar vind je de jfxrt.jar na het installeren van java op je PC?
C:/program files/java/jdk1.7.0_45/jre/lib/jfxrt.jar
C:/program files/java/jre7/lib/jfxrt.jar
 
Used Free Programs:
Eclipse-standard-kepler-SR1-win32
C:Program Files/Java/jre8

Additional program:
JavaFX Scene Builder"
A gui javaFX FXML-file buider that even generates a java controller file you can copy.

If you are using an older jre version,than check if it contains the jfxrt.jar, else you will have to add it to you build path:
Eclipse project >> Build pad / add external jars.

Where can you find the jfxrt.jar after installing java on your PC?
C:/program files/java/jdk1.7.0_45/jre/lib/jfxrt.jar
C:/program files/java/jre7/lib/jfxrt.jar
 
Programmas libres usados:
Eclipse-standard-kepler-SR1-win32
C:Program Files/Java/jre8

Programma de ayuda:
JavaFX Scene Builder"
A JavaFX FXML-file constructor GUI que incluso genera un archivo de controlador de java (controller.java) que se puede copiar.

Si está utilizando una versión anterior de JRE, el mejor es de comprobar si contiene la versión jfxrt.jar, si no, añadirla a su proyecto Eclipse:
Eclipse project >> Build pad / add external jars.

¿Dónde está el archivo "jfxrt.jar" en su PC después de instalar java?
C:/program files/java/jdk1.7.0_45/jre/lib/jfxrt.jar
C:/program files/java/jre7/lib/jfxrt.jar
 
JavaFX FXML templates in Eclipse
 

Via de menubar van Eclipse :

- Klik"window" / "Preferences" (vouw open)/ "Java" (vouw open)
- Klik "templates"
- Klik op het templatescherm "new"
- geef naam voor de template bvb FX_start
- geef een kleinne beschrijving
- plak of typ de gewenste kode (zie kode voor statbestand) in het ingavevak.
druk ok

Herhaal voor template FX_con met de kode voor controlebestand.
druk ok


Hoe te gebruiken:

- Maak in je Eclipse projektbestand een nieuwe class aan.
- Selekteer de volledige kode onder de package naam van dit class bestand en wis deze.
- Type de beginletters van de template die je wil gebruiken bvb FX.
- Druk nadien ctrl-space kombinatie in.
- Selekteer de template die je wil.
- Bij een dubbelklik wordt de template-code toegevoegd aan je bestand.

Noot:
- Bij de FX_con staat onderaan de template code voor het fxml bestand.
- Copier/cut deze code.
- Maak een tekst bestand aan met fxml ekstensie. bvb scherm.fxml.

Templates kunnen niet gebruikt worden in een tekstbestand.
JavaFX FXML templates in Eclipse
 

On the menu bar of Eclipse:
 

- Click "window" / "Preferences" (unwrap) / "Java" (unwrap) / click "templates" to
- click on the template screen "new".
- Give a name for the template ex. FX_start
- Give a bref description
- Paste or type the code (see the code for start file) in the inputbox.
press ok

Repeat for the FX_con template using the code (see below) for the control file.
press ok


How to use:

- Create e new class in your Eclipse project file.
- Select the entire code under the package name of the class file and delete it.
- Type the first letters of the template you want to use for ex. FX.
- Afterwards, press the ctrl-space key combination.
- Select the template you want.
- Doubleclick and the template code will be added to your file.

Note:
- The FX_con the bottom of the template code for fxml file.
- Copier / cut this code.
- Create a text file with fxml ekstensie. eg scherm.fxml.

Templates can’t be used on a text file.That’s why you have to copy the code from the controller file template.
JavaFX plantillas FXML en Eclipse
 

A través de la barra de menús de Eclipse:
 

- Clic window / Preferences (desenvolver) / Java (desenvolver)
- Pulse "templates"
- en la pantalla clic "nueva".
- Eccriba el nombre de la "template", por ejemplo FX_start
- Escriba una breve descripción.
- Copy/paste o escriba el código (ver el código para el archivo de inicio) en el cuadro de entrada.
pulse ok

Modo de empleo:

También hacer lo mismo para la "template" FX_con con el código para el archivo de control.
pulse ok

Hace en su archivo de proyecto de Eclipse una nueva class.
Seleccione todo el código bajo el nombre del paquete y eliminarlo.
Escriba las iniciales de la "template" que desea utilizar, por ejemplo FX.
A continuación, pulse Ctrl-Espacio en combinación.
Selecciona el "template" deseado.
Dubbelclick y el código de este "template" se añade a su archivo.

Nota:
- El FX_con la parte inferior de la plantilla de código para el archivo de fxml.
- Copiadora / cortar este código.
- Crear un archivo de texto con fxml ekstensie. por ejemplo scherm.fxml.

Plantillas de Eclipse no funcionan en un archivo de texto.
 

Code samples
1:
Kode voor het startbestand: FXMLStart.java
Code for the start file : FXMLStart.java
Código para el archivo de inicio : FXMLStart.java


import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;


public class UwClassNaam extends Application{
public static void main(String[] args) {
Application.launch(args);
}

public void start(Stage stage) throws Exception {
Parent root = (Parent) FXMLLoader.load(getClass().getResource("scherm.fxml"));
stage.setTitle("FXML pwBrauwser");
stage.setScene(new Scene(root, 800, 600));
stage.show();
}
}
 

2:
Kode voor Controller bestand :: FXMLController.java en scherm.fxml
Code for the controller file :: FXMLController.java en scherm.fxml
Código para el archivo de control :: :: FXMLController.java en scherm.fxml


import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;


public class UwClassNaam {

@FXML
private ResourceBundle resources;

@FXML
private URL location;

@FXML
private Button testknop;


@FXML
void testknop_aksie(ActionEvent event) {
}

@FXML
void initialize() {
assert testknop != null : "fx:id=\"testknop\" was not injected: check your FXML file 'scherm.fxml'.";


}

}


<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="536.0" prefWidth="692.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="uwpackage.FXMLController">
<children>
<Button id="css_testknop" fx:id="testknop" layoutX="452.0" layoutY="14.0" mnemonicParsing="false" onAction="#testknop_aksie" text="Testknop" />
</children>
</AnchorPane>
 

 

 



1497624-07fcb5a608d172c015d5a9c561838072.JPG

1497624-2006157b62da8ec9e9646fce3ff2c52d.JPG

1497624-353054980df1c0bc0464f9ddc44d49e0.png
Geschreven door de makers om 00:00 Reageer op dit bericht

Meer van Ramen

↑ Terug naar de berichten