我有以下情景,我被困在一个地方。有人可以帮我这个吗?
我有一个部署在server1
上的applet应用程序,我正在client1
上访问此applet。当我点击JTabbedPane
的任何特定选项卡时,请求转到服务器并下载要加载的特定类。当我使用鼠标单击任何选项卡时,一切正常。当我以编程方式执行相同的操作(调度MouseEvent
或使用setSelectedIndex()
的{{1}}方法)时,它不起作用。
注意:我的调度事件代码不在同一个域中,我只在本地使用此代码,请在下面阅读我如何调度该事件。
我创建了一个java代理JTabbedPane
,其中包含一个单击选项卡以选择特定选项卡(MyAgent.jar
)的函数。
我的java代理程序(检测代理程序)在JTabbedPane
上运行applet时,我正在使用applet附加我的java代理程序,此代理程序将调度鼠标单击事件。在这种情况下,选项卡会被选中,但它会抛出client1
,并且由于异常而没有在此选项卡中加载任何组件。
任何人遇到类似的问题或有任何人想知道任何事情要试用,请告诉我。
答案 0 :(得分:2)
而不是使用MouseListener
来监控对选项卡状态的更改,您应该将ChangeListener
附加到选择模型。
这样,标签的更改方式无关紧要。
答案 1 :(得分:1)
问题解决了。 javaAgent的securityContext不同,applet的securityContext也不同。因此javaAgent无法加载applet上下文中存在的类。现在我进行了更改,以便我的代码也可以在applet上下文中运行。现在,当事件被触发时,它可以加载所需的类。