0

Web ページに埋め込む予定のサード パーティの Java アプレットがありますが、アプレット コードにアクセスできません。

しかし、クリックするとページにボタンを作成して、アプレットのスクリーンショットを作成したいと考えています(画面全体ではありません)。Robot クラスを使用してみましたが、それは私が望まない画面全体を占有します

BufferedImage screencapture = new Robot().createScreenCapture(
    new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) );

私はネットを見てコードを見つけましたが、それらは私が持っていないアプレットへのアクセスを必要とします。

Javaを使用してそれを行うことは可能ですか?もしそうなら、どのように?

4

1 に答える 1

1

少なくとも 2 つの選択肢があります。

2番目のアプレット

  • を使用して、2 番目のアプレットを使用してアプレットへの参照を取得しますAppletContext.getApplet(name)
  • Applet.getLocationOnScreen()コーディネートを募集します。
  • それはあなたのページなので、アプレットのサイズがパーセンテージを使用して設定されていない限り、キャプチャする幅 x 高さがわかります。
  • ソケットを使用してデスクトップ/CLI アプリに接続します。スクリーンショットを取得するか、アプレットを使用してスクリーンショットを取得します。いずれにせよ、アプレットが信頼されている必要があります。

アプレットを拡張する

元のアプレットを拡張し、新しいメソッドを追加して、現在のアプレット サーフェスの画像を返すかエクスポートします。例については、 ComponentImageCapture.javaを参照してください。

画像をエクスポートするためのオプション:

  • JWSを使用してアプレットをデプロイします。JNLP ファイル API を使用して、イメージをローカル ファイル システムにエクスポートします。
  • JFileChooserより一般的な/を使用して、イメージをローカル ファイル システムにエクスポートするアプレットにデジタル署名しますFile
  • それをホスト サイトに戻します。これは、サンドボックス化されたアプレットによって実行できます。
于 2012-06-02T16:59:45.577 に答える