2

我正在尝试使用 Eclipse 和 Swing 的窗口构建器。

我使用自定义 JPanel 创建了一个演示计算器项目

DigitBoardView extends JPanel  

并使用 for 循环分配键

String[] digits = {"1", ...} 
for(String digit : digits){
 JButton digButton = new JButton(digit);
 add(digButton);
}

第一个问题 - DigitBoardView 设计器没有显示它,尽管常见问题解答说它不会在设计时生成和显示依赖于运行时的 GUI(这没关系),这里没有任何东西依赖于运行时。
即使我在编译时使用明确已知的
for(int i = 0; i < 10; i++)循环设计器迭代数字也不会边缘

第二个问题 - JFrame设计器确实展示了它!如果我将 JFrame 的内容窗格设置为新的 DigitBoardView,它将在设计时显示...

为什么这么奇怪?是虫子吗?

我应该通过展平循环来绕过它吗?
是不是特别丑?
打败不重复自己的原则的目的?

4

1 回答 1

3

虽然它与设计器问题无关,但您可能想检查一下KeyPadPanel,它使用 动作键绑定来实现一个简单的数字键盘,它具有一个简单的GridLayout.

于 2011-09-10T11:28:48.650 回答