带有TextField for Sudoku的GridPane 9x9

时间:2016-03-02 13:08:26

标签: java javafx fxml sudoku gridpane

我正在尝试使用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,所以我不分裂我的观点   (模型 - 视图 - 控制器)设置?

先谢谢,如果我的问题不清楚,我会很难解释它。

1 个答案:

答案 0 :(得分:0)

在javafx中使用模型视图控制器模式时,Fxml并不是唯一(在我看来不是最好的方法)。

视图基本上描述了应用程序/ windows /部分的外观。这可以用纯fxml完成​​,但通常它不够。特别是当您需要/需要动态构建的内容时(在您的情况下您并不真正需要)。所以你可以添加这9个网格行和9个网格列,并使用FXML将TextFields添加到它们中。 然而,这似乎非常无效,因为你可以使用循环并在编程时消除大量的时间浪费。

你可以通过混合使用fxml和代码来实现: 首先在视图类中加载fxml,然后使用代码添加到它。

或者你可以使用纯代码(我喜欢的方式,因为我不喜欢使用fxml,如果我不能只用fxml来做 - 而且因为我经常就这样跳过它)。< / p>

模型代表您的数据。该数据的更改将更改视图。这是通过观察者和视图类中的绑定来完成的。

控制器操纵数据。最常见的是使用用户输入完成,但也可以使用其他事件来完成。

但是:请记住,MVC只是一种非常松散的模式,并没有定义明确的方法,因为它不适合特定的语言/框架。虽然有一些教程试图教授如何在JavaFX中实现MVC模式,但它们都以不同的方式解释MVC,因此实现方式也大不相同。

我希望我的描述如何使用三种不同的方法在JavaFX中构建View有助于您。如果没有请评论,我会尝试详细说明。 :)