09/12/12 00:58:03
>>396
過去に出たものを知ってなくてもいい方法が、きっとあると思ってます。
>>398
>>399
リストやセットを使う方法は、メモリ消費が激しいのと、
状態をファイルに保存、ファイルから読込みするのに時間がかかるので避けたいです。
最大値2000万でファイルから読み込んだら、2分もかかってしまいました。
>ジェネレータでランダム関数を使わずに自作するしかないんじゃね?
何かいい方法があれば、教えて欲しいです。
Intのビットを固定パターンで入れ替えるくらいしか思いつきません。
401:デフォルトの名無しさん
09/12/12 00:58:46
>>397
Javadoc のサンプルを見ると分かりますが、「"符号付き整数の文字列"を構文解析する」のであって、
オーバーフローしたのを丸めるという意味ではないです。
サンプル(Javadoc より):
parseInt("-FF", 16) returns -255
parseInt("2147483648", 10) throws a NumberFormatException
2 番目の例と同じく、"FFFFFFFF" は Integer の MAX_VALUE を超えているため、エラーに
なっています。
"FFFFFFFF" を int の -1 にしたかったら、
int i = (int)Long.parseLong("FFFFFFFF", 16);
が近道だと思います。
402:デフォルトの名無しさん
09/12/12 01:01:26
例えば、1~10、11~20、21~30、31~40、41~50と、範囲に収まる数字の件数をカウントしたい場合、
iを対象となる数字、配列xを件数とすると、
var i = 27;
var x = [];
if(i>0 && i<=10) x[0]++;
elseif(i>10 && i<=20) x[1]++;
elseif(i>20 && i<=30) x[2]++; // ここでカウント
elseif(i>30 && i<=40) x[3]++;
elseif(i>40 && i<=50) x[4]++;
と書くのはダメダメ。センス無い。
(forやwhile使って回しても大差無し。)
var i = 27;
var x = [];
x[Math.floor(i/10)]++; // 配列x[2]でカウント
と書けばスッキリ。
なんてな。
403:デフォルトの名無しさん
09/12/12 01:26:24
>>400
論文とか読めない人何で適切なアルゴリズムは提示できないが、
ビットシフトというか範囲値内でのローテートになるのかな。
ローテート量の他にループカウンタを導入してエントリ位置、カウンタ参照方向(++か--か)、
カウンタ参照方法(偶数→奇数走査)など思いつく限りの走査法をランダマイズするのがいいかと。
404:デフォルトの名無しさん
09/12/12 01:40:16
>>400が理解できるならもうやってるだろ
405:397
09/12/12 02:15:21
助かりました、どうもです。
406:デフォルトの名無しさん
09/12/12 07:50:14
387-388
色々試してみる。しかし基本しか知らないのにペイントツール作って
描いた絵に動きを付けるってものを仕上げなきゃいけなかった。
ありがとうございます
407:デフォルトの名無しさん
09/12/12 08:08:43
>過去に出たものを知ってなくてもいい方法が、きっとあると思ってます。
言っても無駄なんだなってことは理解したよ
もう止めないわ
408:デフォルトの名無しさん
09/12/12 08:18:34
>>393
自動的に開放されないようにプールしてるんだろ
使い終わったオブジェクトは再利用してるのか?
409:デフォルトの名無しさん
09/12/12 11:15:03
テンプレのサイト見ても解決できなかったのでお願いします
buildするのにantを使おうとしているのですが
>ant run
Buildfile: build.xml
init:
compile:
run:
[exec] java.lang.NoClassDefFoundError: Files\Java\jre6\lib\ext\QTJava/zip
[exec] Exception in thread "main"
[exec] Result: 1
BUILD SUCCESSFUL
Total time: 1 second
という結果で一応ビルドできてる?みたいなのですがバッチファイルを起動しようとすると
同じエラーが出てしまいます。
関係ありそうな以下のパスを調べたりいじったりしてもダメでした。
ANT_HOME=C:\apache-ant-1.7.1
CLASSPATH=.;\C:\Program Files\Java\jre6\lib\ext\QTJava.zip
JAVA_HOME=c:\program files\java\jdk1.5.0_08
Path=c:\program files\java\jdk1.5.0_08;C:\Program Files\QuickTime\QTSystem\;C:\apache-ant-1.7.1\bin(一部抜粋)
よろしくお願いします。
410:デフォルトの名無しさん
09/12/12 12:00:16
>>400
Set<Integer> よりは BitSet の方が軽いので試してみそ
2000万もあると、どのみち無理かもしれないが
411:デフォルトの名無しさん
09/12/12 12:06:39
みそ、って久しぶりに見た
青春時代を思い出した
泣けてきた
412:デフォルトの名無しさん
09/12/12 13:31:22
>>402
それバグってね?
413:デフォルトの名無しさん
09/12/12 15:51:43
まさか2000万件をオンメモリでやるきなのか?
それともHDD上でやってみたら2分かかったからもっといいのないって話?
まあ要求からして無理なんだが。それこそマクスウェルの悪魔レスまで戻る。
414:デフォルトの名無しさん
09/12/12 15:58:16
クイズの問題をランダムで出したいだけだろ?
ジェネレータを自作しろって結論がでてるからもういいよ。
415:デフォルトの名無しさん
09/12/12 16:02:02
ジェネレータって何?
416:デフォルトの名無しさん
09/12/12 16:24:05
特定のオブジェクトを作る関数。生成機とも呼ばれる。乱数生成機、ID生成機とかね。
417:デフォルトの名無しさん
09/12/12 16:24:55
あと機じゃなくて器のほうで置換しといて
418:デフォルトの名無しさん
09/12/12 16:43:53
マクスウェルの悪魔(笑)
419:デフォルトの名無しさん
09/12/12 16:45:00
なるほど。勉強になります
420:デフォルトの名無しさん
09/12/12 16:58:14
C言語で作られたライブラリ「~.so」(Solaris)をJavaから呼ぶ方法を知りたいのですが、
どうすればよいのでしょうか?
Javaからはdlopenを使って呼んでくださいとライブラリの説明書には書いているのですが、
Javaでdlopenメソッドが見当たらず困っています・・・。
421:デフォルトの名無しさん
09/12/12 17:05:40
JRadioButtonのActionListenerに、
一方のボタンが押されたらテキストフィールドをenableに、他方であればdisableにする、という実装を行っています。
人が画面でラジオボタンを押した場合にはうまく動くのですが、
コード上でJRadioButton#setSelected(true)した場合にはイベントが発生しません。
setSelectedの場合も同様の動作をさせたい場合、一般的にはどういう実装を行えばよいでしょうか。
ChangeListenerだとsetSelectedでもイベントを受け取れますが、必要ない状態の変化でもイベントが
発生するので無駄な動作が多くなるな、と考えています。
422:デフォルトの名無しさん
09/12/12 17:16:07
>>420
JNIじゃない?
423:デフォルトの名無しさん
09/12/12 17:16:40
>>420
JNIを使え
>>421
そのActionListenerを自分で呼ぶとか、setSelectedの場合にも同様の動作(disable/enable)を書けばいいと思うが・・・
doClickはどう
424:421
09/12/12 17:28:42
>>423
ありがとうございます。
現在はsetSelectedの後ActionListenerを直接呼んでいたのですが、
不恰好だと考えていました。
doClickを試してみまたところ、同じように動作させることができました。
425:デフォルトの名無しさん
09/12/12 17:34:20
>>420
そのライブラリをロードするようなライブラリをJNI使って自前で作れ、ということなのでは。
426:デフォルトの名無しさん
09/12/12 18:41:54
>>420
JNI
427:デフォルトの名無しさん
09/12/12 18:43:04
>>420
JNIを使えば?
428:デフォルトの名無しさん
09/12/12 18:54:58
>>420
つJNI
429:デフォルトの名無しさん
09/12/12 18:55:07
ネイティブを使うって、かなり抵抗あるよね~
swtくらいなら、妥協してもいいけどさ
430:デフォルトの名無しさん
09/12/12 18:59:21
>>420
JNI知ってる?
431:デフォルトの名無しさん
09/12/12 19:22:31
420が大漁すぎてワロタ
432:デフォルトの名無しさん
09/12/12 19:24:05
同じ答えなら何人も安価してまで答えることじゃなくね?
433:デフォルトの名無しさん
09/12/12 20:00:42
さすが自称中級者の巣窟だな
434:デフォルトの名無しさん
09/12/12 20:18:50
swingのアプリをVBのようにグラフィカルに簡単に
作成できるような開発環境ってありますか?
代表的なものをおしえてください。
435:デフォルトの名無しさん
09/12/12 20:32:10
>>434
NetBeansはどうでしょうか?
436:デフォルトの名無しさん
09/12/12 20:42:04
>>434
swingといえばNetBeansです!
437:デフォルトの名無しさん
09/12/12 21:00:42
>>433
そりゃJNIしかないでしょう
438:デフォルトの名無しさん
09/12/12 21:56:40
Swingで作る意味がわからん
Webで良いよ
439:デフォルトの名無しさん
09/12/12 23:17:58
↓と似たような処理がJava標準ライブラリかcommonsにありませんか?
public static String[] breakString(String str) {
ArrayList<String> list = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(str.getBytes())));
String line = null;
try {
while ((line = reader.readLine()) != null) {
list.add(line);
}
} catch (IOException ignored) {}
return list.toArray(new String[list.size()]);
}
\nと\r\nでStringを分割したいだけなんです。
440:デフォルトの名無しさん
09/12/12 23:23:26
public static String[] breakString(String str) {
return str.splilt("\n|\r\n");
}
441:デフォルトの名無しさん
09/12/12 23:24:42
ごめんスペルミスった
× splilt
○ split
442:デフォルトの名無しさん
09/12/12 23:25:37
JavaでHTTPのリクエストをうまく処理できる方法はないでしょうか。
(リクエストから指定のヘッダ値を取り出したりしたいと思っています)
java.net.URLみたいなラップ化クラスがあれば便利なんですが。
443:デフォルトの名無しさん
09/12/12 23:27:46
サーブレットにしてサーブレットコンテナ上で動かす
444:デフォルトの名無しさん
09/12/12 23:28:08
J2EE・APIにアクセスできなくなったんだけど、なくなったの?
445:デフォルトの名無しさん
09/12/12 23:31:51
>>443
どうもありがとう。
不勉強ゆえ、サーブレット方面はしっかりと探してなかったです。
446:デフォルトの名無しさん
09/12/12 23:56:13
>>>444
どうなんだろうね
447:439
09/12/12 23:58:23
>>440
どうもありがとうございます。
splitは試したんですが、正規表現を間違えてました。
448:デフォルトの名無しさん
09/12/12 23:59:20
>>431
なのにJNA使え、が一つも無い件について。
URLリンク(jna.dev.java.net)
まぁ、>>420のスキルだとおすすめできないかもしれんが。
449:デフォルトの名無しさん
09/12/13 03:26:00
keyPress(KeyEvent.VK_SHIFT);
delay(KEY_WAIT);
keyPress(KeyEvent.VK_RIGHT);
delay(KEY_WAIT);
keyRelease(KeyEvent.VK_RIGHT);
delay(KEY_WAIT);
keyRelease(KeyEvent.VK_SHIFT);
delay(KEY_WAIT);
Shift+矢印キーを押す、という処理を上のように記述しているのですが、環境によって挙動が異なってしまい困っています
いくつかのPCで試してみた所、ノートPCでは正常に動作するのですが、デスクトップではShiftキーが押されていないのと同じ挙動となってしまうようです
Shift+EnterやShift+変換キーなどはどの環境でも正常に動作しているのですが・・・
テンキーの有無が関係しているような気がするのですが、分かる方はいますでしょうか?
また多くの環境で実行可能となる記述方法はあるのでしょうか?
450:デフォルトの名無しさん
09/12/13 11:02:58
>>400
> 過去に出たものを知ってなくてもいい方法が、きっとあると思ってます。
それ、「記憶してはいけません。ただし、記憶しなさい」が実現可能だと言ってるのに等しいってわかってる?
451:デフォルトの名無しさん
09/12/13 12:24:58
>>450
乱数でなければ、例えば1、2、3、と小さい順に送り出せば、既出の数の記憶無しに重複しない。
彼は、かなりでたらめに見える順序で、全部の数を送り出すアルゴリズムが欲しいのではないだろうか。
いつも同じ順に出てくると思われないくらいに出方のオプションの通り数が必要だし、
もはやこれは擬似としても乱数ではないけれど。
452:デフォルトの名無しさん
09/12/13 12:42:25
だからアトランダムとランダムは違うって指摘も出てるわけで
アルゴリズムの方向性も質問者は理解してる。
>>450より質問者のが若干レベルが上だから、滑稽な絵になってるな。
453:デフォルトの名無しさん
09/12/13 13:05:08
ってことは板違いになるかな。
数学板の範疇だな。
454:デフォルトの名無しさん
09/12/13 13:30:02
理解してりゃ求めてるのが無理だってわかるよ
理解してねーよ
455:デフォルトの名無しさん
09/12/13 13:45:46
アトランダム(笑)
456:デフォルトの名無しさん
09/12/13 13:52:43
ipodでシャッフルして聴いてるとしょっちゅう同じ曲になるよな
何千曲も入ってるのにどうにかならんのか
457:デフォルトの名無しさん
09/12/13 14:00:13
int u = 母数;
int r = 毎回違う数、ただしuと互いに素;
for(int n = 0; n < u; n++){
System.out.println( (r*n) % u );
}
とかこんな感じのが欲しいんじゃないの?
まあコレだと r%u ずつ動いていくだけだし
互いに素とか求めるのすごく面倒くさいから実用的じゃないけど
458:デフォルトの名無しさん
09/12/13 14:07:51
さすが自称中級者スレだな
459:デフォルトの名無しさん
09/12/13 14:10:31
普通はNetBeansですけどね。
460:デフォルトの名無しさん
09/12/13 16:54:42
レベルが上とみるのはさすがに買いかぶりすぎだろw
どんなエスパーだよ。
461:デフォルトの名無しさん
09/12/13 17:04:36
ランダムとアトランダムの違いってなに?
462:デフォルトの名無しさん
09/12/13 17:18:13
>>460
日本語でおけー
463:デフォルトの名無しさん
09/12/13 17:21:14
日本語だと思うぞ。
買い被る。
464:デフォルトの名無しさん
09/12/13 17:29:11
>>460-463
URLリンク(www.m-nomura.com)
465:デフォルトの名無しさん
09/12/13 17:49:18
ランダムな数字(乱数)
アトランダムに生成された数字(乱数)
どっちも同じです。
形容詞と形容動詞(副詞)の違いであって、文法的な使われ方の違いしかない。
466:デフォルトの名無しさん
09/12/13 18:06:40
>>434
NetBeansのMatisse。
有償EclipseにもMatisseついてるやつあるけど。
467:デフォルトの名無しさん
09/12/13 18:09:25
>>461
俺も気になった。
468:デフォルトの名無しさん
09/12/13 18:44:25
アホの俺様用語なんてどうでもいいんだよ
ひっぱりたいなら本題についてひっぱれ
469:デフォルトの名無しさん
09/12/13 19:06:33
Javaは何故死んだのか
470:デフォルトの名無しさん
09/12/13 19:14:26
安物メモリか電源不良だろ。
471:デフォルトの名無しさん
09/12/13 19:18:04
Javaの人気は何故地に堕ちたのか
472:デフォルトの名無しさん
09/12/13 19:24:20
アプレットはフレッシュちゃんのせいだね
473:デフォルトの名無しさん
09/12/13 19:25:02
フラッシュだ
フレッシュって誰だよww
474:451
09/12/13 19:43:11
ビットを交換するだけで、結構入れ替わるから、それと >>457 さんの方法を
組み合わせれば、なかなか規則性は見つけづらくなるのでは。
例えば ビット0~2の3ビットから成る数の列 0, 1, 2, 3, 4, 5, 6, 7 の
ビット0と2を入れ替えると、0, 4, 2, 6, 1, 5, 3, 7 となるが、これに
対してさらに、8と互いに素な5を使って >>457 さんの方法を使うと、
0, 5, 2, 7, 1, 4, 3, 6 になる。2000万なら、それ以下の素数は山ほどあるし、
交換するビットも 24~25ビットもあるので、出し方のパターンの数はたっぷりだ。
475:デフォルトの名無しさん
09/12/13 19:56:55
>>473
当然NetBeansですよね?
476:デフォルトの名無しさん
09/12/13 20:30:04
プログラムが苦手なのでここで質問させてください。
黒い円周上を回転する赤い円の周りを、青い円を回転させたいというプログラミングです。
下記のプログラムを訂正すれば出来るようですがどうすれば良いかわかりません。
どなたが教えてください。改行が多いと投稿エラーが出てしまうので、改行を省いてあるので見にくいかもしれまんせんがよろしくお願いします。
/*<APPLET CODE="cir1.class"WIDTH=200 HEIGHT=200>
</APPLET>*/
import java.applet.Applet;
import java.awt.*;
public class cir1 extends Applet implements Runnable{
int d=20; double dt=0.01; double t=0.0; double a=90.0,T=2.0,x,y,o,p; double omega=2.0*Math.PI/T; double z=3.0*Math.PI/T;
Thread th; public void start(){ th = new Thread(this); th.start();}
public void run()} while(th !=null){
x=a*Math.cos(omega*t); y=a*Math.sin(omega*t); o=a*Math.cos(z*t); p=a*Math.sin(z*t);
repaint(); t=t+dt; try{
Thread.sleep((int)(dt*2000.0));}
catch(InterruptedException e)}}} public void paint(Graphics g){
g.setColor(Color.RED);
g.fillOval((int)(100+(x-d*0.5)),(int)(100+(y-d*0.5)),d,d);
g.setColor(Color.BLUE);
g.fillOval((int)(120+(x-d*0.5)),(int)(120+(y-d*0.5)),d,d);
g.setColor(Color.BLACK);
g.drawOval(10,10,2*(int)a,2*(int)a);}}
477:デフォルトの名無しさん
09/12/13 21:16:47
宿題スレは別にあるだろ。そっちで聞け。
478:デフォルトの名無しさん
09/12/13 21:18:56
自称中級者スレはすぐに迷走するな
ドカタ仕事ばっかりやってるからそうなる
479:デフォルトの名無しさん
09/12/13 21:19:43
いやOSSに参加してるからだろう
480:デフォルトの名無しさん
09/12/13 21:21:59
>>464
481:デフォルトの名無しさん
09/12/13 22:08:41
Javaは何故こんなに落ちぶれたのか
482:デフォルトの名無しさん
09/12/13 22:14:12
先が見えないから
483:デフォルトの名無しさん
09/12/13 23:01:39
別スレッドでバックグラウンドでデータの読み込み処理を行いながら、メインスレッドで
アニメーションを表示するローディング画面を作ろうとしたのですが、
ロード処理開始→描画処理が止まり、画面がしばらく固まる→ロード終了
という風になって、描画処理のほうが完全に止まってしまいます。
そうではなく、描画処理とロード処理が並行して実行されるようにしたいのですが、
どう直せばいいでしょうか?ただ単にスレッドを使うだけではだめなようですが。
484:デフォルトの名無しさん
09/12/13 23:08:39
>474
初めが必ず0になる欠点があるから、やるなら適当に数足したほうがいいね
485:デフォルトの名無しさん
09/12/13 23:12:36
>>483
・描画処理はちゃんとEDT上でやってる?
・EDT上でループしてないよな?
486:483
09/12/13 23:36:47
あ、Thread.startを呼び出すべきなのに
Thread.run()を呼び出していただけでした・・。失礼しました。
487:デフォルトの名無しさん
09/12/14 01:00:10
Javaにもネイティブコンパイラがあるみたいだけど、あまり使われていないの?
使われていないとしたら、何かデメリットがあるのかな。
488:デフォルトの名無しさん
09/12/14 01:32:37
べつにネイティブ化しても大してメリットないからでしょ。
ごく一部の用途では使われてると思うけど。
489:デフォルトの名無しさん
09/12/14 02:34:23
Javaってどうしてこんなに糞言語になっちゃったの
490:デフォルトの名無しさん
09/12/14 02:56:11
あなたが腐っただけですよ
491:488
09/12/14 03:21:55
>>488
ありがとう。
Javaは起動が遅い(&動作速度も遅いと誤認されている)から、
ネイティブ化するメリットは多少あると思うんだけどなぁ。
ま、そうしたい人がすればいいっていう話かな。
492:デフォルトの名無しさん
09/12/14 03:22:38
>>491は>>487でした。。
493:デフォルトの名無しさん
09/12/14 06:53:34
BufferedReader[] in=new BufferedReader[3];
PrintWriter[] out=new PrintWriter[3];
ServerSocket[] s=new ServerSocket[3];
Socket[] socket=new Socket[3];
try{
for(int i=0;i<3;i++){
s[i]=new ServerSocket(8080+i);
socket[i]=s[i].accept();
System.out.println("finish1");
in[i] = new BufferedReader(new InputStreamReader(socket[i].getInputStream()));
out[i] =new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket[i].getOutputStream())), true);
System.out.println("finish2");
}
String[] str=new String[4];
int[] receive=new int[4];
for(int i=0;i<4;i++){
System.out.println("receiving");
str[i]=in[0].readLine();
receive[i]=Integer.parseInt(str[i]);
System.out.println(receive[i]);
out[0].println(receive[i]);
}
494:デフォルトの名無しさん
09/12/14 06:59:35
こんな感じでソケット、リーダー、ライターをいくつか配列で作って通信を
させようと思っているんですが、実行できても通信ができません。
デバグプリントしたところ"finish1"までは表示されました。
また、おんなじプログラムで、配列でなくただの変数で宣言するとちゃんと通信できました。
どこがおかしいのでしょうか。
495:デフォルトの名無しさん
09/12/14 08:07:36
>>493
str[i]=in[0].readLine();
out[0].println(receive[i]);
ここはなんで i[0] とか out[0] みたいに 0 を指定してるわけ?
あと具体的にどういう動作を望んでるんだ?
496:デフォルトの名無しさん
09/12/14 08:43:45
>>493
URLリンク(journal.mycom.co.jp)
497:デフォルトの名無しさん
09/12/14 11:10:21
質問です。
SwingのJFrameの上に、別のJDialogを表示する仕様なのですが、
JDialogがフォーカスを失っても、ずっと最前面に維持しておくためにはどうすればよいのでしょうか。
498:デフォルトの名無しさん
09/12/14 12:03:56
JDialog#setAlwaysOnTop
聞く前にjavadoc見るんだ!
499:497
09/12/14 13:00:02
>>498
ありがとうございます。
1.5から、文字通りのAPIが使えるようになってたんですね。勉強になりました。
500:デフォルトの名無しさん
09/12/14 14:58:26
J2EE の話題(ロードマップ、使い方など)は、現在あるスレでは、
どのスレでするのが、最も適切でしょうか?
501:デフォルトの名無しさん
09/12/14 15:42:42
まだプログラム途中なのですが以下のプログラムが
現段階でif文の中のresultをfountに出力できないのですがどこが悪いのかわかりません。
if文の中でresultを標準出力するとちゃんと出力されます。
public class asig2{
public static void main(String args[])throws IOException{
int i=0,j=0,length2=0,byteValue,a=0;
String result;
BufferedReader fin1 = new BufferedReader(new FileReader("BlackList"));
PrintWriter fount = new PrintWriter(new BufferedWriter(new FileWriter("BlackList2",true)));
HashMap<String, ArrayList>list = new HashMap<String, ArrayList>();
ArrayList p=new ArrayList();
ArrayList n =new ArrayList();
while(null!=(result=fin1.readLine())){
if(list.get(result)==null){
fount.println(result);
n.add(j);
list.put(result,n);
a++;
}
else
;
}
}
}
502:デフォルトの名無しさん
09/12/14 15:47:56
>>501
fountをちゃんとclose()してみたらどーでしょ。
503:デフォルトの名無しさん
09/12/14 16:02:28
いわゆる波ダッシュ問題なんですが、原因と対処法がいまいちわかっていません。
環境はWindowsXPです。
"?"("\u301c")を含むStringを引数にFileインスタンスを生成しstreamに書き込むと、
想定したとおりのファイルがエクスプローラで見えるのですが、
そのStringをそのままprintlnすると、波ダッシュが?になってしまいます。
やりたいことは、このファイル名を引数にしてRuntime#execを実行したいのですが、
文字化けしているせいで実行先のプログラムでファイルが認識できません。
1.なぜこのようなことが起こるのでしょうか?(ファイル名はOKなのに引数ではNG)
2.一般的に、波ダッシュや全角ハイフンなどはどう対応すればよいのでしょうか?
現在はたまたまファイル名を変更することができるので、取り敢えず"~"などに
置換していますが、ファイル名がこちらで指定できない(修正できない)ような場合は
どうすれば良いのか...
504:デフォルトの名無しさん
09/12/14 16:02:48
>>502
サンクス
ぼんミススマソ
505:デフォルトの名無しさん
09/12/14 17:32:40
>>503
出力したエンコードはなんなのさ?
506:デフォルトの名無しさん
09/12/14 17:43:51
Debian lennyでsun-java6(non-free)+tomcat6.0.20(testing)を入れて
JSF2.0を使ったアプリを設置してtomcatを起動するとアプリの起動に
失敗してしまう。
JSP+strutsだと問題ないけど。
何がいけないんだろうか。
507:デフォルトの名無しさん
09/12/14 18:10:18
相変わらずだなあ、まったく
508:506
09/12/14 18:22:47
JSF1.2でも駄目だった。
・WindowsXPのnetbeans6.8で新規プロジェクト
・サーバにtomcat6.0.20を選択
・Java EE バージョンにJava EE5.0を選択
・フレームワークにJavaServer Facesを選択
・登録されているライブラリJSF 1.22を選択
で新規作成したプロジェクトで作ったwarをそのままDebianの
CATALINA_HOME\webappsにコピーしてtomcat6を再起動か
けてるだけなのにな。
509:デフォルトの名無しさん
09/12/14 18:31:53
>アプリの起動に失敗してしまう。
だけではわからない。
ログを晒しなされ
510:506
09/12/14 18:53:38
Testというアプリです。
2009/12/14 18:37:17 org.apache.coyote.http11.Http11Protocol init
情報: Coyote HTTP/1.1を http-8080 で初期化します
2009/12/14 18:37:17 org.apache.catalina.startup.Catalina load
情報: Initialization processed in 1454 ms
2009/12/14 18:37:17 org.apache.catalina.core.StandardService start
情報: サービス Catalina を起動します
2009/12/14 18:37:17 org.apache.catalina.core.StandardEngine start
情報: Starting Servlet Engine: Apache Tomcat/6.0.20
2009/12/14 18:37:17 org.apache.catalina.core.StandardContext resourcesStart
2009/12/14 18:37:19 com.sun.faces.config.ConfigureListener contextInitialized
情報: Initializing Sun's JavaServer Faces implementation (1.2_04-b20-p03) for context '/Test'
2009/12/14 18:37:20 org.apache.catalina.core.StandardContext start
致命的: Error listenerStart
2009/12/14 18:37:20 org.apache.catalina.core.StandardContext start
致命的: 以前のエラーのためにコンテキストの起動が失敗しました [/Test]
2009/12/14 18:37:20 org.apache.coyote.http11.Http11Protocol start
情報: Coyote HTTP/1.1を http-8080 で起動します
2009/12/14 18:37:20 org.apache.jk.common.ChannelSocket init
情報: JK: ajp13 listening on /0.0.0.0:8009
2009/12/14 18:37:20 org.apache.jk.server.JkMain start
情報: Jk running ID=0 time=0/93 config=null
2009/12/14 18:37:20 org.apache.catalina.startup.Catalina start
情報: Server startup in 3580 ms
511:デフォルトの名無しさん
09/12/14 20:03:24
自分でなんとかしなされ
512:506
09/12/14 20:07:43
なんだそれw。
513:503
09/12/14 20:15:41
>>505
WindowsXPなのでMS932だと思うのですが...
ファイル名に使うエンコードと、JPanelに表示するのに使うエンコードが
それぞれどうなっているのかもわからなくて。
514:デフォルトの名無しさん
09/12/14 20:15:49
>>509
最低だな
515:デフォルトの名無しさん
09/12/14 20:25:22
>>510
つうか、
>>511
は、私じゃない。
いちどコンテキストパスをクリアしてから tomcat を起動してみなされ。
516:506
09/12/14 21:13:07
コンテキストパスをクリアするとはどういうことですか?
517:デフォルトの名無しさん
09/12/14 21:53:32
>516
server.xmlに残ってるか確認
518:506
09/12/14 21:58:37
$CATALINA_HOME/conf/server.xmlには/Testというコンテキストパスは
見あたりません。
519:デフォルトの名無しさん
09/12/14 23:07:32
System.out.println((char) 126);
520:デフォルトの名無しさん
09/12/15 01:47:29
Java1.4のAPIリファレンスがほしいのですが、
URLリンク(sdc.sun.co.jp)
ここがどうも反応がないんです。
どこかほかにないでしょうか?
521:デフォルトの名無しさん
09/12/15 03:18:04
URLリンク(java.sun.com)
ここからダウンロードするとか?
522:デフォルトの名無しさん
09/12/15 11:56:34
コンパイルは通るんですが、実行するとたまにエラーが出ます。
エラーの内容はnullPointとかなんですが、エラーの場所が「Unknown Source」になります。
この「Unknown Source」になるということを解決するにはどうすれば良いのでしょうか?
523:デフォルトの名無しさん
09/12/15 12:56:18
スタックトレースがずらーっと下の方まで出ないか?
それを順に辿っていくんだ
ずっと下の呼び出し元から渡された引数が正しくないために起きることもある
524:520
09/12/15 13:17:13
>>521
ありがとうございます。API入手できました
>>522
行数とかだしたいなら、コンパイル時に-gオプションつければ良いと思われる。
525:デフォルトの名無しさん
09/12/15 13:48:15
2ちゃんねるブラウザは、お気に入り/スレッド一覧/スレビューの3つにwindowを別けています
現在はJSplitPaneを2つ使って↑を実現しています
どうにかして、JSplitPaneを1つにする方向はありませんか?
526:デフォルトの名無しさん
09/12/15 13:54:26
どれでも好きな答えを選びなさい
(1) JSplitPaneのような動作をする自前のコンポーネントを作る
(2) そもそも1つにまとめる必要があるのか考え直す
(3) 解決方法はない。現実は非情である
527:522
09/12/15 14:30:55
>>524
ありがとうございます。行数はプログラム全部合わせて1000行ほどですが、
「Unknown Source」になってしまいます。OSはXPです。
「javac ファイル名.java -g」でおkですよね?
528:デフォルトの名無しさん
09/12/15 16:09:50
私は銀の斧を選びました
529:デフォルトの名無しさん
09/12/15 17:03:17
「Unknown Source」になるのは、
例外の発生元が標準ライブラリ内だからじゃないか?
530:デフォルトの名無しさん
09/12/15 17:39:46
>>522
例外トレースここに貼ってみて。
531:デフォルトの名無しさん
09/12/15 17:55:14
「新これならわかるJava」という本を読み終えて、その範囲は身についたと思っていますが、
このスレに書かれていることはあまり理解できません。
ステップアップするために適した本は何かないでしょうか。
オススメのものがあれば、どうぞ教えてください!
532:デフォルトの名無しさん
09/12/15 19:08:54
独習JAVA・・・は敷居が高いかもしれん
他はピアソンの本は俺はcでお世話になって以来好き
533:522
09/12/15 19:09:46
>>530
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
これです。
534:デフォルトの名無しさん
09/12/15 19:48:05
>>533
ごめん。俺にはわからない。
535:デフォルトの名無しさん
09/12/15 19:52:13
>>532
ありがとうございます。
Amazonのレビューにあまり良いことが書かれていませんが
「基礎の基礎を一冊終えたあたりに」とも書いてあってちょうど良さそうなので
一度立ち読みしてみます!
536:デフォルトの名無しさん
09/12/15 20:38:09
>>533
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
でググったら一発で解答が得られた。
やっぱ、質問は小出しにしないと楽しめないね。
537:デフォルトの名無しさん
09/12/15 20:44:06
javaは基礎本1冊読んだら、あとは実践で何か作った方がいいよ。
文法をコツコツ暗記してる奴って何か作らせても全く作れない。
多少難しいと思っても挑戦するのが大事。
挫折したとしても、その経験を持ってもう一度基礎本を読み直すと理解が全然違う。
とにかく経験
538:デフォルトの名無しさん
09/12/15 20:51:19
>>533
コンポーネントの再描画でエラーが発生してるんじゃないか、
くらいしかわからんね
539:522
09/12/15 22:05:41
>>536
URLリンク(q.hatena.ne.jp)
このページに書いてあることが近い気がするんですが、ここでしょうか?
>>538
コンポーネントの再描写って既存のクラスを拡張したりすることでしたっけ?
心当たりが出てきましたorz
540:デフォルトの名無しさん
09/12/15 22:18:23
>>539
多分別スレッドでSwingコンポーネント触ってるだろ。
541:デフォルトの名無しさん
09/12/15 22:20:30
調べて出てこなかったので質問します。
配列で
int [] atai = { 1, 1, 1, 1, 1, 1, 1, };
int [] x = { 5, 5, 5, 5, 5, 5, 5, };
と初期設定をするのですがこの連続する1と5を省略できる方法はありますか?
あと出力するときに↓のようにずれてしまうのですがどうすればいいでしょうか?
System.out.printfが使えなくてほかの方法を探しています
atai 1 50 2 13
x 82 11 12 5 5
偉い人教えてくださいお願いします
542:デフォルトの名無しさん
09/12/15 22:25:55
>>541
java.util.Arrays.fill()
java.lang.String.format()
543:デフォルトの名無しさん
09/12/15 23:12:10
>>537
そうですね。
ネット上のゲーム講座を見つけたので、それを読みながら実際に作ってみようと思います。
ありがとうございました。
544:522
09/12/16 00:06:01
>>540
TimerTaskを使ってて、そこのせいかもしれないです。
TimerTaskと同じ動きのSwingのものを使ってみます
545:デフォルトの名無しさん
09/12/16 00:26:15
まあそれが原因だな。
描画に関係する処理をEventキュー以外から呼んだら駄目だ。
546:デフォルトの名無しさん
09/12/16 02:27:43
なんのためにSwing Timerがあるとおもってるんだー。
わざわざ汎用のTimerつかわんでも。
547:デフォルトの名無しさん
09/12/16 02:51:53
でもなー
タイマーが描画に引っ張られるのはなー
いや別に1秒間隔で0.5秒とか10秒遅れるのはまあいいですよ
548:デフォルトの名無しさん
09/12/16 03:41:13
>>547
色んな意味で何を言ってるのか分からない。
549:デフォルトの名無しさん
09/12/16 04:15:24
Java7はいつ?
クロージャは?
550:522
09/12/16 10:09:09
>>546
import java.util.*;
今見たらこのインポートでTimerTask使ってるんですけど、これSwingのものじゃないですか?
551:デフォルトの名無しさん
09/12/16 10:37:38
Swing のタイマーといったら javax.swing.Timer
552:デフォルトの名無しさん
09/12/16 11:03:59
>>548
swingのタイマーってイベントディスパッチで呼ばれるじゃん?
遅延が大きいんでないか
553:522
09/12/16 11:22:04
できました!>>550のがSwingではない方ですね。
Swingつかったらエラーなくなってスムーズにうごくようになりました。
ありがとうございます!
554:デフォルトの名無しさん
09/12/16 11:57:38
>>552
どのみちイベントディスパッチスレッドからしかSwingコンポーネント触れないんだから一緒じゃない?
555:デフォルトの名無しさん
09/12/16 13:18:00
>>552
java.util.Timerでも大きい遅延はするぞ。
問題はタスクで何を実行するか。
アニメ付けたいならSwingWorkerかtimingframeworkの方がいい。
556:デフォルトの名無しさん
09/12/16 13:40:16
BufferedReaderで開いたファイルにをread()で読み込んだ場合、12345が4950515253とASCII変換
されてしまうのですが、これをそのまま12345と読み込みたい場合どのようにすればいいですか?
ファイルの中身は数字だけとは限りません。
557:デフォルトの名無しさん
09/12/16 13:42:23
>>555
態度デカイぞ。
何様だ。
558:デフォルトの名無しさん
09/12/16 13:45:49
>>556
char型にキャストしなさい
(char)49 == '1'
(char)50 == '2'
(char)51 == '3'
(char)52 == '4'
(char)53 == '5'
559:デフォルトの名無しさん
09/12/16 13:58:47
>>558
なるほど。助かりました。ありがとです
560:デフォルトの名無しさん
09/12/16 14:40:24
bufferedReaderで
while(null !=(line2=fin2.readLine())){
while(null!=(line1=fin1.readLine())){
-----------------------------------------
}
}
上記のような2重ループをつくると、1回目の内側のループまでおわり、2回目のループに入る時に
fin1.readLine()のポインタがnullにきてしまってるので、2回目の内側のループに入らないのですが
readLine()のポインタをリセットするにはどうすればいいでしょうか?
今はBufferedReader fin1 = new BufferedReader(new FileReader("NVlist"));
fin1.mark(10000);
で、内側のループの外でfin1.reset(100)してたんですが何回かループするとjava.io.IOException: Mark invalid
というエラーが返ってきます。。。
561:デフォルトの名無しさん
09/12/16 14:42:39
↑
fin1.reset(100)→fin1.rest()の間違いです
562:デフォルトの名無しさん
09/12/16 15:08:04
もう一度開き直せばいいじゃん
563:デフォルトの名無しさん
09/12/16 15:23:43
俺も開きなおす方が簡単だと思うが
mark(10000)は、10000文字ぶんまで記憶するだけで、10001文字め読み込むと、もうmarkは失われてresetできなくなる
564:デフォルトの名無しさん
09/12/16 15:55:36
>>562.563
たしかに開き直せば楽ですね
あと>>556を質問したのも自分なんですが、(char)でキャストしたものを標準出力すると文字化け
(MZ? ? ? ¡)していて正しい値になっていないようなのですが、なんでですかね?
ちなみに読み込むファイルはバイナリでかかれています。
565:デフォルトの名無しさん
09/12/16 16:05:04
暇つぶしに自分でアプリを作って居るのですが
26事中4個のクラスにsingletonパターンを使っています
多すぎですかね?
566:デフォルトの名無しさん
09/12/16 16:54:47
>>565
暇つぶしに全部に使ってみれば?
567:デフォルトの名無しさん
09/12/16 16:56:43
Singleton パターン - Wikipedia
URLリンク(ja.wikipedia.org)パターン
568:デフォルトの名無しさん
09/12/16 16:59:41
jtreeでノードが展開されているのか、閉じられているか調べたのですが
教えてエロイ人!!
569:デフォルトの名無しさん
09/12/16 17:18:33
普通に質問しろよ
570:デフォルトの名無しさん
09/12/16 17:41:50
>>564
バイナリファイルをテキスト表示できるわけないでしょ
テキストファイルじゃないからバイナリファイルって言うのです
571:デフォルトの名無しさん
09/12/16 17:46:01
>>568
javadoc調べた? isExpandedって見つからなかった?
572:568
09/12/16 18:59:53
>>571
javadocでgetXXXばかりを調べていました
ありがとうございます
573:デフォルトの名無しさん
09/12/16 19:24:34
>>560
マジレスするとwhileのネストしなくても済むように考え直すべき
574:デフォルトの名無しさん
09/12/16 22:53:24
>>569嫌
575:デフォルトの名無しさん
09/12/16 23:54:05
Javaでジョイスティックを扱えるライブラリにはいろいろあるみたいだけど
どれ使ったらいいの?ffjoystickというのにしてみようかと思っているけど
576:デフォルトの名無しさん
09/12/17 03:40:38
>>575
じゃあそれで
577:デフォルトの名無しさん
09/12/17 03:41:50
>>575
各ライブラリごとの違いは分かる?
578:デフォルトの名無しさん
09/12/17 03:50:06
>>575
分かる?ん?
579:デフォルトの名無しさん
09/12/17 15:11:57
お世話になります。
class A {
int a;
A(int _a){
a = _a;
}
int x = new Z(a); //<- 0ではなく_aを渡したい
}
上記のように書くと、xはnew Z(0)で初期化されてしまいます。
それより先にaを_aで初期化したいのですが、記述方法はあるのでしょうか?
580:579
09/12/17 15:14:52
よろしくお願いしますage
581:デフォルトの名無しさん
09/12/17 15:16:35
class A {
int a;
int x;
A(int _a){
a = _a;
x = new Z(a);
}
}
582:579
09/12/17 15:26:38
まじでそれしかない?
パラメータ初期化子みたいなのないのでしょうか
583:デフォルトの名無しさん
09/12/17 15:33:39
動けばいいんだよ動けば
584:デフォルトの名無しさん
09/12/17 15:33:48
わけわかんね
585:デフォルトの名無しさん
09/12/17 15:34:30
int x = new Z(a);
?
586:579
09/12/17 15:42:01
ごめんなさい
Z x = new Zだとでも思ってくださ
587:デフォルトの名無しさん
09/12/17 15:45:10
JTreeではnodeをダブルクリックしないと展開してくれません
この動作をダブルからシングルクリックにしたいと考えいます、何方か教えてください
588:デフォルトの名無しさん
09/12/17 15:45:50
コンストラクタの中に書けばいいだけじゃねーの?
意味ワカンネーよw
589:デフォルトの名無しさん
09/12/17 15:48:39
Javaはこの順番だからあきらめよう。
スーパークラスの初期化付きフィールド
スーパークラスのインスタンスイニシャライザ
スーパークラスのコンストラクタ
サブクラスの初期化付きフィールド
サブクラスのインスタンスイニシャライザ
サブクラスのコンストラクタ
この順番だからスーパークラスのコンストラクタで仮想関数を呼び出すとややこしくなるね。
590:デフォルトの名無しさん
09/12/17 15:50:41
仮想関数だったんかw
591:579
09/12/17 15:51:45
まああきらめですね。
手動リファクタリング中で、記述の変更を抑えたかっただけなので。
皆さんどもでした
592:579
09/12/17 15:52:43
>コンストラクタで仮想関数
いやそこまでややこしい問題じゃないっす
593:デフォルトの名無しさん
09/12/17 15:54:21
移植でもしてたんか
594:デフォルトの名無しさん
09/12/17 15:55:08
リファクタリング (refactoring) とはコンピュータプログラミングにおいて、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理すること。
いくつかのリファクタリング手法の総称としても使われる。
Wikipediaより引用
595:575
09/12/17 16:52:12
各ライブラリの違い・・?
「Java ジョイスティック」でググって一番最初に出てきたWikiを見たら
JSR-80はWindows用の実装が進んでいない、libusb32はVistaでは使えないとかは書いてあった。
jUSBはよく分からないけど、2003年からずっと更新されて名一歩意。
FFJoyStickにしたのは一番新しそうで、しかもフォースフィードバックをサポートしてたからってだけだけど
これで良かった?
596:デフォルトの名無しさん
09/12/17 17:14:46
ok
597:デフォルトの名無しさん
09/12/17 18:46:50
うん
598:デフォルトの名無しさん
09/12/17 19:32:56
web pg厨房の相手なんかするな。javaの品格が超下がるだろ。
599:デフォルトの名無しさん
09/12/17 20:00:59
web pg厨房って誰のこと?
600:デフォルトの名無しさん
09/12/17 20:08:32
うゆじゃね?
601:デフォルトの名無しさん
09/12/17 21:31:36
大容量ファイルの、先頭数バイトを削ったり、先頭に数バイト足したりしたいのですが、
数バイトデータを削った新しいファイルを作成すると、書き出しに時間がかかってしまいます。
元のファイルを利用して、もっと効率的にやる方法はないでしょうか?
602:デフォルトの名無しさん
09/12/17 21:33:37
ないかもしれません。
603:デフォルトの名無しさん
09/12/17 21:35:53
プラットフォームAPIの中にもそんな機能は見かけないからないんじゃね?
604:601
09/12/17 21:49:42
絶望しました。
605:デフォルトの名無しさん
09/12/17 21:58:04
まあそれできないのはJavaのせいじゃないけどな。
606:デフォルトの名無しさん
09/12/17 22:21:03
仕事中に眠くてしょうがないんですが、みなさんはどうですか?
607:デフォルトの名無しさん
09/12/17 22:24:38
以下2点。について勉強したいのですが、勉強するに当たってお勧めのサイトや本をお教えください。
1.Tomcatによって?JSPから変換されたサーブレットの記述。initやその他のメソッドの意味
2.TomcatやEclipseの構造。起動ファイルの内容や各クラス間の係わり合い
よろしくお願いします。
608:デフォルトの名無しさん
09/12/17 22:24:52
a) コーヒーを飲む。
b) 今すぐ布団に潜る。
609:デフォルトの名無しさん
09/12/17 22:28:20
>>606
仕事中にうちに帰った後の自分のためのタスクを作る(スイーツ)
610:デフォルトの名無しさん
09/12/17 23:36:06
例えば例えば!?
611:デフォルトの名無しさん
09/12/17 23:52:57
教えて下さい
612:デフォルトの名無しさん
09/12/17 23:56:57
>>606
覚醒剤もしくはリタリン。
613:デフォルトの名無しさん
09/12/17 23:59:58
夜見かけて読みたいと思った技術系の文書(日本語じゃない論文とか特に)を
会社で熟読してたりはする。業務している態を装いながら。ごめんなさい。
眠いときは社内を散歩するといいぞ。
614:デフォルトの名無しさん
09/12/18 00:00:48
お塩先生キター
615:デフォルトの名無しさん
09/12/18 00:20:25
一日中テストな時期があって超眠くて、
コーヒー、眠眠打破、顔洗う、眠気覚ましツボ、体操、手を針で刺すとか色々試したけど、
効いたのはリタリンだけだった。
やっぱ動物自力で眠気に勝つのは無理なんだよ。ヤバイ薬が嫌なら仮眠とるしかない。
616:デフォルトの名無しさん
09/12/18 00:22:32
ジャバコーヒーって美味いの?
やっぱりアメリカンだからスタバみたいなうすい味?
617:デフォルトの名無しさん
09/12/18 00:36:11
Javaコード上でMozillaJavaHTMLParserが上手く動かないんですが
質問して良いですか
618:デフォルトの名無しさん
09/12/18 00:40:00
まあ聞いてみようか。
619:デフォルトの名無しさん
09/12/18 00:55:56
良いよ!
620:デフォルトの名無しさん
09/12/18 01:29:12
構わん、続けたまえ。
621:デフォルトの名無しさん
09/12/18 01:45:48
そうだ!そうだ!
622:デフォルトの名無しさん
09/12/18 01:52:33
【ネット】ニコ生で性器を公開する女子中学生たち [画像付き]
URLリンク(2ch.freefronthost.com)
623:デフォルトの名無しさん
09/12/18 02:00:47
あやしいアドレスじゃ
624:デフォルトの名無しさん
09/12/18 02:02:23
リンク踏んじゃったお・・・・大丈夫かお?
625:デフォルトの名無しさん
09/12/18 05:01:40
Java Communication APIのSerialPortEventListenerについての質問なのですが
SerialPortEventListenerに記述したコードがすべて処理し終わる前にまた
データ通信が行われ、SerialPortEventListenerの最初から処理されてしまいます。
SerialPortEventListenerに記述したコードをすべて処理し終えてから再度データ通信を
行い、SerialPortEventListenerに記述したコードを処理する方法はあるのでしょうか?
626:デフォルトの名無しさん
09/12/18 07:10:48
synchronized
627:デフォルトの名無しさん
09/12/18 07:17:34
オープンソースで決定木を構築するためのパッケージとかありませんか?
628:デフォルトの名無しさん
09/12/18 10:07:39
あったら幸せですね
629:デフォルトの名無しさん
09/12/18 14:21:00
JFrameを最大化したいのですが、setsizeとsetlocationを使ってもできません
何方か教えてください
630:デフォルトの名無しさん
09/12/18 14:40:44
>629
JFrame#setExtendedState ではダメかな?
631:629
09/12/18 15:22:43
>>630
最大化できました。ありがとうございます
実はソフトを起動した時にウィンドウのサイズを復元しようとしているのですが
f.setExtendedState(JFrame.MAXIMIZED_BOTH)をするとウィンドウが強制的に最大化するので
if(Toolkit#getScreenSize() = 前回のウィンドサイズ)として、最大化するか判断しています
しかし、ウィンドウを最大化して終了したのにToolkit#getScreenSize()とズレが発生してしまいます
ウィンドウのサイズはJFrame#getSize()で取得しています
すいませんが、教えてください
632:デフォルトの名無しさん
09/12/18 15:44:36
>>630
はやく教えてあげてください
633:デフォルトの名無しさん
09/12/18 15:54:53
>>631
最大化したかは (f.getExtendedState() & Frame.MAXIMIZED_BOTH) != 0 で判定する。
634:629
09/12/18 15:55:40
f.getGraphisConfiguration().getBounds()
をしたら同じ値になりました
すいませんでした
635:デフォルトの名無しさん
09/12/18 16:21:16
>631 参考までに
URLリンク(imodegwin19.blog114.fc2.com)
636:デフォルトの名無しさん
09/12/18 18:50:45
>>627
Weka とか
637:デフォルトの名無しさん
09/12/18 18:53:04
617ですが
外部ライブラリの加え忘れでした
自己解決しましたので質問もなしでお願いします
お騒がせしました
638:デフォルトの名無しさん
09/12/18 23:45:18
質問です。
キャンバス上に直線を引き
それに「やり直す/元に戻す」機能をつけようと思っています。
しかし、マウスをドラッグしたときの履歴の処理が上手くいきません。
以下が現在のプロジェクトとなっていますので
お気づきの点がありましたら
どうぞご指南のほどよろしくお願いします。
URLリンク(rg550.hp.infoseek.co.jp)
639:デフォルトの名無しさん
09/12/18 23:59:28
Vector#cloneってディープコピーだっけ?
640:639
09/12/19 00:01:41
ごめんPointの配列か
関係ないねorz
641:デフォルトの名無しさん
09/12/19 00:17:07
>>640
レスの無駄使いになりますから少し考えてから行動するようにしましょう
642:デフォルトの名無しさん
09/12/19 00:59:48
javaクラスライブラリー#clone()した時に
clone()がディープコピーなのかシャドーコピーなのか
調べる方法を教えてください
643:デフォルトの名無しさん
09/12/19 01:04:17
>>601
java.io.SequnceInputStreamとかjava.io.FilterInputStreamは調べた?
644:639
09/12/19 01:06:30
何度も本当に申し訳ない
>638
まず、startとstartPoint endとendPointがダブってるのでどっちかに統一
それから、CanvasLabelのfigureBoxに追加してる場所がない。
でも大前提としてVectorで持つのではなく、BufferedImage canvasを保持しておくべきなんじゃないのか?
figureBoxを使って一回一回描画してないんだから、canvasを保存しておけばいいとおもう。
もしそうならmouseDraggedのところを
((CanvasLabel) figureBox.lastElement()).setEnd(end); → setEnd(endPoint);
mouseReleasedを
this.canvas.createGraphics();
↓
BufferedImage image = new BufferedImage(this.getWidth(), this.getHeight(), BufferedImage.TYPE_4BYTE_ABGR);
Graphics2D g2 = image.createGraphics();
g2.drawImage(canvas, 0, 0, null);
canvas = image;
history.add(figureBox.clone()); → history.add(canvas);
にして、historyとかundo、redoをVectorからBuffredImage仕様に書き換える
それから、paintComponentがおかしい。
switch文はwhileから出して、Iterator ・・・の行とwhile文は削除→canvasを使って描画すればいいから。
あとはCanvasLabelのコンストラクタなりでhistory.add(null)をしておかないと何もない初めの状態が記録されない。
これでたぶんうまくいくはず。疲れたおやすみ
645:368
09/12/19 02:16:13
どうもありがとうございます
早速やってみます
646:デフォルトの名無しさん
09/12/19 15:22:21
winでの開発環境はどのようなものが一般的でしょうか
647:デフォルトの名無しさん
09/12/19 15:25:34
eclipse
648:デフォルトの名無しさん
09/12/19 15:32:24
エクリプスは便利すぎてぬるま湯に浸かってるみたいだ…
649:デフォルトの名無しさん
09/12/19 15:34:41
職業マならテキストエディタで書けよって定番レス↓
650:デフォルトの名無しさん
09/12/19 15:36:17
職業マなら開発環境くらい自作しろよ
651:デフォルトの名無しさん
09/12/19 15:37:39
>>646
NetBeansですね
今やこれ以外の選択肢は無いでしょう
652:デフォルトの名無しさん
09/12/19 16:48:15
>>651
NetBeans の検索結果 約 5,540,000 件中 1 - 100 件目 (0.66 秒)
Eclipse Java の検索結果 約 17,000,000 件中 1 - 100 件目 (0.63 秒)
検索件数が倍になったら教えてね。
653:デフォルトの名無しさん
09/12/19 16:51:41
NetBeans +開発 +Java -JavaScript -C -PHP -Ruby -SVN -CVS の検索結果 約 122,000 件中 1 - 10 件目 (0.28 秒)
Eclipse +開発 +Java -JavaScript -C -PHP -Ruby -SVN -CVS の検索結果 約 903,000 件中 1 - 10 件目 (0.29 秒)
ああ
654:デフォルトの名無しさん
09/12/19 16:59:48
NetBeansって名前がダメだよね
豆だもん、豆。
655:デフォルトの名無しさん
09/12/19 17:04:53
JavaBeansさんをdisってんの?
disられてもしょうがないと思うけど
656:デフォルトの名無しさん
09/12/19 17:05:24
>>654
Javaェ...
657:デフォルトの名無しさん
09/12/19 17:08:39
......
658:デフォルトの名無しさん
09/12/19 20:38:23
日曜プログラマーはふつうにC#やれよ。
なんでこのスレに来るんだ?
659:デフォルトの名無しさん
09/12/19 21:21:55
クラスローダを明示的に呼び出している操作の事を、リフレクションと読んでいるのですか?
リフレクションする時は、*.getClass();ってやっているじゃないですか
660:デフォルトの名無しさん
09/12/19 21:46:45
>>659
違います。getClasはクラスローダの呼び出しでもありません。
661:デフォルトの名無しさん
09/12/19 22:47:40
>>660
わかりました
ありがとうございます
662:デフォルトの名無しさん
09/12/19 23:03:16
SwingUtilities#paintComponent(Graphics g, Component c, Container p, int x, int y, int w, int h)
p - 中間 Container
javadocを見てもパラメータpの意味がわかりません
どなたか教えてください
663:デフォルトの名無しさん
09/12/20 05:24:26
>>662
教える人を呼んできますね。
664:デフォルトの名無しさん
09/12/20 10:03:33
pっていうのは、最終的なcの描画対象コンポーネントだと思っていいみたい。
pがCellRendererPaneならばそれがそのまま使われるし、そうじゃなかったら、CellRendererPaneを新たに作成して、それにpを乗せる感じ。
665:デフォルトの名無しさん
09/12/20 11:00:43
>>664
thx
666:デフォルトの名無しさん
09/12/20 11:47:08
JNIを多用し、システムに負荷をかけると性能があまり出なくなりました。
先輩にJNIでC言語のプログラムをよんだとき、C言語のプログラムが確保したメモリって
Full GCでしか開放されないからだといわれたのですが、Full GCはあまりはしっていません。
JNIを使用すると、Full GCを意図的に誘発するようにしなければならないのでしょうか?
667:デフォルトの名無しさん
09/12/20 11:53:58
いや、単にJNIが遅いだけ
最近はJITコンパイルの性能も高いから、Javaだけで書ける処理ならJavaだけで書いた方が大抵の場合速い
JNIは、どうしてもCでしか出来ない場合 (OSのAPI呼び出し等) や、
JNIのオーバーヘッドを無視できるような場合 (1回の呼び出しで大量のデータを処理する等) でないと、無意味
あと、Cで確保したメモリはGCは面倒見てくれないから自分で解放しなければならない
668:デフォルトの名無しさん
09/12/20 12:24:54
>>664
呼んでからどれだけ待たせるんだw
669:デフォルトの名無しさん
09/12/20 12:49:08
「15歳からはじめるJavaオンラインゲームプログラミング教室」という本を書店で見つけて、
ステップアップのための本として読みやすそうだと思いましたが、その本について調べてみると
子ども向けということで一歩踏み込んだ説明が省かれてしまっているとのことでした。
ゲームプログラミングのようなとっつき易い内容で、もう少し詳しい説明が書かれた良書は
何かないでしょうか?ご存知の方、どうぞご教示ください。
670:デフォルトの名無しさん
09/12/20 12:53:58
>>667
出番だよ
さっさと回答してやれ
671:667
09/12/20 12:57:53
本の善し悪しはわからん
誰か回答してやってくれ
672:デフォルトの名無しさん
09/12/20 13:00:23
本読まないで始めた奴の方が多いだろうしな
673:デフォルトの名無しさん
09/12/20 13:26:51
スレチしてしまったのでここで改めて質問します。
Canvas3Dをフレームの領域指定して貼り付けたいのですがどうすればいいでしょうか?
例えばフレームサイズが(500,400)として,Rect(10, 10, 390, 390)くらいの領域だけで3D描画を行わせたり等がしたいです。
674:デフォルトの名無しさん
09/12/20 13:33:42
オフスクリーンに描画して切り取ったのをコピーすればいいんじゃね?
675:デフォルトの名無しさん
09/12/20 13:39:29
>669
細かい説明なんて2冊目で読めばいいから、
1冊目は立ち読みしてみてわかりやすい本でいいと思う
まさか1冊で終わるわけないし。
676:デフォルトの名無しさん
09/12/20 13:44:56
Java3Dやらんから的外れかもしれないけど、普通にコンポーネント化して
フレームに貼り付けるんじゃね?
677:デフォルトの名無しさん
09/12/20 14:03:03
Javaの入門書について質問です。
多言語で実務経験があるものがJavaを学習するのにオススメの入門書ってありますか?
今のところ独習Javaの購入を検討しています。
実務経験はC:4年、VB5.0:1.5年、VB2005:1年、VC6.0:0.5年といったところです。
678:673
09/12/20 14:07:10
>>674
>>676
ありがとうございます。これから本・ネットで調べてその方法で出来るか試してみます。
ただ出来れば具体的な解決策を例示してくれるとありがたいです。
679:669
09/12/20 14:19:34
>>672
本を読まずに覚えた人は代わりにどうやって勉強したんでしょうか・・・?
>>675
1冊目はもうすぐ読み終わりそうです。
実用的なスキルが身についていないので、ゲーム等を実際に作って覚えるための
2冊目の本を探してます。
680:デフォルトの名無しさん
09/12/20 14:23:05
>>678
おいおい、ヒントだけじゃ出来ませんってか?
例えば URLリンク(www7.plala.or.jp) とか。
これにしたって、AppletはPanelなんだからFrameとかに貼り付けられる立派なコンポーネントだぜ。
681:デフォルトの名無しさん
09/12/20 14:32:08
>>679
>本を読まずに覚えた人
JDKを読む。
sunのチュートリアルを読む。
samplesを読む。
src.zipを読む。
Jakartaなどオープンソースのコードを読む。
682:デフォルトの名無しさん
09/12/20 14:55:57
>JDKを読む。
| % od -h java_xx_sdk-x_xx-jdk-xuxx-xxxl.bin
|
| フムフム、なるほど・・・・
\
 ̄ ̄ ̄|/ ̄ ̄ ̄ ̄
/つ_∧!
∧_∧ 〈(゚д゚ )
( ・∀・) ヽ ⊂ニ)
(つ/ ̄ ̄ ̄/ |
 ̄\/___/ ̄ ̄ ̄
683:デフォルトの名無しさん
09/12/20 15:37:11
Javaはサンプルソースがてんこ盛りだから本なんかいらない
684:デフォルトの名無しさん
09/12/20 15:50:49
Java 本 に一致する日本語のページ 約 2,610,000 件中 1 - 10 件目 (0.20 秒)
C++ 本 に一致する日本語のページ 約 1,490,000 件中 1 - 10 件目 (0.26 秒)
JavaScript 本 に一致する日本語のページ 約 12,600,000 件中 1 - 10 件目 (0.09 秒)
PHP 本 に一致する日本語のページ 約 15,200,000 件中 1 - 10 件目 (0.37 秒)
C 本 に一致する日本語のページ 約 35,100,000 件中 1 - 10 件目 (0.15 秒)
685:デフォルトの名無しさん
09/12/20 15:57:58
サンプルは基本がわかった上で参考にするものだろ
686:デフォルトの名無しさん
09/12/20 16:05:44
>>684
本だけとか、Cだけとか、JavaよりC!、みたいな検索結果も混じってるんでない?
687:デフォルトの名無しさん
09/12/20 16:11:47
>>683
てことは、このスレもいらないわけだね。
688:デフォルトの名無しさん
09/12/20 16:18:13
>>685
sunのサイトにあるSwingのチュートリアル読んで来い。
それにしかかいてない大事なことがいくつかある。
689:デフォルトの名無しさん
09/12/20 16:20:20
チュートリアル ≠ サンプル
690:デフォルトの名無しさん
09/12/20 16:31:12
>>688
これ?
URLリンク(java.sun.com)
691:デフォルトの名無しさん
09/12/20 16:33:26
まあ、プログラミングの基本がある程度しっかりできてれば、
ソースだけみてもかなりのことがわかるだろう。
プログラミングの基本を知らない人間は、本かなんかで勉強しないと、
いきなりソースコードだけみてもわからんかもしれない。
692:デフォルトの名無しさん
09/12/20 16:41:35
Cヒープとは何をする領域なのでしょうか?
こちらは開発上、意識する領域なのですか?
693:デフォルトの名無しさん
09/12/20 16:46:20
誤爆やスレ違いでなかったら、javaのヒープと同じものと言えば分かるかな?
newは無いからmallocなどで確保する。
694:デフォルトの名無しさん
09/12/20 17:05:56
ん?
695:デフォルトの名無しさん
09/12/20 17:34:35
Class.forNameでロードしたクラスはシステムクラスローダにロードされるのでしょうか?
それともVM次第なのでしょうか?
696:デフォルトの名無しさん
09/12/20 17:36:43
javadocに書いてあるけど
> Class.forName("Foo")
> これは、次と同じです
> Class.forName("Foo", true, this.getClass().getClassLoader())
697:デフォルトの名無しさん
09/12/20 17:37:43
>>695
URLリンク(java.sun.com)(java.lang.String)
> 指定された文字列名を持つクラスまたはインタフェースに関連付けられた、
> Class オブジェクトを返します。このメソッドを呼び出すことは、次の記述に相当します。
>
> Class.forName(className, true, currentLoader)
>
> ここで、currentLoader は、現在のクラスを定義するクラスローダを示します。
698:669
09/12/20 17:50:03
>>681
なるほど、他人のソースを読むということですね。
でも私はまだそのレベルに達してないと思いますし、
移動中に読みたいので、やはり本がいいと思っています。
どうぞよろしくお願いします。
699:デフォルトの名無しさん
09/12/20 18:08:13
オブジェクトをインスタンス化すると確保されるメモリ領域には変数以外何があるんですか?
メソッドについては参照が保持されるのですか?
700:デフォルトの名無しさん
09/12/20 18:48:43
>>698
URLリンク(www.amazon.co.jp)
ぶっちゃけ、Java(やC#)でゲーム作ってるひとって、C/C++でのゲーム作成経験者が大半じゃない?
701:デフォルトの名無しさん
09/12/20 19:10:24
ワタシイングリッシュヨメマセーン
702:デフォルトの名無しさん
09/12/20 19:47:45
>>699
まずは人に聞く前に質問できるくらいの勉強はしてこようね
703:デフォルトの名無しさん
09/12/20 20:25:29
現在自作のクラスのclone()を実装しようと思って色々やっているのですが、
フィールドにjava.awt.Shape型の変数があり、これのclone()を呼び出したいのですが、
if( shape instanceof RectangularShape ){
((RectangularShape)shape).clone();
}else
if( shape instanceof ~ ){
~
}
て感じでif-elseをつなげていくしかないんでしょうか?リフレクション辺りで色々やってみたんですが
コンパイルすら通りません。ちょっとお手上げです・・・
704:デフォルトの名無しさん
09/12/20 20:48:30
HashMapや自作のBeanを簡単にディープコピーする方法はあるのでしょうか?
新たにnewして、値を入れないとダメなのですか?
705:デフォルトの名無しさん
09/12/20 20:49:32
>>703
Cloneable だけテストすれば済むんじゃないの?
706:デフォルトの名無しさん
09/12/20 21:05:45
shape = new GeneralPath(shape); とか
707:デフォルトの名無しさん
09/12/20 21:09:42
>>703
いろいろあるけど直列化と逆直列化をしてコピーするとか?
708:デフォルトの名無しさん
09/12/20 21:17:29
>>700
ゲームが作りたいのではなくて、Javaが使えるようになるために
とっつき易いゲームを選ぼうとしているだけです。
アマゾンでは
>javaの本ではなくゲームプログラミングの本なのでこの本でjavaを勉強したいという人にはオススメできません
とコメントされているようです・・・。
一度立ち読みでもしてみます。
ありがとうございました。
709:デフォルトの名無しさん
09/12/20 22:11:25
Javaのシステムってスレッドを多重化することでパフォーマンスがあがるといいますが、
CPUは数個しかないと思うので、100スレッド多重としてもあまり意味がないと思います。
何多重にすればよいのかは、どういう計算で求めるとよいのですか?
710:デフォルトの名無しさん
09/12/20 22:11:31
>>677
それは他言語で実務経験があるとはいわない。
VB.netに手が馴染まなかったのなら、java,c#ともやっても馴染まないだろう。
どの実務があるか知らないけど、最新PCを買ってlinux(virtualpcとかでも)のcでopenglやgtk+をやるといいと思うよ。
javaなら英語のチュートリアルだけど、もし読めないなら5年以上この業界にいるのに英語も読めないのだからもうあきらめた方がいい。
711:デフォルトの名無しさん
09/12/20 22:16:46
ベンチマークして求めればいい
712:デフォルトの名無しさん
09/12/20 22:25:17
>>709
何かの本にはCPUの数+1くらいと書いてあった
713:デフォルトの名無しさん
09/12/20 22:29:36
javaでゲームとか言い出しても実際はjoglだしね。
c#だとdirectxでこれも使う言語に関係ないし。
714:デフォルトの名無しさん
09/12/20 22:48:00
>>710は何で偉そうなの?
715:デフォルトの名無しさん
09/12/20 22:59:27
>>703
JavaのCloneableは失敗作
コピーコンストラクタでおk
詳しくはEffective Javaを参照
716:デフォルトの名無しさん
09/12/20 23:04:06
英語すら読めないならjavaなんぞ無理だな
717:デフォルトの名無しさん
09/12/20 23:07:57
海外で暮らしてた俺ならJavaは余裕ってことか?
718:デフォルトの名無しさん
09/12/20 23:11:16
アフリカ辺りですか?
719:デフォルトの名無しさん
09/12/20 23:12:40
いや。韓国ですOrz
720:デフォルトの名無しさん
09/12/20 23:36:39
・・・
721:デフォルトの名無しさん
09/12/20 23:59:27
英語できるような賢い子がなんで底辺プログラマなんてやってんの?
722:デフォルトの名無しさん
09/12/21 00:02:59
でも辞書引きながらでも英語よまないと情報全然足りないじゃん
723:デフォルトの名無しさん
09/12/21 00:04:10
アメリカ行けば英語できるのに底辺の仕事やってる奴が掃いて捨てるほどいるぞ。
724:デフォルトの名無しさん
09/12/21 00:05:09
今時、英語も読めないんなら底辺プログラマーすらやってられないのよ。
725:デフォルトの名無しさん
09/12/21 00:06:12
その前に日本語勉強して下さい^^;
726:デフォルトの名無しさん
09/12/21 00:07:10
>>718
イギリスです
727:デフォルトの名無しさん
09/12/21 00:14:26
>>724
で、英語も出来て月給はいくらもらえるんですか?
728:デフォルトの名無しさん
09/12/21 00:25:53
>>699
メソッドはクラスがロードされる時だろうね。
729:デフォルトの名無しさん
09/12/21 00:46:37
>>708
ゲームって(もちろんものによるけど)結構特殊なので、Javaを学ぶ目的には
あまり適してないと思うんだけどね。
例えばゲームループって呼ばれる手法、WindowsSDKを生で使う場合には
普通にGUIのアプリを作るにも似たようなことするんだけど、
Javaで同じことする場合にはライブラリが隠蔽してくれてるので気にする必要なかったりとか。
で、入門書にはそういうゲームに特化したテクニックはあまり書いてないだろうし、
普通のJavaの使い方はそれとは別に覚える必要があると思うし。
730:デフォルトの名無しさん
09/12/21 00:54:40
>>704
CommonsのLangにそういうのあるみたいね。使った事ないけど。
URLリンク(commons.apache.org)(java.io.Serializable)
731:デフォルトの名無しさん
09/12/21 00:56:49
ゲームってのは、言語+英語+数学がある程度できないと無理。
javaとかc#とかライブラリ的なところはあまり重要でない。
732:デフォルトの名無しさん
09/12/21 00:58:29
何故英語?
733:デフォルトの名無しさん
09/12/21 01:02:53
英語英語言う奴とコミュ力コミュ力という奴の中身はだいたい同じ
734:デフォルトの名無しさん
09/12/21 01:02:56
ゲームのテクはほとんど英語で書いてある。
実際は、業務アプリの数十倍の努力が必要。
735:デフォルトの名無しさん
09/12/21 01:10:22
まあ、英語に比べれば Java なんて 1000倍易しいな。
で、Java に馴れるには、まずは List や Map をごちゃごちゃとこねくり回すような題材がいいな。
736:デフォルトの名無しさん
09/12/21 01:14:14
で、数十倍の努力してお幾ら稼いでるんですかね。
737:デフォルトの名無しさん
09/12/21 01:15:09
海外のサイトから情報が汲み取れないバカのためにここがある
738:デフォルトの名無しさん
09/12/21 01:15:15
Javaはチュートリアル(英語)で挫折するかどうかだろ。
それで挫折するようなら見込みないし素直にC#(かVB)にしろ。
739:デフォルトの名無しさん
09/12/21 01:18:08
英語英語言ってる奴が日本語読めない事はわかった
740:デフォルトの名無しさん
09/12/21 01:19:18
オブジェクト指向の本はJAVAの方が揃っているから
JAVAのほうがいいと思う
741:デフォルトの名無しさん
09/12/21 01:20:58
低学歴+底辺無能+日本人は、C#(マイクロソフト)を使ってIT土方として一生汗を流してればよろし。
742:デフォルトの名無しさん
09/12/21 01:22:36
僻みっぽいスレだな
743:デフォルトの名無しさん
09/12/21 01:30:13
>>741
在日乙
744:デフォルトの名無しさん
09/12/21 01:37:11
>>741みたいな奴って、どの板にもいるね
ゴキブリみたいにいっぱい繁殖してるの?
745:デフォルトの名無しさん
09/12/21 02:08:16
>>705
すみません。よくわかりません。
Object型にキャストしたところでObject#cloneはprotectedだし、なんらかのcloneを呼べる型にしないとダメなのでは
>>707
それも同等の問題でできあませんね
>>706
Shapeならそれで済みますね。new Area(Shape型)で
>>715
失敗作ですか・・・今回のディープコピーでの手こずりでJavaをちょっと嫌いになりました。好きだったのに・・・
皆さんありがとうございました。
結局今回は、インスタンスの型がある程度絞られていたのでめんどかったけど、>>703の方法で実装しました。
746:デフォルトの名無しさん
09/12/21 02:11:09
>>744
ゴキブリにはコンバットがよく効く
コンバット置いてから俺の部屋でゴキブリを見たことがない
747:デフォルトの名無しさん
09/12/21 02:58:46
>>715見てEffectiveJava読み直したんだけど、コンパイル時に型が決まってないと駄目だとか
protectedだからリフレクションで云々とか、正に>>703が直面してる問題がそのものだね。
ちなみにリフレクション使うんだったらやりたいことはこうかな?
Method method = Object.class.getDeclaredMethod("clone", new Class[] {});
method.setAccessible(true);
Shape cloned = (Shape) method.invoke(shape, new Object[]{});
748:デフォルトの名無しさん
09/12/21 03:45:21
PHPでは
$className = "Foo";
$obj = new $className();
とするとFooインスタンスを作成することができるのですが
Javaで同じようなことをしたい場合どうしたらいいのでしょう?
String className = "Foo";
Foo obj = new className(); //これでは当然無理です
749:デフォルトの名無しさん
09/12/21 04:26:42
String className = "Foo";
でString型の"Foo"という文字列を持ったインスタンスが生成される
んだけどPHP知らないからすごい別次元臭がする
750:デフォルトの名無しさん
09/12/21 05:38:41
>>748
Class.forName("Foo").newInstance();
751:デフォルトの名無しさん
09/12/21 06:14:37
URLリンク(www.klab.ai.kyutech.ac.jp)
こっちのSunSpotの加速度センサのプログラムを少し変えたのですが、うまく動きません。
Stateクラス、
public class State {
int state = 5;
public void setState(int state){
this.state = state;
}
public void callState(){
//このstateが1と0になり続ける状態を作りたい…
System.out.println("come :"+state);
}
}
を作って、LEDが点灯している、していない状態を管理したいのです。
↑のWikiのLEDFlash.javaの
public void thresholdExceeded(IAccelerometer3D accel, int axis, double val, boolean relative) {
//閾値より高い値ならばLEDを青色に点滅させる
以降のif文の前者がLEDを点灯させる、else以降がLEDを消灯させるプログラムです。
これは閾値を超えた時だけ呼び出されます。
このifの点灯させる所にst.setState(1);消灯させる所にst.setState(0);を書いても、超えてる時はちゃんと1と0になってるんですが、
放置したら(閾値を超えてない状態)デフォルトの数値のままになってしまいます。(つまり5)
確認はAccelerometerTest.javaクラスの加速度の測定をしているスレッドでst.callState();をして確認をしています。
AccelerometerTest.java、LEDFlash.java、どちらのクラスでもState st = new State();
と書いてるのがマズいんでしょうか…だとしたらどうしたら良いんでしょうか?
752:デフォルトの名無しさん
09/12/21 07:04:47
2000年頃から英語やれって云う人はいた。
スレリンク(tech板:132番)
今は入門書もあり出版や校正する人以外はどうでもいいかな。 >>751 のような制御は知らん。
753:デフォルトの名無しさん
09/12/21 07:24:46
>>750
すげー
754:デフォルトの名無しさん
09/12/21 09:13:30
基本の演算処理ですけど
int a =5; int b =12が宣言されているのですが
(a<=b),(a<b)&(a>b),(b%a),(a!=b),(++a)*bの実行結果を求めたいのです。
755:デフォルトの名無しさん
09/12/21 09:50:29
勝手に求めてくださいよそのの程度
756:デフォルトの名無しさん
09/12/21 12:36:14
>>751
> 放置したら(閾値を超えてない状態)デフォルトの数値のままになってしまいます。(つまり5)
つまり放置しなければいい
もしくは放置したことを感知できればいい
やりかたはしらない
757:デフォルトの名無しさん
09/12/21 12:45:10
>>751
わかったかな?
758:デフォルトの名無しさん
09/12/21 13:21:14
>>751
wikiじゃなくて発売元に聞いてサポート受けたら?
759:デフォルトの名無しさん
09/12/21 13:55:00
>>751
コンストラクタで現在の状態(0か1)を初期値として与える必要があるんじゃないの?
言葉通りしきい値超えないとコールバックされないんでしょ
760:デフォルトの名無しさん
09/12/21 14:02:55
>>751
もしも~し
761:デフォルトの名無しさん
09/12/21 14:05:21
> thresholdExceededメソッド
> 加速度センサが閾値を超えたときに呼ばれるメソッド.
ってあるからStateの初期値は閾値を超えてない状態を与える必要があるのでは。
てか5って何か意味あるの?
762:デフォルトの名無しさん
09/12/21 18:43:44
>>751
どうなの?
763:デフォルトの名無しさん
09/12/21 18:56:53
ここってサーブレットの話題とかでもおkですか?
764:デフォルトの名無しさん
09/12/21 19:01:57
ばっちこーい
765:デフォルトの名無しさん
09/12/21 19:03:59
ぬふぅ
766:デフォルトの名無しさん
09/12/21 19:06:44
>>679
ほとんど英語のドキュメントとチュートリアルで覚えましたね
767:デフォルトの名無しさん
09/12/21 19:07:46
>>763
OK
専門分野にしてる人多いです
768:デフォルトの名無しさん
09/12/21 19:09:29
EE6のCDIについて草案ではなく、リリース状態の仕様でチュートリアルを書いてるサイトはないですか?
769:デフォルトの名無しさん
09/12/22 00:15:43
引数に「Hoge.class」とClassを渡す事がありますが
何に使っているんですかね?
型の比較?
770:デフォルトの名無しさん
09/12/22 00:32:00
>>769
・インスタンス化を遅延。(newInstance/getConstructor)
・リフレクションで動的にメソッドを呼び出し/フィールドアクセス。(getMethod/getField)
・クラスオブジェクトをキーにしてファクトリを選択。(Mapで対応付け)
・クラス名やパッケージ名を文字列でげっと。
とかかな。割と頻繁に使ってる。
771:デフォルトの名無しさん
09/12/22 01:58:09
>>746
772:769
09/12/22 09:59:47
>>770
thx
773:デフォルトの名無しさん
09/12/22 10:21:29
javax.accessibilityって何をやるクラスなんですかね?
javadocを読んでもパッと来ないんですが
774:デフォルトの名無しさん
09/12/22 11:17:19
目が見えない人用のスクリーンリ-ダーとか点字ディスプレイとか音声入力とかなんかそういう類の
詳しくは知らん
775:172
09/12/22 11:35:57
>>773
私も初めて見たのですが。
普通アクセシビリティっていうと、障害者の操作補助とかそういうイメージ。
目の見えない人のための音声読み上げ機能とか。
普段画面で行う入出力(テキストを読む、リンクをクリックする、みたいな)を
別の手段で提供するための標準化インタフェースだったりヘルパクラスだったりする、のかな?
URLリンク(mediacast.sun.com)
に日本語の資料ありますね。
776:773
09/12/22 12:04:26
AccessibleContextってクラスがあるんですが、このクラスが属しているパッケージなので気になりました
JLabel#setText()を読んでいたらAccessibleContextが出てきたのですが、さっぱりわかりませんでした
このインスタンスはJComponentのフィールドにprotectedで宣言されています
777:デフォルトの名無しさん
09/12/22 14:18:10
障害者用の補助装置をjavaから制御する場合の話だからそういう開発者以外関係ない。
AWTに口だけ公開しときますよって話だと思えばいい。
778:デフォルトの名無しさん
09/12/22 15:37:36
>>746
779:デフォルトの名無しさん
09/12/23 00:46:54
java.awt.DesktopでDesktop.getDesktop().browse(homePageUrl);を使いたいのですが、
java.netURIにおいて、String型のテキストをURL型もしくはURI型に
追加するには何を使えばいいのでしょうか?
URLリンク(homepage.jp)
というURI型のものに、
abcd
というString型の文字列を変換したものをくっつけて、
URLリンク(homepage.jp)
という表示をbrowse(homePageUrl)で行いたいのです。
そのString型→URI型の変換でつまづいています…。
よろしくお願いします。
780:デフォルトの名無しさん
09/12/23 00:58:26
普通に new URL(filename+"abcd"); でムリ?
781:デフォルトの名無しさん
09/12/23 02:39:06
URI クラスの resolve(String) を使うのかな?多分
782:デフォルトの名無しさん
09/12/23 09:36:34
URLリンク(terai.xrea.jp)
同じPCでこれが鳴る場合と鳴らない場合があるんですが...
783:デフォルトの名無しさん
09/12/23 10:05:50
>>780
ムリみたいです…。
>>781
784:デフォルトの名無しさん
09/12/23 10:56:57
>>779
URI a = new URI("URLリンク(www.google.co.jp)");
URI b = new URI(a + "search?q=java");
Desktop.getDesktop().browse(b);
ふつうにいけないか?
785:デフォルトの名無しさん
09/12/23 11:11:14
>>779
URI uri = new URI("URLリンク(homepage.jp)");
URI newuri = new URI(uri.getScheme(),uri.getHost(),"/abcd",uri.getFragment());
System.out.println(newuri.toString());
という意味?
786:デフォルトの名無しさん
09/12/23 12:12:14
( ^ω^)大量
787:デフォルトの名無しさん
09/12/23 16:38:55
>>779ですが、
お答えくださってありがとうございました。
>>781さんのヒントから色々探してみました。
URL型でURL取得するのでURL取得→.toURI→.resolve(string)で解決できました!
resolveだけに…w
どうもありがとうございました^^
788:デフォルトの名無しさん
09/12/23 23:20:55
いくつかの重い処理をするにあたって、割り込みするコードについて質問です。
現在では、Threadのrunメソッドで、
try{
重い処理1
if(interrupted())throw new InterruptedException();
重い処理2
if(interrupted())throw new InterruptedException();
重い処理3
} catch (InterruptedException e){ }
という感じにしているんですが、結局ジャンプ処理なので汚いコードだと感じています。
こういう場合にはどうするべきでしょうか? よろしくお願いします。
789:デフォルトの名無しさん
09/12/23 23:59:05
JComponent#setOpaque()のソース
public void setOpaque(boolean isOpaque) {
boolean oldValue = getFlag(IS_OPAQUE);
setFlag(IS_OPAQUE, isOpaque);
setFlag(OPAQUE_SET, true);
firePropertyChange("opaque", oldValue, isOpaque);
}
なんで、firePropertyChange("opaque", oldValue, isOpaque);と書く必要があるのですか?
firePropetyChange()でイベントを発生させなくても、普通にメソッドを呼び出した方が楽じゃないですか
790:デフォルトの名無しさん
09/12/24 00:14:04
うん?
addPropertyChangeListenerで登録されたリスナ全員にプロパティの変化を伝えなきゃいけないからでは?
普通にって、何のメソッドを呼ぶの?
791:デフォルトの名無しさん
09/12/24 01:30:41
>>782
ローカルにjar保存してコマンドプロンプトから実行してみれば?
例外とか出てるの見れば理由わかるのでは。
>>788
自分だったらコマンドパターン適用するかも。
重い処理Xをそれぞれ別クラスにして、それらの共通スーパクラスで重い処理メソッド呼んでその後中断判定する。
792:デフォルトの名無しさん
09/12/24 02:27:31
アクセス修飾詞なんですけど、どういう状況で使い分けたらいいかわかりません
教えてください
793:デフォルトの名無しさん
09/12/24 02:43:40
アプレットのプログラムについて質問です。
内容はボールを反射させて動かす(ピンボールのような)プログラムです。
g.setColor(Color.red);
g.fillOval((int)(this.x2-3),(int)(this.y2-3),6,6);
このようなプログラムが組まれており意味してるものは動かすボールの色と大きさを指定しているのは理解できるのですがこれでなぜ色と大きさが指定できているのか細かい部分がよくわかりません。
なぜこれで色と大きさを指定できるのでしょうか?
794:デフォルトの名無しさん
09/12/24 02:57:21
まさにそういう用途のメソッドだと思うのだけれど。
URLリンク(java.sun.com)(java.awt.Color)
URLリンク(java.sun.com)(int, int, int, int)
795:デフォルトの名無しさん
09/12/24 03:08:15
このサイトに書いてあるアルゴリズムを教えていただけないでしょうか…?
お願いします
796:デフォルトの名無しさん
09/12/24 03:31:33
すいません、サイトを貼るの忘れてました
URLリンク(oraclesqlpuzzle.hp.infoseek.co.jp)
お願いしますm(_ _)m
797:デフォルトの名無しさん
09/12/24 03:48:41
>>793
gの色をセットします(赤色に)
ってのは理解できるべ?
g.fillOval(~,~,~,~)
ってのは
URLリンク(www.tohwa-u.ac.jp)
みてみよ。
というか、そういうものだ、ってここは思わないと進めないレベルだぞ。
とりあえず、.setColorで色決めて、.fillOvalで塗りつぶされた円を描くコマンドだと思いなさい。
798:デフォルトの名無しさん
09/12/24 04:30:27
>>795
ただの総当たりにみえますが。
2回目以降は前回の手数を
越えるものは総当たり条件から外してるみたいだけど
これで最適手順が見つかる保証は
無いでしょうね。
799:デフォルトの名無しさん
09/12/24 04:35:20
あ、最適解云々は勘違いしてたので忘れて
800:デフォルトの名無しさん
09/12/24 06:09:34
>>788
ジャンプするためだけに例外を投げるのが邪道ってこと?
try-catch の中身をメソッドとして独立させてみては
/**
* @return 中断されずに処理を終えたかどうか
*/
void process() {
重い処理1
if (interrupted()) return false;
重い処理2
if (interrupted()) return false;
重い処理3
return true;
}
801:800
09/12/24 06:13:33
>>788 を読み返してみたら
質問の意図と違ってたかもしれん
すまん
802:782
09/12/24 08:47:31
>>791
jarファイルをコマンドプロンプトから実行しても特に例外などは出ませんでした。
ちょっと>>782の説明が足りませんでしたので補足しますと
JREのインストールフォルダ内にある\lib\audioフォルダにsoundbank.gmがあると
音は鳴るんですが変な音質なんです。
逆にsoundbank.gmが無い場合は、正常な音質で鳴る場合と全く鳴らない場合がありますが、
確実に正常に鳴らす方法はありますでしょうか。
803:デフォルトの名無しさん
09/12/24 10:11:02
ありますとよいですね。
804:デフォルトの名無しさん
09/12/24 10:37:46
>>802
とりあえず MidiSystem#getMidiDeviceInfo() で取得できる
全 MidiDevice の名前を書いてくれ。
lib/sound.propertiesのコメントでない行も書いてくれ。
WindowsのJREなら少なくともシンセ2つが繋がっているはず。
(Java独自のシンセサイザとWindows内蔵のシンセサイザ)
どっちが使われてるかは把握してる?
何度読んでもMIDI関係のAPIは納得いかんとこが多いな…
805:782
09/12/24 10:51:48
>>804
MidiDeviceの一覧は下記の通りです
Microsoft MIDI ?}?b
Windows MIDI_MAPPER
false
Microsoft GS Wavetable SW Synth
Internal software synthesizer
false
Real Time Sequencer
Software sequencer
false
Java Sound Synthesizer
Software wavetable synthesizer and receiver
true
それぞれの3行目のtrue/falseは
System.out.println(MidiSystem.getMidiDevice(i) instanceof Synthesizer)
の実行結果で、一番最後の「Java Sound Synthesizer」がデフォルトと思います
また、lib/sound.propertiesは全てコメント「#」で始まっています
806:デフォルトの名無しさん
09/12/24 11:21:42
>>792
可能な限り狭いものを使っていれば問題ない。
まずprivateで済ませること。どうしてもダメならprotectedに拡張、そ
れでも足りないなら無指定、publicはfinal以外では使わない。
807:デフォルトの名無しさん
09/12/24 11:29:31
>>792
隠したいなら private
公開したいなら public
設計ミスの継ぎはぎには protected
サンプルプログラム用に字数減らしたい場合は無指定で package private
808:デフォルトの名無しさん
09/12/24 11:32:05
>>806
デフォルトアクセスとprotectedだとデフォルトアクセスの方が制限きつい。
809:804
09/12/24 12:05:04
>>805
あー…、MicrosoftGS音源のSynthesizerって出てこないんだ…
それどころか本物のMIDI音源実機(Roland)も出てこないよー。
Sequencer使わずに自前でReceiverにMIDI信号投げてたんで気づかなかった。すまん。
Sequencerの音色がSynthesizerに依存している以上、JavaSoundしか選べそうにないね。
soundbank.gmってのはJavaSoundのデフォルト音源だと思う。
消しちゃダメー。書き換えるのもたぶんダメー。
Synthesizer.loadAllInstruments()で別の音源と差し替えることは可能と思う。
810:デフォルトの名無しさん
09/12/24 12:23:31
javaで画像処理って定番は何になるのでしょうか?
CだとOpenCVやImageMagicがありますが
811:デフォルトの名無しさん
09/12/24 12:48:52
>>809
あまり関係ないとおもうけど、確か公式で高音質盤のサウンドバンクが提供されてたよ
デフォルトで含まれているの最低音質で、3段階くらいあったとおもう。
812:デフォルトの名無しさん
09/12/24 13:19:22
>>805
MidiSystem.getSequencer()で得られるシーケンサはデフォルトシーケンサだからデバイスの取得から自分でやってみれば?
プラットフォーム側で無効化されてるデバイスも叩き起こせる仕様だから自分でデバイス拾って開けばいい。
813:デフォルトの名無しさん
09/12/24 14:19:45
>>810
普通ならそれをjni,jna
814:782
09/12/24 14:58:33
>>812
「Real Time Sequencer」にしましたが
soundbank.gmがあっても音が全く鳴らなくなりました。
「Microsoft MIDI ?}?b」は認識されず
「Microsoft GS Wavetable SW Synth」
はClassCastExceptionが発生しました。
815:デフォルトの名無しさん
09/12/24 15:41:08
>>806
>publicはfinal以外では使わない
そういうものなんですか?
これって割と常識として知られてること?
816:デフォルトの名無しさん
09/12/24 15:42:22
メソッドの話?
817:782
09/12/24 15:52:15
別バージョンのJREを何回か再インストールしているうちに
いつの間にか正常に音が鳴るようになりました。
音が鳴らなかった真の原因は未だに分かりません...。
818:デフォルトの名無しさん
09/12/24 15:54:51
>>815
>>806 はでたらめなので心配御無用
819:デフォルトの名無しさん
09/12/24 16:22:17
java.util.prefs.Preferencesで、userNodeには問題なくキーとデータを登録できるのに、
systemNodeには登録できず警告が出る。OSはWin。
という症状が、特定マシン上だけで起きるのだけど、どんな原因が考えられますかね?
自分や知り合いのマシンでは問題無いのに、知らない人のマシンでは起きているのです。
それからJREを再インストールしてもこの問題は解決しない。
820:デフォルトの名無しさん
09/12/24 16:25:11
アクセス指定子はクラスの場合、メソッドの場合、フィールドの場合で
ずいぶん事情が違う。
>>806 はフィールドの場合に見える。
821:デフォルトの名無しさん
09/12/24 16:54:40
public fieldが許されるのは小学生までだよねー(AA略
822:デフォルトの名無しさん
09/12/24 16:59:27
>>810
JREにもれなく付いてくるJava2Dでは不足?
823:デフォルトの名無しさん
09/12/24 17:06:04
>>819
その方、レジストリの管理権限はあるのかしら。
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs
に読み書き可能なのか、レジストリエディタかなんかで確認した方が
824:デフォルトの名無しさん
09/12/24 18:23:37
>>823
嫌です
825:デフォルトの名無しさん
09/12/24 18:36:28
>>817
シーケンサに命令溜めた後ちゃんとシンセサイザに送ってる?
826:デフォルトの名無しさん
09/12/24 19:30:07
>>823
アカウントの権限を確認してもらったけど、Adminとのことでした。
827:782
09/12/24 19:40:09
>>825
Javaのmidiに関しては殆ど詳しくないので
ソースを挙げて頂ければ有り難いです
828:デフォルトの名無しさん
09/12/24 19:50:38
>802
そもそも「変な音質」とか「正常な音質」ってどういう話なんだ。
たとえば拾い物のYAMAHA用MIDIファイルを別音源で聞いて、それが変か正常かは主観レベルの話なんだが。
829:782
09/12/24 20:50:05
>>828
「変な音質」というのは誤解を招く書き方でしたね、訂正いたします
他のプレイヤーで聞いた場合と同じかどうかということです
830:デフォルトの名無しさん
09/12/24 21:14:10
情報小出しウザイ
そろそろ失せろ
831:デフォルトの名無しさん
09/12/24 22:52:35
>>830
イブで女の子と一緒に過ごせないからってカッカすんなよwww
832:デフォルトの名無しさん
09/12/25 00:04:14
イブで女の子と一緒?
外国の宗教とはいえ神様に失礼すぎw
833:デフォルトの名無しさん
09/12/25 01:38:21
今年のクリスマスは中止になったって聞いてたけど
MIDIってのは環境とかプレイヤーによって音が変わるものじゃないのか。
834:デフォルトの名無しさん
09/12/25 01:39:53
変わるよ
835:デフォルトの名無しさん
09/12/25 01:50:19
昔のwin95の音源はひどかった
なつかしい
836:デフォルトの名無しさん
09/12/25 02:01:38
むしろFM音源のほうが好きだった
837:デフォルトの名無しさん
09/12/25 11:05:40
だな
838:デフォルトの名無しさん
09/12/25 13:34:19
MIDIはWindows98あたりから
Windows標準でサポートされたが
Windowsのがあまりに低音質だったので
避けられるようになったのは有名
それ以前からあったWinGrooveとかのほうがマシだった