Tag: tornadofx

CellCache在TableView中用tornadoFX意外渲染

我只是困惑于与Kotlin的cellCache函数的使用。 渲染总是奇怪而且意想不到,那会发生什么? 代码在这里: data class Person(var name : String, var age : Int, var sex : Boolean) class MyView: View() { val list = listOf( Person(“Name A”, 20, false), Person(“Name B”, 22, false), Person(“Name C”, 21, true), Person(“Name D”, 30, true), Person(“Name E”, 35, true) ).observable() override val root = stackpane { vbox { tableview(items […]

TornadoFX找不到JavaFx

我正在尝试使用TotrnadoFx的第一个应用程序,所以我开始使用这个代码: package no.tornado.fxsample.workspace import javafx.application.Application import tornadofx.* fun main(args: Array) = launch(args) class MyApp: App(MyView::class) class MyView: View() { override val root = VBox() init { with(root) { this += Button(“Press Me”) this += Label(“Waiting”) } } } 但显然它充满了错误,并没有能够findJavaFX 我的gradle.build是: // set up the kotlin-gradle plugin buildscript { ext.kotlin_version = ‘1.1.60’ repositories { mavenLocal() // […]

将视图绑定到更改的控制器属性

我在TornadoFX图书馆工作在Kotlin。 想象一下你有一个工具栏,显示当前视图有用的工具。 所以我们有一个MainController,它有一个subController属性,它是工具栏旁边一些视图的控制器。 所以如果我们的子控制器改变,视图应该更新。 此外,如果子控制器的任何属性(例如selectedTool,tools)发生更改,则工具栏应相应更新。 暂时,工具栏不更新。 class ToolBar : View(“Tool bar”) { private val controller: MainController by inject() override val root = vbox { tilepane { for (tool in controller.subController.tools) { button(tool.name, group).action { controller.subController.changeTool(tool) // changes selected tool } } } this += controller.subController.selectedTool.options } } 额外的信息:subController.tools是一个ArrayList和subController.selectedTool是一个工具。 现在我的问题是,什么是在TornadoFX做这个建议的方式?

JavaFX重置图形上下文

我正在使用Kotlin和TornadoFX / JavaFX重绘每1/60秒的video游戏。 目前,我的程序通过将背景设置为白色并绘制而重绘。 不过,我宁愿一些更清洁的东西。 这是我目前正在绘制它的方式: private fun drawShapes(gc: GraphicsContext) { gc.fill = c(255, 255, 255) gc.fillRect(0.0, 0.0, 700.0, 700.0) //Game is 700×700 gc.fill = c(94, 132, 233) walls.forEach { gc.fillRect(it.x.toDouble(), it.y.toDouble(), it.w.toDouble(), it.h.toDouble()) } gc.fill = c(255, 239, 20) coins.filter { !it.collected }.forEach { gc.fillRect(it.x.toDouble(), it.y.toDouble(), it.w.toDouble(), it.h.toDouble()) } //Cut off here because following […]

我如何重构视图,以允许过滤绑定到tornadofx应用程序内的observableArrayList的项目

我从gradle hello-world例子开始,findhttps://github.com:JetBrains/kotlin-examples.git,并将其修改为使用TornadoFX。 这是一个显示项目列表的应用程序。 您可以添加到列表中, RequestView将自动显示所有项目。 我有它的工作,以便存储的项目绑定到一个observableArrayList但我现在要实现一个使用TextView在底部的filter。 但是,我很难理解这是否意味着我应该创建一个新的列表,这是在RequestView内部进行管理的,并且从中进行过滤,或者如何执行。 package demo import javafx.collections.FXCollections import javafx.geometry.Pos import javafx.scene.control.TextField import javafx.scene.layout.VBox import javafx.scene.text.FontWeight import tornadofx.* class helloWorldApp : App(HelloWorld::class) { } class HelloWorld : View() { override val root = VBox() var requestView: RequestView by singleAssign() var filterField: TextField by singleAssign() init { with(root) { requestView = RequestView() this […]

在tornadofx中使用localdatetime和其余的springboot

我开发了一个带有springboot rest服务的tornadofx应用程序作为后端 所有在kotlin语言 问题是tornadofxSeNd LocalDateTime作为Int这会导致这个错误在springboot服务器 2018-01-31 18:33:31.296 WARN 11473 — [nio-8080-exec-2] .wsmsDefaultHandlerExceptionResolver : Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected token (VALUE_NUMBER_INT), expected VALUE_STRING: Expected array or string.; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Unexpected token (VALUE_NUMBER_INT), expected VALUE_STRING: Expected array or string. at [Source: (PushbackInputStream); line: 1, column: 16] (through reference chain: andalous.torndadoserver.financial.dailymove.newDailyMove[“date”]) […]

在Kotlin TornadoFX上获取datepicker日期

我正在为Kotlin学习TornadoFX的基础知识。 我有这个代码: class MainView : View() { override val root = vbox() init { with(root) { datepicker { value = LocalDate.now() } button(“Choose date”) { textFill = Color.GREEN action { println(“Button pressed!”) } } } } } 当按下按钮时,我想选择用户选择的日期。 我能怎么做?

TornadoFX:类型安全的CSS与其他库

我是Kolin和TornadoFX的新手,我正在尝试一些功能。 我想使用JFoenix-Library,并使用TornadoFX的类型安全的CSS功能来设置其控件的样式。 但是我不知道如何修改给定JFoenix控件的CSS类的样式。 例如, JFXDecorator具有默认的CSS类jfx-decorator 。 要改变标题栏的背景颜色,我必须修改类jfx-decorator-buttons-container 。 我怎样才能做到这一点与TornadoFX? 在.css文件中,我只是使用 .jfx-decorator-buttons-container { -fx-background-color: red; } 这可能与TornadoFX?

TornadoFX – 创建一个MVP设计

你好我是使用TornadoFX的新手,我想知道MVP结构的最佳设计是使用TornadoFX吗? 在MVP看来: – >会将所有事件委托给演示者中的某个功能,例如按钮点击 – >不与模型交互 以下是一些粗糙的原型想法: abstract class AbstractPresenter<View : tornadofx.View> : Controller() { var view: View by Delegates.notNull() fun attachView(view: View) { this.view = view; } } 我创建一个自己附加到AbstractView的演示者: abstract class AbstractView<out Presenter : AbstractPresenter<*>> : View() { abstract val presenter: Presenter } 现在在一个例子中使用它: class SampleTestView: AbstractView<SampleTestPresenter>() { override val presenter: SampleTestPresenter by inject() […]

TornadoFX:标签文字没有更新

我目前遇到的问题之一是我似乎无法更改在动态加载的AnchorPane实现的Label的文本。 我认为这可能与控制器和JavaFX / TornadoFX的工作有关,但我似乎无法找到我做错了什么。 问题本身发生在这个类中 ,发生在showSystemDetails()方法中。 我期望发生的是,按下侧边栏中的“系统详细信息”按钮,标签将更新到所需的值,但这不是由于某种原因而发生的。 请随时指出我做错了什么,或提供任何建设性的批评。 这个项目还在发展中,很多东西还是乱糟糟的。