現在、Griffon 0.9.5 とFlamingoBuilderを使用してアプリケーションを作成しようとしています。
Application.groovyの値を変更frameClass
し、アプリケーション ウィンドウにリボンを追加するためにいくつかのことを試しました。'org.jvnet.flamingo.ribbon.JRibbonFrame'
私の最初の試みはribbonTask
、ネストされたノードを持つノードを作成することでしたribbonBand
。アプリケーションは起動しますが、ボタンが表示されません。
application(title: 'test01',
preferredSize: [320, 240],
pack: true,
locationByPlatform: true,
iconImage: imageIcon('/griffon-icon-48x48.png').image,
{
ribbonTask(title: 'Start') {
ribbonBand(id: 'fooBarBand', title: 'FooBar', image: imageIcon('/griffon-icon-48x48.png').image) {
commandButton(id: 'fooButton', text: 'Foo', image: imageIcon('/griffon-icon-48x48.png').image)
commandButton(id: 'barButton', text: 'Bar', image: imageIcon('/griffon-icon-48x48.png').image)
}
}
// add content here
label('Content Goes Here') // delete me
}
)
2 回目の試行では、明示的に を作成し、RibbonTask
を呼び出しますaddTask
。ボタンが表示されます。ただし、これが本当にグリフォン流のやり方なのかどうかはわかりません。
質問:リボンを作成するより良い方法はありますか?
application(title: 'test01',
preferredSize: [320, 240],
pack: true,
locationByPlatform: true,
iconImage: imageIcon('/griffon-icon-48x48.png').image,
{
ribbonBand(id: 'fooBarBand', title: 'FooBar', image: imageIcon('/griffon-icon-48x48.png').image) {
commandButton(id: 'fooButton', text: 'Foo', image: imageIcon('/griffon-icon-48x48.png').image)
commandButton(id: 'barButton', text: 'Bar', image: imageIcon('/griffon-icon-48x48.png').image)
}
current.ribbon.addTask new RibbonTask('Start', fooBarBand)
// add content here
label('Content Goes Here') // delete me
}
)
ribbonApplicationMenu
次に、次のコード スニペットを追加してみました。
ribbonApplicationMenu(id: 'appMenu') {
ribbonApplicationMenuEntryPrimary(id: 'quitMenuEntry', text: 'Quit',
entryKind: JCommandButton.CommandButtonKind.ACTION_ONLY,
image: imageIcon('/griffon-icon-48x48.png').image)
}
しかし、うまくいきません。次の実行時例外が発生します。
java.lang.RuntimeException: 「ribbonApplicationMenuEntryPrimary」のコンポーネントの作成に失敗しました理由: groovy.lang.MissingPropertyException: そのようなプロパティはありません: クラスのテキスト: griffon.builder.flamingo.factory.RibbonApplicationMenuEntryPrimaryFactory
FlamingoBuilderのドキュメントには、text
プロパティがあり、テキスト プロパティを削除すると、プロパティを設定する必要があるため、例外が発生すると記載されていtext
ます。私は少し途方に暮れています。このコード スニペットの何が問題になっていますか?