如何使用GUI和CLI构建Java应用程序?

时间:2011-03-15 09:51:43

标签: java swing command-line ant

我必须开发一个小应用来比较自动生成的文件夹。它必须比较文件夹,子文件夹和文件内容。问题是这个应用程序需要从他的计算机上的用户启动,以手动检查更改,或自动与ANT nightlies一起启动。在第一种情况下,结果显示为Swing GUI中的表。但在另一种情况下,它必须创建一个文件来放置结果(格式无关紧要,XML,CSV,...)。

任何人都有一些提示,或指向教程的链接?

2 个答案:

答案 0 :(得分:2)

您可能想要添加一些在ui和文件导出之间切换的命令行选项,例如--gui--export=[filename]。您可以使用Apache Commons CLI

答案 1 :(得分:0)

另一种方法是创建一组执行任务的类,并返回一组值,然后可以将这些值写入磁盘或显示在GUI中。即,引擎和两个前端(GUI和CLI)。

例如:

public interface DirectoryComparer {
   CompareResult performCompare(Directory dir1, Directory dir2);

   public static interface CompareResult {
      //...things here that you need, such as, file or dir difference, etc
      Iterable<File> getFileDiff();
      Iterable<Directory> getDirectoryDiff();
   }
}

然后,GUI客户端将只使用DirectoryComparer来显示结果,CLI客户端会将这些结果写入一个或三个文件。但这两个客户完全是分开的,可以单独维护。