MINERVA + Gui + Javaライブラリ + 自身のライブラリ (スタンドアローンおよびアプレットの場合)...
移動
次へ 前へ
上へ 最上
参考
HelloWorld
パラメータの使用
指令
デバッガ
算術計算
制約処理
サーバのファイルにアクセス
AppletLoadsFile
URL情報を得る
ソケットを使ったクライアント - サーバー
日付
ExecProcess
ExecProcess_2
GUI
Guiイベント
GUIでの図
対話
JavaToMinerva_1
JavaToMinerva_2
JavaToMinerva_3
JavaToMinerva_4
JavaToMinerva_5
JavaToMinerva_6
JavaアプレットがMinervaを使う
Javaアレイ
MinervaToJava
MinervaToJavaScript
MinervaToJava_1
MinervaToJava_2
MinervaToJava_3
MinervaToJava_4
リフレクション
サーブレット
JDBC
国際化
スタートアップアーカイブ
イフコンピュータ > MINERVA > 例題プログラム > MINERVAの特徴 > MinervaToJava_4

MinervaToJava_4

MINERVA + Gui + Javaライブラリ + 自身のライブラリ (スタンドアローンおよびアプレットの場合)

この例では以下のことがわかります。

  • GUIを含むMINERVAを、Javaの内部クラスとあなた自身のプログラムで拡張する方法

  • MINERVAのライブラリパッケージを生成する方法
  • コンパイル方法、拡張を静的にリンクする方法
  • スタンドアローン・アプレットとして実行する方法
  • セキュリティ例外の処理方法
  • 'catch/3'の使用方法

Javaライブラリのこの拡張の宣言は、 property.mxtです。

自己ライブラリの拡張の宣言は mystuff.mxtです。

アプレットラッパーは、 wrap.htmlです。

トップレベルのMINERVAソースプログラムは example4.min

詳細は、このディレクトリの'Compile', 'Go'他のファイルを参照して 下さい。

質問・問題・コメントなどは mailto:support@ifcomputer.com までお知らせ下さい。

% MINERVA (c) IF Computer 1996,97

% http://www.ifcomputer.com/MINERVA mailto:support@ifcomputer.com % file: example1.min

:- package(gui). :- package(mystuff). :- package(property).

main(Applet, Args) :- textArea_create(16, 60, OutputWindow), textComponent_setEditable(OutputWindow,false), container_add(Applet, 'Center', OutputWindow), textArea_getOutputStream(OutputWindow, Output), set_output(Output), set_error(Output), run_add3, property(Args).

run_add3 :- write('add3(10,11,12) returned: '), add3(10,11,12,X), writeq(X), nl, flush_output.

property(Args) :- write(Args),nl,flush_output, p(system_getProperties(_)), p(system_getProperty('my.parameter',unknownParam,_)), p(system_getProperty('java.version',_)), p(system_getProperty('java.vendor',_)), p(system_getProperty('java.vendor.url',_)), p(system_getProperty('java.home',_)), p(system_getProperty('java.class.version',_)), p(system_getProperty('java.class.path',_)), p(system_getProperty('os.name',_)), p(system_getProperty('os.arch',_)), p(system_getProperty('os.version',_)), p(system_getProperty('file.separator',_)), p(system_getProperty('path.separator',_)), p(system_getProperty('line.separator',_)), p(system_getProperty('user.name',_)), p(system_getProperty('user.home',_)), p(system_getProperty('user.dir',_)), !.

p(Goal) :- catch(Goal,AnyError,sorry(Goal,AnyError)), writeq(Goal), nl, flush_output, !.

sorry(Goal,AnyError) :- println(['Oooops: ', quoted(Goal)]), println(['caused: ', quoted(AnyError)]), flush_output.

#!/bin/sh

CLASSPATH=.:$MINERVA_HOME:$CLASSPATH export CLASSPATH

mjavac AddTest.java minervax -gui -f MinervaGuiExtended -c PackageProperty property minervax -f Dummy -c PackageMystuff mystuff

mjavac PackageProperty.java mjavac PackageMystuff.java

rm tmp.java mv MinervaGuiExtended.java tmp.java

minervac extend minerva -l extend tmp.java MinervaGuiExtended.java

rm tmp.java

mjavac MinervaGuiExtended.java

cp -p MinervaGuiExtended.class $MINERVA_HOME/userclasses cp -p PackageProperty.class $MINERVA_HOME/userclasses cp -p PackageMystuff.class $MINERVA_HOME/userclasses cp -p add3.class $MINERVA_HOME/userclasses

minervac example4

% MINERVA (c) IF Computer 1996,97 % http://www.ifcomputer.com/MINERVA mailto:support@ifcomputer.com

% add3(+Integer,+Integer,+Integer,-Integer) <- java_predicates('AddTest', [ add3 = add3(int,int,int) ]).

// add3 adds three integers and returns the result public class AddTest { public static int add3(int a, int b, int c) { return a + b + c; } }

% MINERVA (c) IF Computer 1996,97 % http://www.ifcomputer.com/MINERVA mailto:support@ifcomputer.com

% PropertyExtension--------------------------------------------

java_predicates('java.util.Properties', [ create_properties = 'Properties', properties_getProperty = getProperty(string,string), properties_getProperty = getProperty(string), properties_propertyNames = propertyNames, system_getProperty = getProperty(string,string) ]).

java_predicates('java.lang.System', [ system_getProperty = getProperty(string), system_getProperties = getProperties ]).

続く..
MINERVA
ifcomputer logo
f
Expert Services on the Web
言語
English
Japanese
サーバー
USA
Japan
サイトマップ
索引
目次
全体目次
全体索引
印刷向き
imode
PDA
探索
document: http://www.ifcomputer.co.jp/MINERVA/ExamplePrograms/MinervaFeatures/MinervaToJava_4/home_jp.html
published 2012/5/21 update 2001/3/22 (c) 1996-2009 IF Computer Japan
IF Computer 〒113-0022 Tel 03-5814-3352 start (AT) ifcomputer.com
Customer Support 東京都文京区千駄木5-28-2   http://www.ifcomputer.co.jp
冒頭へ managed with ubiCMS