1

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
4

1 に答える 1

2

SwingBuilder.frameのドキュメントによると、値の引数としてJFrameを渡すことができるはずです。多分それを試してみてください。

于 2011-11-09T18:22:12.267 に答える