こんにちは!
いつもお世話になってます(^^)

mkimさんのおかげでマウスでブラウザ(IE5.0)上の灰色の部分の座標値を得ることはできました(^o^)

私の質問
http://oshiete1.goo.ne.jp/kotaeru.php3?q=77352

しかし、その灰色の部分に画像を貼り付け、その画像の座標値を得たいのですが、画像をうまく貼り付けることができません。
javaファイルのと同じディレクトリにあるローカルな画像は貼り付けて座標値を得ることができたのですが、インターネット上にある画像を貼り付けることができませんでした。
最終的にはライブカメラの画像を貼り付けようと考えているので、これができないと先に進むことができません。

誰かご存知でしたら教えてください(^^)
わかりにくい質問でごめんなさいm(__)m
一応、うまくいかなかったjavaファイルを載せておきます。

// My_Image03.java

import java.awt.Graphics;
import java.applet.Applet;
import java.awt.Image;

public class My_Image03 extends Applet {
Image im;

public void init() {
im = getImage(getDocumentBase(), "http://www.honda.co.jp/image/b_hmark.gif");
}

public void paint(Graphics g) {
g.drawImage(im, 10, 10, this);
}
}

構文が間違っているのでしょうか?
回答、お待ちしております(^o^)丿

このQ&Aに関連する最新のQ&A

A 回答 (2件)

// My_Image03.java



import java.awt.Graphics;
import java.applet.Applet;
import java.awt.Image;
import java.net.URL;

public class My_Image03 extends Applet {
Image im;

public void init() {
String page = "http://www.honda.co.jp/image/b_hmark.gif";
try {
URL url = new URL( page );
im = getImage(url);
} catch(java.net.MalformedURLException e) {
System.out.println("The " + page + " is incorrect.");
}
}

public void paint(Graphics g) {
g.drawImage(im, 10, 10, this);
}
}

こんな風にやれば、URLが指定できます。
ですが、Appletの場合、セキュリティの関係で、同じサーバーのファイルしか指定できないのではないかと・・・
    • good
    • 0
この回答へのお礼

回答有難うございます(^^)

おっしゃるとおり、
「cannot access」
と表示され、画像を表示することができませんでした(>_<)
でも、「できない」ということがわかっただけでも少し前進したのではないこと思います。
別の方法を考えてリトライしてみたいと思います。

また機会があったら教えてください(^o^)丿

お礼日時:2001/06/07 18:26

getImageの使い方を間違えています。



■public Image getImage(URL url)
指定された、urlのイメージファイルを読み込む。
■public Image getImage(URL url, String name)
urlを基準にして、名前がnameであるイメージファイルを読み込む。

ですから、

im = getImage(getDocumentBase(),"b_hmark.gif");

のようにします。

getDocumentBase()は、「アプレットが埋め込まれているドキュメント
のURL」を返すので、そのURLが示すHTML文書と同じディレクトリに
b_hmark.gifを置く必要があります。

この回答への補足

回答ありがとうございます(^^)

getDocumentBaseの使い方はわかりました。
ところが、最終的にはライブカメラの画像を読み込みたいので、ローカルなHTML文書と同じディレクトリにはイメージファイルを置くことができないのです!
ということはインターネット上のイメージファイルを読み込むのは無理なんでしょうか?

im = getImage(URL "http://www.honda.co.jp/image/b_hmark.gif");

というのをやってみたのですが、コンパイルできませんでした(>_<)
どのように記述すればよろしいのでしょうか?

実はワタクシ
Javaは先月からはじめたばかりなので「超弩初心者」なんです。
ウザイな~と思うかもしれませんが、どうかご教授宜しくお願い致しますm(__)m

補足日時:2001/06/06 17:51
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q添付画像のファイルはどんな状態のファイルなのでしょうか?クリってもエラ

添付画像のファイルはどんな状態のファイルなのでしょうか?クリってもエラーしか出た事がないのですが

Aベストアンサー

他の回答者様の記入通り、拡張子が無い事には判断出来ません。
また、クリックしてもエラーとありますが、webから探すとか出ませんか?
憶測ですが、多分質問者様のPCにこのファイルを開くアプリケーションが
インストールされていないのではないかな?って思います。
参考までに
よくありがちなのは、XPで作ったエクセルファイル等(逆だったかな^^;)を
ビスタのPCで見ると似たようなアイコンになります。
オフィスの互換パックをインストールすると見れます。

Qimport java.applet.Applet;について

ソースの先頭にimport java.applet.Applet;と書かれたソースをコンパイルすると、ローカルのjava.applet.Appletを読み込んで*.classを作るのだと思うのですが、java.applet.Appletが見つかりません。
普通はどのあたりにあるのでしょうか?

Aベストアンサー

java.applet.AppletクラスはJavaの実行環境(JRE)、またはJavaの開発環境(J2SE)のライブラリとして標準でインストールされています。

具体的には、下記のディレクトリの"rt.jar"に含まれています。(Windowsの場合)

■JRE
 C:\Program Files\Java\<Javaのバージョン>\lib

■J2SE (C:\j2sdk1.4.2にインストールした場合)
 C:\j2sdk1.4.2\jre\lib

通常は、コンパイル時には上記のJ2SE側の rt.jar を使ってコンパイルされるので java.applet.Appletクラスの存在を意識しなくても良いです。
また、実行時には上記のJRE側の rt.jar が使用されます。

ですから、コンパイル時、あるいは実行時にそれぞれのディレクトリに rt.jar がないとエラーが発生します。

ちなみに rt.jar の中身を確認したいのであれば、下記のコマンドをコマンドプロンプトから実行し、出力先のファイルをテキストエディタで開くと確認できます。

 cd C:\j2sdk\jre\lib   ← ディレクトリ移動

 jar tvf rt.jar > C:\Temp\result.txt ← rt.jarの中身をテキストファイルに出力

 notepad C:\Temp\result.txt   ← メモ帳で出力結果を表示


 出力結果のファイルには、java.applet.Appletであれば "java/applet/Applet" のように "." が "/" に置き換わって出力されています。

java.applet.AppletクラスはJavaの実行環境(JRE)、またはJavaの開発環境(J2SE)のライブラリとして標準でインストールされています。

具体的には、下記のディレクトリの"rt.jar"に含まれています。(Windowsの場合)

■JRE
 C:\Program Files\Java\<Javaのバージョン>\lib

■J2SE (C:\j2sdk1.4.2にインストールした場合)
 C:\j2sdk1.4.2\jre\lib

通常は、コンパイル時には上記のJ2SE側の rt.jar を使ってコンパイルされるので java.applet.Appletクラスの存在を意識しなくても良いです。
また、実行時...続きを読む

Q右クリで画像保存が出ない!

画像を取りたくて矢印を画像に置くと!手のマークに代わり!右クリができなくなりました。
どうしたらよいのでしょうか?

Aベストアンサー

最近のサイトでは著作権の問題もあり、勝手に保存ができないように右クリックができないように設定しいるところが多くなっているであります。法律に抵触する場合もあるであります。

方法としては、色々あるでありますが、ただ見えてる画像が欲しいのであれば、プリントスクリーンでPC画面全体をコピーして、ペイントソフトにペースト、余分な部分を削除して保存すればいいと思うであります。

プリントスクリーンはググってほしいであります。

Qimportするには java.io.*; import org.apache.log4j.*;

EclipseでJavaの開発をしています。
import java.io.*;
import org.apache.log4j.*;
がエラーになります。
多分ライブラリーに入れる必要があるのだと思いますが、その方法について
教えて下さい。宜しくお願い致します。

Aベストアンサー

プロジェクトフォルダを右クリック→「ビルド・パス」→「ビルド・パスの構成」
あるいはプロジェクトフォルダを右クリック→「プロパティ」→「Javaのビルド・パス」

で、ライブラリがプロジェクトフォルダ配下に存在しているなら「Jarの追加」
プロジェクトフォルダ以外の場所にあるなら「外部Jarの追加」で追加できます。

ちなみにjava.ioはJ2SEに含まれているので(「JREシステムライブラリ」があるはずなので)
追加しなくても良いです。

Q 友近さんの画像を探しています。本当にいい人で、美人で、セクシーだと思

 友近さんの画像を探しています。本当にいい人で、美人で、セクシーだと思います。着衣・水着・スカート、なんでもOKです(あまり小さいサイズじゃない方がよいです)。どうぞよろしくお願いします。

Aベストアンサー

こちらに数点ありました。
http://bsearch.goo.ne.jp/image.php?UI=web&TAB=web&STYPE=0&CC=1&SCRDEF=0&IMGST=0&IMGSZ=0&IMGC=3&IMGFT=0&IMGFT=1&IMGFT=2&IMGFT=3&MOVPT=0&MOVFT=0&MOVFT=1&MOVFT=2&MOVFT=3&AUDPT=0&NSDP=1&KWDP=1&DC=20&FR=1&SM=mc&OCR=1&SITE=&SITE2=&SITE3=&SITE4=&SITE5=&SITEH=&AUDST=0&AUDMST=0&MOVTHN=0&QGR=1&MOVSC=0&NOJSB=0&QGA=1&NOJS=0&AUDSITE=0&MT=%CD%A7%B6%E1&button=%B2%E8%C1%FC%B8%A1%BA%F7
画像を使用される場合は自己責任でお願いします。

QAppletのpublic void paint(Graphics g)

は抽象クラスのGraphicsのオブジェクトを引数に持ちますが抽象クラスはオブジェクトを発生できないのに何故オブジェクトを渡せるのでしょうか?

Aベストアンサー

実際にパラメータとして渡されるのは、Graphicsのサブクラスのインスタンスだからです。

Graphics クラスは抽象クラスですが、そのサブクラスは抽象クラスとは限りません。

Q●「美人アプリ」の画像を保存したい!

●「美人アプリ」というアプリを使用しています。

●ここで表示される画像を保存したいのですが、方法がわかりません。可能かどうかも。。

●もし、方法をご存知の方がいらっしゃいましたら教えていただけませんか?おねがいします。

Aベストアンサー

保存したい画像を表示させて、↓の方法で画面をキャプチャすると、写真アルバムから見れます。
http://blog.livedoor.jp/sakusakupocky/archives/50263981.html

Qclass Test_A {  main(){}}の実行順序は?

public class Test_A {
public static void main(){

int a = 0;
int b = 1;

}
}
例えば上のようなサンプルで何故 main()がクラスTest_A の中に挟まっているのでしょうか?実行順序としては main()が終了したら、クラスTest_A の方はどうなるのでしょうか? main()からプログラムが始まるのは分かるのですが、その後の動作が分かりません。よろしくお願いします。 

Aベストアンサー

>main()がクラスTest_A の中に挟まっているのでしょうか

Javaは、全てのプロパティ、メソッドはどこかのクラスに属していないといけないからです。
mainメソッドであっても例外ではありません。

>main()からプログラムが始まるのは分かるのですが、その後の動作が分かりません。

これを考える上で最も重要なのはmainメソッドがstaticであることです。
staticなメソッドは、そのクラスのインスタンスを作らなくても、
つまり、new Test_A();としなくても実行することが可能です。
プログラム実行時には、Test_Aクラスのインスタンスは生成されません。
質問のコードでは変数a,bに値が代入され、それで終わりです。

Javaでは、(正確にはJavaVMは)実行するclassファイルにある、
String[]引数を持ったvoid mainメソッドを実行する仕様になっています。
しかし、mainメソッドを実行するときには何のインスタンスも生成されていないので、
何かのインスタンスのメソッドを実行することはできません。
なので、staticなメソッドでないとJavaVMが実行できないのです。
さらに、JavaVMからアクセス可能なスコープを与える必要があるので、
publicである必要もあるのです。

あとは、そのmainメソッドに指定されたコードを実行し、mainメソッドの最後まで処理が進んだら
そこでJavaVMが終了し、プログラムも終了します。

※細かい話ですが、main()からプログラムは始まりません。
正確に言うと、引数なしのmain()メソッドは他のメソッドと何ら代わりがありません。
プログラムを始めるには、
アクセススコープがpublicで、staticな戻り値のなく、引数にString配列を取るmainメソッド
であることが必要です。つまり、
public static void main(String[] args)
とするのが通常です。
試しに質問のコードをjavaコマンドで実行すると、NoClassDefFoundErrorが出るはずです。

>main()がクラスTest_A の中に挟まっているのでしょうか

Javaは、全てのプロパティ、メソッドはどこかのクラスに属していないといけないからです。
mainメソッドであっても例外ではありません。

>main()からプログラムが始まるのは分かるのですが、その後の動作が分かりません。

これを考える上で最も重要なのはmainメソッドがstaticであることです。
staticなメソッドは、そのクラスのインスタンスを作らなくても、
つまり、new Test_A();としなくても実行することが可能です。
プログラム実行時...続きを読む

Q右クリ禁止のサイトの画像を保存

質問の通りなのですが右クリック禁止のサイトの画像を保存できるようにする方法はないでしょうか?あと、よく海外でおもしろ動画とかを見せてるサイトがありますが、そういった動画を保存する方法はありますか?重ねて質問すいません^^;

Aベストアンサー

そのサイトを見ないとなんとも言えませんが、
JAVAをオフにしてみると右クリック禁止がはずれる事もあります。

それで駄目ならば、プリントスクリーンを取って画像を修正してください。
まぁ画像を持ち出されたくないサイトならばあまり持ち出さないほうがよろしいかと思います。

ちなみに動画を保存する場合は専用のソフトなどが必要。

QJavaScriptで【window.google={kHL:"ja"};】という記述はどういう意味?

JavaScriptで【window.google={kHL:"ja"};】という記述はどういう意味?


YOUTUBE日本語版
http://jp.youtube.com/
のHTMLソースを見ていたら、



<script type="text/javascript">
    window.google={kHL:"ja"};
</script>


という記述を目にしたのですがこれはどういう意味あいというか目的のものなのでしょうか?


教えていただければ幸いです。

Aベストアンサー

これは、window.googleに'kHL'というキー(値は'ja')を持つ連想配列を
作成しています。

JavaScriptでの連想配列は

var 変数名 = {
キー : '値',
キー : '値',
:,
キー : '値'
};

というような感じで作成します。
キーはダブルクォートまたはシングルクォートで囲まなくても
いいようです。

参考URL:http://javascriptist.net/docs/basic_hash.html,http://www.openspc2.org/JavaScript/kouza2007/array/hash/index.html


人気Q&Aランキング

おすすめ情報