Что происходит, когда мой Java-апплет работает на более старых версиях Java, но использует новые классы? - PullRequest
2 голосов
/ 09 июля 2011

Я создаю апплет для встраивания в HTML-страницу. Этот апплет использует класс GroupLayout, который находится в Java SE 6, но не в 5.

Когда кто-то, чей компьютер работает под управлением Java 5 или более ранней версии, открывает эту HTML-страницу, что произойдет? Будет ли апплет работать неправильно?

Ответы [ 3 ]

3 голосов
/ 09 июля 2011

Будет выброшено ClassDefNotFoundError.Чтобы избежать этого, не используйте новый API, не используйте сторонний API или макет «неподвижной» группы: возьмите класс, измените его пакет, включите в свой проект и используйте его.Вы даже можете сделать это лучше.Создайте экземпляр динамически, используя Class.forName ().Если это удастся, используйте стандартную реализацию, в противном случае используйте ваш украденный класс.Вы можете сделать это, потому что обычно вы можете использовать стандартный API LayoutManager, не используя API конкретного загрузчика классов.

0 голосов
/ 09 июля 2011

Да, апплет потерпит неудачу. Плагин Java не сможет загрузить ваш класс апплета, либо из-за недопустимой версии, либо из-за отсутствия класса.

0 голосов
/ 09 июля 2011

Да, не получится.

Вы можете использовать стороннюю библиотеку с похожими функциями: http://java.net/projects/swing-layout/

...