Java Applet について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
けだま

Java Applet について

#1

投稿記事 by けだま » 7年前

http://www1.bbiq.jp/takeharu/Applet2.html
こちらのサイトにある「直接HTMLファイルを開く」にあるhtmlファイルを開いてもうまくいきません。
サイトを見て手順通りにやってるのですが・・・(Applet1.javaも正常にコンパイルできました)
ブラウザ上で表示される正解は
・「はじめてのアプレット」
・「はじめてのJava入門」
と二つの文が出てくるはず、私がIEで試してみると(Chromeでも試しました)
・「はじめてのアプレット」
と一つの文しか出てきません。Applet1.classが作動してないから「はじめてのJava入門」が表示されてないと思います。
どうすればサイト通り二つの文が出てきますか?

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: Java Applet について

#2

投稿記事 by みけCAT » 7年前

まず、どのような画面になっていますか?
「クリックしてプラグインを有効にします」などのような他の文は出ていないですか?
画像を貼るには、ユーザー登録していただいてログインすることで添付機能を使えるようにするか、Imgurなどのサービスを使うといいでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

けだま
記事: 8
登録日時: 7年前

Re: Java Applet について

#3

投稿記事 by けだま » 7年前

To みけCATさん
Javaコントロール・パネル、セキュリティタブ、サイトリストの編集でURL(Applet1.htmlファイル?)を張って追加ボタンを押してもURLが追加されてないような気がします。
JavaVerとJavaアプレットVerは最新Verをインストールしました。
添付ファイル
javaセキュ.png
javaセキュ.png (12.19 KiB) 閲覧数: 6675 回
はじめてのあ.png
はじめてのあ.png (14.42 KiB) 閲覧数: 6675 回

C6b14

Re: Java Applet について

#4

投稿記事 by C6b14 » 7年前

eclipse(MARS)でアプレットを作りホームページ上で色色と試したのですセキュリティを下げたり、javaコンソールをいじっても駄目でした。最後の手段と思ってホームページアプリケーションとしてPC上で動かしてみました。http://csi.nisinippon.com/java004.pngがこれもこんな状態で駄目でした。http://csi.nisinippon.com/java005.png最終的には「正当な認証局の署名」http://manabu.quu.cc/up/7/userinfo.htmがいるような感じです。こんなにガードがきついとは思いませんでした。私は代替え手段を考える方が楽と思いますが目的が分からないので何とも言えません。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: Java Applet について

#5

投稿記事 by ISLe » 7年前

Javaアプレットはたびたび脆弱性を突かれ、悪意のあるプログラムの侵入に利用されてきました。
そして、セキュリティ強化のため、自動的には実行されないように仕様が変更されました。

コントロールパネルのプログラムカテゴリにある「Java」を開き、セキュリティタブにある例外サイトリストに、URIを追加することで、デジタル署名されていないアプレットでも起動できるようになります。
その上で、起動の際には警告ダイアログが表示され、確認のためにボタンを押して続行する必要があります。

ただし、No.3の例ですと、ローカルディスクを指定することなるため、たいへんな危険をともないます。
これを実行できるようにすることは、大幅にセキュリティを弱める行為となりますので、十分に注意してください。

さらに、来年登場するであろうJavaの次期バージョンでは、アプレットは完全に廃止される予定だそうです。

けだま
記事: 8
登録日時: 7年前

Re: Java Applet について

#6

投稿記事 by けだま » 7年前

質問者のけだまです。なぜAppletなんかを使ってるかというと、授業の自由課題のためです。
今、Javaとエクリプスを勉強しておりエクリプスで簡単なGUIプログラムを組みたいと考えています。
そのGUIプログラムをWEB上(できればHTMLを使って)に公開したくて、軽く調べてみたらAppletならHTMLに表示できるみたいなので使ってみたらこのざまです。
JavaのGUIプログラムをWEB上に公開する良い方法はないでしょうか?(出来れば簡単なのが良いな( ^ω^)・・・)
少しでもいいのでヒントをお願いします。

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: Java Applet について

#7

投稿記事 by みけCAT » 7年前

けだま さんが書きました:なぜAppletなんかを使ってるかというと、授業の自由課題のためです。
具体的にどのような課題なのですか?
(テーマや条件などはありますか?)
けだま さんが書きました:今、Javaとエクリプスを勉強しておりエクリプスで簡単なGUIプログラムを組みたいと考えています。
普通にSwingかAWTを使ったダウンロードして使うGUIプログラムを作るのでは満足できないでしょうか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: Java Applet について

#8

投稿記事 by みけCAT » 7年前

けだま さんが書きました:そのGUIプログラムをWEB上(できればHTMLを使って)に公開したくて、軽く調べてみたらAppletならHTMLに表示できるみたいなので使ってみたらこのざまです。
JavaのGUIプログラムをWEB上に公開する良い方法はないでしょうか?(出来れば簡単なのが良いな( ^ω^)・・・)
Web上でJavaといえば、詳しくはないですがJavaサーブレット(サーバー上でJavaのプログラムを動かしてページを生成し、返す)や、
JSP(PHP的な感じでHTML中にJavaのプログラムを埋め込んだものを実行する)なんていうものがありましたね。

↓よく読んではいませんが、適当にググって出てきたページです。
Javaサーブレット開発入門 - わかりやすい図解解説 ← JSPの話もあります
Javaの道:Servlet(1.はじめてのServlet)

いずれもサーバー上でJavaのプログラムを動かすので、公開には(開発中のテストにも)対応したサーバーが必要になります。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

C6b14

Re: Java Applet について

#9

投稿記事 by C6b14 » 7年前

>いずれもサーバー上でJavaのプログラムを動かすので、公開には(開発中のテストにも)対応したサーバーが必要になります
私が前に一度つかったころの定番は”Tomcat"http://www.searchman.info/java_eclipse/1020.htmlでした。
GUIhttp://manga.crocro.com/%3Fcat%3Djava%2 ... ke_gui_appは不要でした。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: Java Applet について

#10

投稿記事 by ISLe » 7年前

けだま さんが書きました:JavaのGUIプログラムをWEB上に公開する良い方法はないでしょうか?(出来れば簡単なのが良いな( ^ω^)・・・)
例えば、わたしのブログで公開しているJavaアプレットの場合、例外サイトリストに
http://isle.cocolog-nifty.com/
を追加することで実行が可能になります。
指定したURIの元に配置されたファイルだけが実行可能なので、わたしがブログ用に配置したものに限られることになります。

課題ということですし、このような方法がいちばん簡単だと思います。

Microsoft Edgeで見ると、アプレットが表示されるところそのものが存在しないふうに表示されますけどね。



ちなみに

Javaアプレットの代替とされているのは、Java Web Start(JWS)というものです。
JWSはブラウザページ埋め込み型ではなく、ウェブサイトを通してインストールを自動化する仕組みです。
アプレットよりも自由度の高いものが作れます。

セキュリティに関してはアプレットと変わりません。
デジタル署名するか、例外サイトリストに登録しないと実行できません。

C6b14

Re: Java Applet について

#11

投稿記事 by C6b14 » 7年前

>JavaのGUIプログラムをWEB上に公開する良い方法はないでしょうか?
ここが少し理解しにくいです。”VS2015でつくったWindows Form(=GUI)をWEB上に公開する良い方法ははないでしょうか”とすれば?です。(HTMLだけで図形も画像も表示できるのでJavaサーブレットにはGUIはいらないでしょうし)
(>普通にSwingかAWTを使ったダウンロードして使うGUIプログラムを作るのでは満足できないでしょうか?::と同じこと)
”Appletなんかを使ってるかというと、授業の自由課題”とあるから”必須”ではないのでは(Web上に乗せるのは容易でないらしいし)

けだま
記事: 8
登録日時: 7年前

Re: Java Applet について

#12

投稿記事 by けだま » 7年前

コード:

import java.util.*;

public class kioku{
	public static void main(String[] args) {
		int[] haiNum = new int[13];	//初期値は0なので、すべて1萬となる
		int[] maisuu = new int[34];	//同じ牌が何枚あるか
		int seikaiSuu = 0;			//何問正解したか
		int num;	//配列maisuuの指標、どこをさしているか

		Random rnd;
		rnd = new Random();	//乱数発生器

		Scanner stdin = new Scanner(System.in);	//入力の準備

		mugen : while(true){

			//値を入れていく
			for (int i = 0;i < 13 ;i++ ) {		//13回繰り返し
				num = rnd.nextInt(34);	//0 ~ 数値-1
				haiNum[i] = num; 			
				maisuu[num]++;			//一枚増えたよ
			}

			//枚数配列が全て4枚以下(完璧な状態)ならループ抜ける
			if (maisuu[0] <= 4 && maisuu[1] <= 4 && maisuu[2] <= 4 && maisuu[3] <= 4 && maisuu[4] <= 4 && maisuu[5] <= 4 && maisuu[6] <= 4 && maisuu[7] <= 4 && maisuu[8] <= 4 &&
				maisuu[9] <= 4 && maisuu[10] <= 4 && maisuu[11] <= 4 && maisuu[12] <= 4 && maisuu[13] <= 4 && maisuu[14] <= 4 && maisuu[15] <= 4 && maisuu[16] <= 4 && maisuu[17] <= 4 &&
				maisuu[18] <= 4 && maisuu[19] <= 4 && maisuu[20] <= 4 && maisuu[21] <= 4 && maisuu[22] <= 4 && maisuu[23] <= 4 && maisuu[24] <= 4 && maisuu[25] <= 4 && maisuu[26] <= 4 &&
				maisuu[27] <= 4 && maisuu[28] <= 4 && maisuu[29] <= 4 && maisuu[30] <= 4 && maisuu[31] <= 4 && maisuu[32] <= 4 && maisuu[33] <= 4)
			{
				break mugen;
			}
			for (int i = 0;i < 34 ;i++ ) {		//枚数配列、初期化
				maisuu[i] = 0;
			}

		}






		String[] moji;
		moji = new String[13];

		//moji配列に牌名を入れる
		for (int i = 0;i < 13 ;i++ ) {
			moji[i] = Judge.hanntei(haiNum[i]);
		}

		//牌名を表示
		for (int i = 0;i < 13 ;i++ ) {
			System.out.print(moji[i]);
			System.out.print(" ");	
		}
		System.out.println("");


		//牌の数値を表示
		for (int i = 0;i < 13 ;i++ ) {
			System.out.print(haiNum[i]);
			System.out.print(" ");	
		}
		System.out.println("");




		int[] ans;
		ans = new int[13];
		//ansの初期値0だと正解数の数がおかしくなるで、0以外で
		for (int i = 0;i < 13 ;i++ ) {
			ans[i] = 200;
		}

		//答え入力
		for (int i = 0;i < 13 ;i++ ) {
			System.out.print("牌を入力してください-->");
			ans[i] = stdin.nextInt();
			if (ans[i] == 777) {	//途中でやめたいなら777入力
				System.out.println("!!!!!!!!!!!!途中でおわり!!!!!!!!!!!!");
				break;
			}
		}


		//答え合わせ
		for (int j = 0;j < 13 ;j++ ) {
			
			for (int i = 0;i < 13 ;i++ ) {
				if (ans[j] == haiNum[i]) {
					seikaiSuu++;
					haiNum[i] = 100;	//正解した配列の中身を無効化する
					break;
				}		
			}
		}
		
		System.out.print(seikaiSuu + "問正解したよ");
		System.out.println("");


	}
}

 

コード:

//文字を返すプログラム

public class Judge{
	public static String hanntei(int haiNum){

		String moji = "";



		switch(haiNum){
			case 0:
				moji = "1萬";
				break;
			case 1:
				moji = "2萬";
				break;
			case 2:
				moji = "3萬";
				break;
			case 3:
				moji = "4萬";
				break;
			case 4:
				moji = "5萬";
				break;
			case 5:
				moji = "6萬";
				break;
			case 6:
				moji = "7萬";
				break;
			case 7:
				moji = "8萬";
				break;
			case 8:
				moji = "9萬";
				break;
			case 9:
				moji = "1ピ";
				break;
			case 10:
				moji = "2ピ";
				break;
			case 11:
				moji = "3ピ";
				break;
			case 12:
				moji = "4ピ";
				break;
			case 13:
				moji = "5ピ";
				break;
			case 14:
				moji = "6ピ";
				break;
			case 15:
				moji = "7ピ";
				break;
			case 16:
				moji = "8ピ";
				break;
			case 17:
				moji = "9ピ";
				break;
			case 18:
				moji = "1ソ";
				break;
			case 19:
				moji = "2ソ";
				break;
			case 20:
				moji = "3ソ";
				break;
			case 21:
				moji = "4ソ";
				break;
			case 22:
				moji = "5ソ";
				break;
			case 23:
				moji = "6ソ";
				break;
			case 24:
				moji = "7ソ";
				break;
			case 25:
				moji = "8ソ";
				break;
			case 26:
				moji = "9ソ";
				break;
			case 27:
				moji = "東";
				break;
			case 28:
				moji = "南";
				break;
			case 29:
				moji = "西";
				break;
			case 30:
				moji = "北";
				break;
			case 31:
				moji = "白";
				break;
			case 32:
				moji = "發";
				break;
			case 33:
				moji = "中";
				break;
		}

		return moji;



	}
}

けだま
記事: 8
登録日時: 7年前

Re: Java Applet について

#13

投稿記事 by けだま » 7年前

授業でグループワークをやっています。
プログラム担当が私で、班員がWeb担当(HTML)です。
GUIをアプレットでやる必要は特に無いです。
Javaとエクリプスを他の授業で使っているので、グループワークでもJavaとエクリプスを使用したいと考えています。
私が作ったプログラムを班員がWebで公開できるようHTMLを勉強中なので、HTMLで動くプログラムがベストです。(javascriptで作れよとは言わないでください・・・)

麻雀牌を即暗記し、回答するゲームを作っています。添付pngファイルはネット上で見つけたゲームです、このようなゲームを作りたいです。
CUIのjavaプログラムを作ったので、後はGUI化するだけです。
返信たくさんありがとうございます、できるだけ最善の方法を探してGUI化します。
添付ファイル
kiokuDesain.png
kiokuDesain.png (38.23 KiB) 閲覧数: 6316 回

けだま
記事: 8
登録日時: 7年前

Re: Java Applet について

#14

投稿記事 by けだま » 7年前

To みけCATさん
swingのJFrameをHTMLに組み込むことなんてできるのでしょうか?リンクを押したら新しいwindowが出てきてゲームが遊べる??
もちろんゲームをプレイする側にエクリプスが入ってないと動きませんよね?

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: Java Applet について

#15

投稿記事 by みけCAT » 7年前

けだま さんが書きました:もちろんゲームをプレイする側にエクリプスが入ってないと動きませんよね?
JREは入っていないと動かないでしょうが、エクリプスが入っている必要はないと思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: Java Applet について

#16

投稿記事 by ISLe » 7年前

javax.swing.JAppletを継承すれば、Swing版アプレットになります。
Javaアプレットでは、SwingでもAWTでもふつうに使えます。
新しくウィンドウを開くこともできます。
SwingはJREに含まれているのでEclipse不要です。

ただし、起動できれば。

HTMLに埋め込んで実行できるかどうかは、別の話です。

EclipseでアプレットをデバッグするときHTMLは不要です。
デバッグ対象としてJavaアプレットを選択すればEclipseが作ったウィンドウの中で動きます。
ウィンドウサイズなどはデバッグ構成から設定してください。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: Java Applet について

#17

投稿記事 by ISLe » 7年前

トピックのタイトルが「Java Applet について」なので、ページに埋め込まれた形でプログラムが実行されることを希望されているという前提で回答しているのですが、質問者さんのおっしゃる「Webで公開」の意味がそうではない可能性を感じます。

質問者さんのおっしゃる「Webで公開」の意味は次のどれですか?
#No.13にあるようなゲームをJavaで作って公開するとした場合
1. ゲーム画面がページの一部となるように、Javaアプレットを埋め込んで実行する
2a. 単純なリンクで、ユーザーがダウンロードして実行できるようにする
2b. JWS経由で、ユーザーがダウンロードして実行できるようにする

けだま
記事: 8
登録日時: 7年前

Re: Java Applet について

#18

投稿記事 by けだま » 7年前

皆さまの意見を参考して、開発を進めていきます。
ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る