Reageer op dit bericht
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 ]
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
Menu.fxml : <?xml version="1.0" encoding="UTF-8"?>
Scherm1.fxml : <?xml version="1.0" encoding="UTF-8"?> Scherm2.fxml : <?xml version="1.0" encoding="UTF-8"?>
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"); } }
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) { } }
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 | ||
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"?>
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); } } }
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() { } }
.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 | ||
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 : |
On the menu bar of Eclipse: - Click "window" / "Preferences" (unwrap) / "Java"
(unwrap) / click "templates" to |
A través de la barra de menús de
Eclipse:
- Clic window / Preferences (desenvolver) / Java (desenvolver) |
| 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
2:
|
||

JavaFX FXML webbrowser
| JavaFX webbrowser :: WBstart.java + WBController.java + WBLayout.fxml | ||
| 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 Helpprogram: 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 |
| Project files | ||
1. Start.java
----------
package fxml.brauwser;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class WBstart 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("WBLayout.fxml"));
stage.setTitle("FXML pwBrauwser");
stage.setScene(new Scene(root, 800, 600));
stage.show();
}
}
2. WBController.java
-----------------
package fxml.brauwser;
import javafx.concurrent.Worker.State;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.MenuButton;
import javafx.scene.control.ProgressIndicator;
import javafx.scene.control.TextField;
import javafx.scene.input.InputMethodEvent;
import javafx.scene.layout.HBox;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
public class WBController {
@FXML
private WebEngine webEngine;
@FXML
private ResourceBundle resources;
@FXML
private URL location;
@FXML
private HBox titelbalk;
@FXML
private HBox titelhouder; //bevat titellabel gekonfigureerd in het fxml bestand en statelabel
@FXML Label statelabel;
@FXML
private HBox keuzeknophouder;//bevat progressindicator menubutton
@FXML
ProgressIndicator pi = new ProgressIndicator();
@FXML
private MenuButton menuadressen;
@FXML
private HBox adres_knoppen_balk; // bevat adres houder en aksieknoppen(bevelknoppen)
@FXML
private HBox adresveldhouder;
@FXML
private TextField adresveld;
@FXML
private HBox bevelhouder;
@FXML
private Button ververs;
@FXML
private Button volgend;
@FXML
private Button vorig;
@FXML
private Button vuur;
@FXML
private HBox webzichthouder;
@FXML
private WebView webzicht;
@FXML
void aksie_ververs(ActionEvent event) {
webEngine.reload();
}
@FXML
void vuur_adres_af(ActionEvent event) {
//webzicht = new WebView();
webEngine.load(adresveld.getText());
webEngine.getLoadWorker().stateProperty().addListener(
new ChangeListener<State>() {
public void changed(ObservableValue<? extends State> arg0,
State arg1, State arg2) {
statelabel.setText("State: "+arg2.toString());
//arg0 :: bean/name/value
//arg2 :: value
}
});
webEngine.getLoadWorker().progressProperty().addListener(new ChangeListener<Object>(){
@Override
public void changed(ObservableValue<?> arg0, Object arg1, Object arg2) {
pi.setProgress((Double) arg0.getValue());
}
});
webEngine.locationProperty().addListener(new ChangeListener<String>() {
@Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
adresveld.setText(newValue);
}
});
adresveld.setText(webEngine.getLocation());
}
@FXML
void vuur_volgend_adres_af(ActionEvent event) {
webEngine.executeScript("history.forward()");
}
@FXML
void vuur_vorig_adres_af(ActionEvent event) {
webEngine.executeScript("history.back()");
}
@FXML
void aksie_adresveld_onenterpressed(ActionEvent event) {
vuur_adres_af(event);
}
@FXML
void aksie_kies_website(ActionEvent event) {
System.out.println("OPen aksie");
System.out.println("tekst"+menuadressen.getItems().get(0).getText()+"::"+menuadressen.getItems().get(1).getText());
if(menuadressen.getText().equals("item01")){
System.out.println("OPen website synoniemen");
}
}
@FXML
void aksie_kies_menuitem(ActionEvent event) {
//Kode voor menubutton hier
System.out.println("tekst items: "+menuadressen.getItems().get(0).getText()+"::"+menuadressen.getItems().get(1).getText());
}
@FXML
void initialize() {
webEngine = webzicht.getEngine();
}
}
3. BWLayout.fxml
-------------
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.effect.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<?import javafx.scene.text.*?>
<?import javafx.scene.web.*?>
<AnchorPane id="AnchorPane" style="-fx-background-color: gray;" maxHeight="-Infinity" 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="fxml.brauwser.WBController">
<children>
<HBox id="css_titelbalk" fx:id="titelbalk" alignment="CENTER" layoutY="4.0" prefHeight="30.0" prefWidth="663.0" spacing="5.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="15.0">
<children>
<HBox alignment="CENTER_LEFT" prefHeight="30.0" prefWidth="337.0" spacing="5.0" HBox.hgrow="ALWAYS">
<children>
<Label prefWidth="496.0" text="pwWebBrauwser" HBox.hgrow="ALWAYS">
<font>
<Font name="Arial" size="18.0"/>
</font>
</Label>
<Label id="css_statelabel" fx:id="statelabel" prefWidth="150.0" text="State: " />
</children>
</HBox>
<HBox id="css_keuzeknophouder" fx:id="keuzeknophouder" alignment="CENTER_RIGHT" prefHeight="30.0" prefWidth="210.0" spacing="5.0">
<children>
<ProgressIndicator id="css_pi" fx:id="pi" prefHeight="55.0" prefWidth="55.0" progress="0.0" />
<MenuButton id="css_menuadressen" fx:id="menuadressen" contentDisplay="CENTER" mnemonicParsing="false" onAction="#aksie_kies_website" prefHeight="30.0" prefWidth="162.0" text="WebAdressen" HBox.hgrow="NEVER">
<items>
<MenuItem id="item01" mnemonicParsing="false" onAction="#aksie_kies_menuitem" text="Synos" />
<MenuItem id="item02" mnemonicParsing="false" text="Rijmen" />
</items>
</MenuButton>
</children>
</HBox>
</children>
</HBox>
<HBox id="css_adres_knoppen_balk" fx:id="adres_knoppen_balk" alignment="CENTER_RIGHT" layoutY="34.0" prefHeight="30.0" prefWidth="663.0" spacing="5.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="15.0">
<children>
<HBox id="css_adresveldhouder" fx:id="adresveldhouder" alignment="CENTER_LEFT" prefHeight="21.0" prefWidth="565.0" spacing="5.0" HBox.hgrow="ALWAYS">
<children>
<TextField id="css_adresveld" fx:id="adresveld" alignment="CENTER_LEFT" prefWidth="508.0" onAction="#aksie_adresveld_onenterpressed" text="http://www.google.es" HBox.hgrow="ALWAYS" />
</children>
</HBox>
<HBox id="css_bevelhouder" fx:id="bevelhouder" alignment="CENTER" minWidth="86.0" prefWidth="160.0" spacing="5.0">
<children>
<Button id="css_vuur" fx:id="vuur" mnemonicParsing="false" onAction="#vuur_adres_af" text="Vuur" />
<Button id="css_vorige" fx:id="vorig" mnemonicParsing="false" onAction="#vuur_vorig_adres_af" text="<" />
<Button id="css_volgende" fx:id="volgend" mnemonicParsing="false" onAction="#vuur_volgend_adres_af" text=">" />
<Button id="css_ververs" fx:id="ververs" mnemonicParsing="false" onAction="#aksie_ververs" text="VV" />
</children>
</HBox>
</children>
</HBox>
<HBox id="css_webzichthouder" fx:id="webzichthouder" prefHeight="463.0" prefWidth="692.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="73.0">
<children>
<WebView fx:id="webzicht" prefHeight="471.0" prefWidth="617.0" HBox.hgrow="ALWAYS" />
</children>
</HBox>
</children>
</AnchorPane>
JavaFX ProgressIndicator - ProgessBar
Draai scene builder vanuit eclipse - Run scene builder from within eclipse.




FXML voorbeeld voor eclipse | FXML sample for eclipse



Wapenschild Hamerlinck


Wapenschild Hamerlinck
Wapenschild Hamerlinck

Zelf oefeningen maken :: educatie , talen , enquetes
Zelf invuloefeningen of multiple choice oefenningen maken op een eenvoudige manier.
Structuur en voorbeeldvideo
Link naar de oefening - formmaker
Kan gebruikt worden voor talen , quizvragen , algemene kennis.
ST. PATRICKS DAY PARADE
ST. PATRICKS DAY PARADE 2009
Free speech is sacred
Hulp programma voor het leren van vreemde talen.
Een handig hulpmiddel om dit doel te bereiken wordt geboden door het volgende html-javascript gereedschap.
Klik hier voor een voorbeeld van voorgeprogrammeerde oefeningen: Voorgeprogrameerde oefeningen
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 3.0 (Win32)">
<META NAME="AUTHOR" CONTENT="piet willems">
<META NAME="CREATED" CONTENT="17-02-2009">
<META NAME="CHANGED" CONTENT="0;0">
<style>
.mini{font-family:Tahoma; font-size:7pt;text-spacing:-1px;line-height:90%}
.display{font-size:26 ;font-family:Arial; font-weight : bold;text-align: center}
</style>
<script language=javascript>
var randomnr;
var timerboolean = false;
var teller = null;
var x=0,t=1;
var ingave;
var woordenschat;
var tijd,t;
var max;
var aantalzinnen=0;
function Initieergeordend(oef)
{
ingave = document.getElementById('bron').value;
woordenschat =document.getElementById('bron').value;
woordenschat=woordenschat.split(".");
tijd = document.getElementById('leesduur').value;
max= woordenschat.length;
document.getElementById('aantalzinnentekst').value = max;
aantalzinnen = document.getElementById('duuroefening').value; //100
if(timerboolean)
{
clearTimeout(teller);
timerboolean = false;
}
if (aantalzinnen==0)
{
StopTheClock();
alert("Einde van de oefening.");
}
else
{
aantalzinnen = aantalzinnen - 1;
timerboolean = true;
document.getElementById('displaycell').innerHTML=woordenschat[x];
t = woordenschat[x].length;
x=x+1;
document.getElementById('duuroefening').value=aantalzinnen;
tijd = tijd*t;
document.getElementById('berekendeleestijd').value=tijd;
teller = self.setTimeout("Initieergeordend()", tijd);
}
}
function Initieerwillekeurig()
{
ingave = document.getElementById('bron').value;
woordenschat =document.getElementById('bron').value;
woordenschat=woordenschat.split(".");
tijd = document.getElementById('leesduur').value;
max= woordenschat.length;
document.getElementById('aantalzinnentekst').value = max;
aantalzinnen = document.getElementById('duuroefening').value; //100
if(timerboolean)
{
clearTimeout(teller);
timerboolean = false;
}
if (aantalzinnen==0)
{
StopTheClock();
alert("Einde van de oefening.");
}
else
{
aantalzinnen = aantalzinnen - 1;
timerboolean = true;
randomnr = Math.random();
document.getElementById('displaycell').innerHTML=woordenschat[Math.ceil(randomnr*max)-1];
t = woordenschat[Math.ceil(randomnr*max)-1].length;
document.getElementById('duuroefening').value=aantalzinnen;
tijd = tijd*t;
document.getElementById('berekendeleestijd').value=tijd;
teller = self.setTimeout("Initieerwillekeurig()", tijd);
}
}
function StopTheClock()
{
if(timerboolean)
{
clearTimeout(teller);
timerboolean = false;
}
location.reload(true);
//alert("Einde van de oefening.")
}
function LaadOef1()
{
document.getElementById('bron').value=document.getElementById('oef1').value;
}
function LaadOef2()
{
document.getElementById('bron').value=document.getElementById('oef2').value;
}
function LaadOef3()
{
document.getElementById('bron').value=document.getElementById('oef3').value;
}
function LaadOef4()
{
document.getElementById('bron').value=document.getElementById('oef4').value;
}
function LaadOef5()
{
document.getElementById('bron').value=document.getElementById('oef5').value;
}
function LaadOef6()
{
document.getElementById('bron').value=document.getElementById('oef6').value;
}
function laadinstructies()
{
document.getElementById('bron').value="Plak hier uw tekst of gebruik één van onderstaande knoppen die een voorbeeldtekst laden.\rNieuwe tekst laden:\rdruk Stop | druk Reset | plak nieuwe tekst | Start geordend/willekeurig";
}
</script>
</head>
<body onload=laadinstructies()>
<table border="0" width="100%">
<tr>
<td bgcolor="#3C0000" style="border: 1px solid #000000; ">
<b>
<font face="Arial" color="#FFFFFF">Oefen- en Hulpgereedschap : Leren lezen in
een vreemde taal. Leer uw woordenschat : Leer gezegden en uitdrukkingen.</font></b></td>
</tr>
<tr>
<td id="displaycell" class="display" height="151" style="border: 1px solid #C0C0C0">
</td>
</tr>
<tr>
<td></td>
</tr>
</table>
<table border="0" width="100%" style="border: 1px solid #6C3600" bgcolor="#FF8C1A">
<tr>
<td width="81" valign="bottom">
<input type="button" value="Start geordend" name="B4" onclick=Initieergeordend()></td>
<td width="81" valign="bottom">
<input type="button" value="Start willekeurig" name="B7" onclick=Initieerwillekeurig()></td>
<td width="56" valign="bottom">
<input type="button" value="Stop" name="B5" onclick=(StopTheClock())></td>
<td width="166" valign="bottom">
<b>
<font face="Arial" size="1">Aantal keer oefenen </font>
</b>
<input id="duuroefening" value="10" size="6" name="duuroefening"></td>
<td width="117" valign="bottom">
<p align="left"><b><font face="Arial" size="1">Leestijd </font>
</b>
<input id="leesduur" value="70" size="6" name="leesduur"></td>
<td valign="bottom" width="132"><font size="1" face="Arial">Aantal
zinnen in de tekst</font></td>
<td valign="bottom" width="63">
<!--webbot bot="Validation" s-data-type="Number" s-number-separators="x," --><input id="aantalzinnentekst" value="0" size="6" name="randomkeuze" style="border: 1px solid #800000"></td>
<td valign="bottom" width="115">
<p align="right"><font size="1" face="Arial">Berekende leestijd :</font></td>
<td valign="bottom">
<!--webbot bot="Validation" s-data-type="Number" s-number-separators="x," --><input id="berekendeleestijd" size="6" name="randomkeuze0" style="border: 1px solid #800000"></td>
</tr>
</table>
<table border="0" width="100%" cellspacing="5" style="border-left-style: solid; border-left-width: 1px; border-right-style: solid; border-right-width: 1px; border-top-width: 1px; border-bottom-style: solid; border-bottom-width: 1px">
<tr>
<td>
<input type="button" value="Moeilijke woorden" name="B12" onclick=LaadOef1()></td>
<td>
<input type="button" value="Spreekwoorden A" name="B13" onclick=LaadOef2()></td>
<td>
<input type="button" value="Leesoef. 1" name="B14" onclick=LaadOef3()></td>
<td>
<input type="button" value="Leesoef.2" name="B15" onclick=LaadOef4()></td>
<td>
<input type="button" value="Leesoef.3" name="B16" onclick=LaadOef5()></td>
<td>
<input type="button" value="Leesoef.4" name="B17" onclick=LaadOef6()></td>
</table>
<p> </p>
<p align="center"><font face="Arial">
<textarea rows="10" name="S7" cols="91" id="bron" style="border: 1px solid #510000; ">
</textarea></font></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<form method="POST">
<TABLE height="255" width="100%" cellspacing="0" >
<TR>
<TD HEIGHT=19 ALIGN=LEFT bgcolor="#3C0000"><b>
<font face="Arial" size="2" color="#FFFFFF">Data Oefeningen</font></b></TD>
</TR>
<TR>
<TD HEIGHT=230 ALIGN=LEFT>
<p><font face="Arial">
<textarea rows="10" name="S1" cols="30" id="oef1" style="border: 1px solid #510000; ">
PLAK HIER DE TEKST VOOR OEFENING 1. OPGELET : VERGEET HET "PUNT"-LEESTEKEN NIET. DIT TEKEN WORDT GEBRUIKT OM DE ZINNEN TE SCHEIDEN.
Nadien deze code opslaan als "uwnaam.html", dus als een html-bestand.
</textarea>
<textarea rows="10" name="S3" cols="30" id="oef3" style="border: 1px solid #510000; ">
PLAK HIER DE TEKST VOOR OEFENING 2. OPGELET : VERGEET HET "PUNT"-LEESTEKEN NIET. DIT TEKEN WORDT GEBRUIKT OM DE ZINNEN TE SCHEIDEN.
Nadien deze code opslaan als "uwnaam.html", dus als een html-bestand.
</textarea><br>
<textarea rows="10" name="S3" cols="30" id="oef3" style="border: 1px solid #510000; ">
PLAK HIER DE TEKST VOOR OEFENING 3. OPGELET : VERGEET HET "PUNT"-LEESTEKEN NIET. DIT TEKEN WORDT GEBRUIKT OM DE ZINNEN TE SCHEIDEN.
Nadien deze code opslaan als "uwnaam.html", dus als een html-bestand.
</textarea><br>
<textarea rows="10" name="S4" cols="30" id="oef4" style="border: 1px solid #510000; ">
PLAK HIER DE TEKST VOOR DE OEFENING 4. OPGELET : VERGEET HET "PUNT"-LEESTEKEN NIET. DIT TEKEN WORDT GEBRUIKT OM DE ZINNEN TE SCHEIDEN.
Nadien deze code opslaan als "uwnaam.html", dus als een html-bestand.
</textarea>
<textarea rows="10" name="S5" cols="30" id="oef5" style="border: 1px solid #510000; ">
PLAK HIER DE TEKST VOOR OEFENING 5. OPGELET : VERGEET HET "PUNT"-LEESTEKEN NIET. DIT TEKEN WORDT GEBRUIKT OM DE ZINNEN TE SCHEIDEN.
Nadien deze code opslaan als "uwnaam.html", dus als een html-bestand.
</textarea>
<textarea rows="10" name="S6" cols="30" id="oef6" style="border: 1px solid #510000; ">
PLAK HIER DE TEKST VOOR OEFENING 6. OPGELET : VERGEET HET "PUNT"-LEESTEKEN NIET. DIT TEKEN WORDT GEBRUIKT OM DE ZINNEN TE SCHEIDEN.
Nadien deze code opslaan als "uwnaam.html", dus als een html-bestand.
</textarea></font></p>
</TD>
</TR>
</TABLE>
<TABLE height="18" width="100%" cellspacing="0" >
<TR>
<TD HEIGHT=18 ALIGN=LEFT bgcolor="#3C0000">
<p align="center">
</TD>
</TR>
</TABLE>
</form>
</body>
</html>
Klik hier voor een voorbeeld van : Copy en past voorbeeld
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 3.0 (Win32)">
<META NAME="AUTHOR" CONTENT="piet willems">
<META NAME="CREATED" CONTENT="17-02-2009">
<META NAME="CHANGED" CONTENT="0;0">
<style>
.mini{font-family:Tahoma; font-size:7pt;text-spacing:-1px;line-height:90%}
.display{font-size:26 ;font-family:Arial; font-weight : bold;text-align: center}
</style>
<script language=javascript>
var randomnr;
var timerboolean = false;
var teller = null;
var x=0,t=1;
var ingave;
var woordenschat;
var tijd;
var irish = "An Irish Tale.As I returned from the tavern the other night.I beheld in the forest a beautiful sight.Sitting upon a fallen log he was;I could hardly believe me luck!.Of all good things to stumble upon.There in the wood, a wee Leprechaun!.Quiet as a mouse I crept up close.Still he sat, rubbing his toes.His long white beard flowed to the ground.Up I crept with nary a sound.Intent I was to grab and hold fast.This lucky Leprechaun so finally at last.I would have me three wishes and be myself told.The secret hiding place of his pot o' gold.A rich man, indeed; Rich I would be.So long as he didn't get away from me.Up I jumped when I got within reach.The wee green man let out a screech.By the coattails I had him; I tell you I did!.But somehow by magic he slipped me grip!.Off he ran, quick as a whip;The little feller gave me the slip.So now here I be poor as ever I've been.And do never expect such a chance again.But now when I travel after the sun is gone.I be hearing the laughter of a Leprechaun.";
var scottish = "FROG AND CROW.'Ghille Criosda mhic Dhughail cuir a nois do mhàg'.Christ's servant, son of Dugald, put up thy paw.'Tha eagal orm, tha eagal orm, tha eagal orm'.I fear.'Gheibh thu còta gorm a's léine. Gheibh thu còta gorm a's léine'.Thou shalt have a blue coat and a shirt.Then the frog put up his hand and the hoodie took him to a hillock and began to eat him, saying,'Biadh dona lom! 's bu dona riabh thu'.Bad bare meat and bad wert thou ever.'Caite bheil do ghealladh math a nis?' said the frog.Where is thy good promise now?.'Sann ag ol a bha sinn an latha sin. Sann ag ol a bha sinn an latha sin'.It is drinking we were on that day.'Toll ort a ruid ghrannda gur beag feola tha air do chramhan'.'Toll ort!' said the hoodie.A hole in thee, ugly thing! how little flesh is on thy bones.";
var spaans = "En el cuarto de los niños.Papá, mamá y todos los hermanitos habían ido a ver la comedia; Anita y su padrino quedaron solos en casa.También nosotros tendremos nuestra comedia - dijo el padrino -. Manos a la obra.Pero no tenemos teatro - replicó la pequeña Anita -, ni nadie que haga de cómico. Mi vieja muñeca es demasiado fea, y no quiero que se arrugue el vestido de la nueva.Cómicos siempre hay, si nos contentamos con lo que tenemos - dijo el padrino -.Ante todo vamos a construir el teatro. Pondremos aquí un libro, allí otro, y un tercero atravesado. Ahora tres del otro lado; ya tenemos los bastidores.Aquella caja vieja podrá servirnos de fondo; pondremos la base hacia fuera. La escena representa una habitación, esto está claro. Dediquémonos ahora a los personajes. Veamos qué hay en la caja de los juguetes. Primero los personajes, después la obra; cuando tengamos los primeros, la otra vendrá por sí sola, y la cosa saldrá que ni pintada. Aquí hay una cabeza de pipa, y allí un guante sin pareja; podrán ser padree hija.";
var deutsch = "IM WALD.Über dem Hohlweg ein dunkler Saum aus Brombeergestrüpp und Haselsträuchern. Unten ein Schnauben, ein klirrendes Geräusch wie von Kettengliedern. Ein dumpfer, wuchtiger Schlag auf eine Planke. Und wieder flirrende Stille. Oben im Gebüsch fassen spitze Finger eine Dornenranke. Schieben sie, biegen sie sorgsam zur Seite. Da späht ein Mausgesicht hervor; das ist Alban.Der Junge musterte Gespann und Fuhrwerk drunten im Sand. Die Zugtiere standen breitbeinig und schwer, mit tief gesenkten Häuptern. Wie Spielzeug die Ladung: Fässer, Kisten, braune Säcke. Am Kutschbock steckte eine Peitsche. Kein Fahrer zu sehen, doch der tauchte gewiß wieder auf. Das Gefährt stand da wie gerufen; Alban hatte es sich so sehr gewünscht. Wohin die Reise ging? Das war ihm egal.";
var nederlands = "Nel : door Desirée Roggen, 13 jaar.Piet zit aan de rand van het meer, zijn armen om zijn benen geklemd. Wat hij drie jaar geleden heeft meegemaakt heeft hem nog steeds niet losgelaten. Dat zijn beste vriend Willem zoiets heeft kunnen doen. Hij wist dat Willem haar verafschuwde, maar dan nog is het iets vreselijk. Hij heeft nu een meisje ontdekt dat op haar lijkt. Meteen moest hij weer aan haar denken. Zou ze het toestaan als hij met haar verkering zou nemen? Hij wist niet wat hij moest doen. Hij sloot zijn ogen. Hij moest terug denken aan de tijd dat hij haar ontmoette en haar ook weer verloor. Het meisje zonder moeder, het meisje waar hij van hield, Nel.Nel liep het café binnen. Daar zat Piet ook. Hij zag het meisje naar binnen lopen. Ze was mooi. Ze had lange zwarte haren, een rond gezichtje en was niet erg groot. Wat hem aan haar opviel waren die grote bruine ogen. Ze leerden elkaar al sNel kennen. Nel de heks en Piet de onervaren tovenaar. 'Ik leer je, je kunsten beheersen.' had ze tegen hem gezegd. Erg veel magie had ze zelf niet, maar wist wel hoe ze Piet zijn krachten moest leren. Elke dag kwamen ze bij elkaar. In het begin voor de lessen later voor wel meer dingen. Piet praatte vaak met zijn beste vriend Willem over haar, maar hij zei niet dat hij met haar omging. Willem had een grote afschuw van Nel. ";
var max;
var aantalzinnen=0;
function Initieergeordend()
{
ingave = document.getElementById('bron').value;
woordenschat =document.getElementById('bron').value;
woordenschat=woordenschat.split(".");
tijd = document.getElementById('leesduur').value;
max= woordenschat.length;
document.getElementById('zinnenintekst').value=max+1;
aantalzinnen = document.getElementById('duuroefening').value; //100
if(timerboolean)
{
clearTimeout(teller);
timerboolean = false;
}
if (aantalzinnen==0)
{
StopTheClock();
alert("Einde van de oefening.");
}
else
{
aantalzinnen = aantalzinnen - 1;
timerboolean = true;
document.getElementById('displaycell').innerHTML=woordenschat[x];
t = woordenschat[x].length;
x=x+1;
tijd=tijd*t
document.getElementById('berekendeleestijd').value=tijd;
document.getElementById('duuroefening').value=aantalzinnen;
teller = self.setTimeout("Initieergeordend()", tijd);
}
}
function Initieerwillekeurig()
{
ingave = document.getElementById('bron').value;
woordenschat =document.getElementById('bron').value;
woordenschat=woordenschat.split(".");
tijd = document.getElementById('leesduur').value;
max= woordenschat.length;
document.getElementById('zinnenintekst').value=max+1;
aantalzinnen = document.getElementById('duuroefening').value; //100
if(timerboolean)
{
clearTimeout(teller);
timerboolean = false;
}
if (aantalzinnen==0)
{
StopTheClock();
alert("Einde van de oefening.");
}
else
{
aantalzinnen = aantalzinnen - 1;
timerboolean = true;
randomnr = Math.random();
document.getElementById('displaycell').innerHTML=woordenschat[Math.ceil(randomnr*max)-1];
t = woordenschat[Math.ceil(randomnr*max)-1].length;
tijd=tijd*t;
document.getElementById('berekendeleestijd').value=tijd;
document.getElementById('duuroefening').value=aantalzinnen;
teller = self.setTimeout("Initieerwillekeurig()", tijd);
}
}
function StopTheClock()
{
if(timerboolean)
{
clearTimeout(teller);
timerboolean = false;
}
location.reload(true);
//alert("Einde van de oefening.")
}
function LaadIrish()
{
document.getElementById('bron').value=irish;
}
function LaadScottish()
{
document.getElementById('bron').value=scottish;
}
function LaadDeutsch()
{
document.getElementById('bron').value=deutsch;
}
function LaadNederlands()
{
document.getElementById('bron').value=nederlands;
}
function LaadSpaans()
{
document.getElementById('bron').value=spaans;
}
function laadinstructies()
{
document.getElementById('bron').value="Plak hier uw tekst of gebruik één van onderstaande knoppen die een voorbeeldtekst laden.rNieuwe tekst laden:rdruk Stop | druk Reset | plak nieuwe tekst | Start geordend/willekeurig";
}
</script>
</head>
<body onload=laadinstructies()>
<table border="0" width="100%">
<tr>
<td bgcolor="#3C0000" style="border: 1px solid #000000; ">
<b>
<font face="Arial" color="#FFFFFF">Oefen- en Hulpgereedschap : Leren lezen in
een vreemde taal. Leer uw woordenschat : Leer gezegden en uitdrukkingen.</font></b></td>
</tr>
<tr>
<td id="displaycell" class="display" height="151" style="border: 1px solid #C0C0C0">
</td>
</tr>
<tr>
<td></td>
</tr>
</table>
<table border="0" width="100%" style="border: 1px solid #6C3600" bgcolor="#FF8C1A">
<tr>
<td width="81" valign="bottom">
<input type="button" value="Start geordend" name="B4" onclick=Initieergeordend()></td>
<td width="81" valign="bottom">
<input type="button" value="Start willekeurig" name="B7" onclick=Initieerwillekeurig()></td>
<td width="56" valign="bottom">
<input type="button" value="Stop" name="B5" onclick=(StopTheClock())></td>
<td width="166" valign="bottom">
<font face="Arial" size="1"><b>Aantal keer oefenen</b> </font>
<input id="duuroefening" value="10" size="6" name="duuroefening"></td>
<td width="117" valign="bottom">
<p align="left"><b><font face="Arial" size="1">Leestijd </font>
</b>
<input id="leesduur" value="70" size="6" name="leesduur"></td>
<td valign="bottom" width="132"><font size="1" face="Arial">Aantal
zinnen in de tekst</font></td>
<td valign="bottom" width="63">
<input id="zinnenintekst" value="0" size="6" name="randomkeuze" style="border: 1px solid #800000"></td>
<td valign="bottom" width="144">
<p align="right"><font size="1" face="Arial">Berekende leestijd :</font></td>
<td valign="bottom">
<!--webbot bot="Validation" s-data-type="Number" s-number-separators="x," --><input id="berekendeleestijd" size="6" name="randomkeuze0" style="border: 1px solid #800000"></td>
</tr>
</table>
<form id = "ingaveform" method="POST">
<TABLE height="255" width="100%" cellspacing="0" >
<TR>
<TD HEIGHT=19 ALIGN=LEFT bgcolor="#3C0000"><b>
<font face="Arial" size="2" color="#FFFFFF">Ingaveveld</font></b></TD>
</TR>
<TR>
<TD HEIGHT=230 ALIGN=LEFT>
<p align="center"><font face="Arial">
<textarea rows="10" name="S1" cols="114" id="bron" style="border: 1px solid #510000; ">
</textarea></font></p>
</TD>
</TR>
</TABLE>
<TABLE height="18" width="100%" cellspacing="0" >
<TR>
<TD HEIGHT=18 ALIGN=LEFT bgcolor="#3C0000" width="204">
<p align="center">
<font face="Arial">
<input type="reset" value="reset" name="B2" style="float: left"></font></TD>
<TD HEIGHT=18 ALIGN=LEFT bgcolor="#3C0000" width="57">
<font face="Arial">
<input type="button" value="Irish" name="B6" onclick=LaadIrish()></font></TD>
<TD HEIGHT=18 ALIGN=LEFT bgcolor="#3C0000" width="88">
<font face="Arial">
<input type="button" value="Scottish" name="B8" onclick=LaadScottish()></font></TD>
<TD HEIGHT=18 ALIGN=LEFT bgcolor="#3C0000" width="80">
<font face="Arial">
<input type="button" value="Deutsch" name="B9" onclick=LaadDeutsch()></font></TD>
<TD HEIGHT=18 ALIGN=LEFT bgcolor="#3C0000" width="91">
<font face="Arial">
<input type="button" value="Español" name="B10" onclick=LaadSpaans()></font></TD>
<TD HEIGHT=18 ALIGN=LEFT bgcolor="#3C0000">
<font face="Arial">
<input type="button" value="Nederlands" name="B11" onclick=LaadNederlands()></font></TD>
</TR>
</TABLE>
</form>
</body>
</html>
Javascript :: tekst sorteren op unieke woorden :: sort text
In de huidige code worden enkel de volgende tekens weggeflterd. Indien je ook andere tekens wil elimineren moet fe deze code aanpassen :
var chars = new Array(''','<','>','-','(',')','{','}','"','.','?','¿','¡','!',':',';',',');
De volledige code kan je copieëren in de hier onderstaande tabel.Wil je een werkend voorbeeld thuis op je pc copieer dan de code,plak deze in je kladblok en je bewaart het bestand als een HTML - bestand.
Test de code :: druk hier
Javascript that separates all the
words in a text , deletes the duplicates and sorts the remaining words.
In the current code, only the following characters are filtered. If you want to
filter other characters out of the result, you must adapt the following code :
var chars = new Array (''','<','>','-','(',')','{','}','"','.','?',
'¿','¡','!',':',';',',');
You can copy the full code in the table below..
Test the code here: Click here
Javascript que separa todas las
palabras en un texto, elimina los duplicados y ordenar todas las palabras.
En el código actual, sólo los siguientes caracteres son filtrados. Si no desea otros caracteres en el resultado, usted debe adaptar el siguiente código:
var caracteres = new Array (''','<','>','-','(',')','{','}','"','.','?',
'¿','¡','!',':',';',',');
Puede copiar el código completo en el cuadro que figura a continuación
..
Probar el código aquí:
Click aqui
Code sorteer tekst : sort text :: javascript
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 3.0 (Win32)">
<META NAME="AUTHOR" CONTENT="piet willems">
<META NAME="CREATED" CONTENT="20081112;20170300">
<META NAME="CHANGED" CONTENT="0;0">
<style>
.schrijfstijl{border: 1px solid #4D636F; font-family:Tahoma; font-size:10pt}
.mini{font-family:Tahoma; font-size:7pt;text-spacing:-1px;line-height:90%}
</style>
<script language=javascript>
function splitsource(){
var temp,temptemp;
var defstring;
var tempsplit = new Array(); // final array
var split = new Array();
temp = document.sourceform.source.value;
temp = temp.toLowerCase();
temp=temp.split("\n");
for(var i=0;i<temp.length;i++){
temp[i] = removechars(temp[i]);
temptemp = temp[i].split(" ");
// second split on every space in the frase.
tempsplit = tempsplit.concat(temptemp);
// add the second split to the final array.
}
tempsplit.sort();
tempsplit = RemoveDuplicates(tempsplit);
//make tempsplit array displayable:
for(i=0;i<tempsplit.length;i++){
split = split+tempsplit[i]+"<br>";
}
document.getElementById('result').className = 'schrijfstijl';
document.getElementById('result').innerHTML = split; //
}
function removechars(string){
var chars = new Array(',','\r','\n','\'','<','>','-','(',')','{','}','"','.','?','¿','¡','!',':',';',',');
// add (or change) here char's to the array if other char's need to be
// removed.
for(var c=0;c<chars.length;c++){
string = string.replace(chars[c]," ");
}
return string;
}
function RemoveDuplicates(arr){
var result=new Array(); // remove the doubles
var lastValue="";
for (var i=0; i<arr.length; i++)
{
var curValue=arr[i];
if (curValue != lastValue)
{
result[result.length] = curValue;
}
lastValue=curValue;
}
return result;
// return this result to the array : tempsplit.
}
</script>
</HEAD>
<BODY TEXT="#000000">
<TABLE >
<TR>
<TD WIDTH=522 HEIGHT=18 ALIGN=LEFT bgcolor="#990000"><u><b>
<font face="Arial" size="2" color="#FFFFFF">Javascript </font></b></u></TD>
</TR>
<TR>
<TD WIDTH=522 HEIGHT=334 ALIGN=LEFT>
<dl>
<dt><font face="Arial" size="2">Deze code leest het ingaveveld =
brontekst , sorteert de brontekst en verwijderd de
dubplicaatwoorden.</font></dt>
<dt><font face="Arial" size="2">vb: </font></dt>
<dt><font face="Arial" size="2">Copier de volgende tekst en plak hem
onderin het iingaveveld.</font></dt>
<dt><font face="Arial" size="2">Druk nadien de "Verwerk" -knop.</font></dt>
</dl>
<table border="0" cellpadding="5" cellspacing="0" width="400">
<tr>
<td align="left" valign="top" bgcolor="#CED8C5" style="border: 1px solid #4F6949">
<textarea rows="8" name="S1" cols="61" id="source" style="border: 1px solid #687D55">Je kan niet voorstellen
hoe de mensen de laatste tijd worden belogen
hoe ze worden bedrogen
hoe ze worden veracht en vernederd,
alleen nog in wat ze opbrengen
is er nog belangstelling.</textarea> </td>
</tr>
</table>
</TD>
</TR>
<TR>
<TD HEIGHT=18 ALIGN=LEFT bgcolor="#990000"><b>
<font face="Arial" size="2" color="#FFFFFF">Ingaveveld</font></b></TD>
</TR>
<TR>
<TD HEIGHT=154 ALIGN=LEFT>
<form method="POST" name="sourceform" action="">
<p><textarea rows="4" name="S1" cols="62" id="source"></textarea></p>
<input type="button" value="Verwerk" name="B1" onclick="splitsource()">
<input type="reset" value="reset" name="B2">
</form>
<p> </TD>
</TR>
<TR>
<TD HEIGHT=18 ALIGN=LEFT bgcolor="#990000"><b>
<font face="Arial" size="2" color="#FFFFFF">Resultaat</font></b></TD>
</TR>
<TR>
<TD HEIGHT=40 ALIGN=LEFT id="result"> </TD>
</TR>
<TR>
<TD HEIGHT=21 ALIGN=LEFT> </TD>
</TR>
</TABLE>
</BODY>
</HTML>
onze tuin














Aston Ariel op bezoek





Hulpprogramma's :: Lezen | RSS - Nieuws
Presentationmodel :: buffered model :: RiverLayout


CustomerBean.java Structure
package samples.s01
CustomerBean.java
PresentationModelBuild.java
CustomerPresentationModel.java
CustomBeanlaunch.java
----------------------------------------------------------------
CustomerBean.java
-----------------------------------------------------------------
package samples.s01;
*
* Copyright (c) 2008 willems piet pwProTech All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
*/
import com.jgoodies.binding.beans.Model;
public class CustomerBean extends Model {
public static final String NAME_PROPERTY = "name";
public static final String OCCUPATION_PROPERTY = "occupation";
private String name;
private String occupation;
public String getName() {
return name;
}
public void setName(String name) {
String oldValue = name;
this.name = name;
firePropertyChange(NAME_PROPERTY, oldValue, name);
}
public String getOccupation() {
return occupation;
}
public void setOccupation(String occupation) {
String oldValue = occupation;
this.occupation = occupation;
firePropertyChange(OCCUPATION_PROPERTY, oldValue, occupation);
}
}
PresentationModelBuild.java
package samples.s01;
*
* Copyright (c) 2008 willems piet pwProTech All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
*/
import java.awt.Color;
import java.awt.Dimension;
import java.awt.TextField;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import se.datadosen.component.RiverLayout;
import com.jgoodies.binding.adapter.BasicComponentFactory;
public class PresentationModelBuild extends JPanel {
static JTextField nameInput,occupationInput;
static JButton commitButton;
static JButton resetButton;
JButton sendButton;
static CustomerPresentationModel presentationModel;
public void createComponents() {
presentationModel = new CustomerPresentationModel(
new CustomerBean());
nameInput = BasicComponentFactory.createTextField(presentationModel
.getBufferedModel(CustomerBean.NAME_PROPERTY));
occupationInput = BasicComponentFactory
.createTextField(presentationModel
.getBufferedModel(CustomerBean.OCCUPATION_PROPERTY));
commitButton = new JButton(presentationModel.getCommitAction());
resetButton = new JButton(presentationModel.getResetAction());
sendButton = new JButton(presentationModel.getSendAction());
}
public void constructGui() {
JFrame frame = new JFrame();
JPanel CustomBeanFrm = new JPanel();
frame.getContentPane().setLayout(new RiverLayout());
frame.getContentPane().add(CustomBeanFrm);
CustomBeanFrmGui(CustomBeanFrm);
commitButton.setEnabled(false);
commitButton.setEnabled(false);
frame.pack();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setVisible(true);
}
private void CustomBeanFrmGui(JPanel CustomBeanFrm) {
createComponents();
CustomBeanFrm.setLayout(new RiverLayout());
CustomBeanFrm.add("br left", new JLabel("PresentationModel"));
CustomBeanFrm.add("br hfill", separator(Color.RED));
CustomBeanFrm.add("br", new JLabel("Name"));
CustomBeanFrm.add("tab hfill", nameInput);
CustomBeanFrm.add("br", new JLabel("Occupation"));
CustomBeanFrm.add("tab hfill", occupationInput);
CustomBeanFrm.add("br hfill", separator(Color.GRAY));
CustomBeanFrm.add("p br left", resetButton); // The button ins't really located to the left side
CustomBeanFrm.add("center", sendButton);
CustomBeanFrm.add("right", commitButton);
CustomBeanFrm.add("br hfill", separator(Color.GRAY));
}
public static void clearForm() {
commitButton.setEnabled(false);
nameInput.setText("");
occupationInput.setText("");
}
private static TextField separator(Color c) {
TextField separator = new TextField();
separator.setBackground(c);
separator.setPreferredSize(new Dimension(20, 2));
return separator;
}
}
CustomerPresentationModel.java
package samples.s01;
*
* Copyright (c) 2008 willems piet pwProTech All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
*/
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import com.jgoodies.binding.PresentationModel;
public class CustomerPresentationModel extends PresentationModel {
private static final long serialVersionUID = 1L;
CommitAction commitAction;
ResetAction resetAction;
SendAction sendAction;
ClearAction clearAction;
private final CustomerBean customerBean;
@SuppressWarnings("unchecked")
public CustomerPresentationModel(CustomerBean customerBean) {
super(customerBean);
this.customerBean = customerBean;
commitAction = new CommitAction();
resetAction = new ResetAction();
sendAction = new SendAction();
clearAction = new ClearAction();
}
public Action getCommitAction() {
return commitAction;
}
public Action getSendAction() {
return sendAction;
}
public Action getResetAction() {
return resetAction;
}
public Action getClearAction() {
return clearAction;
}
private class CommitAction extends AbstractAction {
/**
*
*/
private static final long serialVersionUID = 1L;
public CommitAction() {
super("Commit");
}
public void actionPerformed(ActionEvent e) {
triggerCommit();
//getBean();
displayBufferAndBean("COMMIT action:");
PresentationModelBuild.clearForm();// disable commitbutton
}
}
private class SendAction extends AbstractAction {
public SendAction() {
super("Send");
}
public void actionPerformed(final ActionEvent e) {
// getBean();
if (PresentationModelBuild.resetButton.isEnabled()) {
PresentationModelBuild.resetButton.setEnabled(true);
}
if (isBuffering()) {
PresentationModelBuild.commitButton.setEnabled(true);
displayBufferAndBean("SEND Bufferd :true :: Not yet committed");
} else {
PresentationModelBuild.commitButton.setEnabled(false);
displayBufferAndBean("SEND Bufferd :true :: yet Committed");
//Bufferd still true so by a reset the bufferd values are still available
}
}
}
private class ResetAction extends AbstractAction {
public ResetAction() {
super("Reset");
}
public void actionPerformed(ActionEvent e) {
// release():
// Removes the PropertyChangeHandler from the observed bean, if the
// bean is not null. Also removes all listeners from the bean that
// have been registered with #addBeanPropertyChangeListener before.
if (isBuffering()) {
triggerFlush();
resetChanged();
System.out.println("RESET action : If changes : Previous restored");
PresentationModelBuild.commitButton.setEnabled(false);
}
}
}
private class ClearAction extends AbstractAction {
// Not Used
public ClearAction() {
super("Clear Form");
}
public void actionPerformed(ActionEvent e) {
PresentationModelBuild.resetButton.setEnabled(false);
PresentationModelBuild.clearForm();
System.out.println("clearform");
}
}
private void displayBufferAndBean(String buffering) {
System.out.println("" + "Result " + buffering + "\n"
+ "-------------------------------------------------\n"
+ "Bufferd values :" + "\n"
+ "Buffered beanvalue name :" + getBufferedValue("name") + "\n"
+ "Buffered beanvalue occupation :"+ getBufferedValue("occupation") + "\n"
+ "" + "\n"
+ "Bean values :" + "\n"
+ "CustomerBean value name :" + customerBean.getName() + "\n"
+ "CustomerBean value occupation :" + customerBean.getOccupation() + "\n"
+ "---------------------------------------------------");
}
}
CustomBeanlaunch.java
--------------------------------------------------------------------------------------------
package samples.s01;
*
* Copyright (c) 2008 willems piet pwProTech All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
*/
public class CustomBeanlaunch {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PresentationModelBuild pme = new PresentationModelBuild();
pme.constructGui();
}
}
RESULTAAT
Result SEND Bufferd :true :: Not yet committed
-------------------------------------------------
Bufferd values :
Buffered beanvalue name :piet
Buffered beanvalue occupation :job
Bean values :
CustomerBean value name :null
CustomerBean value occupation :null
---------------------------------------------------
RESET action : If changes : Previous restored
Result SEND Bufferd :true :: Not yet committed
-------------------------------------------------
Bufferd values :
Buffered beanvalue name :piet
Buffered beanvalue occupation :job
Bean values :
CustomerBean value name :null
CustomerBean value occupation :null
---------------------------------------------------
Result COMMIT action:
-------------------------------------------------
Bufferd values :
Buffered beanvalue name :piet
Buffered beanvalue occupation :job
Bean values :
CustomerBean value name :piet
CustomerBean value occupation :job
---------------------------------------------------
Tags :: RiverLayout , JGoodies , Valueholder , bindings, formmodel , model , sample, samples, java

