SwingBuilder.frame() を使用して JFrame(GraphicsConfiguration) にアクセスしたいのですが、属性を使用できないため、属性を介して設定できません。Groovy Builder を使用してコンストラクターのパラメーターを渡すにはどうすればよいですか?
更新: 解決策を含め、要求どおり。FrameFactory.newInstance(builder, name, value, attrs) メソッドの value パラメータが最初にチェックされ、それが JFrame 自体であるかどうかが確認されます。そうでない場合は無視され、新しい JFrame が作成されます。次に、属性を処理するために post-init メソッドに渡されます。
これは、次の構文に対応します。
builder.name(value, attrs){}
attrsは、標準のkey:value形式の属性のマップです。
したがって、例を完成させるには:
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