我正在尝试使用GridPane
使用FXML
来使用GridPane
进行数独9x9。
我在这个领域相当新,所以我想在继续之前问你们。
我创建了一个TextField
9x9,现在我在每个节点中使用TextField's
来显示数字并让用户自己编写一个新号码。
我的问题:
是否可以在纯Java代码中创建81
If PartNo.Contains("CP") Then If PartNo.Length > 5 Then result = PartNo.Substring(PartNo.Length - 5) End If If result.Contains('-') Then Dim parts As String() = result.Split(New Char() {"-"c}) If IsNumeric(parts(0)) and IsNumeric(parts(1)) LBL_ERR.Text = "asdas" End if Else Exit Sub End If End If
或者是 有一种方法可以有效地使用FXML,所以我不分裂我的观点 (模型 - 视图 - 控制器)设置?
先谢谢,如果我的问题不清楚,我会很难解释它。
答案 0 :(得分:0)
在javafx中使用模型视图控制器模式时,Fxml并不是唯一(在我看来不是最好的方法)。
视图基本上描述了应用程序/ windows /部分的外观。这可以用纯fxml完成,但通常它不够。特别是当您需要/需要动态构建的内容时(在您的情况下您并不真正需要)。所以你可以添加这9个网格行和9个网格列,并使用FXML将TextFields添加到它们中。 然而,这似乎非常无效,因为你可以使用循环并在编程时消除大量的时间浪费。
你可以通过混合使用fxml和代码来实现: 首先在视图类中加载fxml,然后使用代码添加到它。
或者你可以使用纯代码(我喜欢的方式,因为我不喜欢使用fxml,如果我不能只用fxml来做 - 而且因为我经常就这样跳过它)。< / p>
模型代表您的数据。该数据的更改将更改视图。这是通过观察者和视图类中的绑定来完成的。
控制器操纵数据。最常见的是使用用户输入完成,但也可以使用其他事件来完成。
但是:请记住,MVC只是一种非常松散的模式,并没有定义明确的方法,因为它不适合特定的语言/框架。虽然有一些教程试图教授如何在JavaFX中实现MVC模式,但它们都以不同的方式解释MVC,因此实现方式也大不相同。
我希望我的描述如何使用三种不同的方法在JavaFX中构建View有助于您。如果没有请评论,我会尝试详细说明。 :)