package com.lodgon.chatfx; import com.lodgon.chatfx.ChatHistoryBox; import com.lodgon.chatfx.ChatReader; import com.lodgon.chatfx.ChatWriter; import java.lang.Object; import javafx.ext.swing.SwingButton; import javafx.ext.swing.SwingTextField; import javafx.lang.FX; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.scene.Scene; import javafx.stage.Stage; var inputText: SwingTextField = SwingTextField { columns: 40 text: "" editable: true }; var sendButton: SwingButton = SwingButton { text: "talk!" action: function() { send (inputText.text); inputText.text = ""; } onKeyTyped: function( e: KeyEvent ):Void { if (e.code == KeyCode.VK_ENTER) { send (inputText.text); inputText.text = ""; } } } function doStartReader () :Void { var creader: ChatReader = ChatReader { chatHistoryBox: chatHistory } } var chatHistory: ChatHistoryBox = ChatHistoryBox { } function send (entry : String) : Void { var cwriter: ChatWriter = ChatWriter { line: entry; } // cwriter.write(entry); } function run () { Stage { title: "LodgON ChatFX", width: 650 height: 600 scene: Scene { content: [ VBox { spacing: 10 content: [ HBox { spacing: 10 content: [ inputText sendButton ] } chatHistory ] } ] } } FX.deferAction(doStartReader); }