問題タブ [jxbrowser]

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.

0 投票する
4 に答える
1172 参照

java - 重量級のJavaコンポーネントをキャプチャしますか?

JFrameにヘビーウェイトコンポーネント(JxBrowser)を含むデスクトップアプリケーションがあります。GUIからスナップショットを作成し、それをたとえばpngファイルに保存するにはどうすればよいですか?

注:Graphics2dとComponent.paint()/ paintAll()/ print / printAllを使用するメソッドは、軽量コンポーネントに対してのみ機能します。

どんな答えもありがたいです!

編集

私はすでにこれを試しました:

しかし、私は内側のコンポーネントをキャプチャしたいです...

編集

状況はこのソリューションに収束しているようです。JFrameに大きなヘビーウェイトコンポーネントがあるため、JScrollPaneでレンダリングされる場合、プログラムでスナップショットを取得し、screencaptureでスクロール/スクリーンショットする他の方法はありませんか?

0 投票する
1 に答える
1203 参照

java - Java は webbrowser を実装しています: これはブラウザのキャッシュに保存されますか? また、コンテンツを直接提供できますか?

どのアプリケーションが適しているかをまだ決定しようとしています: 現在のオプション JxBrowser と SWT ウィジェット。

Java アプリケーションは、JxBrowserSWT ブラウザ コントロールなどの Web ブラウザ コントロールを実装します。これらはどちらも、Java から JavaScript に情報を渡すオプションを提供します。

ここで知っておく必要があります: html/css/javascript ファイルをキャッシュに保存しないことは可能ですか? Java にコンテンツを入力として提供させることは可能ですか (これは SWT で可能であるように見えますが、JxBrowser は不明です)。

基本的に、キャッシュまたは一時フォルダーに一時ファイルを入れたくありません。また、入力ストリームから情報をフィードしたいと考えています。

または、すべてがキャッシュに保存されないように、独自のブラウザーをロール/埋め込みする必要がありますか?

おそらく明確にするために、これら2つのプログラムがJava内から独自のブラウザーを実装するときにキャッシュしないように定義されたメソッドを提供するかどうか、および入力を直接ストリーミングしてhtml / css / javascriptコンテンツを提供できるかどうかを尋ねています。

私は Web ブラウザーのキャッシュなしの方法を理解しています。ここでは、ブラウザーの埋め込みが同じように動作するかどうかを尋ねているだけです。ドキュメントはこの問題についてあまり具体的ではないようですが、おそらくもっと調べる必要があります。

さらに調べてみると、ファイルをキャッシュに保存しているように見えます。第 2 に、キャッシュのクリアなどのメソッドは非固有であるため、キャッシュのクリア関数を呼び出すと、クライアントのキャッシュ全体を空にする必要があります。ぐっ……

0 投票する
4 に答える
3536 参照

java - JDK7 とネイティブ コンポーネントの問題に焦点を当てる

JNIWrapper を介して IE ocx コンポーネントを埋め込むスイング アプリケーションがあります。

jdk6 から jdk7 に切り替えた後、フォーカスの問題に気付き始めました。埋め込まれた IE がテキスト フィールドのある Web ページ (Google 検索ページなど) を表示すると、問題が発生します。

ブラウザがフォーカスを「キャッチ」するので、検索テキスト フィールドに入力を開始できます。入力されたすべてのキーは IE ocx に送られます。しかし、swing はこのフォーカスの変更を無視しているようです。フォーカスをスイング テキスト フィールドに変更しても (スイングで入力カーソルが点滅している場合)、入力したすべてのキーは IE ocx に移動します。

フォーカスを「修正」する唯一の方法は、メイン フレームを非アクティブにしてアクティブにすることです。その後、焦点は一貫しているようです。しかし、Google 検索のテキスト フィールドをもう一度クリックすると、フォーカスが再び壊れてしまいます。

jdk7ではフォーカスの扱いに大きな変更があるようです。リンクから:

Windows プラットフォームでは、「シンセティック フォーカス」の概念が実装されています。これは、実際のネイティブ フォーカスが「フォーカス プロキシ」コンポーネントに設定されているのに対し、フォーカス オーナー コンポーネントはフォーカス可能な状態のみをエミュレートすることを意味します。このコンポーネントは、キーと入力メソッドのネイティブ メッセージを受け取り、それらをフォーカス オーナーにディスパッチします。JDK7 より前は、フォーカス プロキシ コンポーネントは、フレーム/ダイアログ内の専用の非表示の子コンポーネントでした。JDK7 では、フレーム/ダイアログ自体がフォーカス プロキシとして機能します。現在は、所有されているウィンドウ内のコンポーネントだけでなく、すべての子コンポーネントに対してもフォーカスをプロキシします。単純なウィンドウはネイティブ フォーカスを受け取ることはなく、その所有者のフォーカス プロキシに依存します。このメカニズムはユーザーに対して透過的ですが、デバッグ時には考慮する必要があります。

誰でも動作を「修正」する考えがありますか?

EDITJxBrowserで問題を再現するためのコード

0 投票する
1 に答える
504 参照

java - Watij の JxBrowser OS X / Java 1.6_64 非互換性?

OS X 10.6 システムにWatij (Web Application Testing in Java)をインストールして使用しようとしました。

ただし、サンプル テストを実行しようとすると、次の例外が発生します。

64 ビットの問題を疑って、Java 設定アプリを使用して、JVM をデフォルトの 32 ビット実行に切り替えました。ただし、エラー メッセージは厳密には同じです。

32ビットJVMが選択されていることを確認するか、他の環境要素が非互換性を取り除くかを知ることによって、この問題を解決する方法を考えている人はいますか?

0 投票する
1 に答える
449 参照

javascript - GWT と JxBrowser - 経験はありますか?

サーバーから受信したデータを表示するキャンバス コンポーネントを使用して、クライアント サーバー ベースの Web アプリケーションを開発しています。

ここで、次の問題が発生しました。サーバーによって生成されたデータは、クライアントに非圧縮で転送するには多すぎます。最終的なアプリケーションでは、1 秒あたり 1 MB を超えるデータ量が予想されますが、最小限のデータしか転送しません。クライアントによって必要とされます。

データ圧縮を介してその問題を解決できますが、データを圧縮すると、クライアントは JavaScript 内で十分に速く解凍できなくなります。その結果、私の画面は遅れています。

解決策は、別のスレッドで解凍を実行して、画面が影響を受けないようにすることです。

ちょうど今、JxBrowser に出会いました: http://www.teamdev.com/jxbrowser/

これは、別のスレッドがクライアントとサーバーの通信とデータの解凍を処理している間に、クライアント マシンの JFrame 内で Web アプリケーションを実行できるようにするライブラリです。

最後のステップは、圧縮解除されたデータを JFrame の Web ブラウザに転送することです。

しかし、GWT クライアントの難読化された JavaScript 関数に直接アクセスして、解凍したデータを転送する方法がわかりません。

誰かがすでに同様のことを行ったことがありますか、またはそれを試みて、それが不可能であるという結果に達しましたか?

0 投票する
0 に答える
239 参照

java - SWT コンポーネントのちらつき

画像に示すように、ブラウザーが組み込まれており、そのブラウザーの隅にカメラ ウィンドウを表示するアプリケーションに取り組んでいます。下にブラウザーを表示し、上にカメラ ペインを表示するために、JDesktopPane を使用して、ブラウザー用に 1 つずつ、カメラ ウィンドウ用に 2 つのレイヤーを作成しました。ブラウザを表示するためにjxBrowserを使用しましたが、カメラウィンドウは基本的にAWT Pannelです。ブラウザを追加するためのコードは以下のとおりです。すべて問題ありませんが、問題は、Web ページをスクロールするとカメラ ペインがちらつき、2 番目の画像に示すように Web ページに痕跡が残ることです。この問題に対処する方法がわかりません。

ここに画像の説明を入力

ここに画像の説明を入力

0 投票する
1 に答える
1336 参照

javascript - IE イベントが null です

JXBrowser を使用して IE でぼかしイベントをシミュレートしようとしています。

HTML コード:

および機能「テスト」

IE で手動で試してみると、完全に動作しますが、JXBrowser を使用して実行すると、最初のアラート (alert("1")) が表示されますが、「プロパティ 'srcElement' の値を取得できません:オブジェクトが null または未定義です。」JXBrowser を実行するとイベントがシミュレートされるのに、イベントが null であると表示されるのはなぜですか?

ありがとう

0 投票する
0 に答える
607 参照

java - デフォルトの Web ブラウザを JFrame に実装する方法は?

コンピュータのデフォルト ブラウザを Java JFrame に実装したいと考えています。JXBrowser を調べてみましたが、お金がかかります。これを行う方法はありますか?追加のライブラリが必要な場合は、それが無料で機能している限り問題ありません。御時間ありがとうございます。

0 投票する
1 に答える
208 参照

java - JXBrowser 4.1 でウェブカメラ インターフェイスを使用する方法

Webcam Interface でページを読み込もうとすると、JXBrowser 4.1 で問題が発生します。Windows ではぼやけたページが表示されますが、Mac ではすでにダウンロードした Adob​​e Flash をダウンロードするように求められます。ここに、Windows のスクリーンショットを添付します。これに対する解決策を教えてください。

ありがとうここに画像の説明を入力