首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Griffon:执行JInternalFrame代码时出错

Griffon:执行JInternalFrame代码时出错
EN

Stack Overflow用户
提问于 2013-03-23 12:32:34
回答 1查看 211关注 0票数 0

我最近刚刚在google上搜索,想尝试下面的代码在Griffon 1.2.0中工作,但当我运行它时,它给我这样的错误:

代码语言:javascript
复制
2013-03-23 12:13:01,877 [main] DEBUG griffon.plugins.i18n.I18nEnhancer - Enhancing org.codehaus.groovy.runtime.HandleMetaClass@b7ea5c[groovy.lang.ExpandoMetaClass@b7ea5c[class griffon.swing.SwingApplication]] with griffon.plugins.i18n.MessageSourceHolder@7b7bee
2013-03-23 12:13:01,909 [main] ERROR griffon.util.GriffonExceptionHandler - Uncaught Exception
groovy.lang.GroovyRuntimeException: Cannot add new method [getMessage] for arguments [[class java.lang.String, class java.util.Locale]]. It already exists!
    at griffon.plugins.i18n.I18nEnhancer.enhance(I18nEnhancer.groovy:34)
    at griffon.plugins.i18n.I18nEnhancer.enhance(I18nEnhancer.groovy)
    at griffon.plugins.i18n.I18nEnhancer$enhance.call(Unknown Source)
    at I18nSupportGriffonAddon.addonPostInit(I18nSupportGriffonAddon.groovy:40)
    at griffon.core.GriffonAddon$addonPostInit.call(Unknown Source)
    at griffon.core.GriffonAddon$addonPostInit.call(Unknown Source)
    at org.codehaus.griffon.runtime.util.AddonHelper$_handleAddonsAtStartup_closure3.doCall(AddonHelper.groovy:110)
    at org.codehaus.griffon.runtime.util.AddonHelper.handleAddonsAtStartup(AddonHelper.groovy:108)
    at org.codehaus.griffon.runtime.core.DefaultAddonManager.doInitialize(DefaultAddonManager.java:33)
    at org.codehaus.griffon.runtime.core.AbstractAddonManager.initialize(AbstractAddonManager.java:101)
    at org.codehaus.griffon.runtime.util.GriffonApplicationHelper.initializeAddonManager(GriffonApplicationHelper.java:394)
    at org.codehaus.griffon.runtime.util.GriffonApplicationHelper.prepare(GriffonApplicationHelper.java:149)
    at org.codehaus.griffon.runtime.core.AbstractGriffonApplication.initialize(AbstractGriffonApplication.java:231)
    at griffon.swing.AbstractSwingGriffonApplication.bootstrap(AbstractSwingGriffonApplication.java:75)
    at griffon.swing.AbstractSwingGriffonApplication.run(AbstractSwingGriffonApplication.java:132)
    at griffon.swing.SwingApplication.run(SwingApplication.java:45)
    at griffon.swing.SwingApplication.main(SwingApplication.java:37)
   [delete] Deleting directory G:\latihan\outer\staging\windows

这是代码,这是最初由aalmiray编写的

代码语言:javascript
复制
--- OuterController ---
package outer

class OuterController {
    def model
    def view
    def builder

    def newFrame = {
        String id = 'inner-' + System.currentTimeMillis()
        def (m, v, c) = createMVCGroup('inner', id, title: "Frame ${model.count++}")
        builder.desktopPane(view.desktop) {
            widget(v.innerFrame)
        }
    }
}

--- OuterModel ---
package outer

class OuterModel {
    int count = 1
}

--- OuterView ---
package outer

application(title: 'outer',
  preferredSize: [320, 240],
  pack: true,
  locationByPlatform:true,
  iconImage: imageIcon('/griffon-icon-48x48.png').image,
  iconImages: [imageIcon('/griffon-icon-48x48.png').image,
               imageIcon('/griffon-icon-32x32.png').image,
               imageIcon('/griffon-icon-16x16.png').image]) {
    borderLayout()
    button(newFrameAction, constraints: NORTH)
    desktopPane(id: 'desktop', constraints: CENTER)
}

--- InnerController ---
package outer

class InnerController {
    private String id
    def view

    void mvcGroupInit(Map args) {
        id = args.mvcName
    }

    void mvcGroupDestroy() {      
        execAsync {
            def desktop = view.innerFrame.parent
            desktop.remove view.innerFrame
            desktop.invalidate()
            desktop.repaint()
        }
    }

    def close = {
        destroyMVCGroup id
    }
}

--- InnerView ---
package outer

internalFrame(title: title, size: [200, 200], id: 'innerFrame',
    visible: true, iconifiable: true, maximizable: true,
    resizable: true, closable: true) {
    gridLayout(cols: 1, rows: 2)
    label 'Content goes here'
    button closeAction    
}

我需要你的帮助。

你好,亨德拉

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-23 16:45:16

如果出现错误消息,我会说您已经安装了i18n和i18n-support插件。从Griffon 1.1.0开始,不再需要这些插件。卸载插件将解决您的问题。

原因是这些插件提供的功能现在可以在Griffon核心1.1.0版本中使用,所以这些插件会产生冲突。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15583379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档