您好,
我有一个要求必须动态生成UI的要求。请看上面的图片。第1步包含一个带有jcombobox和jbutton的Dialog。当我在步骤1中单击“+”按钮时,应该将新行动态添加到jdialog,这将在步骤2中显示。同样,可以使用“+”按钮添加更多行。按“ - ”按钮应删除该行。此外,JDialog在必要时应该有一个垂直滚动条。我一直在尝试网格布局但无济于事。任何帮助将不胜感激。
答案 0 :(得分:1)
我猜你的UI应该使用JScrollPane来在必要时滚动... 我无法理解为什么GridLayout不可用,你的错误是什么?您是否在代码中进行了正确的导入? 你能给我们更多细节吗
杰罗姆
答案 1 :(得分:1)
试试这个link如何在运行时添加组件,this thread有一个在运行时添加/删除jbuttons的例子
答案 2 :(得分:1)
您从一开始就需要JScrollPane
。幸运的是,JScrollPane
允许在(不)需要时自动显示/隐藏滚动条。请参阅JScrollPane#set*ScrollBarPolicy
。
对于您的面板,您必须使用允许动态添加组件的布局,例如FlowLayout
。非核心Java布局也可用于此情况,JGoodies FormLayout
具有动态行构建器。这个FormLayout
可以轻松地保留屏幕截图中使用的列,同时允许在运行时动态添加行。