gpt4 book ai didi

java - 创建 Java 消息对话框(swing/awt/other)的最快方法?

转载 作者:搜寻专家 更新时间:2023-10-30 21:01:51 27 4
gpt4 key购买 nike

我正在创建一个 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)——任何人都可以提供一些代码来执行此操作吗?


更新:

一些背景知识可能会有帮助:
我正在创建一个将有许多“头”的应用程序(即不同的用户界面都使用相同的核心类来完成复杂的部分)。
我目前有一个运行良好的纯命令行头 - 立即响应。
我还会有一个带有常规点击图形用户界面的标准应用程序,并且不要预见到这方面的问题。
我目前正在做的是这两者的混合——它将从运行框(或类似的启动器)启动,可能带有参数,并且只需要有效地响应状态消息,可以按下按键即可解雇。

后一个是问题的焦点。

虽然我不反对将我现有的命令行版本与 shell 脚本一起使用(尽管我认为这没有必要!),但现有的答案似乎表明事情对我来说没有运行得那么快其他 - 一个例子对我来说需要 1460 毫秒,而我需要 70 毫秒 - 一个显着的差异。

最佳答案

之所以延迟,是因为Java是一种解释型语言,启动一个新的JVM(解释器)需要时间

实际创建框架只需要不到几毫秒(在我的机器上大约需要 70 毫秒)。

如果这将在 Java 应用程序中使用,您无需担心。它几乎是瞬间的(你应该为此使用 JDialog 或 JOptionPane )

如果这不会在 Java 应用程序中使用,并且 2 秒太多(我认为太多了),您应该考虑使用其他工具来完成这项工作。

以下是我在您的代码中测量时间的方法:

import javax.swing.JFrame;

public class Dialog {

public static void main( String[] args ) {
long start = System.currentTimeMillis();
JFrame frame = new JFrame( "DialogDemo" );
System.out.println( "Took: " + ( System.currentTimeMillis() - start ) );
}

}

关于java - 创建 Java 消息对话框(swing/awt/other)的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/508723/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com