аномалия времени проектирования в конструктор окон и качели - PullRequest
2 голосов
/ 09 сентября 2011

Я экспериментирую со сборщиком окон для eclipse и Swing.

Я создал проект демо-калькулятора с пользовательским JPanel

DigitBoardView extends JPanel  

и назначил клавиши с помощью цикла for

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

1-я проблема - DigitBoardView дизайнер не показывает его, хотя в FAQ говорится, что он не будет генерировать и показывать зависимый от времени выполнения графический интерфейс во время разработки (что нормально), здесь ничего не зависит от времени выполнения.
Даже если я перебираю цифры с явно известным во время компиляции
for(int i = 0; i < 10; i++), конструктор петель не ограничивает

2-я проблема - JFrame конструктор действительно показывает это!Если я установлю новую панель содержимого JFrame в DigitBoardView, она будет отображаться во время разработки ...

Почему так странно?Это ошибка?

Должен ли я обойти ее, сгладив петлю?
Разве это не очень уродливо?
Поражает цель не повторять принципа?

1 Ответ

3 голосов
/ 10 сентября 2011

Хотя это и имеет отношение к проблеме дизайнера, вы можете рассмотреть KeyPadPanel, который использует действия и привязки клавиш для реализации простой цифровой клавиатуры имея простой GridLayout.

...