Причины, почему селекторы на основе id не работают
Решения
$(document).ready();
.bind()
для jQuery. В старых версиях jQuery для этого было .live()
. Одиночные элементы являются злыми, что Вы ожидаете?;)
Возможно, наиболее комплексный подход должен был бы загрузиться, объем апплета в другом загрузчике класса (используйте java.net. URLClassLoader.newInstance). Затем используйте WeakHashMap для соединения загрузчика класса с апплетом. Если Вы могли бы разделить большую часть кода на общий загрузчик класса (как родитель каждого загрузчика на класс апплета) и в нормальную кодовую базу апплета, которая будет быстрее, но больше работы.
Другие взломы:
Если у Вас есть доступ к какому-либо компоненту, можно неоднократно использовать Component.getParent или SwingUtilities.getRoot.
Если Вы находитесь в потоке экземпляра на апплет, то можно создать ThreadLocal.
От EDT можно считать текущее событие из очереди (java.awt. EventQueue.getCurrentEvent ()), и возможно находят компонент от этого. Кроме того, продвиньте EventQueue с переопределенным dispatchEvent методом.
Если я понимаю Вас правильно, идея состоит в том, чтобы получить другой "одноэлементный" объект для каждого объекта вызывающей стороны или "контекста". Одна вещь, которую можно сделать, состоит в том, чтобы создать локальную для потока глобальную переменную, где Вы пишете идентификатор текущего контекста. (Это может быть сделано с AOP.) Затем в одноэлементном методе считывания, идентификатор контекста выбирается от локального для потока для использования в качестве ключа к корректному "одноэлементному" экземпляру для контекста вызова.
Относительно AOP не должно быть никакой проблемы с помощью него в апплетах, так как, в зависимости от сокращений точки, советы ткут во время компиляции, и JAR добавляется к зависимостям во время выполнения. Следовательно, никакое специальное доказательство AOP не должно оставаться во время выполнения.
@Hugo относительно threadlocal:
Я думал о том решении. Однако из экспериментов я нашел две проблемы с тем подходом: