我正在创建一个 Java 应用程序,它将进行一些处理,然后需要显示一条消息以向用户提供反馈。
然而,它似乎非常慢 - 需要两秒钟以上才能返回。
我将源代码剥离到明显的罪魁祸首,这是使用的代码:
package SwingPlay;
import javax.swing.JFrame;
public class Dialog
{
public static void main( String[] args )
{
JFrame frame = new JFrame( "DialogDemo" );
}
}
我从命令行执行这个:
java -classpath . SwingPlay.Dialog
正如你所看到的——我什么也没做,只是创建了一个 JFrame,甚至没有显示它。
如果它是相关的,这是我的java -version
输出:
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
这是(当前)针对 Win XP SP2 运行的。
所以,第一个问题:为什么这么慢?
更重要的是,我只想立即显示一条简单的消息(GUI,而不是 cmdline)——任何人都可以提供一些代码来做到这一点吗?
更新:
一些背景知识可能会有所帮助:
我正在创建一个应用程序,它将有许多“头”(即不同的用户界面都使用相同的核心类来完成复杂的部分)。
我目前有一个可以正常工作的纯命令行头 - 立即响应。
我还将有一个带有常规点击 GUI 的标准应用程序,并且不要预见这一点会出现问题。
我目前正在处理的是这两者的混合体 - 它将从运行框(或类似的启动器)启动,可能带有参数,并且只需要有效地响应状态消息,可以用按键。
后一个是问题的重点。
虽然我不反对将我现有的命令行版本与 shell 脚本一起使用(尽管认为没有必要!),但现有的答案似乎表明事情对我来说并没有像其他人那样快 - 一个示例对我来说需要 1460 毫秒,而 70 毫秒 - 一个显着的差异。