【发布时间】:2014-02-14 14:11:02
【问题描述】:
我在使用 javas String.format 格式化字符串时遇到问题。 我正在将包含描述和价格的字符串添加到摇摆 JList 组件中。我希望价格始终低于对方。
所以我使用:
String ret = String.format( "%s %-" + Integer.toString(articleNameLength) + "s %3s %9.2f EUR",
(new SimpleDateFormat("dd.MM.yyyy")).format(date), article, " ", price );
您还可以在第 205 行查看代码: https://github.com/hanneseilers/MyBudget/blob/master/MyBudget/src/de/hanneseilers/core/Article.java
如果我使用 eclipse 或运行的简单批处理文件启动应用程序,那就很好了
java -jar MyBudget.ja
但是,如果我在文件资源管理器中双击启动 jar,则布局会中断,并且价格不会低于对方。 知道为什么会这样吗?
【问题讨论】:
-
你是如何构建 jar 的?
-
您能否通过执行批处理文件并双击同一个 .jar 来确认您得到不同的结果?具体来说,您是否 100% 确定在两种情况下都使用完全相同的 .jar?在这种情况下,您能否上传或链接到正确绘制的 UI 的屏幕截图和另一个损坏的 UI?
-
我使用 Eclipse 导出功能(或 Eclipse 生成的 ant 脚本)创建了 jar。我检查了批处理脚本,它运行与我用于双击相同的 jar。我将两个屏幕截图上传到:imageshack.com/a/img542/9201/639v.png 和imageshack.com/a/img819/4053/upda.png 我发现使用批处理脚本 JList 组件使用我在布局中设置的等宽字体。如果我通过双击启动 jar,它使用默认的 sans-serif 字体,并且每个字符的空间都不相同。但是为什么使用一种启动方法正确的字体而另一种没有呢?
标签: java string formatting executable-jar