Как запустить на форме applet

Amfion

Well-known member
26.05.2010
143
2
#1
Добрый день.

Как подключить applet? Выдает Class not found

Создал в еклипсе класс
import java.applet.*;

import javax.swing.JLabel;

public class myApplet extends Applet implements Runnable {
public void run(){}

public void start() {
add(new JLabel("I'm Applet!", JLabel.CENTER));
}

}

Добавил его в базу в Shared Resources\Applet.
На форму вставил applet.
 

oshmianski

Достойный программист
Lotus team
25.04.2012
556
8
#2
JApplet?
Добавить элементы: applet.getContentPane().add(...);
 

Amfion

Well-known member
26.05.2010
143
2
#3
JApplet?
Добавить элементы: applet.getContentPane().add(...);
А можно подробней куда добавить.
[DOUBLEPOST=1426745727,1426745537][/DOUBLEPOST]
А можно подробней куда добавить.
Не могу понять почему в лотусе не работает. Как это сделать.
 

savl

Lotus team
28.10.2011
2 136
105
#4
@Amfion, версия клиента какая? если 9.0.1 + FP2 и выше, то там с java косяк есть, надо дополнительный патч ставить.
 

oshmianski

Достойный программист
Lotus team
25.04.2012
556
8
#5
@Amfion,
Как делаю я:
1. В Java IDE реализую нужный мне апплет.
2. В Java IDE компилю jar.
3. В DD (domino designer) создаю апплет и аттачу в него jar из п. 2.
4. На форму кладу апплет из п. 3.

@savl, версия 9.0.1 + FP3 никаких под. патчей не ставил, но и апплеты пилил в версия постарше.
 

oshmianski

Достойный программист
Lotus team
25.04.2012
556
8
#7
Тут выкладывал бд. В ней можно посмотреть как реализована история в апплете.
 

garrick

Lotus team
26.10.2009
901
61
#9
1. Какой версией Java скомпилирован class апплета?
2. Если используете Swing, надо наследоваться от JApplet.
3. Если используете Swing и Lotus Notes надо наследоваться от JAppletBase.
4. Обязательно очень подробно изучить эту статью
Для просмотра контента необходимо: Войти или зарегистрироваться
. Старая конечно, но ничего с тех пор не изменилось.
 

oshmianski

Достойный программист
Lotus team
25.04.2012
556
8
#10
@savl,
Хм, так тож про бридж. А тут об апплетах, вроде.
Или я что-то путаю?
 

savl

Lotus team
28.10.2011
2 136
105
#11
@oshmianski, так то оно так, но ExtLib для XpAge из-за этой ошибки так же не ставился.
Там явно не мост используется, ошибка была из java, у нас java мало и проверить полностью не смог.
Однако лучше перестраховаться.
 

oshmianski

Достойный программист
Lotus team
25.04.2012
556
8
#12
раз уж про ошибки java речь зашла...
юзал кто stax? у меня на next() зависает (9.0.1 + FP3), не всегда, но бывает. вроде были упоминания в ошибке JVM от IBM и был соответствующий фикс, но он для WebSphere.
 

Amfion

Well-known member
26.05.2010
143
2
#13
В консоль выводит ошибку

Не найден файл при поиске: org.apache.log4j.Category
java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.initialize(J9VMInternals.java:222)
at net.sf.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:166)
at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:144)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:116)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at com.intuit.ipp.query.GenerateQuery.createQueryEntity(GenerateQuery.java:56)
at appLotus.quick(appLotus.java:79)
at appLotus.init(appLotus.java:46)
at COM.ibm.JEmpower.applet.AppletFrame.run(AppletFrame.java:460)
at java.lang.Thread.run(Thread.java:738)
Caused by: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getProtectionDomain)
at java.security.AccessController.checkPermission(AccessController.java:132)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:544)
at COM.ibm.JEmpower.applet.AppletSecurity.superDotCheckPermission(AppletSecurity.java:1449)
at COM.ibm.JEmpower.applet.AppletSecurity.checkRuntimePermission(AppletSecurity.java:1311)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1611)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1464)
at java.lang.Class.getProtectionDomain(Class.java:1254)
at net.sf.cglib.core.ReflectUtils$1.run(ReflectUtils.java:42)
at java.security.AccessController.doPrivileged(AccessController.java:228)
at net.sf.cglib.core.ReflectUtils.<clinit>(ReflectUtils.java:40)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
... 15 more

Что еще надо подключить к аплету. Подключаю jar apache-log4j-1.2.15 вроде выдает ошибку

log4j:WARN Caught Exception while in Loader.getResource. This may be innocuous.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.apache.log4j.helpers.Loader.getTCL(Loader.java:136)
at org.apache.log4j.helpers.Loader.getResource(Loader.java:74)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:94)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at org.apache.log4j.Logger.getLogger(Logger.java:94)
at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:289)
at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:109)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:56)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39)
at java.lang.reflect.Constructor.newInstance(Constructor.java:527)
at org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1116)
at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:914)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:310)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
at org.apache.commons.configuration.AbstractFileConfiguration.<init>(AbstractFileConfiguration.java:121)
at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration$FileConfigurationDelegate.<init>(AbstractHierarchicalFileConfiguration.java:445)
at org.apache.commons.configuration.XMLConfiguration$XMLFileConfigurationDelegate.<init>(XMLConfiguration.java:1449)
at org.apache.commons.configuration.XMLConfiguration$XMLFileConfigurationDelegate.<init>(XMLConfiguration.java:1449)
at org.apache.commons.configuration.XMLConfiguration.createDelegate(XMLConfiguration.java:955)
at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.initialize(AbstractHierarchicalFileConfiguration.java:134)
at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.<init>(AbstractHierarchicalFileConfiguration.java:61)
at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.<init>(AbstractHierarchicalFileConfiguration.java:86)
at org.apache.commons.configuration.XMLConfiguration.<init>(XMLConfiguration.java:243)
at com.intuit.ipp.util.Config.<init>(Config.java:189)
at com.intuit.ipp.util.Config.<init>(Config.java:13)
at com.intuit.ipp.util.Config$1.initialValue(Config.java:170)
at com.intuit.ipp.util.Config$1.initialValue(Config.java:168)
at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:152)
at java.lang.ThreadLocal.get(ThreadLocal.java:142)
at com.intuit.ipp.util.Config$1.get(Config.java:174)
at com.intuit.ipp.util.Config$1.get(Config.java:168)
at com.intuit.ipp.util.Config.getProperty(Config.java:224)
at com.intuit.ipp.security.OAuthAuthorizer.<init>(OAuthAuthorizer.java:66)
at com.intuit.ipp.security.OAuthAuthorizer.<init>(OAuthAuthorizer.java:84)
at appLotus.quick(appLotus.java:70)
at appLotus.init(appLotus.java:46)
at COM.ibm.JEmpower.applet.AppletFrame.run(AppletFrame.java:460)
at java.lang.Thread.run(Thread.java:738)
Caused by: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader)
at java.security.AccessController.checkPermission(AccessController.java:132)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:544)
at COM.ibm.JEmpower.applet.AppletSecurity.superDotCheckPermission(AppletSecurity.java:1449)
at COM.ibm.JEmpower.applet.AppletSecurity.checkRuntimePermission(AppletSecurity.java:1311)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1611)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1464)
at java.lang.Thread.getContextClassLoader(Thread.java:458)
... 46 more
log4j:WARN Caught Exception while in Loader.getResource. This may be innocuous.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.apache.log4j.helpers.Loader.getTCL(Loader.java:136)
at org.apache.log4j.helpers.Loader.getResource(Loader.java:74)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:96)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at org.apache.log4j.Logger.getLogger(Logger.java:94)
at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:289)
at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:109)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:56)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39)
at java.lang.reflect.Constructor.newInstance(Constructor.java:527)
at org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1116)
at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:914)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:310)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
at org.apache.commons.configuration.AbstractFileConfiguration.<init>(AbstractFileConfiguration.java:121)
at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration$FileConfigurationDelegate.<init>(AbstractHierarchicalFileConfiguration.java:445)
at org.apache.commons.configuration.XMLConfiguration$XMLFileConfigurationDelegate.<init>(XMLConfiguration.java:1449)
at org.apache.commons.configuration.XMLConfiguration$XMLFileConfigurationDelegate.<init>(XMLConfiguration.java:1449)
at org.apache.commons.configuration.XMLConfiguration.createDelegate(XMLConfiguration.java:955)
at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.initialize(AbstractHierarchicalFileConfiguration.java:134)
at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.<init>(AbstractHierarchicalFileConfiguration.java:61)
at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.<init>(AbstractHierarchicalFileConfiguration.java:86)
at org.apache.commons.configuration.XMLConfiguration.<init>(XMLConfiguration.java:243)
at com.intuit.ipp.util.Config.<init>(Config.java:189)
at com.intuit.ipp.util.Config.<init>(Config.java:13)
at com.intuit.ipp.util.Config$1.initialValue(Config.java:170)
at com.intuit.ipp.util.Config$1.initialValue(Config.java:168)
at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:152)
at java.lang.ThreadLocal.get(ThreadLocal.java:142)
at com.intuit.ipp.util.Config$1.get(Config.java:174)
at com.intuit.ipp.util.Config$1.get(Config.java:168)
at com.intuit.ipp.util.Config.getProperty(Config.java:224)
at com.intuit.ipp.security.OAuthAuthorizer.<init>(OAuthAuthorizer.java:66)
at com.intuit.ipp.security.OAuthAuthorizer.<init>(OAuthAuthorizer.java:84)
at appLotus.quick(appLotus.java:70)
at appLotus.init(appLotus.java:46)
at COM.ibm.JEmpower.applet.AppletFrame.run(AppletFrame.java:460)
at java.lang.Thread.run(Thread.java:738)
Caused by: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader)
at java.security.AccessController.checkPermission(AccessController.java:132)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:544)
at COM.ibm.JEmpower.applet.AppletSecurity.superDotCheckPermission(AppletSecurity.java:1449)
at COM.ibm.JEmpower.applet.AppletSecurity.checkRuntimePermission(AppletSecurity.java:1311)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1611)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1464)
at java.lang.Thread.getContextClassLoader(Thread.java:458)
... 46 more
log4j:WARN No appenders could be found for logger (org.apache.commons.configuration.ConfigurationUtils).
log4j:WARN Please initialize the log4j system properly.
java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.initialize(J9VMInternals.java:222)
at net.sf.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:166)
at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:144)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:116)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at com.intuit.ipp.query.GenerateQuery.createQueryEntity(GenerateQuery.java:56)
at appLotus.quick(appLotus.java:79)
at appLotus.init(appLotus.java:46)
at COM.ibm.JEmpower.applet.AppletFrame.run(AppletFrame.java:460)
at java.lang.Thread.run(Thread.java:738)
Caused by: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getProtectionDomain)
at java.security.AccessController.checkPermission(AccessController.java:132)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:544)
at COM.ibm.JEmpower.applet.AppletSecurity.superDotCheckPermission(AppletSecurity.java:1449)
at COM.ibm.JEmpower.applet.AppletSecurity.checkRuntimePermission(AppletSecurity.java:1311)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1611)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1464)
at java.lang.Class.getProtectionDomain(Class.java:1254)
at net.sf.cglib.core.ReflectUtils$1.run(ReflectUtils.java:42)
at java.security.AccessController.doPrivileged(AccessController.java:228)
at net.sf.cglib.core.ReflectUtils.<clinit>(ReflectUtils.java:40)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
... 15 more

Как поправить?
 
Последнее редактирование модератором:

oshmianski

Достойный программист
Lotus team
25.04.2012
556
8
#14
1. ложить все сторонние jar'ки в %Notes%\jvm\lib\ext\
2. экспериментировать с правами в java.policy
 

oshmianski

Достойный программист
Lotus team
25.04.2012
556
8
#16
@Amfion, там, где пускаете апплет
[DOUBLEPOST=1426840432,1426840373][/DOUBLEPOST]после того, как jar'ки положили в %Notes%\jvm\lib\ext\, нужно перегрузить Notes
 

alexas1

Lotus team
10.04.2014
726
145
#17
Amfion, портянки лучше в спойлер класть. (кнопа с перечёркнутым глазом)
 

Amfion

Well-known member
26.05.2010
143
2
#18
Подскажите как настроить библиотеку log4j

log4j:WARN No appenders could be found for logger (org.apache.commons.configuration.ConfigurationUtils).
log4j:WARN Please initialize the log4j system properly.
java.lang.NullPointerException
at com.intuit.ipp.interceptors.HTTPClientConnectionInterceptor.getRetryHandler(HTTPClientConnectionInterceptor.java:215)
at com.intuit.ipp.interceptors.HTTPClientConnectionInterceptor.execute(HTTPClientConnectionInterceptor.java:85)
at com.intuit.ipp.interceptors.IntuitInterceptorProvider.executeRequestInterceptors(IntuitInterceptorProvider.java:80)
at com.intuit.ipp.interceptors.IntuitInterceptorProvider.executeInterceptors(IntuitInterceptorProvider.java:66)
at com.intuit.ipp.services.DataService.executeQuery(DataService.java:323)
at appLotus.quick(appLotus.java:83)
at appLotus.init(appLotus.java:46)
at COM.ibm.JEmpower.applet.AppletFrame.run(AppletFrame.java:460)
at java.lang.Thread.run(Thread.java:738)
 

garrick

Lotus team
26.10.2009
901
61
#19
Подскажите как настроить библиотеку log4j
Зачем оно вам в Лотусе? Кто и как этот лог потом читать будет? Используйте стандартный лотусовый лог, до него потом добраться легче будет, чтобы почитать.

А по существу вопроса, ищите в инструкциях как сконфигурировать log4j программно, без файла конфигурации, т.к. файл на диске он врядли найдёт.
 

Amfion

Well-known member
26.05.2010
143
2
#20
Я ее не использую. API сторонней программы QuickBooks требует похоже данные jar - ы