簡體   English   中英

Java Applet在運行JRE 1.7的客戶端上有奇怪的怪癖

[英]Java Applet has strange quirks on clients running JRE 1.7

我有一個運行在Java 1.5上的Weblogic 10提供的applet。 我嘗試使用Java 1.6和Java 1.7構建有問題的小程序,但是兩者都具有相同的怪癖。

問題是,當客戶端使用JRE 1.7運行applet時,將以某種方式從完全不同的面板中調用函數。 我知道,這絕對沒有道理,但事實確實如此。 這是發生了什么:

用戶加載應用程序並選擇要使用的數據對象。 此數據對象有兩個面板,即快速視圖和詳細視圖。 在詳細視圖上,用戶可以更改對象資產值,但不能在快速視圖上更改。 如果他們嘗試更改資產價值,則會出現“您確定嗎?”警報。 因此,在快速查看時,即使它們甚至不在可能的屏幕上,他們也將隨機獲得這些警報,以確保它們確實確實希望更改對象的資產值。 更糟糕的是,詳細視圖上的其他值會隨機更改為零或空值,並且由於它們不需要確認,因此會立即命中數據庫。

請注意,我們公司中有很多不同的Java應用程序,只有一個有此問題。 我們要求用戶不要安裝Java 1.7,但是經常有人這樣做,並且此應用程序會中斷。 然后,我們必須刪除1.7,然后安裝1.6,一切都很好。

我試過調試,但是在任何地方都找不到。 另外,我不是該應用程序的作者,而只是負責尋找解決方案。 我們將不勝感激任何幫助,甚至包括一些有關在哪里尋找或如何正確調試的想法。

介意,我最近在applet上做得並不多。

小程序的方法具有以下范圍:

{ init { start; stop } destroy }

開始/停止范圍涉及顯示的HTML頁面。

我的猜測是, init過多,或者使用了static字段。

通過init您可以使用空init擴展舊的applet,然后start調用super.init() 同樣的stop / destroy

例如,靜態字段可以通過javap查看。 然后,您確實需要重寫,但是對於applet,靜態字段絕對是不行的。

可以使用JDK的bin目錄中的appletviewer測試applet。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM