aboutsummaryrefslogtreecommitdiff
path: root/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
commita065e04d529da1d847b5062a12c46d916408bf32 (patch)
treefe0f8bcec1ff39a3c499a2708222dcf15224ff70 /files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom
parent218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (diff)
downloadtranslated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.gz
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.bz2
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.zip
update based on https://github.com/mdn/yari/issues/2028
Diffstat (limited to 'files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom')
-rw-r--r--files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/development/index.html24
-rw-r--r--files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/embedding_mozilla_in_a_java_application_using_javaxpcom/index.html156
-rw-r--r--files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/examples/index.html13
-rw-r--r--files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/index.html73
-rw-r--r--files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/other_resources/index.html15
5 files changed, 0 insertions, 281 deletions
diff --git a/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/development/index.html b/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/development/index.html
deleted file mode 100644
index 6d9b1ca50b..0000000000
--- a/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/development/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title: Development
-slug: Mozilla/Tech/XPCOM/Language_Bindings/JavaXPCOM/Development
-tags:
- - JavaXPCOM
- - 'XPCOM:Language Bindings'
-translation_of: Mozilla/Tech/XPCOM/Language_bindings/JavaXPCOM/Development
----
-<p>
-</p>
-<h3 id=".E3.82.BD.E3.83.BC.E3.82.B9" name=".E3.82.BD.E3.83.BC.E3.82.B9"> ソース </h3>
-<p>最新のソースコードは、Mozilla trunk上の {{ Source("extensions/java/xpcom") }} ディレクトリ内にあります。
-</p>
-<h3 id=".E6.A7.8B.E7.AF.89.E6.89.8B.E9.A0.86" name=".E6.A7.8B.E7.AF.89.E6.89.8B.E9.A0.86"> 構築手順 </h3>
-<p>ビルドの手順はここにあります: <a href="ja/Building_JavaXPCOM">Building JavaXPCOM</a>。
-</p>
-<h3 id=".E3.83.90.E3.82.B0" name=".E3.83.90.E3.82.B0"> バグ </h3>
-<p>すべての JavaXPCOM バグは、 <a class="external" href="http://bugzilla.mozilla.org/">Bugzilla</a>内で、"Core" プロダクトと "Java to XPCOM Bridge" コンポーネントを使って記録されています。
-</p>
-<ul><li> 公開されている JavaXPCOMバグの<a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&amp;product=Core&amp;component=Java+to+XPCOM+Bridge&amp;bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;chfieldto=Now">一覧</a>
-</li><li> 新しい JavaXPCOMバグを<a class="link-https" href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&amp;component=Java+to+XPCOM+Bridge&amp;rep_platform=All&amp;op_sys=All">開く</a>
-</li><li> 最近1ヶ月の<a class="external" href="http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&amp;module=all&amp;branch=HEAD&amp;branchtype=match&amp;dir=mozilla%2Fextensions%2Fjava%2Fxpcom&amp;file=&amp;filetype=match&amp;who=&amp;whotype=match&amp;sortby=Date&amp;hours=2&amp;date=month&amp;mindate=&amp;maxdate=&amp;cvsroot=%2Fcvsroot">チェックイン</a>
-</li></ul>
-{{ languages( { "en": "en/JavaXPCOM/Development", "zh-cn": "cn/JavaXPCOM/\u5f00\u53d1" } ) }}
diff --git a/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/embedding_mozilla_in_a_java_application_using_javaxpcom/index.html b/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/embedding_mozilla_in_a_java_application_using_javaxpcom/index.html
deleted file mode 100644
index d523b94ce1..0000000000
--- a/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/embedding_mozilla_in_a_java_application_using_javaxpcom/index.html
+++ /dev/null
@@ -1,156 +0,0 @@
----
-title: Embedding Mozilla in a Java Application using JavaXPCOM
-slug: >-
- Mozilla/Tech/XPCOM/Language_Bindings/JavaXPCOM/Embedding_Mozilla_in_a_Java_Application_using_JavaXPCOM
-tags:
- - Embedding Mozilla
- - JavaXPCOM
- - 'XPCOM:Language Bindings'
-translation_of: Archive/Mozilla/Embedding_Mozilla_in_a_Java_Application_using_JavaXPCOM
----
-<p>
-</p><p><a href="ja/XULRunner">XULRunner</a>には<a href="ja/JavaXPCOM">JavaXPCOM</a>が標準搭載されており、これは、JavaのコードとXPCOMの相互利用を可能にするものです。この記事で示すとおり、JavaでのXPCOMオブジェクトの操作は、C++の場合とそれほど大きな差はありません。
-</p>
-<h4 id="必要な環境"> 必要な環境 </h4>
-<ul><li> Java 1.4.2 以降
-</li><li> <a href="ja/XULRunner">XULRunner</a> 1.8.0.1 以降
-</li></ul>
-<h4 id="組み込み"> 組み込み </h4>
-<p>Mozilla を Java アプリケーションに埋め込むためには、&lt;tt&gt;xulrunner/sdk/lib&lt;/tt&gt;フォルダーにある&lt;tt&gt;MozillaInterfaces.jar&lt;/tt&gt;というライブラリをclasspathに追加する必要があります。このライブラリは Mozilla をブートストラップし、XPCOM メソッドを呼び出すために必要なインターフェースを提供します。
-</p><p>組み込みを開始するために、<a href="https://dxr.mozilla.org/mozilla-central/source/extensions/java/xpcom/interfaces/Mozilla.java" rel="custom">Mozilla</a>共有クラスの提供するメソッドを使用します。はじめに、Java アプリケーションは適切な XULRunner installationを見つける必要があります。
-</p>
-<pre class="eval"> Mozilla mozilla = Mozilla.getInstance();
- GREVersionRange[] range = new GREVersionRange[1];
- range[0] = new GREVersionRange("1.8.0", true, "1.9", false);
- <span>// work with trunk nightly version 1.9a1 ^^</span>
-
- try {
- File grePath = Mozilla.getGREPathWithProperties(range, null);
- LocationProvider locProvider = new LocationProvider(grePath);
- mozilla.initEmbedding(grePath, grePath, locProvider);
- } catch (FileNotFoundException e) {
- <span>// この例外は greGREPathWithProperties が GRE を見つけられなかったときに送出されます</span>
- } catch (XPCOMException e) {
- <span>// この例外は initEmbedding が失敗したときに送出されます</span>
- }
-</pre>
-<p><code>LocationProvider</code>はJavaアプリケーションによって提供されるクラスです。これはインターフェース<a href="https://dxr.mozilla.org/mozilla-central/source/extensions/java/xpcom/interfaces/IAppFileLocProvider.java" rel="custom">IAppFileLocProvider</a>を実装しているもので、
-and tells XPCOM where to find certain files and directories.
-</p><p><code>initEmbedding</code>メソッドは embedding process を開始するもので、Java アプリケーションと XPCOM や Mozilla の連携を可能にするものです。ひとたび Java アプリケーションが Mozilla を使う作業を終えたとき、それは embedding process を terminate する必要があります。
-</p>
-<pre class="eval"> try {
- mozilla.termEmbedding();
- } catch (XPCOMException e) {
- <span>// この例外は termEmbedding が失敗したときに送出されます</span>
- }
-</pre>
-<h4 id="XPCOMオブジェクトを利用する"> XPCOMオブジェクトを利用する </h4>
-<p>Mozilla が組み込まれると、Java アプリケーションは XPCOM オブジェクトを利用することができるようになります。<code>Mozilla</code> クラスはこれの手助けをするメソッドを提供しており、たとえば、<code>getServiceManager</code>、<code>getComponentManager</code>、<code>newLocalFile</code>があります。JavaXPCOM により、 Java アプリケーションがXPCOM オブジェクトを取得し、メソッドを呼び出すのに加え、Java クラスオブジェクトを XPCOM メソッドに渡すことも可能になります。
-</p><p>例えば:
-</p>
-<pre class="eval"> Mozilla mozilla = Mozilla.getInstance();
- WindowCreator creator = new WindowCreator(); <span>// nsIWindowCreator を実装</span>
-
- nsIServiceManager serviceManager = mozilla.getServiceManager();
-
- nsIWindowWatcher windowWatcher = (nsIWindowWatcher) serviceManager
- .getServiceManagerByContractID(NS_WINDOWWATCHER_CONTRACTID,
- nsIWindowWatcher.NS_IWINDOWWATCHER_IID);
- windowWatcher.setWindowCreator(creator);
-</pre>
-<p>この例では、<code>nsIWindowCreator</code>インターフェースを実装した Java のクラスである<code>WindowCreator</code>が存在し、それを Mozilla に登録しようとしています。そのために、まず service manager を取得するのですが、それは Mozilla のwindow watcherのリファレンスにある方法によります。
-</p><p>別の例: (<a class="external" href="http://rayh.co.uk">rayh.co.uk</a>にあるもの)
-</p>
-<pre class="eval"> // linux 上ではこのコードが実行されるより前に gtk が初期化されている必要があることに注意
- Mozilla moz = Mozilla.getInstance();
-
- // 次に XUL アプリケーションを実行するために、XPCOMのservice managerのインスタンスを取得する必要がある
- nsIServiceManager serviceManager = moz.getServiceManager();
-
- // 次に @mozilla.org/toolkit/app-startup;1 サービスを取得する必要がある
- nsIAppStartup appStartup = (nsIAppStartup)serviceManager.getServiceByContractID("@mozilla.org/toolkit/app-startup;1", nsIAppStartup.NS_IAPPSTARTUP_IID);
-
- // 上のものへの nsIWindowWatcher インターフェースを取得する
- nsIWindowCreator windowCreator = (nsIWindowCreator)appStartup.queryInterface(nsIWindowCreator.NS_IWINDOWCREATOR_IID);
-
- // window watcher サービスを取得する
- nsIWindowWatcher windowWatcher = (nsIWindowWatcher)serviceManager.getServiceByContractID("@mozilla.org/embedcomp/window-watcher;1", nsIWindowWatcher.NS_IWINDOWWATCHER_IID);
-
- // window creator をsetする (from step 6)
- windowWatcher.setWindowCreator(windowCreator);
-
- // Create the root XUL window を作成:
- nsIDOMWindow win = windowWatcher.openWindow(null, "<a class=" external">chrome://your-app/content/window.xul</a>", "mywindow", "chrome,resizable,centerscreen", null);
-
- // これを active window にする
- windowWatcher.setActiveWindow(win);
-
- // application を xpcom/xul に手渡し、ここでブロックする:
- appStartup.run();
-</pre>
-<p>これは動作する LocationProvider の例です :
-</p>
-<pre class="eval"> public class LocationProvider implements IAppFileLocProvider {
-</pre>
-<pre class="eval"> private final File libXULPath;
- int counter = 0;
-
- public LocationProvider(File grePath) {
- this.libXULPath = grePath;
- }
-</pre>
-<pre class="eval"> public File getFile(String aProp, boolean[] aPersistent) {
- File file = null;
- if (aProp.equals("GreD") || aProp.equals("GreComsD")) {
- file = libXULPath;
- if (aProp.equals("GreComsD")) {
- file = new File(file, "components");
- }
- }
- else if (aProp.equals("MozBinD") ||
- aProp.equals("CurProcD") ||
- aProp.equals("ComsD") ||
- aProp.equals("ProfD"))
- {
- file = libXULPath;
- if (aProp.equals("ComsD")) {
- file = new File(file, "components");
- }
- }
- return file;
- }
-</pre>
-<pre class="eval"> public File[] getFiles(String aProp) {
- File[] files = null;
- if (aProp.equals("APluginsDL")) {
- files = new File[1];
- files[0] = new File(libXULPath, "plugins");
- }
- return files;
- }
-</pre>
-<p><br>
-</p>
-<h4 id="XPCOM_の_UI_を別のスレッドから呼び出す"> XPCOM の UI を別のスレッドから呼び出す </h4>
-<p>appStartup.run() はメインのイベントループを始動し、アプリケーションが終了するまでそこに留まります。これ以降の場所で XPCOM とcommunicateするためには、nsIProxyObjectManager を使用する必要があります。
-</p><p>上の例に引き続き新しいウインドウを作成するためには、このようにします :
-</p>
-<pre class="eval"> // まず、event queue service を取得します。これは、XPCOM の全てのイベントキューを処理するものです。
- nsIEventQueueService eventQueueServive = (nsIEventQueueService)serviceManager.getServiceByContractID("@mozilla.org/event-queue-service;1",nsIEventQueueService.NS_IEVENTQUEUESERVICE_IID);
-
- // 次に、ウインドウを開くために、UI スレッドを取得します。
- // nsIEventQueueService が所有するstatic変数がUIイベント用の特別なキューを所有しています。
- nsIEventQueue eventQueue = eventQueueServive.getSpecialEventQueue(nsIEventQueueService.UI_THREAD_EVENT_QUEUE);
-
- // 次に、proxy object manager 用の proxy を作成します。
- nsIProxyObjectManager proxy = (nsIProxyObjectManager)componentManager.createInstanceByContractID("@mozilla.org/xpcomproxy;1",null,nsIProxyObjectManager.NS_IPROXYOBJECTMANAGER_IID);
-
- // そして、proxy object manager を使って、さきほど作成した nsIWindowWatcher のインスタンスへの proxy を作成します。
- nsIWindowWatcher windowProxy = (nsIWindowWatcher)proxy.getProxyForObject(eventQueue,windowWatcher.NS_IWINDOWWATCHER_IID,windowWatcher,nsIProxyObjectManager.INVOKE_SYNC);
-
- // そうすれば、proxy を使ってメソッドを普通に呼び出すことができます。
- windowProxy.openWindow(null, chromeUri, name, "centerscreen", null);
-</pre>
-<p>さらに詳しい情報は、<a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIProxyObjectManager.html">XulPlanet's documentation of nsIProxyObjectManager</a>を参照してください。
-</p><p>これは、<a class="external" href="http://rayh.co.uk/blog/?p=14">Injecting Events onto XPCOM’s UI Thread</a>からとられたものです。
-</p>
diff --git a/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/examples/index.html b/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/examples/index.html
deleted file mode 100644
index 9c34d27c84..0000000000
--- a/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/examples/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title: Examples
-slug: Mozilla/Tech/XPCOM/Language_Bindings/JavaXPCOM/Examples
-tags:
- - JavaXPCOM
- - 'XPCOM:Language Bindings'
-translation_of: Mozilla/Tech/XPCOM/Language_bindings/JavaXPCOM/Examples
----
-<p>
-</p><p>いくつかの Java テストアプリケーションがソースツリーにチェックインされています。ここには、Java から Gecko の埋め込みや XPCOM の初期化をする方法の例があります。<a class="external" href="http://lxr.mozilla.org/mozilla/source/extensions/java/xpcom/tests">mozilla/extensions/java/xpcom/tests</a>
-</p>
-<div class="noinclude">
-</div>
diff --git a/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/index.html b/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/index.html
deleted file mode 100644
index c2707f8de0..0000000000
--- a/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/index.html
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: JavaXPCOM
-slug: Mozilla/Tech/XPCOM/Language_Bindings/JavaXPCOM
-tags:
- - JavaXPCOM
- - 'XPCOM:Language Bindings'
- - 要更新
-translation_of: Mozilla/Tech/XPCOM/Language_bindings/JavaXPCOM
----
-<p> </p>
-<div>
- <p><b>JavaXPCOM</b> は Java と <a href="ja/XPCOM">XPCOM</a> のコミュニケーションを可能にします。つまり、Java アプリケーションは、XPCOM オブジェクトにアクセスでき、XPCOM オブジェクトも XPCOM インターフェースを実装するすべての Java class にアクセスできます。 JavaXPCOM を使うことで、開発者は Java アプリケーションから XPCOM や埋め込み <a href="ja/Gecko">Gecko</a> にデータを伝送することができます。 JavaXPCOM は <a href="ja/XPConnect">XPConnect</a> (JavaScript-XPCOM ブリッジ) に非常によく似ていて <a href="ja/XPIDL">XPIDL</a> を使用します。</p>
- <p>JavaXPCOM は <a href="ja/XULRunner">XULRunner</a> の一部として標準で構築されています。 最近のビルドまたは <a href="ja/XULRunner_1.8.0.4_Release_Notes">XULRunner 1.8.0.4</a> をダウンロードして試してみてください。</p>
-</div>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h4 id=".E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.86.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3" name=".E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.86.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3"><a>ドキュメンテーション</a></h4>
- <dl>
- <dt>
- <a href="ja/JavaXPCOM/Development">JavaXPCOM Development</a></dt>
- <dd>
- <small>ソースの取得・構築方法、それから読み方・バグの報告の方法。</small></dd>
- </dl>
- <dl>
- <dt>
- <a href="ja/JavaXPCOM/Examples">サンプルコード</a></dt>
- <dd>
- <small>いくつかの Java テストアプリケーションがソースツリーにチェックインされており、Java から Gecko の埋め込みや XPCOM を初期化する方法の例があります。</small></dd>
- </dl>
- <dl>
- <dt>
- <a href="ja/JavaXPCOM/Embedding_Mozilla_in_a_Java_Application_using_JavaXPCOM">JavaXPCOM を使って Java アプリケーションへ Mozilla を組み込む</a></dt>
- <dd>
- <small><a href="ja/XULRunner">XULRunner</a> には JavaXPCOM が標準搭載されており、これは、Java のコードと XPCOM の相互利用を可能にするものです。この記事で示すとおり、Java での XPCOM オブジェクトの操作は C++ の場合とそれほど大きな差はありません。</small></dd>
- </dl>
- <p><span class="alllinks"><a>すべて見る...</a></span></p>
- </td>
- <td>
- <h4 id=".E3.82.B3.E3.83.9F.E3.83.A5.E3.83.8B.E3.83.86.E3.82.A3" name=".E3.82.B3.E3.83.9F.E3.83.A5.E3.83.8B.E3.83.86.E3.82.A3">コミュニティ</h4>
- <ul>
- <li>Mozilla Java フォーラムを見る...</li>
- </ul>
- <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-tech-java"> メーリングリストとして</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.java"> ニュースグループとして</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.java/feeds"> フィードとして</a></li>
-</ul>
- <ul>
- <li>Mozilla Embedding フォーラムを見る...</li>
- </ul>
- <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-embedding"> メーリングリストとして</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.embedding"> ニュースグループとして</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.embedding/feeds"> フィードとして</a></li>
-</ul>
- <ul>
- <li><a class="link-mailto" href="mailto:jhpedemonte@gmail.com">Javier Pedemonte</a> JavaXPCOM プロジェクトを率いている開発者</li>
- </ul>
- <h4 id=".E9.96.A2.E9.80.A3.E9.A0.85.E7.9B.AE" name=".E9.96.A2.E9.80.A3.E9.A0.85.E7.9B.AE">関連項目</h4>
- <dl>
- <dd>
- <a href="ja/XPCOM">XPCOM</a>, <a href="ja/Embedding_Mozilla">Embedding Mozilla</a></dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
diff --git a/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/other_resources/index.html b/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/other_resources/index.html
deleted file mode 100644
index 14a9eb1ee0..0000000000
--- a/files/ja/mozilla/tech/xpcom/language_bindings/javaxpcom/other_resources/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: その他の情報源
-slug: Mozilla/Tech/XPCOM/Language_Bindings/JavaXPCOM/Other_Resources
-tags:
- - JavaXPCOM
- - 'XPCOM:Language Bindings'
-translation_of: Mozilla/Tech/XPCOM/Language_bindings/JavaXPCOM/Other_Resources
----
-<h2 id="Other_Resources" name="Other_Resources">その他の情報源</h2>
-<ul>
- <li><a href="/ja/docs/Embedding_Mozilla">Embedding Mozilla</a></li>
- <li><a href="/ja/docs/XPConnect">XPConnect</a> - Javascript-XPCOM bridge</li>
- <li><a href="/ja/docs/BlackConnect">BlackConnect</a> - Java-XPCOM bridge (no longer supported)</li>
- <li><a href="http://www.mozilla.org/projects/blackwood/connect/RequirementsSpec.html#IDL">XPIDL to Java types</a> - from Blackconnect</li>
-</ul>