[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 09/27 12:34 / Filesize : 223 KB / Number-of Response : 857
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者】Java質問・相談スレッド100【大歓迎】



1 名前:デフォルトの名無しさん [2007/03/31(土) 13:57:18 ]
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
【初心者】Java質問・相談スレッド99【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1173026128/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。pc10.2ch.net/hp/

次スレは>>980あたりで。

369 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 13:31:03 ]
synchronized しても、 x は private じゃないのでパッケージ内の他のクラスから触り放題だよなぁ。

370 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 13:45:08 ]
>>367
ちがうちがう
単に「Javaのvoid関数は戻り値がないため、関数を呼び出したらその終了を待たずに次の処理に行く」 んだったら
シングルスレッドだろうとxが2になっている保証はないと言いたいだけだ

371 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 13:54:10 ]
>>370
言いたいことはわかるよ
要するに「( ´,_ゝ`)プッ」ってことだろ

372 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 14:18:41 ]
>>362
ret != null || ret.isEmpty
ret が null じゃないか、もしくは、空ならば。

何行目でユニークキーエラーが出てるのかしら

373 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 15:51:57 ]
JDKってどこでダウンロードできますか?
本に載ってるURLも、Sun社のサイトないのリンクも、
サーバエラーで見れません。

どなたか事情をご存知でしたら教えて下さい。

374 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 15:54:18 ]
>>373
あ〜さひがSUNSUN、おはよ〜うSUN

375 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 16:29:58 ]
>>373
>>1
ttp://www.wikiroom.com/java/
からたどれる。

376 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 16:37:07 ]
>>373
何処を見てエラーが出たのか知らんが、一応

Java SE Downloads
ttp://java.sun.com/j2se/1.5.0/ja/download.html

377 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 16:41:25 ]
>>375
ありがとうございます。

JDK

つぎに必要になる物は、Javaのコンパイラです。 Javaのコンパイラは、
JDK(J2SE Development Kit)の中にふくまれています。つぎのサイトからJDKをダウンロードしてください。

ダウンロード Java 2 Platform Standard Edition 5.0 (J2SE)

のところですよね?
リンク先URLは java.sun.com/j2se/1.5.0/ja/download.html ですが、
やはりサーバエラーになります。URLが変わったんでしょうか?
何回やっても見れません。



378 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 16:46:18 ]
>>377
見れるよ?

おまいんとこのプロバが経路障害起こしてるんかも

379 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 16:50:16 ]
>>378
そうですか…問題はサイト側じゃないんですね。
プロバイダに問い合わせてみます。

380 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 17:47:21 ]
OCNに電話したら20分待ち、サンに電話したら17:30まで

死ねよクズども 殿様営業しやがって

381 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 17:56:59 ]
sun の web サイトは、いつの時代も何処に何があるのかわからない構造になってる。
ついでに URL もよく変わる。

ttp://java.sun.com/javase/ja/6/download.html

382 名前:デフォルトの名無しさん [2007/04/13(金) 18:06:52 ]
SUNに繋がらん・・・

383 名前:373 mailto:sage [2007/04/13(金) 18:09:21 ]
>>381
ありがとうございます。
SUNのサイトを見てみましたが、

jp.sun.com
www.sun.com

両方とも見れませんでした。

384 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 18:11:47 ]
>>382-383
Sunからアク禁食らってるか
経路上のどこかのルータが死んでるか
DNSが引けてないかのどれかじゃない?

385 名前:デフォルトの名無しさん [2007/04/13(金) 18:18:40 ]
javaのサイトみれねぇ。

386 名前:362 [2007/04/13(金) 18:27:06 ]
>>363-365
素早いアドバイス、本当にありがとうございます。
今回のシステムでは1ターンの中でスレッドを分けて処理をする、というようなことは行っていません。
SpringのJDBCDaoSupportを使ってDBとの通信をしており、
DataSourceにはorg.apache.commons.dbcpを使用してコネクションプールさせております。
DELETEとINSERTはそれぞれメソッド内でDataSourceを呼び出すので、可能性としては>>364が一番高い気がしてきました。

でも、コネクションを放置しているのならどうしてうまくいく場合もあるのでしょうか?必ず引っかかるような気がするのですが。。。

また無知のため
SqlUpdate update=new SqlUpdate(getDataSource(),QUERY_DELNYU);
int[] types={Types.VARCHAR};
Object[] params={
strnyuid
};
update.setTypes(types);
update.compile();
update.update(params);

のような記述をJDBCDaoSupport継承クラス内で行えば
update.update(params)を通過した時点で勝手にコミットされるものだと思っていました。

コミット処理を明示する方法を調べたのですが、該当するようなサイトに当たらなくて困っています。
ご存知の方はいらっしゃいますでしょうか。

>>372
すいません、書きまちがいです。ret != null || !ret.isEmpty です。


387 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 18:45:40 ]
> tracert java.sun.com

 16   152 ms   154 ms   153 ms  ge-3-3.r03.snjsca04.us.ce.gin.ntt.net [128.241.219.6]
 17     *        *        *     Request timed out.

なんか1個死んでるっぽい



388 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 18:51:29 ]
>>382-383 >>387
わたしのところからは
java.sun.com/
developers.sun.com/
www.sun.com/download/
どれもつながる


389 名前:デフォルトの名無しさん [2007/04/13(金) 19:52:34 ]
エクリプスでiアプリ作れますか?

390 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 19:52:41 ]
俺のところからは全部見れない

391 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 21:00:24 ]
繋がらないから様子を聞きにきたんだが、やっぱり繋がらないのか。
3日位前はみれたんだけどなぁ

392 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 21:04:48 ]
どれも繋がるけど、jcp.org が古いまま。

journal.mycom.co.jp/articles/2007/03/30/jcp/
によれば、新しくなったはずなんだけど。

393 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 21:14:36 ]
>>386
delとinsertで同じid使ってるから、
例えば同トランザクション内だと仮定するなら、元のidは、まだトランザクションログもろともテンポラリにあって、まだトランザクションログファイルに反映されていず、
従って、もっと単純に言うと、まだdelしているつもりのidが存在していて、
例えばハッシュのシノニム発生時のコンフリクトのような感じでエラー出してるのかなと。
起こる時と起きない時の違いがどうなっているか分からないけれど、if文に引っかからなきゃすんなり通るのかなと。
例えば、insertの前にもう一個if文を、例えば、
if(ret = null || ret.isEmpty){
などとやったらどうなるのかなと。

394 名前:362 [2007/04/13(金) 21:39:22 ]
>>393
>例えば、insertの前にもう一個if文を、例えば、
>if(ret = null || ret.isEmpty){
>などとやったらどうなるのかなと。

そうすると、delしているつもりのidがまだ残っていた場合insertされないまま正常終了してしまうので
正常に終わっているのにデータが入っていない、と言う状態になってしまうような気がします。

そーすると、やはり>>363のような方法で回避するしか方法はないのでしょうか。

よくわからないのは>>386のようなコードを通った(制御が呼び出し元にきた)のに
DBのdeleteやinsertの処理が終わっていない、と言うことはありえるのかどうか、というところなんです。

理想は、というか普通はコネクションプールを使っても、SpringのJDBC抽象化クラスに処理を任せていても、
deleteの処理でDBにSQLを投げたら、DBの処理が完全に終わってから次の処理に移行するものだと思うのですが。。。




395 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:00:54 ]
1.レベル1(直線発生アルゴリズム)
直線式を用いて(100,100)から(600,300)の2次元座標点を結ぶ直線と、(100,100)から(300,600)の点を結ぶ直線を描画する。直線の色は視覚可能な色であれば任意とする。JavaのPolylineなど直線描画関数を使用しない。

2.レベル2(3次元デプスキューイング・アルゴリズム)
 (100,100,0)から(600,300,100)の3次元座標点を結ぶ直線を描画する際、z値の座標値を輝度と見なしてz=0の点の輝度を0(最小値)、z=100の点の輝度を255(最大値)として描画する。直線の色は視覚可能な色であれば任意とする。

これ解ける?

396 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:08:28 ]
>>394
>例えば、insertの前にもう一個if文を、例えば、
>if(ret = null || ret.isEmpty){
>などとやったらどうなるのかなと。
というのは、採用するためというより現象確認、切り分けの手段としてどうかなと。
>回避の方法
deleteとinsertの間にcheckpointステートメントを使って、強制的にデバイスに反映させるというのはどうでしょ。


397 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:08:41 ]
>>395
ブレゼンハムアルゴリズム使えばできるでしょ。あと、宿題なら宿題スレで。

★★ Java の宿題ここで答えます Part 60 ★★
pc11.2ch.net/test/read.cgi/tech/1169300052/



398 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:13:18 ]
すみませんcheckpointステートメント実行は、
動作が重くなる可能性があるし、バックアップ計画に反する可能性もあるのでよくないですね。
失礼しました。

399 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:13:33 ]
>>397
スレ違いスマソ。
授業でCGの基礎ってことで始めの問題なんです。

400 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:21:24 ]
訂正
バックアップ計画>バックアップからの復元計画

401 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 23:03:58 ]
javaでCGを始めたいのですが、オヌヌメの初心者用サイトがあったら教えていただけるとありがたいです。

402 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 23:05:48 ]
>>394
Springはトランザクション管理で操作するっぽい。
使った事無いし、ぐぐって、2件見ただけなので良く分からん。

あるトランザクションでdeleteを実行した後、
新しいトランザクションでinsertを実行すれば良いのかね

403 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 23:38:04 ]
Jcpad使ってるんだけど、classpathの設定ってどこでやるの?

404 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 00:05:23 ]
調べてはみたのですが、Windows2000とJava実行環境の間に、「相性」はありますか?
1.4シリーズだといい、や、1.5シリーズだとあまりよくない・・・など、些細なことでもいいので情報いただければと思います。

質問を上手く表現できず、すみません^^;
Java実行環境のバージョンとOSのバージョンとにそれぞれ相性があるのか、
個人的に知りたく思っています。
もし、説明URLなどがあれば教えていただければと思います。

例)
Aの動作環境
Windows2000 SP4
InternetExplorer6.02 SP1
J2SE 1.4.2_13

Bの動作環境
Windows2000 SP4
InternetExplorer6.02 SP1
J2SE 5.0_11

AとBで、動作の上で差異はありますか?

ぜひ、回答よろしくお願いします。

405 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 00:11:25 ]
気にするもんでもない

406 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 00:48:29 ]
>>382
nslookupの結果
java.sun.com 72.5.124.55
developers.sun.com 72.5.124.65
www.sun.com 72.5.124.61

72.5.124.55/

407 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 01:00:31 ]
>>406
いや、今は java.sun.com でも見れる



408 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 02:45:53 ]
>>386
spring使ってんだよな?
まず、
>DBDelete del = new DBDelete();
みたいに
それぞれのビジネスロジックの中で新規にインスタンスかするのはおかしい
通常Singletonだよな
なおかつ、springに任せるならInjectionかBeanFacroty.get()だよな

だれにトランザクションを任せるつもりなのか?
もし、springに任せるならちゃんとお作法に従ったほうがいいかと


409 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 08:01:22 ]
>>403
設定 - 高度な設定 - 追加する環境変数

CLASSPATH=%CLASSPATH%;C:\javalib\alib.jar;.



OSの環境変数CLASSPATHを変えてもOK


410 名前:デフォルトの名無しさん [2007/04/14(土) 12:20:24 ]
問題が解けなくて困ってます。
実行時、数個入力した順の値を
逆から入力した順に値を表示するにはどうしたらいいんですか?

1、2、3、4、5→5、4、3、2、1

ご教授お願いします。

411 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 12:24:31 ]
>>410
スタックも知らないのか?
まず、基本情報技術者試験の勉強をお勧めする。

412 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 12:26:44 ]
>>411
スタック調べて見ます。
ありがとうございます。

413 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 13:25:02 ]
PreparedStatementについて質問。
String sql = "select * from table where name=? and updated_at=?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setObject(1, name); <-- String型
stmt.setObject(2, updated_at); <-- Timestamp型
こんな風にPreparedStatementで、どんな型であれsetObject使っても
うまくSQL通るのかな。
だとするとsetIntとかsetStringとか不要??

414 名前:デフォルトの名無しさん [2007/04/14(土) 13:34:26 ]
javaは
もしかしてmainメソッドの戻り値は
voidしか許されないのでしょうか?


415 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 13:44:24 ]
>>414
JLS 12.1.4

The method main must be declared public, static, and void.
It must accept a single argument that is an array of strings.

mainメソッドはpublic, static, voidと宣言されなければならない。
文字列(*)の配列を1つだけ受け付けなければならない。

* java.lang.String


416 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 13:51:08 ]
>>413
JDBCのjavadoc見る限りではそうならないように読める。
ひょっとしたらJDBCドライバによってはうまくいくかもしれない。疑問に思ったらやってみ。

417 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 14:33:40 ]
Javaでバリバリ仕事して飯食ってる人にお願いがある。

そのレベルに到達するまでの軌跡を教えてくれないか・・・・


先人の歩んだ道をストーキングしたいんだ!
俺は必死なんだ!



418 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 15:04:28 ]
>>417
ばりばりって。。。。そういう会社に勤めりゃいいだけだと思うが

419 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 15:41:00 ]
>>417
まずC言語の習得から始めるのがいいと思うよ
というのがいろんな言語を渡り歩いた俺の結論

420 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 15:43:18 ]
>>419
はい。C言語は習得済みです!

421 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 15:44:58 ]
習得しましたとかマスターしましたとか言うやつはどうも信用できないやつが多い気がする

422 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 15:49:19 ]
>>421
構文を習得したのか程度なのか、
実際にプログラムをいくつも作成してマスターしたのか不明だからな

423 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 15:50:12 ]
したのか程度

424 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 15:56:14 ]
Cで売り物のソフトを作ったりもしてるが、マスターしたとはおこがましくて言えないぜ。

そんな俺にもアドバイスしてくれまいか。>>419

425 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 15:56:58 ]
売り物のソフト作ってるならマスターしたといってもいいんじゃないの。
C言語で飯食ってるのとほぼ同義だし。

426 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 15:59:27 ]
売り物のソースコードには、とてもそうは言えなくなる内容のもあるのだよ。


427 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 16:17:44 ]
右クリックなど、イベントを登録可能な図形を描画する方法はないでしょうか?
いままではGeneralPathクラスを使って図形を描画していたのですが、このオブジェクトにはイベントを登録できませんでした…。



428 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 16:25:50 ]
思いついたのは、
A: それらの部品はShapeとして描画して、イベントは親コンポーネントで拾う。
どのShapeの中で発生したイベントかは、管理しているShapeのそれぞれに対し
てそれぞれcontains(x, y)で調べる。

B: JComponentを継承して自身を非矩形に描画する。
イベントは普通に拾える。透明部分でも拾っちゃうかも。
ヒント(setOpaque(false))



429 名前:427 mailto:sage [2007/04/14(土) 16:34:50 ]
ありがとうございます!
教えていただいた方法を試してみます。

430 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 16:35:17 ]
>>427
自前で作ればいいだけでは?
GeneralPathのAPIみたけど余裕で実装可能
contains()系を活用してイベントルートをつくりあげればおK

431 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 16:38:53 ]
>>417
まずは、MSX BASICだろ。次が、Z80アセンブリ言語。それからC言語やって、Fortanかじって
Pascalかじって、Perlいつの間にか出来るようになってて、Javaは1.0.2から勉強。
Java1.1でプログラム書いて、Swing以前のJFC使って、Java1.2になってJava1.3に昇格。
Java1.4の速さに感動して。

ここで俺はようやくJavaで飯が食えるようになった。
しっかりストーキングヨロシク頼む。手抜きは許さんぞ。

432 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 16:44:04 ]
>>431
なんか似たような経歴の人が、、、もしかして同年代くらい?
もっとも俺はCOBOLが最初でPL/IとMSXいじりが並行というパターン

433 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 16:45:02 ]
>>431のストーキングには20年かかりそうだ・・・

434 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 18:14:13 ]
はっきりいって、プログラミングで飯が食えるようになりたかったら
業務にもっともプログラム言語を選択してから使えるようになれば良い。
クライアントアプリならJavaよりVC、VB系の方が使えるし、
WebアプリならUnix系OSならJavaでWindowsなら.NET使った方が
効率が良い。
別にプログラム言語なんてコンパイルしたらみんな機械語になるんだ
(インタプリタ等は違うとか揚げ足取りはいらないよ)
あまり言語にこだわる必要はない。

435 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 18:53:05 ]
>>417
Javaに限らずプログラミング言語習得するなら
・とにかく手を動かして(ちゃんと動く)物をたくさんつくる
・他人の書いたプログラムをよく読んで理解する
経験上この2点が重要ではないかと思ふ
まぁ本だけ見て頭でっかちになるよりはましかと

>>431
同志!!

436 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 18:54:38 ]
プログラム系はGPL関連に気をつけないといけないことがあるから
それについても勉強しないといけないよね

437 名前:427 mailto:sage [2007/04/14(土) 19:16:21 ]
>>428>>430
アドバイスありがとうございました。
図形に対して、containsを使うことでクリックを拾わせることができました。
各図形はGeneralPath gp で定義しています。

クリックされた座標を Point point = MouseEvent.getPoint で取得
   ↓
gp.contains(point) == TRUE であれば図形gpに応じたイベント処理

長方形や円形など、幅のある図形はこの方法でイベントを発生させることができました。
ただ、折れ線などの線分の場合、細すぎてクリックを拾ってくれません…。

各折れ線は、moveToやlineToを利用してGeneralPathとして定義しています。

クリックできる領域を広げるために、折れ線から少し離れた上下に同じものを1つずつ用意し、
これらを合成すればいいのかなと思いました。
でもこの場合、複数の折れ線を合成する方法でつまずいています…。

折れ線など、幅のない図形にクリックイベントを拾わせるには、どうすればよいでしょうか?



438 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 19:22:13 ]
containsをオーバーライドして、もうちょっと広い範囲を内側と認識する
ように……しちゃってもいいもんだろうか。

ドローツールだと、操作用のハンドルオブジェクトみたいなのを線の両端に
つけてことが多いんじゃない?


439 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 19:24:47 ]
>>437
折れ線だと各ポイントの座標を押さえてるだろうから
その座標を+ーして少しずらした幅のある四角形(平行四辺形)のパスを
判定用に作ってそれを使って座標を判定するということをやってた
もっといい方法を俺も知りたい


440 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 19:33:56 ]
ちょち追加
平行四辺形を作るときに元の線分の角度によって
X座標を平行にするかY座標を平行にするかを決める
そうしないと角度によってマウスを判定しにくくなる

441 名前:427 mailto:sage [2007/04/14(土) 20:05:35 ]
アドバイスありがとうございます。

>>438
containsのオーバーライドは考え付きませんでした。
どのようにオーバーライドすればいいか、考えてみます。

>>439
折れ線全体ではなくて、折れ線の各ポイントに、クリックできる領域を作るんですね。
難しそうですが、やってみたいと思います。

作ろうとしてるプログラムは、csv形式のデータを読み込み、折れ線グラフで表示するというものです。
各折れ線グラフを右クリックするとJPopupMenuが表示されて、そのメニューの中で折れ線の色や
線の形状(破線や実線)を変更できるようにしたいと思っています。

JMenuBarで各折れ線の色と形状の変更メニューも作ろうと思うのですが、やはり折れ線を直接右クリックして
変更できたほうが、操作しやすくなると思いまして…。

442 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 20:11:10 ]
containsは他で使っているかもしれないから、内外判定は使う側に
作って、折れ線に対しては自前でロジックを実装、他についてはcontains
に丸投げ、みたいな造りにした方がいいかも知れない。

型を見ることになるのでダサイかもしれないけど。


443 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 20:12:27 ]
>>441
その目的なら平行四辺形でオK
マウスのX座標を見るだけでどの線分を判定すればいいかすぐわかるから
平行四辺形作成は一回だけで判定が終わる

444 名前:デフォルトの名無しさん [2007/04/14(土) 20:43:49 ]
staticメソッドがマルチスレッドでどのように動作するかわかりません。
あるclassに一つのstaticメソッド static func (Map data,String time) : void がある。
funcでは、仮引数であるdataのオブジェクトの中身を参照して、標準出力へダンプ結果を出力している。
funcはマルチスレッド中で利用してよい?
↓こうなることはある?
A-thread func実行
A-thread ダンプ中
B-thread func実行
B-thread ダンプ中
B-thread 処理終了
A-thread 処理終了
て動作になったとすると、B-threadがダンプしている最中に、A-threadに切り替わったら、staticメソッドの仮引数dataはどっちのもの?

445 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 20:47:10 ]
>>444
仮引数はスレッドごとにスタックに積まれるだろ
この場合のスレッドでの問題はstatic変数

446 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 20:56:53 ]
>>>445 ありがと
staticメソッドもそうなるのですね。
staticでないメソッドと何が違うんでしょう?
staticでないメソッドもインスタンス変数を扱うとロックしないとダメですよね。
会社の先輩が、staticメソッドをWEBサーブレットで使うなって言って、何で?って言ったら、
勉強してこいって言われました。
仮引数(ログファイルに吐く文字列:Map)を整形して出力する処理もダメなのか〜〜〜?

447 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 21:02:26 ]
その先輩が池沼か、貴方の聞き間違い



448 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 21:07:38 ]
コンソール画面をクリアにしたいのですが、どのような処理を記述すればいいのでしょうか?

449 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 21:34:03 ]
>>446
引数は、スレッド側の所属だろ?
staticメソッドを半端に使うと問題になる
絶対使っては行けない訳じゃなかったよな?

EJBのStatefulSessionBeanで、インスタンス変数を使っちゃ駄目っていう決まり
の理由と同じくマルチスレッドでどう動くかってとこがポイントだな。

450 名前:デフォルトの名無しさん [2007/04/14(土) 21:43:38 ]
背景をスクロールさせたいのですが、
全面画像を使っているので描画が凄く重いんです。

drawImageを使わない方法とか、
描画を高速化できる方法ってありますか?

451 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 23:08:21 ]
大学のCGの授業なのですが

直線式を用いて(100,100)から(600,300)の2次元座標点を結ぶ直線と、(100,100)から(300,600)の点を結ぶ直線を描画する。
直線の色は視覚可能な色であれば任意とする。
JavaのPolylineなど直線描画関数を使用しない。

という課題を出されてまして。
これはアプレットのg.drawLine()を使ってやれと言うことですか?

>JavaのPolylineなど直線描画関数を使用しない。
この事の意味が解らなくて・・・
よろしくお願いします。

452 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 23:23:17 ]
>>446
ロックでは解決しない問題もある
インスタンス変数はインスタンスごとに存在するが
static変数は一つしか存在しない
それをスレッドごとに書き換えるなんてまねをしたらどうなると思う?
いくらロックしたところで上書きされた値は戻ってこない
staticメソッドをマルチスレッドで使う場合はその辺りを注意する
static変数は定数として読み出しにだけ使うなら構わない
JavaにはThreadLocalというクラスが用意されているので
それを使えばstatic変数でも書き換え可能な仕組みは作れる

453 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 23:27:35 ]
>>451
ドットで描画しろってことだろう
これは1次方程式が解けるなら楽勝だろ

454 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 23:54:34 ]
>>451
つか同じ質問が昨日
ttp://pc11.2ch.net/test/read.cgi/tech/1169300052/
にあがっていたわけだが…同じがっこの人?

455 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 23:59:44 ]
>>454
>>395からの誘導。
ということで>>451は過去スレも過去レスも読まない自力更生できない人。

456 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 00:01:14 ]
>>453
ありがとう御座います。
ドットでちまちまやれって事ですか・・・

>>454
宿題スレに上がってましたか・・・失礼しました
たぶん同じ学校・・・ってか100%同じクラスの奴ですわ

457 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 00:21:14 ]
線を描くというのがどういうことかを理解させる課題だろうね。
そのあとブレゼンハムのアルゴリズムとかを教えるんだろう。
CGの授業なら。




458 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 00:47:52 ]
>>457
ブレゼンハムのアルゴリズムっての使う機会もないだろうけど
見てみたらすげー単純だね
最初に解像度に合わせた最小の増分を計算してそれを足していくだけか

459 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 00:51:01 ]
>>452
つか、サーブレットなんだから、
staticだろうとそうでなかろうと無暗にフィールド変数作ったらだめだろ。
そうでなくとも、普通に考えてスレッドプール使うだろうからThreadLocalでもだめだろ。

460 名前:デフォルトの名無しさん [2007/04/15(日) 02:02:08 ]
フォルダ内のファイルをすべて読み込んで、自分が指定する文字列を付加したりしたいのですが
どのAPIを使えばよいのでしょうか?

461 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:06:33 ]
>>460
ファイル名の扱いだけの話なら java.io.Fileに必要なAPIはある。
文字列を付加するのがファイル名末尾にならFile#renameTo。

ファイル内容の末尾に付加したいのなら java.ioの中のAPIも必要になる。


462 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 06:58:59 ]
ランタイムのアップデートが来るたびに
アップデート用ファイルが増えていくんだけど
これは削除しない方がいいのか?

J2SE Runtime Environment 5.0 Update 5〜11
Java(TM) SE Runtime Environment 6 Update 1

このように5.0で1GB近く積もっているけど正直使わないものなんじゃないかと思うんだ

463 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 08:44:01 ]
流れ図作成用定規 は一般的にどこに売ってるんですか?

464 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 09:09:23 ]
リソースのアクセス方法なんですが、
test (package名です)
 AAA.java
 AAA.class
resource
 b.jpg
 c.mid
のようなディレクトリ構造になっているとき、AAA.classからresourceにアクセスするのに
getClass().getResource("../resource/b.jpg")
のようにアクセスしてます。こうするとeclipse上では問題なく動くのにコマンドラインで
 java test.AAA
としたりjarに固めてダブルクリック実行するとリソースが見つかりません。
どのようにすればよいでしょうか。


465 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 09:53:23 ]
>>462
使いたいのだけ残して消していいよ。


466 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 10:27:25 ]
getClass().getClassLoader().getResource("resource/b.jpg")

467 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 12:17:03 ]
コマンドプロンプトで

2+3=

のように計算式を表示し、BufferedReaderのreadLine()でキーボードからの数字の入力を読み取って、合っていたら

2+3=5  ○

のように答えの後に○×を表示させたいのですが、

2+3=5


のように○が次の行に表示されてしまいます。
何かいい手があれば教えて下さい。




468 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 12:31:28 ]
printf

469 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 12:33:12 ]
>>468
5の後ろで人がリターン押したのをエコーバックするかしないかを
制御する話だろ。ピュアJavaでは無理じゃないか?







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<223KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef