Соображения по превращению Java-приложения в веб-апплет

Я нахожусь в процессе превращения моего Java-приложения в веб-апплет. Пока что я могу экспортировать банку, подписать ее и, видимо, запустить. Изображение загрузки Java воспроизводится бесконечно, и окно JFrame моего приложения всплывает и подключается к серверу моего приложения. К сожалению, как апплет, JFrame кажется замороженным. Он никогда ничего не отображает, а содержимое окна — это просто тени буфера кадра объектов, перетаскиваемых через него.

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

Кажется, что превратить приложение в апплет немного сложнее, чем я предполагал вначале. Какие соображения следует учитывать при выполнении этого преобразования?


person directedition    schedule 25.08.2009    source источник
comment
Вы определенно визуализируете пользовательский интерфейс в потоке Swing при запуске апплета?   -  person Adamski    schedule 25.08.2009
comment
Можете ли вы просмотреть консоль веб-запуска Java? Он может показать неперехваченное исключение или около того.   -  person Miguel Ping    schedule 25.08.2009


Ответы (1)


Если вы видите консоль апплета, вы можете увидеть там исключение.

Вы также можете установить обработчик необработанных исключений AWT:

static public final class UncaughtAwtExceptionHandler {
    public static void installAsUncaughtAwtExceptionHandler() {
        System.setProperty("sun.awt.exception.handler", 
            UncaughtAwtExceptionHandler.class.getName() );
    }
    public UncaughtAwtExceptionHandler() {
        /* Nothing to construct */
    }
    public void handle(Throwable ex) {
        /* Do something here to transmit the exception 
           to your server, or log it, or whatever */
    }
}

Поскольку исключение в потоке AWT, вероятно, является причиной вашей проблемы, это даст вам возможность лучше понять, в чем заключается эта проблема.

person Jon Bright    schedule 25.08.2009