我正在尝试使用eclipse和Swing的窗口构建器。
我使用自定义JPanel
创建了一个演示计算器项目DigitBoardView extends JPanel
并使用for循环分配键
String[] digits = {"1", ...}
for(String digit : digits){
JButton digButton = new JButton(digit);
add(digButton);
}
第一个问题 - DigitBoardView 设计师没有显示,
虽然FAQ说它不会生成并显示运行时相关的GUI
在设计时(可以),这里没有任何东西是运行时依赖的
即使我在编译时明确知道迭代数字
for(int i = 0; i < 10; i++)
循环设计器没有边缘
第二个问题 - JFrame 设计师确实展示了它! 如果我将JFrame的内容窗格设置为新的DigitBoardView 它将在设计时间内显示......
为什么这么奇怪? 是bug吗?
我应该通过展平循环来绕过它吗? 难道不是很难看吗? 打败不重复自己原则的目的?
答案 0 :(得分:3)
虽然它与设计人员问题相关,但您可能希望检查使用KeyPadPanel
和actions的key bindings来实现一个简单的GridLayout
简单数字小键盘。