プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
(p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※
質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。
前スレ
★★Java質問・相談スレッド180★★
https://mevius.5ch.net/test/read.cgi/tech/1492780397/
探検
★★Java質問・相談スレッド181★★
■ このスレッドは過去ログ倉庫に格納されています
2018/02/10(土) 17:49:40.56ID:l9ZzjyKP
182デフォルトの名無しさん
2018/05/31(木) 13:23:37.92ID:XsftK6MO >>178
それいわゆるダイアログってやつだよね。
それいわゆるダイアログってやつだよね。
183デフォルトの名無しさん
2018/06/01(金) 12:00:41.25ID:SFIgpc6j >>178
JDialogを継承したクラスで作る。
コンストラクタで modal を true にするか modlity type をブロックするやつにする。
更に OK ボタン等が押されてダイアログを閉じるときは dispose() するように書く。
その他ラジオボタンなど必要なものを配置し、内容を外部から取得可能にするためにgetterを作っておく。
このダイアログをsetVisible(true)するとdispose()されるまで帰ってこない。
帰ってきたらgetterを通して内容を読む。
JDialogを継承したクラスで作る。
コンストラクタで modal を true にするか modlity type をブロックするやつにする。
更に OK ボタン等が押されてダイアログを閉じるときは dispose() するように書く。
その他ラジオボタンなど必要なものを配置し、内容を外部から取得可能にするためにgetterを作っておく。
このダイアログをsetVisible(true)するとdispose()されるまで帰ってこない。
帰ってきたらgetterを通して内容を読む。
184デフォルトの名無しさん
2018/06/01(金) 16:28:58.34ID:4jGKb4xs はぇ〜
JFrameじゃないヤツ使うんですね
ありがとございます
JFrameじゃないヤツ使うんですね
ありがとございます
185デフォルトの名無しさん
2018/06/02(土) 16:27:10.30ID:49Aq679E ラジオボタンじゃなくても良いのなら JOptionPane を使うという手もある。
これだと showInputDialog() や showOptionDialog() を使えば複数項目から選択して一つ入力するダイアログになる。
自分でダイアログ作る必要がない。
https://www.javadrive.jp/tutorial/joptionpane/index12.html
https://www.javadrive.jp/tutorial/joptionpane/index13.html
これだと showInputDialog() や showOptionDialog() を使えば複数項目から選択して一つ入力するダイアログになる。
自分でダイアログ作る必要がない。
https://www.javadrive.jp/tutorial/joptionpane/index12.html
https://www.javadrive.jp/tutorial/joptionpane/index13.html
186デフォルトの名無しさん
2018/06/03(日) 20:18:35.08ID:3rEkE1iw 今アプレット動く環境ってありますか?
IEだけはサポートされてるみたいなんですけど
昔動いたはずのアプレットタグとjarをおいてもなぜか動かないんですよね
IEでアプレット動かしたときのエラーメッセージの見方もわかれば教えてほしいです
IEだけはサポートされてるみたいなんですけど
昔動いたはずのアプレットタグとjarをおいてもなぜか動かないんですよね
IEでアプレット動かしたときのエラーメッセージの見方もわかれば教えてほしいです
187デフォルトの名無しさん
2018/06/03(日) 21:06:43.44ID:m3SIxw/I >>186
何故かうごかないって、ブラウザは?
そしてそのブラウザにプラグインはインストールされている?
単にされてないだけでは?もちろんそのブラウザ用のプラグインが今は開発されてないってこともあり得るが。
何故かうごかないって、ブラウザは?
そしてそのブラウザにプラグインはインストールされている?
単にされてないだけでは?もちろんそのブラウザ用のプラグインが今は開発されてないってこともあり得るが。
188デフォルトの名無しさん
2018/06/03(日) 23:44:08.17ID:3rEkE1iw >>187
Windows7 IE8 でツール インターネットオプションのなかに
アプレット有効にするってのにチャックはいってます
アプレットページひょうじすると表示領域の枠はでてるんですけど左上に赤い×マークがでてます
これプラグインがよみこめてないんでしょうか
アプレットの中のエラーで落ちてるんでしょうか
Windows7 IE8 でツール インターネットオプションのなかに
アプレット有効にするってのにチャックはいってます
アプレットページひょうじすると表示領域の枠はでてるんですけど左上に赤い×マークがでてます
これプラグインがよみこめてないんでしょうか
アプレットの中のエラーで落ちてるんでしょうか
189デフォルトの名無しさん
2018/06/04(月) 00:50:30.53ID:fspoOmUI その×にマウスカーソルを持って行ってクリックすると何か出ない?
190デフォルトの名無しさん
2018/06/04(月) 19:58:49.32ID:Mxq+Oh0H 何も反応ないですね
191デフォルトの名無しさん
2018/06/04(月) 20:36:43.25ID:a6R/84He X<-mouse
192デフォルトの名無しさん
2018/06/04(月) 22:24:19.20ID:AidiJH9V 7か8か忘れたけど結構前から証明書必須になったし
9で非推奨、11で削除されるぞ。
jnlp出てからsunがずっとjnlp使えと言い続けてたんだから
jnlp(実装はweb start)使え。
9で非推奨、11で削除されるぞ。
jnlp出てからsunがずっとjnlp使えと言い続けてたんだから
jnlp(実装はweb start)使え。
193デフォルトの名無しさん
2018/06/05(火) 01:07:27.61ID:6uzbBGLs どうやって作ればいいんですか?
HelloWorld的なサンプルコードってあったりしますか?
HelloWorld的なサンプルコードってあったりしますか?
194デフォルトの名無しさん
2018/06/05(火) 01:49:45.76ID:6uzbBGLs 調べて jnlp ファイルっていうのかいてみたけどセキュリティどうこうで動かないみたいです
同じサーバー内にあるデータを読んで表示して
処理した結果をCGIに送って保存するみたいなアプレットだったんですけど
URLのOpenStreamの読み書きもセキュリティ的にアウトな感じなんでしょうか
昔かいたプログラムが実務で使えそうだったので
うまくウェブアプリとして動いてくれればよかったんですが
長いことJavaさわってなかったせいで分からないことだらけで時間ばかりかかってまったく進まない
おとなしく javascript でかきなおしたほうがよさそうですね…
15年前はこれからのウェブはアプレットの時代だとかいって大学でもアプレット教えてたし
当時作ったコードが全部再利用すらできないゴミになったかと思うと憂鬱だ
同じサーバー内にあるデータを読んで表示して
処理した結果をCGIに送って保存するみたいなアプレットだったんですけど
URLのOpenStreamの読み書きもセキュリティ的にアウトな感じなんでしょうか
昔かいたプログラムが実務で使えそうだったので
うまくウェブアプリとして動いてくれればよかったんですが
長いことJavaさわってなかったせいで分からないことだらけで時間ばかりかかってまったく進まない
おとなしく javascript でかきなおしたほうがよさそうですね…
15年前はこれからのウェブはアプレットの時代だとかいって大学でもアプレット教えてたし
当時作ったコードが全部再利用すらできないゴミになったかと思うと憂鬱だ
195デフォルトの名無しさん
2018/06/05(火) 03:44:17.72ID:HABwZRW3 javaScriptで書き直したコードも15年後にはゴミになってると思うよ
196デフォルトの名無しさん
2018/06/06(水) 23:02:07.48ID:c8dAN/Mm アプレットどころか、今やJRE自体が一般ピープルのPCにとってはウィルス扱いだぞ
JavaFXも事実上廃止されてJavaを簡単にアプリにバンドルする方法も無くなり、クライアントは完全に終わった
JavaFXも事実上廃止されてJavaを簡単にアプリにバンドルする方法も無くなり、クライアントは完全に終わった
197デフォルトの名無しさん
2018/06/07(木) 00:11:58.98ID:23ZUqsYw 「JavaFXも事実上廃止」ってどゆこと?
198デフォルトの名無しさん
2018/06/07(木) 03:27:56.30ID:VEx/11mP Oracleがバンドルしなくなる。
フルーソフトだからなくなりはしないだろうけどね。
フルーソフトだからなくなりはしないだろうけどね。
199デフォルトの名無しさん
2018/06/07(木) 03:28:26.90ID:VEx/11mP うはw 変な編集ミスしたw
200デフォルトの名無しさん
2018/06/07(木) 06:34:03.30ID:zhEE1GLq JavaFXどうなっちゃうんだろうな
OpenJDK11と一緒にopen-jfx11のバイナリもリリースしてくれるといいが
現状もLinuxディストリビューションのいくつかはopen-jfcパッケージ提供してるけど
Windows用の権威あるopen-jfxバイナリなくて不便なんだよね
Windows用にもopen-jfxの野良バイナリがいくつかあるようだけど
OpenJDK11と一緒にopen-jfx11のバイナリもリリースしてくれるといいが
現状もLinuxディストリビューションのいくつかはopen-jfcパッケージ提供してるけど
Windows用の権威あるopen-jfxバイナリなくて不便なんだよね
Windows用にもopen-jfxの野良バイナリがいくつかあるようだけど
201デフォルトの名無しさん
2018/06/07(木) 09:18:14.94ID:6qWq6S5o 権威のある君が作れば良い
202デフォルトの名無しさん
2018/06/07(木) 17:57:57.97ID:G8YxR6Qt それもそうだな!
203デフォルトの名無しさん
2018/06/07(木) 20:12:42.53ID:E34l5tNQ 頑張れ
204デフォルトの名無しさん
2018/06/08(金) 01:33:25.23ID:xsX40G/R ここでいいのかよくわからないのですが教えて下さい。
AndroidでSDカードのフォルダが
/storage/47D2-1300
みたいに表示されます。
この場合、
47D2-1300
は、このSDカード固有の番号で、他のAndroid機に刺しても
47D2-1300
のように表示されるのでしょうか?
AndroidでSDカードのフォルダが
/storage/47D2-1300
みたいに表示されます。
この場合、
47D2-1300
は、このSDカード固有の番号で、他のAndroid機に刺しても
47D2-1300
のように表示されるのでしょうか?
205デフォルトの名無しさん
2018/06/08(金) 03:31:28.12ID:rrKZq6Yq ブラウザ上でJava起動する方法ってもうないの?
206デフォルトの名無しさん
2018/06/08(金) 03:57:47.64ID:xsX40G/R そういうのは、Javaスクリプトっていうんじゃないの?
207デフォルトの名無しさん
2018/06/08(金) 06:43:18.81ID:dTeFfRCY Java アプレットか
ここ10年は、聞かないな
ここ10年は、聞かないな
208デフォルトの名無しさん
2018/06/08(金) 07:09:41.59ID:uSJSyiA7 on error goto みたいなの無いの? そのルーチン内ならどこでエラー発生してエラー処理に向かう、みたいな
それともtrycatchに全部入れちゃう?
それともtrycatchに全部入れちゃう?
209デフォルトの名無しさん
2018/06/08(金) 08:13:31.47ID:/bqVuVHr >>206
JavaとJavaScriptは全く別のものだ。
JavaとJavaScriptは全く別のものだ。
210デフォルトの名無しさん
2018/06/08(金) 08:18:34.82ID:/bqVuVHr211デフォルトの名無しさん
2018/06/08(金) 08:23:59.92ID:BDVSM83M On Error Gotoはtry catchで代用できるけど
On Error Goto + Resume Nextの代用がないだよね
1ステートメントごとにtry catch書かにゃならん
On Error Goto + Resume Nextの代用がないだよね
1ステートメントごとにtry catch書かにゃならん
212デフォルトの名無しさん
2018/06/08(金) 10:38:05.74ID:oMLODkzi >>204
スレチ
スレチ
213デフォルトの名無しさん
2018/06/08(金) 11:28:05.06ID:1PlqYTvd >>204
そんなもんは知らん。機種によってマウントされるディレクトリは違うのでは?
そんなもんは知らん。機種によってマウントされるディレクトリは違うのでは?
214デフォルトの名無しさん
2018/06/08(金) 13:10:14.04ID:OTaRl1LS215デフォルトの名無しさん
2018/06/08(金) 13:33:32.61ID:1PlqYTvd >>214
JavaVMって独自に作っちゃいけないんだっけ?
JavaVMって独自に作っちゃいけないんだっけ?
216デフォルトの名無しさん
2018/06/08(金) 13:34:45.49ID:2yGpvne7 >>215
いけない
いけない
217デフォルトの名無しさん
2018/06/08(金) 13:37:08.24ID:1PlqYTvd >>216
それはどういう法律に反するのか?
それはどういう法律に反するのか?
218デフォルトの名無しさん
2018/06/08(金) 13:38:29.60ID:2yGpvne7 >>217
オラクルさんによると特許侵害と著作権侵害
オラクルさんによると特許侵害と著作権侵害
219デフォルトの名無しさん
2018/06/08(金) 13:46:03.43ID:1PlqYTvd >>218
同じ動きをする全く別のプログラムは著作権の問題はないよな?もしこれにあったら OpenJDK もあり得ないわけだし。
特許はどこにあるのか?それとその特許は OpenJDK の方では避けられているのか?
同じ動きをする全く別のプログラムは著作権の問題はないよな?もしこれにあったら OpenJDK もあり得ないわけだし。
特許はどこにあるのか?それとその特許は OpenJDK の方では避けられているのか?
220デフォルトの名無しさん
2018/06/08(金) 15:16:14.07ID:2yGpvne7221デフォルトの名無しさん
2018/06/08(金) 16:29:34.75ID:xsX40G/R プログラミングではないのですが教えて下さい。
Androidのアプリで、
マップルという地図ソフトがあります。
起動後、地図データへのパスを求められます。
大容量の地図データなのでSDカードへ入れます。
と、そのパスの形式が
/storage/47D2-1300
みたいな感じで、
SDカード固有の数字で、「数字4桁-数字4桁」のディレクトリを調べないといけないのです。
「数字4桁-数字4桁」を調べるにはどうすればいいのでしょうか?
Androidのアプリで、
マップルという地図ソフトがあります。
起動後、地図データへのパスを求められます。
大容量の地図データなのでSDカードへ入れます。
と、そのパスの形式が
/storage/47D2-1300
みたいな感じで、
SDカード固有の数字で、「数字4桁-数字4桁」のディレクトリを調べないといけないのです。
「数字4桁-数字4桁」を調べるにはどうすればいいのでしょうか?
222204
2018/06/08(金) 16:32:38.13ID:xsX40G/R223デフォルトの名無しさん
2018/06/08(金) 17:26:47.40ID:Ayrw+LdJ すいません jar の作り方がよくわからないので教えてください
packege util の Util.class が
util/uti.jar にはいっていて
それを使っているメインプログラムがパッケージなしで
main / Main.java
にあるんですがダブルクリックするだけで動く jar を作るにはどうしたらいいんでしょうか
packege util の Util.class が
util/uti.jar にはいっていて
それを使っているメインプログラムがパッケージなしで
main / Main.java
にあるんですがダブルクリックするだけで動く jar を作るにはどうしたらいいんでしょうか
224デフォルトの名無しさん
2018/06/08(金) 17:46:45.50ID:rAAW+Mj8 GGRKS
225デフォルトの名無しさん
2018/06/08(金) 18:07:30.25ID:BDVSM83M >>219
そうなのか?
OpenJDKはGPLだろ?
GPLに従う限り二次派生の作成も配布も問題ないはずだ
OpenJDKというJava実装はオープンで公開していながら
Googleに対してはJavaのAPIはOracleの著作だからお金払ってね♡
ってわけがわからないよ
そうなのか?
OpenJDKはGPLだろ?
GPLに従う限り二次派生の作成も配布も問題ないはずだ
OpenJDKというJava実装はオープンで公開していながら
Googleに対してはJavaのAPIはOracleの著作だからお金払ってね♡
ってわけがわからないよ
226デフォルトの名無しさん
2018/06/08(金) 18:15:27.87ID:iLNCpvye >>221
目的も書いたほうがいいと思うよ。
↓で解決するんじゃないの?
https://stackoverflow.com/questions/3348643/how-to-read-the-sd-card-id-number
目的も書いたほうがいいと思うよ。
↓で解決するんじゃないの?
https://stackoverflow.com/questions/3348643/how-to-read-the-sd-card-id-number
227デフォルトの名無しさん
2018/06/08(金) 18:33:06.83ID:Ayrw+LdJ >>224
ぐぐっていろいろ変えてみてるんですけどうまくいかないんです
作ったフォルダの中でダブルクリックすると動くんですが
他のフォルダにうつすと動かなくなって
メインクラスがロードできないっていわれます
jarの作り方の記事自体はたくさんでてくるんですが
他のjarに依存する場合の書き方があまりでてこなくて
MANIFESTにクラスパスをかけばうまくいきそうなのにかいてもうまくいかなくて困ってます
ぐぐっていろいろ変えてみてるんですけどうまくいかないんです
作ったフォルダの中でダブルクリックすると動くんですが
他のフォルダにうつすと動かなくなって
メインクラスがロードできないっていわれます
jarの作り方の記事自体はたくさんでてくるんですが
他のjarに依存する場合の書き方があまりでてこなくて
MANIFESTにクラスパスをかけばうまくいきそうなのにかいてもうまくいかなくて困ってます
228デフォルトの名無しさん
2018/06/08(金) 20:22:18.43ID:tnZm4LxR >>224 ググれクスに見えるな。やっぱ、ググレカスの場合は小文字じゃないとな。
229デフォルトの名無しさん
2018/06/08(金) 20:29:27.65ID:pdRgGEa3 >>227
MANIFESTの仕様見たか、素人には無理かもね
MANIFESTの仕様見たか、素人には無理かもね
230デフォルトの名無しさん
2018/06/08(金) 20:41:54.79ID:TV1o73xX >>221
ファイルマネージャとかでSDカード内を確認してフルパス取得すれば済む話じゃないの?
ファイルマネージャとかでSDカード内を確認してフルパス取得すれば済む話じゃないの?
231デフォルトの名無しさん
2018/06/08(金) 21:37:01.47ID:uQFFSCdV >>220
あれは GPL だけど特許はそのままのものなのか?
あれは GPL だけど特許はそのままのものなのか?
232デフォルトの名無しさん
2018/06/08(金) 21:43:47.18ID:LHC1uZZ8233デフォルトの名無しさん
2018/06/08(金) 21:56:44.25ID:uQFFSCdV 訴訟についてはこれか。
OracleとGoogleのJava著作権侵犯裁判の現状を知る(2018年版)
http://www.orangeitems.com/entry/2018/03/28/173616
OracleとGoogleのJava著作権侵犯裁判の現状を知る(2018年版)
http://www.orangeitems.com/entry/2018/03/28/173616
234デフォルトの名無しさん
2018/06/08(金) 23:41:54.50ID:2yGpvne7 >>232
GPLv2はあくまで著作権の利用許諾でしかなく、特許の利用について何も保証しない。
GPLソフトウェアを使った者を特許侵害で訴えることは普通に可能。
その問題を解決することを意図して特許までカバーしたGPLv3ができたんだけど、OpenJDKは残念ながらv2だ。
理由はもちろんそういうこと。
GPLv2はあくまで著作権の利用許諾でしかなく、特許の利用について何も保証しない。
GPLソフトウェアを使った者を特許侵害で訴えることは普通に可能。
その問題を解決することを意図して特許までカバーしたGPLv3ができたんだけど、OpenJDKは残念ながらv2だ。
理由はもちろんそういうこと。
235デフォルトの名無しさん
2018/06/08(金) 23:48:44.16ID:Ayrw+LdJ お願いします どなたか助けてください 課題の提出期限がすぎそうです;;
原因きりわけのために使ってるjarと同じ階層構造の
以下のような最小セット構成でコンパイルしてるんですがjarにすると動きません
a/A.class (packege a)
b/B.class (パッケージなし) ソースをみると import a.* を使ってる
Main.java 今回つくったプログラムでパッケージ宣言なし B を使用
> javac -cp .;b Main.java でコンパイルは通る
> java -cp .;b Main → 動く
---MANIFEST.MF---
Manifest-Version: 1.0
Class-Path: . b
Created-By: 1.8.0 (Oracle Corporation)
Main-Class: Main
> jar cvmf META-INF/MANIFEST.MF main.jar *.class a b でjarを作成
> java -jar main.jar でも > java -cp .;b -jar main.jar でも
Exception in thread "main" java.lang.NoClassDefFoundError: B
というエラーが出ます
クラスファイルの状態だと動くのにjarにすると動かない原因がどうしても分かりません
MANIFESTをかくのがはじめてなので根本的に何か間違ってる気もするんですが
Class-Path の書き方は何度もぐぐってスペースあけて並べるとあったんですがためしに .;b にしてもダメでした
解凍する前にb.jarをクラスパスで指定してたときは同じフォルダ内であれば動いたことがあったのですが
今は同じフォルダ内でも動きません
http://fast-uploader.com/file/7084024397219/
最小セットにしたファイル一式です
原因きりわけのために使ってるjarと同じ階層構造の
以下のような最小セット構成でコンパイルしてるんですがjarにすると動きません
a/A.class (packege a)
b/B.class (パッケージなし) ソースをみると import a.* を使ってる
Main.java 今回つくったプログラムでパッケージ宣言なし B を使用
> javac -cp .;b Main.java でコンパイルは通る
> java -cp .;b Main → 動く
---MANIFEST.MF---
Manifest-Version: 1.0
Class-Path: . b
Created-By: 1.8.0 (Oracle Corporation)
Main-Class: Main
> jar cvmf META-INF/MANIFEST.MF main.jar *.class a b でjarを作成
> java -jar main.jar でも > java -cp .;b -jar main.jar でも
Exception in thread "main" java.lang.NoClassDefFoundError: B
というエラーが出ます
クラスファイルの状態だと動くのにjarにすると動かない原因がどうしても分かりません
MANIFESTをかくのがはじめてなので根本的に何か間違ってる気もするんですが
Class-Path の書き方は何度もぐぐってスペースあけて並べるとあったんですがためしに .;b にしてもダメでした
解凍する前にb.jarをクラスパスで指定してたときは同じフォルダ内であれば動いたことがあったのですが
今は同じフォルダ内でも動きません
http://fast-uploader.com/file/7084024397219/
最小セットにしたファイル一式です
236デフォルトの名無しさん
2018/06/09(土) 00:15:06.79ID:dWoOad5I 「java exception in thread main java.lang.noclassdeffounderror」で検索!
一言一句正確なエラーメッセージで検索するのが、基本!
一言一句正確なエラーメッセージで検索するのが、基本!
237デフォルトの名無しさん
2018/06/09(土) 00:24:38.54ID:AVDHrvoe >>236
もう何か芋検索しているんですが原因はパスとおってないってことしかでてこないです
実際そうなんだと思うんですがjarを作るのがはじめてで何が足りないのかがさっぱりわかりません
MANIFESTにかくのと 実行時 cp オプションをかく意外に何か必要なんでしょうか
あるいは指定の書き方が間違っているのでしょうか
スペルミスなんかは何度も確認しているんですが…
もう課題の提出期限すぎちゃったのでわかりませんでしたってかいてレポートかいちゃいましたが
今後のためにも知っておきたいなと
もう何か芋検索しているんですが原因はパスとおってないってことしかでてこないです
実際そうなんだと思うんですがjarを作るのがはじめてで何が足りないのかがさっぱりわかりません
MANIFESTにかくのと 実行時 cp オプションをかく意外に何か必要なんでしょうか
あるいは指定の書き方が間違っているのでしょうか
スペルミスなんかは何度も確認しているんですが…
もう課題の提出期限すぎちゃったのでわかりませんでしたってかいてレポートかいちゃいましたが
今後のためにも知っておきたいなと
239デフォルトの名無しさん
2018/06/09(土) 02:02:10.81ID:ljDu8qs0240デフォルトの名無しさん
2018/06/09(土) 05:21:33.40ID:uYb8xFM5 >>235
Class-Path の所の b を b/ にするとどうなる?
Class-Path の所の b を b/ にするとどうなる?
241デフォルトの名無しさん
2018/06/09(土) 05:40:26.23ID:AVDHrvoe >>240
同じフォルダ内であれば動くようになりました
最後に / つけるだけでかわるんですね
ただやはり別のフォルダにうつすとスタンドアロンでは動かないみたいです
ためしにクラスを消去してみるとアーカイブに入ってるはずなのに同じフォルダでも動かなくなります
>javac -cp .;b Main.java
>jar cvmf META-INF\MANIFEST.MF main.jar *.java *.class a\*.java a\*.class b\*.class b\*.java
マニフェストが追加されました
Main.javaを追加中です(入=83)(出=72)(13%収縮されました)
Main.classを追加中です(入=281)(出=214)(23%収縮されました)
a/A.javaを追加中です(入=106)(出=95)(10%収縮されました)
a/A.classを追加中です(入=381)(出=272)(28%収縮されました)
b/B.classを追加中です(入=249)(出=191)(23%収縮されました)
b/B.javaを追加中です(入=79)(出=68)(13%収縮されました)
>java -jar main.jar
Hello World
>del *.class a\*.class b\*.class
>java -jar main.jar
Exception in thread "main" java.lang.NoClassDefFoundError: B
at Main.main(Main.java:3)
http://fast-uploader.com/file/7084045860348/ (パス jartest)
同じフォルダ内であれば動くようになりました
最後に / つけるだけでかわるんですね
ただやはり別のフォルダにうつすとスタンドアロンでは動かないみたいです
ためしにクラスを消去してみるとアーカイブに入ってるはずなのに同じフォルダでも動かなくなります
>javac -cp .;b Main.java
>jar cvmf META-INF\MANIFEST.MF main.jar *.java *.class a\*.java a\*.class b\*.class b\*.java
マニフェストが追加されました
Main.javaを追加中です(入=83)(出=72)(13%収縮されました)
Main.classを追加中です(入=281)(出=214)(23%収縮されました)
a/A.javaを追加中です(入=106)(出=95)(10%収縮されました)
a/A.classを追加中です(入=381)(出=272)(28%収縮されました)
b/B.classを追加中です(入=249)(出=191)(23%収縮されました)
b/B.javaを追加中です(入=79)(出=68)(13%収縮されました)
>java -jar main.jar
Hello World
>del *.class a\*.class b\*.class
>java -jar main.jar
Exception in thread "main" java.lang.NoClassDefFoundError: B
at Main.main(Main.java:3)
http://fast-uploader.com/file/7084045860348/ (パス jartest)
242デフォルトの名無しさん
2018/06/09(土) 10:09:51.63ID:Naz/3W/N >>241
なるほど、そうすると
MANIFEST.MFのClass-Pathはjar内のパスを指定するものではなくて
jarの外のパスを指定するものだってことになるかと
jar内のパスはあくまでもpackageでやりましょうということなんじゃないかな
なるほど、そうすると
MANIFEST.MFのClass-Pathはjar内のパスを指定するものではなくて
jarの外のパスを指定するものだってことになるかと
jar内のパスはあくまでもpackageでやりましょうということなんじゃないかな
243デフォルトの名無しさん
2018/06/09(土) 10:24:49.37ID:Naz/3W/N packageはディレクトリで示されるのでデフォルトパッケージのB.classが
b/の下にあるのがおかしいのでしょうね
b/の下にあるのがおかしいのでしょうね
244デフォルトの名無しさん
2018/06/09(土) 15:10:59.27ID:AVDHrvoe >>242,243
わああ うごきました!!!!!
パッケージがついてないソースを全部同じフォルダに展開しただけで動くようになりました
コンパイルにパスの指定も必要なくなったし
パッケージ構成とフォルダ構成をあわせる必要があったんですね
課題用に配られたソースだったので自分で描いたコードと分けておいた方がいいのかなと思ったんですが
そのせいでまる1日どはまりしてしまった
教えていただいてありがとうございました
ほんとに助かりました
わああ うごきました!!!!!
パッケージがついてないソースを全部同じフォルダに展開しただけで動くようになりました
コンパイルにパスの指定も必要なくなったし
パッケージ構成とフォルダ構成をあわせる必要があったんですね
課題用に配られたソースだったので自分で描いたコードと分けておいた方がいいのかなと思ったんですが
そのせいでまる1日どはまりしてしまった
教えていただいてありがとうございました
ほんとに助かりました
245デフォルトの名無しさん
2018/06/09(土) 22:39:02.82ID:ExnJNgW8 クラスパスに指定するjarの扱いはディレクトリのようなもんなんだよ。
main.jar内にb/B.classが入っていて、デフォルトパッケージのBってクラスを
使いたいんだったら、kラスパスは main.jar:b (正確な書き方は忘れた)
みたいに書かないとダメなんだよ。
main.jar内にb/B.classが入っていて、デフォルトパッケージのBってクラスを
使いたいんだったら、kラスパスは main.jar:b (正確な書き方は忘れた)
みたいに書かないとダメなんだよ。
246デフォルトの名無しさん
2018/06/09(土) 23:22:00.71ID:dWoOad5I >パッケージ構成とフォルダ構成をあわせる必要があったんですね
入門書にも書いてあるのに、説明書を読まずにやっているから出来ない。
プログラミングのほとんどは、説明書を読むかどうかだけ
読まない人は、出来ない
学校の勉強と同じ。
教科書を読まない人は、出来ない
入門書にも書いてあるのに、説明書を読まずにやっているから出来ない。
プログラミングのほとんどは、説明書を読むかどうかだけ
読まない人は、出来ない
学校の勉強と同じ。
教科書を読まない人は、出来ない
247デフォルトの名無しさん
2018/06/09(土) 23:28:53.67ID:AVDHrvoe まだ学生なのでそんなに本にお金かけたりできないんですけど
もしお勧めの本があったら紹介していただけませんか?
パッケージを作るときにフォルダ構成をあわせるのは知ってましたが
a/A.java の構成はそうなってる
他の人が作ったパッケージ宣言されてないソースを使うときに
トップディレクトリに展開しないとjarにはできないとは思わなかったので…
ディレクトリとパッケージを合わせることが自然なことは本にかかれてるかもしれませんが
他に方法がないというのはそう自明なことではないと思います
もしお勧めの本があったら紹介していただけませんか?
パッケージを作るときにフォルダ構成をあわせるのは知ってましたが
a/A.java の構成はそうなってる
他の人が作ったパッケージ宣言されてないソースを使うときに
トップディレクトリに展開しないとjarにはできないとは思わなかったので…
ディレクトリとパッケージを合わせることが自然なことは本にかかれてるかもしれませんが
他に方法がないというのはそう自明なことではないと思います
248デフォルトの名無しさん
2018/06/09(土) 23:36:10.70ID:K+9PZeFb 調べ方をしらねーだけなんだからカリカリすんなよ
本を読むだけでできるようになるんなら職業プログラマなんかいらねーんだよ
本を読むだけでできるようになるんなら職業プログラマなんかいらねーんだよ
249デフォルトの名無しさん
2018/06/09(土) 23:52:15.00ID:MhKfyDgC >>247
俺はJavaは知らないのだけど、一般的な方法を。
> 課題用に配られたソースだったので自分で描いたコードと分けておいた方がいいのかなと思ったんですが
> そのせいでまる1日どはまりしてしまった
これは割とよくあるパターンで、
・環境の立ち上げは、基本的に 『かなり詳しくないと』 はまる
・環境ではまったら、初心者だけで復旧は不可能
だから、自分が初心者だと分かっているうちは、出来るだけ環境問題に遭遇しないようにするのが基本。
つまり、
・与えられたソースをその場で改変する
・元ソースと比較したい場合、元ソースを ***.org とかいう風にしてコピーしておく
(元環境と同じファイル名/ディレクトリ構造でコンパイル出来る状態で編集する
=元ソースはファイル名そのままで編集する。あくまでコピーを別名で持つ)
・インストール時にデフォのパスがあるのなら、つべこべ考えずそのままそこにインストールする
てな感じ。
俺は本を読む前に味見するのも良いことだと思うぜ。
そして上記の通り、地雷を避ける方法も知っておけばいいだけだ。
俺はJavaは知らないのだけど、一般的な方法を。
> 課題用に配られたソースだったので自分で描いたコードと分けておいた方がいいのかなと思ったんですが
> そのせいでまる1日どはまりしてしまった
これは割とよくあるパターンで、
・環境の立ち上げは、基本的に 『かなり詳しくないと』 はまる
・環境ではまったら、初心者だけで復旧は不可能
だから、自分が初心者だと分かっているうちは、出来るだけ環境問題に遭遇しないようにするのが基本。
つまり、
・与えられたソースをその場で改変する
・元ソースと比較したい場合、元ソースを ***.org とかいう風にしてコピーしておく
(元環境と同じファイル名/ディレクトリ構造でコンパイル出来る状態で編集する
=元ソースはファイル名そのままで編集する。あくまでコピーを別名で持つ)
・インストール時にデフォのパスがあるのなら、つべこべ考えずそのままそこにインストールする
てな感じ。
俺は本を読む前に味見するのも良いことだと思うぜ。
そして上記の通り、地雷を避ける方法も知っておけばいいだけだ。
250デフォルトの名無しさん
2018/06/10(日) 01:00:23.21ID:ucpSsdvT >>247
技術習得中はどれが問題解決に必要な情報なのかわからないんだからあまり気にしなくていい
むしろ問題解決に必要な情報が出せれてるから問題ない
最近はそれがなかなかできないやつが多いからなぁ
んで、お金がないから本を変えないつーことならちょい難易度高いが教科書+公式ドキュメント+サンプルっぽいソース探すのがおすすめ
技術習得中はどれが問題解決に必要な情報なのかわからないんだからあまり気にしなくていい
むしろ問題解決に必要な情報が出せれてるから問題ない
最近はそれがなかなかできないやつが多いからなぁ
んで、お金がないから本を変えないつーことならちょい難易度高いが教科書+公式ドキュメント+サンプルっぽいソース探すのがおすすめ
251デフォルトの名無しさん
2018/06/10(日) 04:48:20.36ID:n5chgHA2 Java の定本は、
スッキリわかる Java入門 第2版、2014
基本はエラーメッセージで検索して、自分で調べること。
それでもわからないなら、ここで聞く
スッキリわかる Java入門 第2版、2014
基本はエラーメッセージで検索して、自分で調べること。
それでもわからないなら、ここで聞く
252デフォルトの名無しさん
2018/06/10(日) 11:22:51.08ID:9LY18awe >>251
マ板の35歳がそれ読んで荒らしに来るから紹介は控えて欲しい
マ板の35歳がそれ読んで荒らしに来るから紹介は控えて欲しい
253デフォルトの名無しさん
2018/06/10(日) 12:06:59.34ID:IhVDvYTT スッキリ厨は話を聞かないことで有名だからなあ
254デフォルトの名無しさん
2018/06/10(日) 12:26:24.21ID:5WgF/CDS こいつAIだからね
255デフォルトの名無しさん
2018/06/10(日) 12:46:21.18ID:Jwj29J+R インスタンスの配列定義について教えてください
@とAはどう違うのでしょか?
(1行目のカッコの位置です)
@カッコが左のAnimalにある
Animal[] vc = new Animal[2];
vc[0] = new Animal();
vc[0].name = "neko";
vc[0].age = 5;
・・・・
Aカッコが左の変数にある
Animal vc[] = new Animal[2];
vc[0] = new Animal();
vc[0].name = "neko";
vc[0].age = 5;
・・・・
上記2つでコンパイルエラーになりません。
違いはなんですか?
@とAはどう違うのでしょか?
(1行目のカッコの位置です)
@カッコが左のAnimalにある
Animal[] vc = new Animal[2];
vc[0] = new Animal();
vc[0].name = "neko";
vc[0].age = 5;
・・・・
Aカッコが左の変数にある
Animal vc[] = new Animal[2];
vc[0] = new Animal();
vc[0].name = "neko";
vc[0].age = 5;
・・・・
上記2つでコンパイルエラーになりません。
違いはなんですか?
256デフォルトの名無しさん
2018/06/10(日) 13:08:57.02ID:5WgF/CDS257デフォルトの名無しさん
2018/06/10(日) 13:19:30.60ID:Jwj29J+R258デフォルトの名無しさん
2018/06/11(月) 02:02:24.99ID:jMVvjS0U259デフォルトの名無しさん
2018/06/11(月) 02:11:29.76ID:dheNLGIF >>258
例えばメソッド名の先頭が小文字でもコンパイルは通るから何の問題もないと考える人?
例えばメソッド名の先頭が小文字でもコンパイルは通るから何の問題もないと考える人?
260デフォルトの名無しさん
2018/06/11(月) 02:11:56.91ID:dheNLGIF 間違えた
メソッド名の先頭が大文字でも、ね
メソッド名の先頭が大文字でも、ね
261デフォルトの名無しさん
2018/06/11(月) 02:54:29.89ID:MB0XDzKq >>259
ああ。文法上は問題なかろう。慣習には反するかも知れないが間違いではない。
ああ。文法上は問題なかろう。慣習には反するかも知れないが間違いではない。
262デフォルトの名無しさん
2018/06/11(月) 08:24:25.82ID:2EYG9KU5 >>258
Animal配列型の変数vcだから
Animal型の配列変数vcという書き方は良くないという話だよ
そもそも配列変数なんてものは存在しないからね
シンタックスシュガーでC風の書き方ができるだけ
この構文を積極的に使う理由なんてないよ
Animal配列型の変数vcだから
Animal型の配列変数vcという書き方は良くないという話だよ
そもそも配列変数なんてものは存在しないからね
シンタックスシュガーでC風の書き方ができるだけ
この構文を積極的に使う理由なんてないよ
263デフォルトの名無しさん
2018/06/11(月) 09:20:40.77ID:318FxA/J >>262
良し悪しは君の宗教の問題だよね。
良し悪しは君の宗教の問題だよね。
264デフォルトの名無しさん
2018/06/11(月) 09:44:57.19ID:dHlcwcTY おましゅうw
265デフォルトの名無しさん
2018/06/11(月) 13:07:23.49ID:UTAA5EZY var vc:Array<Animal>
Haxe では、
var 変数名:型
Haxe では、
var 変数名:型
266デフォルトの名無しさん
2018/06/11(月) 13:12:24.89ID:NAfddAYi だから?
267デフォルトの名無しさん
2018/06/12(火) 06:53:24.64ID:aW1GuOgP Javaでチャートを表示したくて
javafx.scene.chart.LineChart ってのをはじめて使ったんですけど
これアニメーションで使うにはどうすればいいんでしょうか
Scene scene = new Scene(lineChart,800,600);
stage.setScene(scene);
stage.show();
でグラフが表示されるんですが
そのあとで
try { Thread.sleep(2000); } catch(Exception e) {}
//データ更新
stage.show();
をやったところスリープ中に何も表示されず最後のデータだけが表示されます
あるいはJavaFXではなくawtパネルや
単にImageを生成するようなライブラリがあったら教えていただけると助かります
javafx.scene.chart.LineChart ってのをはじめて使ったんですけど
これアニメーションで使うにはどうすればいいんでしょうか
Scene scene = new Scene(lineChart,800,600);
stage.setScene(scene);
stage.show();
でグラフが表示されるんですが
そのあとで
try { Thread.sleep(2000); } catch(Exception e) {}
//データ更新
stage.show();
をやったところスリープ中に何も表示されず最後のデータだけが表示されます
あるいはJavaFXではなくawtパネルや
単にImageを生成するようなライブラリがあったら教えていただけると助かります
268デフォルトの名無しさん
2018/06/12(火) 23:10:11.67ID:Ci7qqtSg >>267
意味がわからん。
なんでこれでアニメーションされると思ったのかと何がしたいのか具体的に説明してくれ。
> try { Thread.sleep(2000); } catch(Exception e) {}
> //データ更新
> stage.show();
意味がわからん。
なんでこれでアニメーションされると思ったのかと何がしたいのか具体的に説明してくれ。
> try { Thread.sleep(2000); } catch(Exception e) {}
> //データ更新
> stage.show();
269デフォルトの名無しさん
2018/06/12(火) 23:49:25.09ID:v+Py2umn270デフォルトの名無しさん
2018/06/13(水) 01:20:05.91ID:kTav0878271デフォルトの名無しさん
2018/06/13(水) 07:01:52.40ID:VFl3aAKI java8でメモリリークを強制的に発生させる良い方法ってありますか?
Webシステムでリークが発生している場合のヒープサイズの変化を
明示的に出したいです。
Webシステムでリークが発生している場合のヒープサイズの変化を
明示的に出したいです。
272デフォルトの名無しさん
2018/06/13(水) 07:46:18.02ID:Y8lO4wwX static ArrayList<byte[]> leak = new ArrayList<>();
while (true) leak.add(new byte[1000000]);
while (true) leak.add(new byte[1000000]);
273デフォルトの名無しさん
2018/06/13(水) 15:36:01.51ID:GZrsiOY9 リークっていうか、とにかくメモリ使ってどこかから参照されっぱなしになればいいだけだよな。
274デフォルトの名無しさん
2018/06/13(水) 18:36:45.27ID:2UGtKAD3 数スレ前にもJavaFXで画面更新したいって質問あったけどまともなレスついてなかったし
誰も使ってないんだろうなー
自分もサーバーサイドばっかりでGUIとか数年かいてないわ
誰も使ってないんだろうなー
自分もサーバーサイドばっかりでGUIとか数年かいてないわ
275デフォルトの名無しさん
2018/06/13(水) 18:54:23.13ID:WGknwRIf もうJavaFXはJavaの一部ではなく単なる野良ソフトウェアの一つだしな
初心者なら今からクライアントJavaに手を出すなんて時間の無駄だからやめた方がいい
煽りでも何でもなく、公式に完全に終わってる
初心者なら今からクライアントJavaに手を出すなんて時間の無駄だからやめた方がいい
煽りでも何でもなく、公式に完全に終わってる
276デフォルトの名無しさん
2018/06/13(水) 21:13:38.37ID:JYmIyEqB Androidアプリがあるんだよなー
277デフォルトの名無しさん
2018/06/13(水) 21:33:45.35ID:e5+CMljH だな
278デフォルトの名無しさん
2018/06/13(水) 21:40:10.81ID:4ZMiG1ZW だね
279デフォルトの名無しさん
2018/06/14(木) 00:42:43.69ID:/66BxFoU Kotolin
280デフォルトの名無しさん
2018/06/14(木) 01:45:12.12ID:irmUauXJ Javaの文法でwidowsライクなアプリ作れるから俺はSWT一択だね(キリッ
281デフォルトの名無しさん
2018/06/14(木) 01:55:14.23ID:+qJR6f8p >>270
わかった。
> try { Thread.sleep(2000); } catch(Exception e) {}
> //データ更新
> stage.show();
とは全然関係ないのな。
自分で言ってる以下のループの中身を...
>while() {
> // 音声ラインから一定サイズよみこみ
>// フーリエ変換
> // グラフ表示更新
>}
javafx.animationでやればいい。
これでも読んどけ。
ttps://docs.oracle.com/javase/jp/8/javafx/visual-effects-tutorial/animations.htm#JFXTE149
ttps://docs.oracle.com/javase/jp/8/javafx/user-interface-tutorial/bar-chart.htm
>>271
ファントム参照の中身をルートから辿れるところに
参照させればリークできるけど本当に開放する手段ないぞ。
わかった。
> try { Thread.sleep(2000); } catch(Exception e) {}
> //データ更新
> stage.show();
とは全然関係ないのな。
自分で言ってる以下のループの中身を...
>while() {
> // 音声ラインから一定サイズよみこみ
>// フーリエ変換
> // グラフ表示更新
>}
javafx.animationでやればいい。
これでも読んどけ。
ttps://docs.oracle.com/javase/jp/8/javafx/visual-effects-tutorial/animations.htm#JFXTE149
ttps://docs.oracle.com/javase/jp/8/javafx/user-interface-tutorial/bar-chart.htm
>>271
ファントム参照の中身をルートから辿れるところに
参照させればリークできるけど本当に開放する手段ないぞ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 働いて参ります
- ( ・᷄ὢ・᷅ )あ?
- 地震
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
- ブタをぶったたく
