Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
动态UI生成-Java_Java_Swing_Layout_Netbeans - Fatal编程技术网

动态UI生成-Java

动态UI生成-Java,java,swing,layout,netbeans,Java,Swing,Layout,Netbeans,嗨 我有一个UI必须动态生成的需求。请看上图。步骤1包括一个带有jcombobox和jbutton的对话框。当我在步骤1中单击“+”按钮时,一个新行应该被动态地添加到jdialog中,如步骤2所示。类似地,可以使用“+”按钮添加更多行。按“-”按钮应删除该行。此外,必要时JDialog应该有一个垂直滚动条。我一直在尝试网格布局,但没有用。任何帮助都将不胜感激。我想您的UI应该使用JScrollPane,以便在必要时滚动。。。 我不明白为什么GridLayout不可用,你的错误是什么?您在代码中进


我有一个UI必须动态生成的需求。请看上图。步骤1包括一个带有jcombobox和jbutton的对话框。当我在步骤1中单击“+”按钮时,一个新行应该被动态地添加到jdialog中,如步骤2所示。类似地,可以使用“+”按钮添加更多行。按“-”按钮应删除该行。此外,必要时JDialog应该有一个垂直滚动条。我一直在尝试网格布局,但没有用。任何帮助都将不胜感激。

我想您的UI应该使用JScrollPane,以便在必要时滚动。。。 我不明白为什么GridLayout不可用,你的错误是什么?您在代码中进行了正确的导入吗? 你能告诉我们更多的细节吗


Jerome

尝试一下如何在运行时添加组件,并提供了一个在运行时添加/删除jbuttons的示例

您从一开始就需要一个
JScrollPane
。幸运的是,
JScrollPane
允许在不需要滚动条时自动显示/隐藏滚动条。看


对于您的面板,您必须使用允许动态添加组件的布局,例如
FlowLayout
。在这种情况下也可以使用的非核心Java布局是带有动态行生成器的。此
FormLayout
可以轻松地保留屏幕截图中使用的列,同时允许在运行时动态添加行。

猜测和问题应保存以供评论。它是可用的,但正在添加的新组件被挤压到面板区域,面板大小没有增加。validate和revalidate方法完成了这个任务。我正在添加组件,但没有分别在对话框和框架上调用validate和revalidate方法。第一个链接成功了。谢谢