首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

拥有可编辑数字的GridPane的最好方法(像数独一样)?[JavaFX]

在JavaFX中,GridPane是一个灵活的布局容器,可以用于创建类似数独的可编辑数字网格。以下是实现这个功能的最佳方法:

  1. 创建一个GridPane对象:GridPane gridPane = new GridPane();
  2. 定义一个二维数组来存储数字网格的值:int[][] gridValues = new int[9][9];
  3. 使用嵌套循环创建并添加TextField控件到GridPane中,同时将其与二维数组中的对应位置关联:for (int row = 0; row < 9; row++) { for (int col = 0; col < 9; col++) { TextField textField = new TextField(); textField.setPrefWidth(40); textField.setPrefHeight(40); textField.setAlignment(Pos.CENTER); // 将TextField与二维数组关联 textField.textProperty().addListener((observable, oldValue, newValue) -> { if (!newValue.matches("\\d?")) { textField.setText(oldValue); } else { gridValues[row][col] = Integer.parseInt(newValue); } }); gridPane.add(textField, col, row); } }
  4. 添加其他必要的布局和样式设置:gridPane.setHgap(5); gridPane.setVgap(5); gridPane.setPadding(new Insets(10)); gridPane.setAlignment(Pos.CENTER);
  5. 可以通过访问二维数组gridValues来获取或设置数字网格中的值。

这种方法创建了一个可编辑的数字网格,用户可以在每个单元格中输入数字。通过监听每个TextField的文本变化,可以将输入的数字存储到二维数组中。您可以根据需要添加其他功能,例如验证数独规则或实现解题算法。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java 中文官方教程 2022 版(三)

在成员级别,你也可以顶级类一样使用public修饰符或无修饰符(包私有),意义相同。对于成员,还有两个额外访问修饰符:private和protected。...静态嵌套类 与类方法和变量一样,静态嵌套类与其外部类相关联。并且静态类方法一样,静态嵌套类不能直接引用其封闭类中定义实例变量或方法:它只能通过对象引用使用它们。...访问封闭范围本地变量,并声明和访问匿名类成员 本地类一样,匿名类可以捕获变量;它们对封闭范围本地变量具有相同访问权限: 匿名类可以访问其封闭类成员。...匿名类非常适合实现包含两个或更多方法接口。以下 JavaFX 示例来自自定义 UI 控件部分。突出显示代码创建一个仅接受数字文本字段。....*; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.stage.Stage;

28500

从统计物理到游戏

也许大家对统计物理这门学科很陌生,但是却基本玩过数这个游戏。今天我就要来介绍一下怎么从神奇统计物理出发来解决问题。 ? 假如给你一台计算机,然后让你编个程序来解决问题。...那么更聪明一点方法呢,我们还可以沿着人类做策略出发,由于我们事先知道规则,可以利用同一个九宫格,同一行,同一列已有的数字去排除空格不允许填数字,这样一来我们可以跳过很多“坑”,沿着这个思路程序也可以写程序解决问题...那么上图整个格子拥有的能量是多少呢,大家无妨去数一。如果不愿意也没关系,接着往下看就可以了。...如果我们希望整个格子能量越低越好,也就是任何两个相邻色块最好都不一样,这样格子拥有的总能量是不是就是0了,大家再试着想一想我们有没有办法安排这些颜色来使整个格子能量为0。...然后能量计算规则便是:同一个九宫格,同一行,同一列任何两个颜色如果一样那么能量就是1,如果不一样那么能量就是0。当所有色块颜色填充使得整个格子能量为0,那么是不是就满足了条件!很完美的表达。

89320
  • Using JavaFX UI Controls 12 Table View

    例12-2中展示一样,创建两个子列,然后调用emailCol  getColumns方法 Example 12-2 Creating Nested Columns TableColumn firstEmailCol...定义数据模型( Data Model) 当你要在JavaFx应用中创建一个表格,最好先创建一个类来定义数据模型和提供将来和表格交互方法和属性。例12-3中定义了Person类来定义数据和地址簿。...下一步就是将这些数据和表格列之间建立联系。你可以例12-5中那样通过对每个数据元素属性定义来实现。...表格数据编辑 TableView类不仅能够渲染表格式数据,还能提供编辑能力。使用 setEditable  方法来开启表格编辑模式。...setOnEditCommit 方法具有编辑 指派更新数据到相应表格单元格能力。

    11.4K20

    Get这几款亲子数学游戏,让你轻松培养数学小天才!

    游戏玩法:家长任意报一个10以内数字,孩子听到数字后,立刻伸出相应手指数,一个手指代表1,报8就要伸出八个手指,不能用拇指和食指代表数字八。鼓励孩子用多种方法表示同一个数字。...每人分数字卡片0,1,2,3,4,5各2张,两人同时说“一二三,看谁能把谁吃掉”,说到“掉”字时,家长和孩子各出一张数字卡片,比较卡片上两个数字大小。 若两张卡片上数字一样大,就各自收回。...若不一样大则数字大的卡片就可以把数字小的卡片“吃掉”(吃掉后两张卡片归胜方所有,要放在旁边,不可重复出卡片),直到卡片出完。比一比谁的卡片多,卡片多者获胜。...这个游戏目的是让孩子练习比较大小,加深对数字印象。 ? 巧算24点 ? ? 游戏玩法:取一幅扑克牌,去掉大王和小王,共52张。花色牌可去掉也保留,若保留,则J=1,Q=2;K=3,A=1。...“之旅”在传统基础上进行改进,用各种可爱动物图案替代数字,对孩子更有吸引力。可以很好提升孩子逻辑推理能力,帮助他们学会分析事物之间内在联系。

    1.5K30

    在Wolfram语言中使用整数优化创建和解决游戏

    用编程方法解决问题 在一个典型问题中,玩家面对是一个九宫格,在某些位置上会有一些数字。...有几个可以生成完整数面板方法,其中之一是随机指定数面板上对角线数字,并允许解答器为我们生成一个游戏: 这会生成约三十万个可能游戏。...我们现在可以展示我们新鲜出炉游戏了: 可以再检查一遍,这个数游戏可以解决,并且得到结果是和最开始游戏一样: 注意最后解出正是开始参考。...以下游戏花了30秒生成(每次运行时间可能会不太一样): 老实说,我还没有勇气来解这个数。我希望你们能尝试解一解这种超大尺寸!...它遵守原始游戏三条规则,但是不同于原始游戏会在特定位置给出数字方式,玩家面对游戏面板下图所示: 每个颜色组都成为一个“区(cage)”,每个区中都提供了一个数字

    78540

    力扣题目解答自我总结(反转类题目)

    low,先水平翻转,再按照子列表长度,把他变成有拥有子列表长度一样列表,再里面填写值进去,写完了头有点昏,等下次有空再优化下代码 四.反转字符串中单词 Ⅲ 1.题目描述 给定一个字符串,你需要反转字符串中每个单词字符顺序...1.题目描述 判断一个 9x9 是否有效。...上图是一个部分填充有效部分空格内已填入了数字,空白格用 '.' 表示。...但由于位于左上角 3x3 宫内有两个 8 存在, 因此这个数是无效。 说明: 一个有效(部分已被填充)不一定是。 只需要根据以上规则,验证已经填入数字是否有效即可。...给定数序列只包含数字 1-9 和字符 '.' 。 给定数永远是 9x9 形式

    65110

    【NOIP1999 提高组T4】 靶形数

    一道挺水DFS。 题目详情 小城和小华都是热爱数学好学生,最近,他们不约而同地迷上了游戏,好胜他们想用来一比高低。...靶形数方格同普通一样,在 9×99 \times 99×9 格高大九宫格中有 999 个 3×33 \times 33×3 格高小九宫格(用粗黑色线隔开)。...但靶形数独有一点和普通不同,即每一个方格都有一个分值,而且如同一个靶子一样,离中心越近则分值越高。...比赛要求是:每个人必须完成一个给定(每个给定数可能有不同填法),而且要争取更高总分数。而这个总分数即每个方格上分值和完成这个数时填在相应格上数字乘积总和。...由于求胜心切,小城找到了善于编程你,让你帮他求出,对于给定靶形数,能够得到最高分数。 做法 这道题爆搜肯定不行,所以要平时做一样,从 000 少地方开始搜索。

    32620

    NeurIPS 2018 | 如何用循环关系网络机智地解决类关系推理任务?

    以往传统深度学习方法虽然也能解决,却总是会出现一些问题。本文提出 RNN 模型解决了 96.6% 最难,而且与其它方法相比结果最佳。...盘面中有 81 个格,按 9*9 方式排列,要用数字 1~9 填满这些格子,每个数字在每行、每列以及每一个 3*3 非重叠格中都只能出现一次,有些数字已经给定为 1。...要解数,就得用方法推理出盘面上格子以及它们在许多步骤中相互作用关系。有人试着将数字放进格子中,并观察它会对其它格子产生怎样影响,迭代地解决这一问题。...我们解决了 96.6% 最难问题,而在所有可比较方法中该方法实现了当前最佳结果。 循环关系网络 我们以解决问题这种大家都很熟悉事物为例来讨论循环关系网络。...图 3:训练后网络如何解决部分数问题示例。清晰起见,仅显示了完整 9*9 最顶行。 ? 表 2:求解数方法比较。只比较了方法

    67530

    机器学习中特征工程总结!

    通过热编码映射街道地址 该方法能够有效地为每个特征值(例如,街道名称)创建布尔变量。...对数缩放仍然留有尾巴 对数缩放稍稍缓解这种影响,但仍然存在离群值这个大尾巴。我们来采用另一种方法。...添加更多箱可让模型从纬度 37.4 处学习和维度 37.5 处不一样行为,但前提是每 1/10 个纬度均有充足样本可供学习。 另一种方法是按分位数分箱,这种方法可以确保每个桶内样本数量是相等。...仔细检查训练数据是否与其他来源(例如信息中心)数据一致。 处理任何任务关键型代码一样谨慎处理你数据。良好机器学习依赖于良好数据。...我们通过将x1与 x2组合来创建一个名为 x3特征组合: 我们处理任何其他特征一样来处理这个新建x3特征组合。

    2.1K10

    使用Wolfram元编程+编译 加速一类回溯算法

    游戏,一行代码搞定N皇后问题,0.1秒玩胜Matlab之父Cleve Moler四阶幻方!...游戏 ? 是一种数学逻辑游戏,游戏由9×9个格子组成,玩家需要根据格子提供数字推理出其他格子数字,需要满足每一行、每一列、每一个粗线宫 (3x3) 内数字均含1 - 9,不重复。...这种游戏只需要逻辑思维能力,与数字运算无关。虽然玩法简单,但提供数字却千变万化,所以不少教育者认为是锻炼脑筋方法。...求解数方法有很多种,目前网上相关Mathematica程序,能求全解速度慢,速度快基本都是只能得到一个解。...而下面这种方法简单粗暴,既可以得到所有的解,速度也还行,要改成只返回一个解也不难,而且可以进一步编译为C代码加速。 输入矩阵,将其中0(空白处)都替换为符号变量 ?

    1.3K20

    TypeScript实现贪心算法与回溯算法

    游戏规则如下: 由一个9*9矩阵组成 矩阵每行每列都由1~9这9个数字组成,且不重复 矩阵中还包含了3*3小矩阵,同样由9个数字组成,且不重复。...游戏开始前会提供一个矩阵,它填充了部分数字,未填充部分用0表示 我们通过一个例子来讲解下,如下表所示,准备了一个,它填充了部分数字。...由于是回溯问题,因此我们需要用到递归,我们先来看看算法主体实现。 接收一个参数matrix,即。 调用递归函数,填充数。 如果递归函数将填充完毕,则返回填充好。否则返回错无解。.../** * 解题器 * 游戏规则: * 1. 用数字1~9填满一个9*9矩阵 * 2....游戏开始前会提供一个矩阵,它填了部分数字,未填充部分用0表示 * @param matrix 矩阵 */ sudokuSolver(matrix: number[][

    76330

    Wolfram函数资源库高光时刻:从国家边境到鸟类话语泡泡

    从那时开始,这个资源库已经发展成了拥有超过20大类1,000种函数资源库。 资源库中函数囊括了从一般类实用类到专有应用类型各类函数。...然而粗暴”Enumerate“选项只在n≤12时好用,所以真正优选选项是“MonteCarlo”方法,这个方法使用了一个模拟退火(Metropolis–Hastings)法,就像在文档中说明一样,...贡献者:Jon McLoone SudokuSolve:解决问题 这个函数帮助用户解决数字问题。...SudokuSolve将一个9x9矩阵数据当做一个部分解决问题,然后在空白地方填入数字,使得矩阵里每一行、每一列和每一个3x3子网格里都包含数字1到9....如果问题无解,这个函数也会告诉用户。

    1.2K40

    数据结构003:有效

    原文链接:数据结构003:有效题目请你判断一个 9 x 9 是否有效。只需要 根据以下规则 ,验证已经填入数字是否有效即可。数字 1-9 在每一行只能出现一次。...数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔 3x3 宫内只能出现一次。(请参考示例图)注意:一个有效(部分已被填充)不一定是。...对于数组第i 行j 列上数值n=board[i][j] ,首先将row[i][n] 上对应值加一,再将col[j][n] 也加一,然后判断row[i][n] 和row[i][n] 值是否大于1...因此我们构建一个box[3][3][9] 三位数组来记录每个小九宫格中0-9 出现次数,例如box[1][2][3] 表示第一行第二列九宫格中出现数字3次数,我们思路与row 和col 一样...由于大小固定,因此空间大小也是固定,空间复杂度也为O(1) 。

    75320

    文本向量化六种常见模式

    词嵌入(Word Embedding):一种将文本中词转换成数字向量方法,属于文本向量化处理范畴。向量嵌入操作面临挑战包括: (1)信息丢失:向量表达需要保留信息结构和节点间联系。...(2)扩展性:嵌入方法应具有扩展性,能够处理可变长文本信息。 (3)维优化:高维会提高精度,但时间和空间复杂性也被放大。...常见文本向量和词嵌入方法包括热模型(One Hot Model),词袋模型(Bag of Words Model)、词频-逆文档频率(TF-IDF)、N元模型(N-Gram)、单词-向量模型(Word2vec...首先根据提供文本构建词典,其中数字可以视作对应词语标签信息或者事物分类信息。...训练完成之后,模型可以针对词语和向量建立映射关系,因此可用来表示词语跟词语之间关系 CBOW模型如下: 编辑:王菁 校对:林亦霖

    3.3K40

    “ 一网打尽 ” 二进制、格雷码、热码编码方式

    因为,虽然自然二进制码可以直接由/模转换器转换成模拟信号,但在某些情况,例如从十进制3转换为4时二进制码每一位都要变,能使数字电路产生很大尖峰电流脉冲。...热码 热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立寄存器位,并且在任意时候,其中只有一位有效。...虽然在需要表示同样状态时,热编码占用较多位,也就是消耗较多触发器,但这些额外触发器占用面积与译码电路省下来面积相抵消。...在CPLD中,由于器件拥有较多地提供组合逻辑资源,所以CPLD多使用二进制编码或格雷码,而FPGA更多地提供触发器资源,所以在FPGA中多使用热码编码。...当然,这并不是说在FPGA中就非得用热编码,在CPLD中不能用热编码,一般,对于小型设计(状态小于4)使用二进制编码,当状态处于4-24之间时,宜采用热码编码,而大型状态机(状态大于24)

    2.3K41

    如何使用MapTool构建交互式地牢RPG 【Gaming】

    更新JavaFX MapTool需要JavaFX,但是Java维护人员最近停止在Java下载中捆绑它。这意味着,即使安装了Java,也可能没有安装JavaFX。...一些发行Linux版本提供了JavaFX包,因此如果您试图运行MapTool并获得有关JavaFX错误,请下载最新自包含版本: 对于 基于Ubuntu and other Debian系统 对于...如果你不小心对你所揭示东西过于热心,你有两种方法来逆转你所做事情:你可以手动绘制新雾,或者你可以重置所有的雾。更快方法是使用Ctrl+Shift+A重置所有雾。...对于探路者、地下城和龙5e这样游戏,可见性由与光线条件匹配光源控制。 首先,通过单击“地图”菜单,选择“视觉”,然后选择“白天”或“夜间”来激活照明。...只要你使用“下一步”按钮,回合计数器就会递增,帮助你追踪战斗持续了多少回合(当你拥有的法术或效果只持续特定回合数时,这很有帮助)。 追踪战斗顺序是有帮助,但是追踪生命点会更好。

    4.4K60

    OpenCV玩九宫格(三):九宫格生成与求解

    前言 在此之前,OpenCV玩九宫格(一)和 OpenCV玩九宫格(二)分别介绍了如何从九宫格图片中提取出已知数字和如何用knn训练数字识别模型。...我们要做有三部分: 1.生成九宫格,也就是生成一个9x9矩阵,把已知数字按照图片中位置填到矩阵中相应位置,其他位置全部置0。 2.编写求解算法,对九宫格矩阵进行求解。...就像上一篇结尾说一样,本文用不到一百个样本训练出来模型仅仅能保证在本文示例图片上取得完美效果。其他情况下不作保证。如果想要得到更完美的数字识别模型,请优化数据预处理方式和加大数据量。...求解成功。 在黑窗口里看最后可能不那么友好,接下来我们就把生成九宫格填充到图片里来看。 填充图片九宫格 我们只需要在图片中九宫格中相应位置写相应数字就可以了,这一部分乏善陈。...(一):九宫格图片中提取数字 OpenCV 玩九宫格(二):knn 数字识别

    3.2K00

    陶哲轩再逼近60年几何学难题!周期性密铺问题又获新突破

    ---- 新智元报道 编辑:Aeneas 【新智元导读】关于60年几何学难题周期性密铺问题,陶哲轩最近又有新突破了。 陶哲轩一直在研究周期性密铺问题,又有新突破了。...接下来,将多米诺骨牌问题嵌入到问题中: 问题 4(问题) 给定列宽 、数字集 、函数 集合 和「初始条件」 (在这里就不详细介绍了),是否可以为「棋盘」 中每个单元格 分配一个数字...这篇论文最新颖部分是证明了多米诺骨牌问题确实可以嵌入到问题中。 将问题嵌入到单密铺问题中,源于之前论文中修改方法。...这些论文也引入了问题版本,并创造了一种「密铺语言」,可用于把各种问题(包括问题)「编码」为单密铺问题。...要将多米诺骨牌问题编码为问题,我们需要获取一个多米诺函数 (遵守与某些多米诺骨牌集 相关多米诺骨牌约束),并使用它来构建函数 (遵守与多米诺骨牌集相关一些约束);反过来说,每个遵守谜题规则函数

    37130

    LeetCode 图解 | 36.有效

    今天分享一个LeetCode题,题号是36,标题是:有效,题目标签是散列表,散列表也称哈希表。此题解题思路用到了少量空间换取时间方法,降低时间上消耗。...题目描述 判断一个 9x9 是否有效。只需要根据以下规则,验证已经填入数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。...数字 1-9 在每一个以粗实线分隔 3x3 宫内只能出现一次。 ? 上图是一个部分填充有效部分空格内已填入了数字,空白格用 '.' 表示。...但由于位于左上角 3x3 宫内有两个 8 存在, 因此这个数是无效。 说明: 一个有效(部分已被填充)不一定是。 只需要根据以上规则,验证已经填入数字是否有效即可。...解题 此题没有要求数,只要求满足以下规则,验证已经填入数字是否有效即可: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。

    67020
    领券