2009-12-08 71 views
1

可以使用swing应用程序框架来实现多语言应用程序吗? 如果是这样,应该怎么做?我应该使用多个.properties文件,每种语言一个文件?我如何让系统知道要使用哪个属性文件?有人知道这个好教程吗?多语言应用程序的Swing应用程序框架

+1

只是为了澄清,这是一个关于JSR-296“Swing应用框架”的问题,或者仅仅是关于在普通的旧式Swing中编程?我在下面的答案中假设它是关于JSR-296的。 – 2009-12-08 10:27:38

+0

JSR-296确实... – Fortega 2009-12-08 10:47:34

回答

2

你可以把你的底面板类以下(或其他地方,并且将其插入) :

public ResourceMap getResourceMap() { 
    if (resourceMap == null) { 
     ApplicationContext context = getContext(); 
     if (context != null) { 
      resourceMap = context.getResourceMap(getResourceStartClass(), 
        getResourceStopClass()); 
     } 
    } 

    return resourceMap; 
} 

public ApplicationContext getContext() { 
    if (applicationContext == null) { 
     Application app = getApplication(); 
     if (app != null) { 
      applicationContext = app.getContext(); 
     } 
    } 

    return applicationContext; 
} 

public Application getApplication() { 
    if (application == null) { 
     application = Application.getInstance(); 
    } 

    return application; 
} 
+0

感谢您的支持。这适用于我,以及具有属性文件的正确名称... 尽管看起来有点不可思议,但在getApplication()方法中应用了单例模式。这看起来像我的开销。你为什么不在这里调用'Application.getInstance()'? – Fortega 2009-12-08 10:50:50

+0

这是一种惰性加载。我从一个旧的代码库中获得了这个,因此如果Application.getInstance()本身就是懒惰的,那么可以省略该方法。 – Bozho 2009-12-08 10:53:50

0

原始项目现在已经死了,但您可以使用它的一个分支。最活跃的是BSAF