[JavaScript] 02 JavaFX イベントハンドラの作成

FXMLファイルにおいて、イベントハンドラによるボタン押下時の動作内容等の設定はJavaScriptやJythonなどJSR 223にあるスクリプト言語でできるようです。

とりあえずJavaScriptで簡単なイベントを書いてみました。さてJythonの場合はどうすればいいのでしょう。

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

<?language javascript?>
<?import javafx.scene.effect.*?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>

<AnchorPane prefHeight="125.0" prefWidth="300.0" style="-fx-background-color: khaki;" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
	<fx:script>
		function onButton1Action(){
			text1.setText("JavaScriptテスト");
		}
	</fx:script>
	<children>
     	<Label layoutX="14.0" layoutY="15.0" prefHeight="44.0" prefWidth="69.0" text="Path" />
     	<Label layoutX="14.0" layoutY="64.0" prefHeight="44.0" prefWidth="69.0" text="文字コード" />

     	<TextField fx:id="text1" layoutX="49.0" layoutY="24.0" prefHeight="27.0" prefWidth="175.0" />
     	<TextField fx:id="text2" layoutX="90.0" layoutY="73.0" prefHeight="27.0" prefWidth="135.0" />

		<Button fx:id="button1" layoutX="240.0" layoutY="24.0" mnemonicParsing="false" onAction="onButton1Action(event);" text="判定" />
     	<Button fx:id="button2" layoutX="237.0" layoutY="69.0" mnemonicParsing="false" prefHeight="35.0" prefWidth="51.0" text="変換" />
	</children>
</AnchorPane>

[JavaScript] 01 標準入力取得

Javaを本格的に学び始めて3週間が経過し、初級者なりのコードが書けるようになりました。

次はこれまで無意識に遠ざけていたJavaScriptの学習に着手します。Python、Javaに次ぐ私の第3言語にしたいと考えています。WordPressやMySQLの管理で役に立ちそうなPHPまであわよくば手を伸ばして4言語を駆使するようになるのが当面の目標です。

学習内容はJavaと同じく競馬DBを使った検索アプリの作成です。

まずは標準入力の取得です。

PythonやJavaと比較しながらマイペースで進めていきます。

console.log("競走馬名を入力してください");

var input = require("fs").readFileSync("/dev/stdin", "utf8");
console.log(input)