Я хочу получить доступ к 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