問題タブ [appletviewer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Eclipse を使用した Java アプレットのデプロイ
Java Web サイトと Java アプレットを一緒に立ち上げて実行しようとしています。私はEclipse Tomcatプロジェクトをセットアップし、AppletViewerで正常に動作するJavaアプレットを作成しました。ただし、ブラウザでアプレットを起動するのに問題があります。
AppletMain.class が WebContent フォルダーにありません。それを正しくデプロイするための最良の方法は何ですか?
Eclipse プロジェクト:
アプレットのソース ファイル:
index.jsp
java - アプレットを Web ブラウザで実行すると例外がスローされる
アプレットプログラムを書きました。その中には、java tools.jar からのクラスへの参照がいくつか含まれています (例: - import com.sun.jdi.connect.IllegalConnectorArgumentsException)。
このアプレットを appletviewer ユーティリティで実行すると、問題なく動作します。しかし、このアプレットを HTML ファイルに埋め込んで Web ブラウザで実行しようとすると、実行時に見つからないいくつかのクラスに関する例外が発生します:-
Java Plug-in 1.6.0_18
Using JRE version 1.6.0_18-b07 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\Pras
java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/sun/jdi/connect/IllegalConnectorArgumentsException
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: com/sun/jdi/connect/IllegalConnectorArgumentsException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sun.jdi.connect.IllegalConnectorArgumentsException
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 14 more
Caused by: java.io.FileNotFoundException: C:\pal\WTP_Workspace\JavaSocketBridge\bin\com\sun\jdi\connect\IllegalConnectorArgumentsException.class (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(Unknown Source)
at java.io.FileInputStream.(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 17 more
Exception: java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/sun/jdi/connect/IllegalConnectorArgumentsException
ただし、IllegalConnectorArgumentsException クラスは、tools.jar 内にある Java ランタイムの一部です。
ブラウザ内でも実行するにはどうすればよいですか?
よろしくお願いします。
よろしく、
プラス
java - JCTerm、Java アプレット端末エミュレーターのテストは、Eclipse では機能しますが、ブラウザーでは機能しません
変更されていないバージョンの JCTerm (ターミナル エミュレーター、アプレットとして使用できます。アプレット機能を使用したい) をテストすると、すべてが Eclipse の AppletViewer で正常に動作しているように見えますが、Web ページで結果の jar ファイルをテストすると、すべてのオプションが表示されます。黄色の警告記号が点滅するメッセージ ボックスを表示し、何もしません。一部のオプションでは、「この設定の前に接続を確立してください」というエラーが表示されます。
私が使用したいと考えているオプションは、[ファイル] メニューの [SHELL セッションを開く...] です。「Open SHELL Session...」オプションを試すと、アプレットの Java コンソールにこのようなものが表示されますが、これは直接関連しているようです。私はそれが何を意味するのかについての手がかりを持っていません。
このプログラムが正しく動作する例は、http://wiredx.net/jcterm/にあります。
serialization - 私のjava.io.InvalidClassExceptionを理解できません:javax.swing.JComponent
サーバーとの通信にシリアル化を使用しています。JTree
このようにして、私のアプレットはサーバーで作成されたものを取得します。eclipseとappletViewerでは、アプレットは完全に機能しますが、サーバーからアプレットを起動しようとすると、コンソールでこのエラーが発生しました。
java.io.InvalidClassException:javax.swing.JComponent; ローカルクラスに互換性がありません:ストリームclassdesc serialVersionUID = 5858390075012080263、ローカルクラスserialVersionUID = -1030230214076481435
プロジェクトのすべてのクラスのserialVersionUIDを取得しようとしましserialver
たが、いずれも 取得していませんserialVersionUID = 5858390075012080263
。
オブジェクトを逆シリアル化しようとすると、エラーが発生します。これに加えて、エラーは言う
java.io.InvalidClassException: javax.swing.JComponent
。
JComponent
このエラーの原因を特定するにはどうすればよいですか?それは私のJTree
ですか?serialVersionUIDを設定するにはどうすればよいですか?このJComponentを拡張するクラスを作成し、serialVersionUIDを設定しますか?
java - Java アプレットは JLabel (およびその他のコンポーネント) を追加のランダムな文字でレンダリングします
コードが以下にリストされているアプレットを実行すると、 のテキストがJLabel
正しく描画されません。ラベル テキストの上に余計な文字が重なって表示されます。
への呼び出しを省略した場合setFont()
、レンダリングの問題は見られません。
アプレットはアプレット ビューアーでは正常に動作しますが、Chrome、Firefox、および IE 8 ではこれらのレンダリング アーティファクトが発生します。Windows XP で最新バージョンの Java 6 (rev. 25) を実行しています。この問題は Chrome では常に発生し、Firefox では断続的に発生するようです。
これを引き起こしている可能性のあるものについて何か考えはありますか? 馬鹿なことをしていると思います。
コンパイルしたアプレットをhttp://evanmallory.com/bug-demo/に投稿しました。
これが私にとってどのように見えるかのスクリーンショットです:
java - HTMLなし、ブラウザなし、AppletviewerなしでJavaアプレットを表示しますか?
Swingアプリケーションでは、外部クラスを使用してそれらをインスタンス化して表示できます。
appletviewerを使用せずに、Eclipseの外部のアプレットでも同じことをしたいと思います。
MyappletRunner
クラスを実行し、そのmain
メソッドで次のアプレットを開始して表示できるようにしたいと思います。
次のソースコードが与えられます:
java - Jar ファイル内の JApplet は、Jar ファイルに含まれる html からのみ実行できます。
アプリケーションに基づく JApplet があります。すべてのデータを含むテキストベースのファイルを読み込む必要があります。だから私はそれをJarファイルに貼り付け、AppletViewerですべてがうまくいきました。
残念ながら、ブラウザーの世界ですべてが満足しているわけではありません。
jar に含まれていない html ページからブラウザーでアプレットを実行しようとすると、古き良きものになります: java.security.AccessControlException: アクセスが拒否されました (java.io.FilePermission
(その後、ファイルシステム上の jar の場所と !resource アドレスが一覧表示されます)
しかし、winzip のような zip エクストラクター/ビューアーで jar ファイルを開き、アプレット (jar 内に置いたもの) を起動するページを開くと、正常に動作します。予想通り、同じホストを持つリソースにしかアクセスできません。この場合、jar ファイル自体にまで行き着くようです。
だから私の質問はWTFですか?ブラウザからjarファイル内のhtmlファイルを開くことはできますか...権限をさらに台無しにしない限り、iframe内でも何でも構いません。
または、jar の外側の html ページからアプレットを呼び出すことはできますか? 今は JNLP を使用していません。プロトタイプ アプレットをできるだけ早く作りたかったからです。
アプレットへの HTML 呼び出し全体です。
本当に署名する必要はないので、署名するつもりはありません。jar にコールバックしたいだけです。
java - 実行中のアプレットからどのように情報を取得できますか?
私はアプレットビューアで小さなアプレットゲームを実行していますが、アプレットから「スコア」フィールドを定期的に取得しようとする別のJavaプログラムがあります。
ただし、現在、これを実行しようとしている方法は(わずかに擬似コード化されています):
アプレットmyGame=Game();
Runtime.exec( "appletviewer Game");
スコア=myGame.getCurrentScore;
問題は、初期化するアプレット変数が、appletviewerによって作成されたアプレットに対応していないことです。どうすればこれを解決できますか?
java - Javaアプレットは10fpsでのみ更新されます
私の最近のJavaの課題の1つ(高校のコース...)は、境界線が描かれ、ボールが画面の周りを移動して境界線で跳ねるアプレットを作成することです。Frapsをインストールしましたが、アプレットはわずか10 fpsでしか実行されていないため、アニメーションは非常に平凡に見えます。
アニメーションを描く私のオリジナルの方法:
- 私のメソッドを呼び出す:
drawScreen()
でpaint()
- から渡されるフレームレートのために一時
Thread.sleep(1000/frameRate)
停止しますdrawScreen()
html
- 電話
repaint()
これは素晴らしくうまく機能し、アプレットは夢のように動作しました...毎回画面を再描画してはいけないと書かれたグレーディングシートを見るまで(おそらく、コンピュータが異常に遅く、友人がアプレットがちらつき、目の不快感を引き起こし、至る所で多くの裂け目が発生します)、ボールを描画してから、同じ色の背景の別のボールを描画して覆い、座標を計算し、アプレットが終了します
これの問題はそれです
repaint()
呼び出すことはできません- 私のアニメーションの上限は10fpsです
- アプレットビューア、またはアプレット/ビューア内の他の何かをクリックして私に応答するために利用できるスレッドはありません。
使用せずにアニメーションを10fps以上で実行する方法はありrepaint()
ますか?
java - Java でシステム プロパティを使用するとエラーが発生する
私はJavaが初めてです。私はアプレットなどを学んでおり、システム クラスを使用してマシンのプロパティを取得する簡単なプログラムを作成しようとしています。簡単に言えば、ウィンドウ名、そのバージョン、およびアーキテクチャを出力しようとしています。何とかしてみました。アプレットビューアで実行しようとすると実行されますが、サーバーで実行しようとするとエラーが表示されます.コードに問題がある可能性はありますか? 私はこれが初めてなので、助けてください。アプレットへのリンクはこちら。
http://ashish.club-tec.co.il/sysf.html
コードはこちら
ありがとう!