我正在javax.swing制作一个应用程序,它从XML Schema(使用JAXFront库)生成表单,并将用户填充的数据存储到XML文档中.
我在需要时放了try-catch-finally块,但是当主线程结束时(AWT线程仍然在运行),我遇到了一些问题.
我有两个主要工作的课程和其他对这个问题不重要的课程:
主类:它具有以下结构.初始化应用程序并运行主框架
public class Main {
public static void main(String[] args) {
readArgs(); // An INI file with the app config
Model model = initializeElements(args); // My model class
try {
MyFrame mfr = new MyFrame(title,model);
mfr.visualize(); // Assembling view and setting visible
} catch( Excepion e ) {
doCleanUp();
System.exit(-1);
}
}
}Run Code Online (Sandbox Code Playgroud)帧类:生成视图和侦听事件
public class MyFrame extends JFrame implements ActionListener,MenuListener {
// Some attributes
// Other mthods without importance
/**
* …Run Code Online (Sandbox Code Playgroud)我在运行时更改区域设置时遇到了一个小问题。
目标
我必须根据配置文件更改应用程序语言的区域设置。
此语言环境不一定与主机/操作系统语言环境或 JVM 默认语言环境相同。
而且,我user.language在调用应用程序时无法修改。然后,我必须在运行时这样做。
问题
总结我的代码,我阅读了配置文件并获得了不同的选项(包括语言环境)。之后,我根据这些配置的选项初始化应用程序环境。
之后,我构建了我的框架并开始了应用程序生命周期。
public static void main(String[] args) {
File fichier;
Ini ini; //Ini4J object
Modele modele = new Modele(); //My Model class: it stores configuration and other stuff
try {
fichier = new File(Modele.CONFIGURATION);
ini = new Ini(fichier);
modele.setLocaleLang(ini.get(Modele.LOCALE, Modele.LANG, String.class));
// read more options
} catch(InvalidFileFormatException e) {
// exception processing
} catch (IOException e) {
// exception processing
} finally {
ini = null;
fichier = null;
} …Run Code Online (Sandbox Code Playgroud) 我想知道是否存在某种方式来检查文件是否存在而不创建实例 java.io.File
我总是使用以下方式:
File f = new File("./path/to/file");
if (f.exists()) {
doSomething();
}
else {
manageError();
}
Run Code Online (Sandbox Code Playgroud)
但是知道我需要检查一些文件路径,以便创建像logger(使用log4j),xml编辑器和其他项目结构的元素,但我不需要使用它们.
出于这个原因,我想知道这是否可行.
我正在使用J2SE-1.5_22.
提前致谢!
java ×3
swing ×2
awt ×1
catch-all ×1
exception ×1
file ×1
io ×1
jfilechooser ×1
locale ×1
localization ×1