Самый быстрый способ создать диалоговое окно сообщения Java (swing/awt/other)?

рекомендую это вам

import json
with app.test_client() as c:
  test_call = c.post("api/signup/", 
                     data=json.dumps({'form_id': 'hi'}), 
                     content_type='application/json')
@app.route('api/signup', methods=['post'])
def signup():
    json = request.json
12
задан Peter Boughton 3 February 2009 в 21:29
поделиться

9 ответов

Я использовал бы JOptionPane для показа сообщения. Вот простой пример:

import javax.swing.*;

public class OptionDemo {
    public static void main(String[] args) throws Exception {
        JOptionPane.showMessageDialog(null, "Hello World");
    }
}

Я боюсь, что не могу объяснить задержку, которую Вы испытываете все же. В моей системе Ваш фрагмент кода работает в 500 миллисекундах.

4
ответ дан 2 December 2019 в 06:10
поделиться

Причина задержки это, потому что Java является интерпретируемым языком и он занимает время для запуска новой JVM (интерпретатор)

На самом деле создание кадра берет меньше, чем некоторые мс (приблизительно 70 мс в моей машине).

Если это будет используемым в рамках приложения Java, Вы не должны волноваться об этом. Это будет почти мгновенно (необходимо использовать JDialog или JOptionPane для этого),

Если это НЕ будет используемым в приложении Java и 2 secs это слишком много (и я думаю, что это слишком много), необходимо рассмотреть другой инструмент для задания.

Вот то, как я измеряю время в Вашем коде:

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   ) );
    }

}
11
ответ дан 2 December 2019 в 06:10
поделиться

Java является неправильным инструментом для этого. Установка JVM включает много материала, происходящего в фоновом режиме, прежде чем первая строка кода Java сможет быть выполнена, и нет действительно никакого способа обойти его.

3
ответ дан 2 December 2019 в 06:10
поделиться

Также это было бы намного быстрее для создания Окна AWT (или возможно Кадр) вместо JFrame, потому что последний должен вытянуть в огромном количестве дополнительных файлов класса.

2
ответ дан 2 December 2019 в 06:10
поделиться

Необходимо ли использовать Java для отображения окна сообщения? ЕСЛИ поле приходит снаружи Вашего приложения, то Вы могли бы хотеть использовать что-то еще для генерации диалогового окна.

Для создания собственного приложения Windows, которое просто показывает, окно сообщения от строки командной строки только заняло бы несколько часов самое большее. Большинство общих языков сценариев должно иметь способы сделать это также. вот пример от некоторого парня через JavaScript через командную строку:

http://www.snee.com/bobdc.blog/2009/01/displaying-a-message-box-from.html

2
ответ дан 2 December 2019 в 06:10
поделиться

О, и если Вы не должны действительно показывать диалоговое окно от Java, Вы могли бы изучить использование KDialog (или это - дубликат GNOME), или что-то подобное.

1
ответ дан 2 December 2019 в 06:10
поделиться

Вы могли использовать JOptionDialog

JOptionPane.showMessageDialog([parent frame], [message], [title], JOptionPane.MESSAGE_TYPE);
1
ответ дан 2 December 2019 в 06:10
поделиться

То, что Вы, вероятно, ищете, является новой функциональностью SplashScreen в Java 6. Вместо того, чтобы иметь необходимость ожидать JVM для загрузки (всегда существует стоимость для загрузки любого VM), это загрузит экран заранее.

0
ответ дан 2 December 2019 в 06:10
поделиться

Вы попытались выполнить его через профилировщика как NetBeans? Если существует узкое место глубоко в стандартной библиотеке, это - хороший способ найти его.

0
ответ дан 2 December 2019 в 06:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: