1
SwingBuilder.frame()を使用してJFrame(GraphicsConfiguration)にアクセスしたいのですが、使用できないため属性で設定できません。 Groovy Buildersを使用してコンストラクタパラメータを渡すにはどうすればよいですか?SwingBuilderのようなビルダーを使用してコンストラクタパラメータを渡すにはどうすればよいですか?
更新:ソリューションを含め、要求どおり。 FrameFactory.newInstance(builder、name、value、attrs)メソッドのvalueパラメータが最初にチェックされ、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
私はこれがどのように役立つか分かりませんので、例を挙げてください。私がframe()メソッドを提供する値は値を返すだけですが、コンストラクタパラメータで値をインスタンス化する必要があります。 –
私の問題は、Groovyの構文、特にビルダーの経験がまだまだ不十分だと思います。 value引数、属性、または指定されたクロージャではどこに値を指定していますか? –
他の例から分かります。ありがとう。 –