我有一个小型的MVC应用程序,我正在研究模型提供表示表单组件的数据。在这种情况下,控制器使用JButton填充视图,JButton的文本是从模型中绘制的(字符串列表)。
不幸的是,我已经加入了Netbeans的Gui Builder,因此控制器填充的形式是自动生成的。不幸的是,检查自动生成的表单代码告诉我,在运行时修改它会有很多麻烦。
此时,我找不到太多解决这个问题的方法。当然,我可以完全用代码构建表单,但我不想这样做。我可以弄清楚如何挂钩到自动生成的表单的布局管理器,如果这是唯一真正的可能性(虽然这是一个很好的例子,如何去做这将是很好的。)
所以,我想我的问题是,是否有合理的方式将这两种方法结合起来?也许是一个可以在GUI中添加并可以从代码轻松访问的自定义通用容器?
答案 0 :(得分:0)
NetBeans不需要Swing Controls属性的硬编码值。您始终可以使用自定义代码,在运行时设置属性值。
例如,我在这里有一个名为'copyButton'的JButton,其文本当前被硬编码为 Copy 。
但是,通过单击指示的省略号,可以使用任何返回String的代码设置名称。
答案 1 :(得分:0)
想出最好的办法是将帧布局切换到特定类型(如GridBag),并在添加新组件时在控制器中包含布局代码。不是最好的解决方案(我希望尽可能在Gui Builder中进行管理),但它似乎运行得很好。