コマンドラインから作成した単純なアプレットを実行しようとしています。私はただやってみました:
C:\java Applet
明らかに機能しませんでした。ただし、クラスを選択して「Javaアプレットとして実行」を選択すると、Eclipseでアプレットを実行できることに気付きました。Eclipseはこれをどのように行いますか?
appletviewer
アプレットを実行するには、コマンドラインからコマンドを使用する必要があります
IDEは通常、appletviewerを使用してアプレットを起動しますが、無制限のセキュリティポリシーを使用していると思います(コマンドラインから起動した場合のappletviewerはサンドボックス化されています)。
コマンドラインからアプレットビューアを起動するには、次のことを試してください。
prompt> appletviewer TheApplet.java
アプレット情報も参照してください。ソースの上部にあるアプレット要素の使用例については、次のページを参照してください:EG
/* <!-- Defines the applet element used by the appletviewer. -->
<applet code='HelloWorld' width='200' height='100'></applet> */
import javax.swing.*;
/** An 'Hello World' Swing based applet.
To compile and launch:
prompt> javac HelloWorld.java
prompt> appletviewer HelloWorld.java */
public class HelloWorld extends JApplet {
public void init() {
// Swing operations need to be performed on the EDT.
// The Runnable/invokeLater() ensures that happens.
Runnable r = new Runnable() {
public void run() {
// the crux of this simple applet
getContentPane().add( new JLabel("Hello World!") );
}
};
SwingUtilities.invokeLater(r);
}
}
コマンドラインから起動すると、アプレットビューアには、ブラウザに配置されたアプレットに適用されるよりもさらに制限の厳しいサンドボックスがあります。
appletviewerの代わりにAppleteerを使用することを強くお勧めします。これは、appletviewerよりも優れているためです(そして私はそれを書きました;)。
アプレットは、Panelを拡張し、アプレットのコンテキストを持つグラフィックコンポーネントです。この環境をエミュレートすることは大きな問題ではありません。境界線レイアウトのフレームを作成し、このフレームの中央にアプレットを配置するmainメソッドを使用してアプリケーションを作成する必要があります。このアプリケーションは、パラメータを取得するためのAPIを提供するアプレットコンテキストも実装する必要があります。
@Satyaが述べたように、JDKには、コマンドラインから実行できるappletvieerという名前のユーティリティがあります。Eclipseは、appletvieerを直接使用することも、上記のように独自のビューアーを実装することもできます。