我正在创建一个 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
output:
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,而不是命令行)——任何人都可以提供一些代码来执行此操作吗?
Update:
一些背景知识可能会有所帮助:
我正在创建一个具有许多“头”的应用程序(即不同的用户界面都使用相同的核心类来完成复杂的部分)。
我目前有一个纯命令行头,工作正常 - 立即响应。
我还将有一个带有常规点击 GUI 的标准应用程序,并且不会预见到这方面的问题。
我目前正在研究的是这两者的混合体 - 它将从运行框(或类似的启动器)启动,可能带有参数,并且只需要有效地响应状态消息,可以通过按键。
后一个问题正是问题的焦点所在。
虽然我并不反对将现有的命令行版本与 shell 脚本一起使用(尽管我认为没有必要!),但现有的答案似乎表明,事情对我来说并不像其他人那样运行得那么快 - 之一这个例子对我来说需要 1460 毫秒,而我则需要 70 毫秒——这是一个显着的差异。