Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Netbeans GUI组件在修改后不会更新_Java_User Interface_Netbeans_Netbeans 6.9 - Fatal编程技术网

Java Netbeans GUI组件在修改后不会更新

Java Netbeans GUI组件在修改后不会更新,java,user-interface,netbeans,netbeans-6.9,Java,User Interface,Netbeans,Netbeans 6.9,我找不到任何人有同样的问题,所以这可能只是一个简单的修复,但我正在用Netbeans创建一个危险游戏。我创建了一个JPanel表单来设计每个单独的方块,然后我为6x6板添加了36个方块到另一个代表该板的JPanel表单中。这很好,但问题是,在我将所有36个方块添加到棋盘上后,它们会停留在我添加它们时的状态。如果我在问题JPanel表格中更改标签的位置或颜色,则不会在Jeopardy Board JPanel表格中更新。我不想每次更改子组件时都重新添加36个问题并重命名所有变量。有没有办法保持同步

我找不到任何人有同样的问题,所以这可能只是一个简单的修复,但我正在用Netbeans创建一个危险游戏。我创建了一个JPanel表单来设计每个单独的方块,然后我为6x6板添加了36个方块到另一个代表该板的JPanel表单中。这很好,但问题是,在我将所有36个方块添加到棋盘上后,它们会停留在我添加它们时的状态。如果我在问题JPanel表格中更改标签的位置或颜色,则不会在Jeopardy Board JPanel表格中更新。我不想每次更改子组件时都重新添加36个问题并重命名所有变量。有没有办法保持同步?

您可以尝试调用JPanel的重新验证方法。

如果我更改问题JPanel表单中标签的位置或颜色

一,。标签是非不透明的,这意味着更改背景颜色将没有任何效果。如果要更改背景,则需要在创建标签时使其不透明:

label.setOpaque( true );
2一旦你设置了危险板,你就不需要改变标签的位置。一旦问题得到回答,我将使用以下方法清除标签中的文本:

label.setText("");

对于每一次新一轮的危险,你需要做的就是为每个标签重置背景,然后为每个标签重置文本。不需要重新创建所有标签。

考虑重构和重命名您在项目中亲自创建的所有文件夹。这应该可以解决问题。

谢谢您的建议。如果我不知道如何让netbeans更新它的UI,我计划做类似的事情。这不是运行时的问题,而是IDE在放置到其他自定义组件中时不会更新自定义子组件。这不仅仅是设置文本,可能我希望在所有问题框周围有一个黑色边框,或者更改面板背景、标签中文本的大小等。我意识到我可以在代码中完成这一切,但这就是我切换到Netbeans的原因,这样我就不必这么做了:-我想这就是我必须要做的