Как передать параметры конструктора, используя конструктор, такой как SwingBuilder? - PullRequest
1 голос
/ 09 ноября 2011

Я хочу получить доступ к JFrame (GraphicsConfiguration) с помощью SwingBuilder.frame (), но не могу установить его с помощью атрибутов, поскольку он недоступен.Как передать параметры конструктора с помощью Groovy Builders?

ОБНОВЛЕНИЕ: По запросу, включая решение.Параметр value для метода FrameFactory.newInstance (builder, name, value, attrs) сначала проверяется, чтобы убедиться, что это сам JFrame.Если нет, он игнорируется, и создается новый JFrame.Затем он передается методу post-init для обработки атрибутов.

Это соответствует следующему синтаксису:

builder.name(value, attrs){}

, где attrs - ваша карта атрибутовв стандартном ключе : значение формат.

Итак, в завершение приведем пример:


SwingBuilder swing = new SwingBuilder()
// pass the title to the valueFrame, even though we can pass as attr, for the example
JFrame valueFrame = new JFrame("Value Frame Title")
JFrame myFrame = swing.frame(valueFrame, 
                             pack:true, 
                             defaultCloseOperation:JFrame.DISPOSE_ON_CLOSE) {
  ... add your panels, etc here
}
assert myFrame == valueFrame

1 Ответ

2 голосов
/ 09 ноября 2011

Вы должны иметь возможность передавать JFrame в качестве аргумента значения в соответствии с документами SwingBuilder.frame ;может быть попробовать это.

...