5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:04/11/06 21:28:05
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

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

以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path%2Cclasspath

前スレッド
【初心者】Java質問・相談スレッド55【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1098282928/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */

また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

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


2 :2:04/11/06 21:30:46

1.5.0ソースでた
http://java.sun.com/j2se/1.5.0/source_license.html


3 :前スレ999:04/11/06 21:35:25
誰か回答をお願いできませんか?

4 :デフォルトの名無しさん:04/11/06 21:40:08
>>3 (前スレ>>995)

それはJavaWebStart対応アプリのサンプル
JDK単体だと基本はすべてコマンドラインだ。

エディタでソース書いてコンパイルして実行するべし。
http://milkyway.merseine.nu/JavaIntroduction/index.html


5 :デフォルトの名無しさん:04/11/06 21:42:29
こっちのがいいかな
http://www.smg.co.jp/seminar/java/index.html


6 :前スレ999:04/11/06 21:46:18
そのホームページを熟読してみます。
返答ありがとうございます。

7 :デフォルトの名無しさん:04/11/06 22:05:42
import java.net.*;
import java.io.*;

public class HelloWorldURL {
public static void main(String[] args) {
try {
// URLクラスのインスタンスを生成
URL helloURL =
new URL("http://login.yahoo.co.jp/config/login?.tries=1&.done=http%3A%2F%2Fpage11.auctions.yahoo.co.jp%2Fjp%2Fauction%2Fn8724121%3F&.src=auc&lg=jp&.intl=jp&login=javatest1111&passwd=ntp123");
// 入力ストリームを生成
BufferedReader in = new BufferedReader(
new InputStreamReader(
helloURL.openStream(),"JISAutoDetect"));

// 一行ずつ読み込みます
String line;
while ((line = in.readLine()) != null) {
// 表示します
System.out.println(line);
}

// 入力ストリームを閉じます
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

cookieを有効にしないといけないページのソースをゲットできません。
どのようにすればいいのですか?

8 :デフォルトの名無しさん:04/11/06 22:10:17
>>7
このへん使うのが楽そうだと思
http://jakarta.apache.org/commons/httpclient/

9 :デフォルトの名無しさん:04/11/06 22:13:57
>>7 そのURLをそのままここに貼るのはどうかと思うぞ。

10 :デフォルトの名無しさん:04/11/06 22:15:35
>>7
ばか!!!

11 :デフォルトの名無しさん:04/11/06 22:17:56
こんばんは、よろしくお願いします。
JToolBarに、JToggleButton を配置しようと思うのですが、
ボタンが、4つほどあって、ひとつ選択していると他は、
選択できないようにしようと思うのですが、
それは、グループのようなクラスがあって、そこに入れて使うのか。
あるいは、自分で、選択してあるときは、選択できないように書き込んでいくのか、
どうすればよいのでしょうか。

12 ::04/11/06 22:23:17
何度も初心者すぎる質問して申し訳無いんですけど
わからないことがありました。

http://java.sun.com/products/archive/j2se-eol.html

このサイトからJDKをダウンロードしたいんですけど
一体どこにあるのかわかりません。
どなたか教えてもらえませんか?

13 :デフォルトの名無しさん:04/11/06 22:28:39
>>11
http://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/JRadioButton.html
>>12
http://www.wikiroom.com/java/?Java%A4%C7%A5%D7%A5%ED%A5%B0%A5%E9%A5%E0%A4%F2%BB%CF%A4%E1%A4%EB%A4%BF%A4%E1%A4%CB%A4%CF%A1%A2%A4%DE%A4%BA%B2%BF%A4%F2%A4%B9%A4%EC%A4%D0%A4%A4%A4%A4%A4%CE%3F

14 :デフォルトの名無しさん:04/11/06 22:44:09
?新たな宣伝方法?w

15 :デフォルトの名無しさん:04/11/06 22:57:08
>>13
ありがとうございました。
出てます。もっとよく、APIみろってことですね。
すみません。

16 ::04/11/06 23:02:29
僕はサパーリわかりません・・。
才能ないのかな、、

17 :デフォルトの名無しさん:04/11/06 23:16:02
>16
才能以前にWebを渡り歩くテクニックが不足してる。方向音痴と言ってもいい。
てか、どうやったらあのWikiから>12にたどりつけるんだ? _| ̄|○

18 :17:04/11/06 23:19:39
しまった、愚痴だけ書いて送ってしまった

とにかく、「JavaでHello World アプリケーション編」って書いてあるリンククリックして、
出てきたページの「◆SDKのダウンロードとインストール」ってとこ読んで、
適宜リンクをクリックして……そこから後は同じ要領で。
まずj2sdk-1_4_2_06-windows-i586-p.exeってファイルをダウンロードして、
インストール……したんだよな、WebStartがどうとか書いてたし……あれ?

19 ::04/11/06 23:32:32
>>18
WIKIを読んでWebStartはインストールしました。
まず初めにやれと書いてるHelloWorldのプログラムもメモ帳に書きました。
そこからつまずいています。


20 :デフォルトの名無しさん:04/11/06 23:38:07
Javaで電卓を作っています。
String型で読み込んだ変数str(実数)をdouble型に変換したいのですが、
double hoge;
hoge = Double.valueOf(str);
だとエラーが出てしまいます。初歩的な質問かもしれませんが、どなたか教えてもらえるとありがたいです。

21 ::04/11/06 23:45:18
その書いた文をコンパイルするのはわかっているのですが
そのコンパイルするソフトがJDKの中に入っているんですよね?
なので、それをダウンロードするために12のリンク先に
辿り着きました・・・。

何処が間違っているのでしょうか?


22 :デフォルトの名無しさん:04/11/06 23:46:55
Double と doubleは違うってしってる?

23 :デフォルトの名無しさん:04/11/06 23:47:57
>19
ひょっとして、だけど
コマンドプロンプト、って何のことか分かる?
分かるとして、環境変数は分かる?
「PATHが通っている」という言葉の意味は分かる?
それらが分からないとしたらこれはWIndowsの初歩の問題だからちと鼬買い。
Windows.FAQ(ttp://homepage2.nifty.com/winfaq/ )を読んで勉強してくだされ。

# しかし、既にインストールが済んでいて、何故にまたJDKをダウンロードしようとするの?

24 :古代帝國富士皇朝総帥・伯壬旭:04/11/06 23:49:50

よくぞ次スレを立てた。
ほめてつかわす。
さあ、質問するがいい!

25 :デフォルトの名無しさん:04/11/06 23:49:52
>>20
前スレでint版聞いてた奴と言い、なんでvalueOfを使おうとするんだ?
APIドキュメント見ればvalueOfじゃダメなの一目瞭然だし、
代わりにどれ使えばいいのかも直ぐ分かるじゃん

26 :デフォルトの名無しさん:04/11/06 23:52:32
>>11
ButtonGroupクラスを使えばOK


27 :デフォルトの名無しさん:04/11/07 00:15:31
>>20
Java のバージョンを1.5.0にすれば無問題。

28 :デフォルトの名無しさん:04/11/07 00:25:33
>>27
たしかに通るがボクシングしらないでパフォーマンスでなくておかしいなぁ?とか言い出しそうな希ガス

29 :デフォルトの名無しさん:04/11/07 00:57:43
Vector contents;
において明らかに要素は入っているのに
contents.removeElementAt(0);
を実行すると
java.lang.ArrayIndexOutOfBoundsException: 28 >= 28
と出てしまいます。
考えられる間違いとしては何があるでしょうか?

30 :デフォルトの名無しさん:04/11/07 01:05:35
ホントに contents.removeElementAt(0)?
エラーメッセージは 28個しか要素が入ってないときに 28 番目にアクセスしたって出てるんだけど。

31 :デフォルトの名無しさん:04/11/07 01:35:24
>>30
はい・・・
contents.addElement(obj);
contents.removeElementAt(0);
とやると大丈夫なのですが・・・

32 :デフォルトの名無しさん:04/11/07 01:36:43
むしろどの値をとってみても
java.lang.ArrayIndexOutOfBoundsException: 28 >= 28
となるんです

33 :デフォルトの名無しさん:04/11/07 01:38:20
>>32
どっかのループでこけてる予感。ソース出してみ

34 :デフォルトの名無しさん:04/11/07 01:45:15
>>33
長いんでうpします
http://eki.to/hanamani/i/Word2.java
この下のほうにあるEditクラスの"削除しますか?"の部分です。
おねがいします

35 :デフォルトの名無しさん:04/11/07 01:55:56
うんこ

36 :デフォルトの名無しさん:04/11/07 02:16:18
>>34
落とせないよ〜

37 :デフォルトの名無しさん:04/11/07 02:21:09
>>35 
すいません今あげました。m(__)m

38 :デフォルトの名無しさん:04/11/07 03:29:36
落とせない。。もういいや。寝よ

39 :デフォルトの名無しさん:04/11/07 04:54:21
>>32 >>34
ソース晒すんならラウンジのスレに貼れ。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1076074304


40 :デフォルトの名無しさん:04/11/07 05:07:18
>>20
プリミティブ型とラッパークラスは違うのです。
でもTigerだと勝手に変換してくれるらしいのです。
double d = Double.parseDouble(s);

>>29
インデックスが0から始まってsize()-1で終わることを知らなかったりしないですか?

41 :デフォルトの名無しさん:04/11/07 07:15:27
>>26さんありがとうございました。

42 :デフォルトの名無しさん:04/11/07 07:22:54
>>22,25,27,40
できました!!ありがとうございます。
Doubleとdoubleって違うんだ・・・知らなかったorz

43 :デフォルトの名無しさん:04/11/07 08:22:19
JAVA初心者です。最近Sun認定プログラマ取りました。
で質問なんですが、JAVA技術の質問サイト、MLで、
有名なところがあったら教えてください。

44 :デフォルトの名無しさん:04/11/07 09:33:12
>>43
すいません。教えてください。
Sun認定プログラマ(310-35)を取ったって事は、あの試験は
さほど、Javaでプログラムを組んだ事がなくても、
受かるテストなのでしょうか?



45 :デフォルトの名無しさん:04/11/07 09:57:44
pogrammer資格のほうがむずい。
developperのほうは、メソッド名を覚えるだけ。

46 :デフォルトの名無しさん:04/11/07 10:47:22
>>44
他のオブジェクト指向プログラミング言語の
経験があればそれほど難しくないよ。


47 :デフォルトの名無しさん:04/11/07 10:52:14
>>45
何の資格の話をしてるの?
この手の資格でSJC-Dは最難関だと思う。
そもそもSJC-Pを取得しないとSJC-Dの受験資格がないし…。


48 :デフォルトの名無しさん:04/11/07 11:39:15
Javaで***.exeって作れるの?
作れるんだったら作り方教えてください!

49 :デフォルトの名無しさん:04/11/07 12:01:29
SJC-Pプログラマ認定の問題って、まちがい探しみたいなのが多くて、
実際のJAVAコーディング経験が無いと難しいと聞いたのですが、
あれは、JAVAプログラミング経験がさほど無い人が受験するのは
無謀なんでしょうか?
>>43氏の合格の経緯を是非とも知りたいです。


50 :デフォルトの名無しさん:04/11/07 12:02:18
>>48
JBuilderで作成できる。

51 :デフォルトの名無しさん:04/11/07 12:57:34
>>47
>>45のいう`developper'とは`Web Component Developer'の
ことではないか?

52 :デフォルトの名無しさん:04/11/07 12:57:50
データの処理時に
「データの処理中です」
と表示する場合、どういったものが一番簡単にできるでしょうか?

53 :r:04/11/07 13:10:47
>>52
???

データ処理を開始したら System.out.println("データの処理中です");
処理が終わったらSystem.out.println("終わりました");

で充分じゃね?

でも、こういう事を聞いているんじゃないような気もする。

54 :デフォルトの名無しさん:04/11/07 13:16:38
たぶんSwingのイベント処理の中で業務ロジック書いて画面の更新されない状況があるとみた
スレッド勉強すればいいかな

55 :52:04/11/07 13:36:24
いえごめんなさい自己解決しました。

56 :デフォルトの名無しさん:04/11/07 14:05:39

     お勧めのエディタがあれば教えて下さい。

57 :デフォルトの名無しさん:04/11/07 14:17:19
Win NoEditor(XPでなくても複数ウインドウがタスクバー上で1つにまとまってくれるので)
Unixen vim (Emacsは今一好きになれん)
マクX テキストエディット(Xcodeはちっこいアプリには大げさすぎと思うので)

58 :デフォルトの名無しさん:04/11/07 14:18:26
Java初心者です。
JLabelに画像をはりつけて、マウスカーソルが画像の上にくると
マウスカーソルがデフォルトからHand_CURSORに変更したいのですが、
下の記述ではうまくいきません。コメントにしているConfirmDialogは
表示されたのでCURSORの設定の仕方が違うと思うのですがどなたか
ご教授おねがいします。

jLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("image.gif")));
jLabel.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseMoved(java.awt.event.MouseEvent evt) {
jLabelMouseMoved(evt);
}
});

private void jLabelMouseMoved(java.awt.event.MouseEvent evt) {

this.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
/* int i = JOptionPane.showConfirmDialog(
null //parent
,"はい/いいえ/取り消しの確認" //message
,"showConfirmDialog" //title
,JOptionPane.YES_NO_CANCEL_OPTION//optionType
,JOptionPane.INFORMATION_MESSAGE //messageType
);
*/
}

59 :デフォルトの名無しさん:04/11/07 14:19:09
学校でjavaをやってるのですが、アプレットは、あっさり流されました。
先生いわく、アプレットは、当初はよかったが、Flashなどが出てきたので、
いまとなっては、もう古いということを言われました。
流してもいいとこなのかな?

60 :デフォルトの名無しさん:04/11/07 14:35:02
     >>57、ありがとうございます。参考にします。


61 :43:04/11/07 16:11:14
Sun認定Javaプログラマ試験は、javaの基礎力を試すと同時に、
オブジェクト、例外処理、ストリーム、コレクション
などjavaの重要な概念が試験範囲になるので、自学自習の目標
にはちょうどよいと思いました。
私の場合、先輩の薦めでjavaの入門本には「Core Java2」の上下を
じっくり読み、サンプルコードを全部実行した上で、ソースコードを
ちょっと改造して、元との違いを検証していきましたので、試験対策は
そんなに大変じゃなかったです。
基礎的な部分で、自分の理解が曖昧なところをこの際払拭しよう、という
方にはお勧めです。


62 :デフォルトの名無しさん:04/11/07 16:32:04
>>56
eclipseとかも選択子にいれるといい
エディタの使いやすさは本人の慣れの問題もおおきいけど(自分はemacsとbriefが好きだが)言語対して密接な支援をしてくれるシステムは使いやすいものだからね。


63 :デフォルトの名無しさん:04/11/07 16:55:07
>>59
流しても良いところだと思います。

ただ、昨今の風潮だとリッチクライアント(意味がわからなかったら@ITあたりで調べて)の一形態として
アプレットがちょっとだけ見直されつつあるのも事実です。
気になるのなら、Javaを一通り学んでからアプレットまわりを読み返してみてはいかがでしょう。

64 :デフォルトの名無しさん:04/11/07 17:01:34
>>62    調べてみます^^>eclipse

65 :デフォルトの名無しさん:04/11/07 19:48:24
Javaで具体的に何ができますか?

66 :デフォルトの名無しさん:04/11/07 20:00:56
>>65
抜ける

67 :デフォルトの名無しさん:04/11/07 20:12:35
>>66
どれぐらい勉強したら抜けるようになりますか?

68 :デフォルトの名無しさん:04/11/07 20:14:34
50年くらい勉強すれば大丈夫かな

69 :デフォルトの名無しさん:04/11/07 20:51:47
Javaアプレットでwavとmp3を再生する方法ってないのでしょうか?
auしかできないんですが・・・・

70 : :04/11/07 20:57:17
>>50
そのexeってフロントエンド(exeのなかでJVM呼んでる)?
それともjavaから完全なネイティブコード?

71 :デフォルトの名無しさん:04/11/07 21:02:37
>>69
少なくともwavはいけるぞ


72 :デフォルトの名無しさん:04/11/07 21:05:39
>>69
http://java.sun.com/products/java-media/jmf/index.jsp
こういうのを検討されてみては。

http://java.sun.com/products/java-media/jmf/2.1.1/formats.html
再生可能フォーマットはこちら。MP3は無いね、ライセンスの関係だろうか。

73 :デフォルトの名無しさん:04/11/07 21:32:17
Class#forName(String hoge)
でロードされたクラスは、そのクラスで内で自由に呼べるんですか。
つまり、import文にそのクラスが追加されたと考えてよかとですか?>ALL

74 :デフォルトの名無しさん:04/11/07 21:38:46
IDE使わない人って、メモ帳とDOSプロンプト使ってんの?

75 :デフォルトの名無しさん:04/11/07 21:44:22
SDKとemacs とか。

76 :デフォルトの名無しさん:04/11/07 21:53:28
>>74-75
Windowsでの作業なら秀丸とか多そう。

77 :デフォルトの名無しさん:04/11/07 21:56:20
コンパイルするときはDOSプロンプトでしょ?

78 :73:04/11/07 21:58:22
俺の質問の答えはあれで合ってるんですか?

79 :デフォルトの名無しさん:04/11/07 21:59:32
テキストエディタには、エディタ内部でshell起動できるものがある。
そういうエディタではのエディタのWindow内でコンパイルができる。
shellを択べるタイプだと、UNIX系のshellを別途インスコして、それをエディタ内で利用できたりもする。


80 :デフォルトの名無しさん:04/11/07 21:59:55
>>73
まずimportについて学びましょう。
http://www.gimlay.org/~javafaq/javafaq.html#S017
http://www.gimlay.org/~javafaq/S017.html#S017-15

81 :73:04/11/07 22:02:13
>>80
え?

82 :デフォルトの名無しさん:04/11/07 22:03:50
import したら、クラス内じゃなくて、ファイル内で呼べるだろ。

83 :デフォルトの名無しさん:04/11/07 22:09:06
以下のように描画したときに
gs.setColor(Color.yellow);
gs.drawOval(30,20, 180,100);
黄色を赤色に変える場合は
gs.setColor(Color.red);
gs.drawOval(30,20, 180,100);
と描画しなおす方法があると思うのですが、
黄色のものすべてを赤色に変える(根本から?)方法があると聞きました。
コンピュータの処理速度が遅い昔に使われていたらしいのですが、
そうするにはどうすればいいのでしょうか?

84 :デフォルトの名無しさん:04/11/07 22:11:42
パレットの変更?
Javaでやり方知らないけど。

85 :デフォルトの名無しさん:04/11/07 22:14:20
>>73=81
importは、ソースコードの中でパッケージ名を省略できるってだけなんだけど、呼べるとか呼べないとか関係あるのか胃?

86 :デフォルトの名無しさん:04/11/07 22:15:19
BufferedImageに描画してgetRGBしてsetRGBしても十分な速度が出ると思うぞ。


87 :73:04/11/07 22:23:18
なるほど、importしなくても同じパッケージなら呼べますよね。
じゃ
Class#forName(String hoge)
はどういう働きと考えればいいのですか。
new hoge();
みたいな感じでしょうか?
う〜ん。それもしっくり来ない。。
とりあえず、使うクラスを切り替えたい場面でつかうんですよね?
でも、大抵使っている場所は
Class hoge = Class.forName("hoge");
って感じで使ってなくて。
Class.forName("hoge");
しか使ってないような・・・。
じゃあどうやってそのクラスの参照を得るんだよ!って分からなくなってます。
JDBCとかでよく使うみたいだけど、
いきなり次の行で、
DriverManeger.getConnection(hogege);
だもんな〜。
staticなクラスはnewの必要がないけど。。はぁ?
てな感じです。
どなたかご教示ください。m(_ _)m

88 :デフォルトの名無しさん:04/11/07 22:42:11
パレット考慮ならBufferedImageでインデックスカラー作ればいいじゃない

89 :デフォルトの名無しさん:04/11/07 22:43:20
Class.forName() はクラスのロード。
new はインスタンス化。
APIドキュメント読んだの?

90 :デフォルトの名無しさん:04/11/07 22:44:19
>>87
> とりあえず、使うクラスを切り替えたい場面でつかうんですよね?
おっしゃってることがよくわかりません。。。orz

91 :69:04/11/07 22:47:01
続けてすいません・・
mp3はできないことはわかったのですがwavファイルも流れなくて困っています
アプレットビューアーやPLUG-INを使えば流れるのですが
PLUG-IN使わずに普通にhtmlファイルをクリックしても反応しないです
表示のJavaコンソールから何が悪いかみると
NativeAudioStream: invalid file type.
NativeAudioStream: invalid file type.
って表示されます。
何が悪いか分かったらお願いします

92 :デフォルトの名無しさん:04/11/07 22:53:31
>>87
importとClass#forName()は全く関係ない。

>Class#forName(String hoge)
>はどういう働きと考えればいいのですか。

クラスをロードする働き。
静的初期化子 (static initializer)を持つクラスにのみ有効。

>new hoge();
>みたいな感じでしょうか?

違う。

>じゃあどうやってそのクラスの参照を得るんだよ!って分からなくなってます。

クライアントコードはそのクラスの参照は必要ない。間接的に必要なだけ。

>でも、大抵使っている場所は
>Class hoge = Class.forName("hoge");

JDBCドライバクラスはその静的初期化子の中で
java.sql.DriverManager#registerDriver(自身のDriverクラス)を呼び出す。
よってそのJDBCドライバクラスのロードが必要。そのためのClass#forName()


93 :73:04/11/07 22:54:01
>>89
API読みました。
http://www1.u-netsurf.ne.jp/~ysk-net/JRoom/Programming/theme3.html
ここに読むと、
Class#newInstance
でClassインスタンスのオブジェクトを実際のクラスのインスタンス化できると書いてあります。

じゃJDBCの
Class.forName("hoge");
DriverManeger.getConnection(hogege);
(例:http://www.hellohiro.com/jspdb.htm
のような記述は、クラスオブジェクトを生成(ロード)して、
そのstaticメソッドを実際のクラスのインスタンス化せずに呼んでいる。。

ロードするという意味が分かりにくい・・。
importするみたいなもんじゃないのかなぁ・・。
extendsかなぁ。
お願いします。m(_ _)m



94 :73:04/11/07 22:55:58
>>92
解説ありがとうございます。m(_ _)m
よく読んで噛み砕いてみます。
ありがとうございました。

95 :デフォルトの名無しさん:04/11/07 23:09:23
>>93
ロードは、クラスローダによってクラスオブジェクトがメモリ上にロードされること。
このとき、
static{
 hogehoge
}
が処理される。JDBCドライバはここに初期化処理を記述することになっているので
インスタンス化は不要で、クラスのロードのみでOKということになっている。

importはソースコード中でパッケージ名を省略できる、というソースコードの記述上の問題でしかない。extendsともClass.forName()とは何の関係もない。
基本文法から勉強し直せ。

96 :デフォルトの名無しさん:04/11/07 23:19:48
>>93 こんな感じ
import java.util.*;
public class ClassLoadTest {
private static List driverList = new ArrayList();
public static void registerDriver(Class driverClass) {
driverList.add(driverClass);
}
public static void main(String[] args) throws ClassNotFoundException {
System.out.println("---(1回目)ドライバ一覧");
for (int i = 0; i < driverList.size(); i++) System.out.println(driverList.get(i));
System.out.println("---(1回目)ここまで 全" + driverList.size() + "個");

Class.forName("TargetDriver");

System.out.println("---(2回目)ドライバ一覧");
for (int i = 0; i < driverList.size(); i++) System.out.println(driverList.get(i));
System.out.println("---(2回目)ここまで 全" + driverList.size() + "個");
}
}
class TargetDriver {
static {
System.out.println("★TargetDriverクラスがロードされた★");
ClassLoadTest.registerDriver(TargetDriver.class);
}
public TargetDriver() {
System.out.println("");
}
}


97 :デフォルトの名無しさん:04/11/07 23:20:21
>>95
ありがとうございます。
なんとなく分かりました。

基本文法をみなおします。(って俺SJC-P持っているんですけど(汗))

98 :デフォルトの名無しさん:04/11/07 23:26:46
>>97 によって、SJC-Pが何の意味も価値もない資格だと言うことが証明された

99 :93:04/11/07 23:27:59
>>96
なるほど〜(*´д`)
とにかくstaticイニシャライザが上手くやってくれるって事ですね。
いろんなソース見てみます。

100 :93:04/11/07 23:28:36
>>98
そういう台詞は取ってから言えや。

101 :96:04/11/07 23:29:12
>>98
そんなつまらんことで証明した気になるな。ボケが。


102 :96:04/11/07 23:30:25
SJC-Pに意味や価値があるかどうかはまた別の話

103 :93:04/11/07 23:37:18
まー。SJC-Pは本当勉強になるよ。いいと思うよ。
俺だって、importとか、extendsの意味は分かってるよ。
でもなー。「クラスのロード」というのを既存の概念で捉えようとすると、その辺が浮かんできただけなんだな。

ちなみに、ここのスレの質問の30〜40%はSJC-Pの受験をすれば解決できる質問が多い。
(文法的な質問多いからね)
自分が初心者だなーと思う人は受験をお奨めします。

104 :98:04/11/07 23:57:11
つーか、93のレベルで取れる資格なんだな、ということ。
まあ、俺のレベルで本とか雑誌の記事書いたり、講演したりできるんだけど。
Javaって簡単♪

105 :デフォルトの名無しさん:04/11/07 23:58:49
つーかこのレベルで資格取れるとか壮大なつりだったのでは?


106 :デフォルトの名無しさん:04/11/08 00:02:22
>>104
どんなレベルの試験にも意味があるんだから、別にバカにしなくても良いと思うよ。
原付免許には原付免許の、大型二種免許には大型二種免許の意義がある。
上のレベルを目指すのなら、SJC-Pをとってからさらに上を目指せば良いだけ。

いやまあ、正直SJC-Pって原付免許レベルなんだなという感想は得てしまったけど。

107 :デフォルトの名無しさん:04/11/08 00:03:08
すみません。
第一パラメータ URL名
第二パラメータ 出力ファイル名
で「指定したURLからファイル出力する」
といった感じのおソースを書いてるんですが、プロクシ超えができません。
プロクシ超えたい場合はどうしたらよいんでしょうか?
それともできんからあきらめれ、ってことでしょーか?
どなたかご教授お願いします。

108 :96:04/11/08 00:04:50
>>104-105
資格に対する認識が素人並。出直して来い。

資格を持っていることは「何でも知ってること」とは違う。


109 :デフォルトの名無しさん:04/11/08 00:08:05
資格なんてすべて知っていると判断できるわけはないだろうが
頻繁に使うであろう根本的なところがわかってないってどーなのかね

2種とかみたいに汎用的なものならともかく特定環境での資格なら特にね

110 :93:04/11/08 00:08:26
>>104-105
ちょっと待てYO(´∀`;
SJC-Pはエントリーポイントだよ。

俺はもうSJC-WCを受ける準備が終わりつつあるし。
SJC-Dの勉強もはじめてる。
ついでにXMLマスターの参考書も読んでる。

とりあえず実力あるんなら、来週の日曜にSJC-P取っちゃって、再来週にSJC-D取っちゃえよ。


111 :93:04/11/08 00:12:02
ちなみに俺は
SJC-P 83%合格だYO。
おまえなら95%以上はイケルだろうYO。

112 :デフォルトの名無しさん:04/11/08 00:16:48
あの、事情がありまして、同じクラス名で複数のクラスファイルをロードしたいのですが
(使う場所によって、同じクラス名でそれぞれの場所に適当なものとして利用したい)
クラスローダーの親とかを変えればこういう事できるでしょうか?
どなたか教えてください orz

113 :デフォルトの名無しさん:04/11/08 00:27:06
質問です。Sunのjavacで
StringBuffer s = new StringBuffer(str1 + int2 + str3);
をコンパイルしたら、気を利かしてこうなりますか?
StringBuffer s = new StringBuffer(str1).append(int2).append(str3);
あるいは
StringBuffer s = new StringBuffer().append(str1).append(int2).append(str3);

114 :93:04/11/08 00:27:38
おらー!悔しかったら、SJC-Pを来週の日曜に95%以上で合格してみろ。
言っとくが、おまえにゃ「絶対無理」

俺はSUNの公認プログラマーだぞ。コノヤロ−。
Sun Certified professionalだぞ。コノヤロ−。
アメリカからエアメールで認定書来たんだぞコノヤロ−。

わかったな。95%以上だぞ。あ?

115 :デフォルトの名無しさん:04/11/08 00:37:43
>>113
ならない

116 :デフォルトの名無しさん:04/11/08 00:37:49
SJC-P持っててもプログラムが組める人とは限らない
多少の知識あるんだなー程度としか思えない

117 :93:04/11/08 00:38:11
>>113
SJC-Pの試験範囲だよ。

118 :デフォルトの名無しさん:04/11/08 00:39:21
>>112
できる。実行時のclasspathを弄れ。


119 :96:04/11/08 00:41:15
どうも偽93が沸いてきてるな。面白くないから消えろ

120 :96:04/11/08 00:43:41
s/沸/湧/

121 :デフォルトの名無しさん:04/11/08 00:56:59
ActionListenerの働きと使い方がいまいちわかりません。
アクションイベント受け取るためのものなんですか・・・?

122 :デフォルトの名無しさん:04/11/08 00:57:38
>>116
でも、持ってる人と、持っていない人とで「越えられない壁」があるのは確かだよな。


123 :93(本物):04/11/08 01:02:15
>>121
http://www.asahi-net.or.jp/~dp8t-asm/java/tips/Event.html
ここを7回ぐらい読めば理解できるよ。

124 :デフォルトの名無しさん:04/11/08 01:07:38
>>123
ありがとうございます。
がんばります。


125 :デフォルトの名無しさん:04/11/08 01:09:18
アホの巣窟だな

126 :デフォルトの名無しさん:04/11/08 02:35:52
1.3のプログラムを1.4に移植しようとして困ってます。

下のようなプログラムで1.3だと、どのコンポーネントにフォーカスがあっても
thisでイベントが取れるんですが1.4だと取れません。

何らかの対策とかプロパティで設定とか必要なんでしょうか?
一応色々なサイトを調べてみましたが載ってなかったので。

ご教授よろしくお願いします。

public class Frame1 extends JFrame {
JPanel contentPane;
JButton jButton1 = new JButton();
JTextArea jTextArea1 = new JTextArea();
JTextPane jTextPane1 = new JTextPane();
JCheckBox jCheckBox1 = new JCheckBox();
JRadioButton jRadioButton1 = new JRadioButton();
・・・
//コンポーネントの初期化
private void jbInit() throws Exception {
・・・
this.addKeyListener(new java.awt.event.KeyAdapter(){
public void keyPressed(KeyEvent e) {
System.out.println("keyPressed");
}
});
・・・
}
}

127 :69:04/11/08 03:49:18
すいません。いくらやってもwavファイルやmidiファイルが読み込めません.アプレットビューアーでやればできるのですが

import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.*;
import java.awt.event.*;
import java.lang.Runnable;
import java.lang.*;
/*
<APPLET
CODE=Hit.class
WIDTH=500
HEIGHT=300>
</APPLET>
*/



128 :69:04/11/08 03:50:53
public class Hit extends Applet implements Runnable
{
Image image1,image2,image3,image4,image5,image6,image7,image8, Image9,image10,image11,image12,image13,image14,image15;
Image offs;
AudioClip au1,au2,au3,au4,au5,au6;
Graphics grf;
Dimension d;
MediaTracker mt;
Thread kicker1=null;

public void init(){
d=getSize();
offs=createImage(d.width,d.height);
grf=offs.getGraphics();
au1=getAudioClip(getDocumentBase(),"cranp3.au");
au2=getAudioClip(getDocumentBase(),"cranp3.midi");
mt= new MediaTracker(this);
}

129 :69:04/11/08 03:52:12
public void start(){
if(kicker1==null){
kicker1=new Thread(this);
kicker1.start();
}
au1.loop();
}
public void stop(){
kicker1=null;
if(au1!=null){
au1.stop();
}
}
public void run(){
au1.loop();
}
・・・・・
}


130 :デフォルトの名無しさん:04/11/08 04:31:41
>>69
MSのVMはAUしか鳴らせなかった気がする

131 :デフォルトの名無しさん:04/11/08 04:55:47
もとSUNのプログラマです。
周りでSJC-Pなんて取ってるやついませんでしたよ。
受かって当然くらいの空気?理解してなきゃ仕事できませんし。
取ったからといって仕事ができるようになるわけでもなく、受けるだけ無駄というわけです。
# 給料も変わらんし (;´Д⊂)

ちなみにクラスのロードってのは、分かりにくければクラスそのものを
表現するインスタンスを作るみたいな認識でいいと思う。(一種のSingleton?)
そのインスタンスのみが、staticの付いた変数とか、メソッドかを扱うんだ、みたいに。

JMが初めて、あるクラスのインスタンスを作るときには実際に作るインスタンスの前に
このクラスインスタンスをつくる(もしまだ作られてなければ)と考えれば理解しやすいはずだ。

132 :デフォルトの名無しさん:04/11/08 05:59:47
つまりました、誰か教えてください。
Runnableを実装して、アニメーションを作ろうと思いました。
それで以下のように、途中で違う関数にアニメーションをさ
ようかと思ったのですが、プログラムが暴走してしまいます。
なぜでしょうか?

public void run() {
while(true) {

SwingUtilities.invokeLater(new Runnable() {
public void run() {
AnimationLoop ();
repaint();
}
});
/*try {THREAD.sleep(10);}
catch(Exception err) {}*/←これはあっても無くても・・・
}
}

private void AnimationLoop () {
int frame = 80;
while(frame>=0) {
frame--;
try {THREAD.sleep(10);}
catch(Exception err) {}
}
}



133 :132:04/11/08 06:02:47
すみません、張り直しです。
つまりました、誰か教えてください。
Runnableを実装して、アニメーションを作ろうと思いました。
それで以下のように、途中で違う関数にアニメーションをさ
ようかと思ったのですが、プログラムが暴走してしまいます。
なぜでしょうか?

public void run() {
while(true) {

SwingUtilities.invokeLater(new Runnable() {
public void run() {
AnimationLoop ();
repaint();
}
});
/*try {THREAD.sleep(10);}
catch(Exception err) {}*/←これはあっても無くても・・・
}
}

private void AnimationLoop () {
int frame = 80;
while(frame>=0) {
frame--;
try { THREAD.sleep(10); }
catch(Exception err) {}
}
}


134 :133:04/11/08 06:04:24
_| ̄|○字下げが全角じゃないと出来ないようで、すみません。

135 :デフォルトの名無しさん:04/11/08 06:09:09
try {

} catch (Exception err) { err.printStacktrace(); }
}
errにもちょっと詳しく聞いたほうがいいよ

136 :133:04/11/08 06:14:43
>>135
すみません、エラーは出ないんですよ。

137 :133:04/11/08 07:13:00
SwingUtilities.invokeLater();の外側にアニメーションのループを
出すことで解決しると思います。ありがとうございました。

138 :デフォルトの名無しさん:04/11/08 07:32:09
外出していいのかよ!!!!
特にそこに置いてる意味ねーのか!!

とにかくそのコード見てもわからない、それどうやって終了するの?

139 :デフォルトの名無しさん:04/11/08 09:35:50
>>107
javaの実行時引数になにか渡せば良かったはず。
5分調べてみて見つからなかった。自分で探してみてください。

140 :デフォルトの名無しさん:04/11/08 10:21:43
実行時引数というよりもプロパティの定義だな。

141 :69:04/11/08 11:24:02
>130
そうなんですか・・・・
ありがとうございます。

wavからauに変えると音質やばいっすね・・・・

142 :デフォルトの名無しさん:04/11/08 11:36:56
MSVM捨てたら?

今のマシンはMSVMはいってないし、新規に落として入れることももはや不可能
かわりにメーカー製にはSunのがはいってるよ

143 :69:04/11/08 11:44:40
>142
それ本当ですか
ということは自分の方でもMSVMじゃなくSUNの起動させるということは・・・・
.wavも.midiも動くことになりますね

今のマシンっていうとどの時期ぐらいからとかって分かりますか?

144 :デフォルトの名無しさん:04/11/08 11:48:39
>>143
全てのマシンの状況を把握するなんて不可能だから、素直に
htmlconverter使ってSunのJavaPluginが自動インストール
されるようにしたほうが早い。

145 :デフォルトの名無しさん:04/11/08 11:59:37
>>110
俺はSJC-Dを取るのに一年かかったよ。
まあ>>98樣のような大天才なら二週間で取れるかもしれんな。


146 :デフォルトの名無しさん:04/11/08 12:05:13
>>107
-DproxySet=true -DproxyHost=ほげほげ -DproxyPort=ふーばー
だったはず。

147 :69:04/11/08 12:18:06
>144
ざっと調べた感じだとhtmlconverterってのを使うとJava PLUGINが自動的に使われるみたいですね。
これでwavもなんとかなりそうです。
ありがとうございます

148 :93:04/11/08 12:21:23
>>131
サンクスです。
すごくよく分かりました。


149 :デフォルトの名無しさん:04/11/08 13:31:10
double daburu = <いろいろ小数点が入る>

BigDecimal bd = new BigDecimal(daburu);
bd.setScale(0, BigDecimal.ROUND_HALF_UP);
String sisyagonyu = bd.toString();


これでdaburuの小数点第1位を四捨五入した結果の
整数値が変数sisyagonyuに入ると思うのですが、
なぜか四捨五入されずにそのままでした・・・。

なんでだろ教えてください。

150 :デフォルトの名無しさん:04/11/08 14:16:33
アプレットでスレッドを動かしながらイベント処理を行うにはどうしたらいいですか?
RunnableとKeyListenerインターフェースを実装してやってみましたが
上手くいきません。具体的には↓のようなプログラムを動かしたいのですが
http://members.jcom.home.ne.jp/exceler/Test0_02.java

151 :デフォルトの名無しさん:04/11/08 14:44:22
なんか前スレのヤツとか>>132とか>>150とか
Thread.sleep(10)な質問が続いてるが、最近はやってるのか?

152 :デフォルトの名無しさん:04/11/08 15:28:29
>149
String.valueOf(Math.round(<いろいろ小数点>));

>150
スレッド開始した瞬間に while(flag){ が偽になってスレッド終了するだろそれ。

153 :超初心者:04/11/08 16:08:22
突然すみません。
javaでIアプリを作れと言われました。締め切りは2月末。
当方、まったくjavaは触ったことがなく、どういった学習をすればいいのか分かりません。
しかもブロック崩しのプログラムを組んで来いと言われました。
まったく無知の状態から2月末までにつくれますか?

154 :150:04/11/08 16:11:42
>>152
ありがとうございます。
アホだなオレ_| ̄|○

155 :デフォルトの名無しさん:04/11/08 16:51:49
>>153
まずしっている言語がなにか、ブロック崩し自体は他の言語で余裕で作れるのか
そういったところから情報だしてもらわんとな

それにiアプリのスレが他にあるしゲーム関連も他の板だ


156 :超初心者:04/11/08 17:01:07
>>155
レスありがとうございます。知ってる言語はC言語のみです。後はHTMLとか・・・
Cもそんなに知識はないです。

もっと自分で情報を集めてきます。ありがとうございました

157 :デフォルトの名無しさん:04/11/08 18:41:43
ある Frame(XFrame) があり、その中で KeyAdapter(XKeyAdapter) を
内部的に定義したとします。
そして、その XKeyAdapter のメソッドから WindowEvent を生成して、
XFrame 自身にディスパッチしようと思ったんですが、

class XFrame extend Frame {
 class XKeyAdapter extends KeyAdapter {
  void dispach() { dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_XXX)); }
 }
}

と書くと、ここの this は XKeyAdapter を指してしまって、
肝心の XFrame を表す this は名前が隠蔽されてしまってしまいます。
これについてはシステムイベントキューに登録するとかすれば、
片が着くのでしょうが、何か釈然としません。

ある内部クラスから、一つ外のクラスの this を習得する良い方法は
Java には用意されていないんですか?
(もちろん、XFrame 内にそれ用のフィールドなりメソッドなりを
別名で作れば解決でしょうが、それは余りに「不細工」というものでは?)


158 :デフォルトの名無しさん:04/11/08 19:08:32
アルファベットと数字、英記号の
半角と全角を変換できるライブラリってありませんか?

159 :デフォルトの名無しさん:04/11/08 19:26:49
>>157
thisではなくXFrame.thisというきしょい記法で参照できる

160 :157:04/11/08 19:28:33
>>159
どうも。
勉強になりました。


161 :デフォルトの名無しさん:04/11/08 19:29:43
>158
ちょっとはその鈍い頭を働かせたらどうかね。
Mapに入れるほど候補多くないのでこれで。

public class Test {

private static final String h = "0123456789abc(略)", z = "0123456789abc(略)";

public static String h2z(String s){
char[] a = s.toCharArray();
for(int i=0; i<a.length; i++){
int p;
if((p = h.indexOf(a[i])) >= 0){
a[i] = z.charAt(p);
}
}
return new String(a);
}

public static void main(String[] args){
System.out.println(h2z("ほげ123ほげ"));
}
}


162 :デフォルトの名無しさん:04/11/08 19:44:39
    _  ∩
  ( ゚∀゚)彡 高校生!高校生!
  (  ⊂彡
   |   | 
   し ⌒J


163 :デフォルトの名無しさん:04/11/08 20:17:21
>>158
ICU4J

164 :158:04/11/08 20:26:46
>>163
どうもありがとうございました。
早速活用させていただきます。

165 :デフォルトの名無しさん:04/11/08 21:22:19
JAVAで簡単なゲームを作ろうと思っています。
初心者の自分でも、手軽にできるものはないでしょうか?

166 :58:04/11/08 21:27:18
色々と自分で調べたのですが、
どうもsetCursorが未定義というエラーがでているようです。
java.awt.Cursorはimportしているのですがエラーがでます。
どのように定義すればよいのでしょうか?

167 :デフォルトの名無しさん:04/11/08 21:28:24
>>165
数あてゲーム。
ジャンケンゲーム。
○×ゲーム。

168 :デフォルトの名無しさん:04/11/08 21:37:48
import java.applet.*;
import java.awt.Graphics;

public class hivision extends Applet{
public void paint(Graphics g){
g.drawRect(20,10,200,100);
g.drawString("Hello,World",100,50);
}
}
---------------------------------
このプログラムはコンパイルは通るんですけど
IEでみようとすると
load: class hivision not found
とでて出力されないのですがどうすればいいのでしょうか?
htmlファイルもclassファイルも同じところにあるのですが・・・

169 :デフォルトの名無しさん:04/11/08 22:21:54
>>107

url = new URL("http", proxy, proxy_port, target_url);

これでプロキシを通してGETできたと思う

170 :きゃずお:04/11/08 22:32:06
ターミナル(コマンドプロンプトなど)でhivision.javaをコンパイルしていれば
表示されるはず。
ターミナル上でappletviewer hivision.htmlで実行して確認してみては。


ちなみにhtmlファイルは以下の感じで良いと思う。
<HTML>
<BODY>
<APPLET CODE = "hivision.class" WIDTH = 300 HEIGHT = 200>
</APPLET>
</BODY>
</HTML>

171 :きゃずお:04/11/08 22:33:02
170>>
168の返答です。

172 :きゃずお:04/11/08 22:35:11
170>>
168の返答です。

173 :きゃずお:04/11/08 22:35:52
>>170
168の返答です。


174 :デフォルトの名無しさん:04/11/08 22:51:12
>>170
ありがとうございます。

appletviewewで表示されたのはいいのですが
IEで表示させるにはAPPLETタグ使わずに
別なタグで直接入力する以外に方法がないのでしょうか?

175 :デフォルトの名無しさん:04/11/08 22:53:26
>>174 >>144

176 :デフォルトの名無しさん:04/11/08 23:04:34
>>175
どうもです。

177 :デフォルトの名無しさん:04/11/08 23:09:24
質問です
import java.awt.*;
public class test extends Frame {
TextField txt_1;
public static void main(String arg[]){
MyFrame f = new MyFrame("f-window");
MyFrame g = new MyFrame("g-window",200,100);
f.haichi("Hello First");
f.show();
g.haichi("Hello Second");
g.show();
}
public MyFrame(String title){
super(title);
setsize(400,150);
}
public MyFrame(String title,int width,int height){
super(title);
setsize(width,height);
setBackground(color.black);
setForeground(color.white);
}
void haichi(String s){
setLayout(new FlowLayout());
txt_1 = newTextField(s);
add(txt_1);
Label lbl = new Label("world");
add(lbl);
}
}


178 :デフォルトの名無しさん:04/11/08 23:09:53
課題で上のフレームを作れと課題が出たのですが、これをコンパイルしようとすると、
public MyFrame(String title)と
public MyFrame(String title,int width,int height)に
「戻り値の型が必要です」と言われます。正直まったく?なんですが、どこを修正すればいいでしょうか?


179 :デフォルトの名無しさん:04/11/08 23:18:50
>>178
public class MyFrame extends Frame {

じゃないのか?

180 :デフォルトの名無しさん:04/11/08 23:20:26
むは事故解決
public class MyFrame extends Frame にしてなかった

181 :デフォルトの名無しさん:04/11/08 23:21:09
>>179
リロードしてませんでした。
ありがとうございます。

182 :デフォルトの名無しさん:04/11/08 23:29:20
「/8222は不正な文字です」ってでるんですが、これはどういう文字なんでしょうか?

183 :デフォルトの名無しさん:04/11/08 23:48:33
>>182
/ (スラッシュ)じゃなくて、バックスラッシュだろう?
日本語フォントだと\になってしまうが。
\8222 は全角空白。ソースコード中に全角空白が含まれてないか?
秀丸とかTeraPadのようなテキストエディタを使っているなら
全角空白が表示されるように設定汁。
EclipseなどのIDEならソースコードエディタに警告が出るはず。
メモ帳なんか使うな。メモ帳なんか使うとこういうつまらんミスでつまずく。

184 :デフォルトの名無しさん:04/11/09 00:19:59
IMEの設定の時点で全角空白を入力できなくしてしまえ。

185 :デフォルトの名無しさん:04/11/09 00:20:24
このプログラムで
Hello World!!の出力文字を変更して
mainメソッドにmathlibを1つ使う部分を追加したいのですが
例えばどんなものがあるのですか?

class Hello {
public static void main (String[] args) {
System.out.println("Hello, world!!");
}
}


186 :デフォルトの名無しさん:04/11/09 01:19:04
>>185
Java!宿題!
http://pc5.2ch.net/test/read.cgi/tech/1096959843/

187 :デフォルトの名無しさん:04/11/09 01:54:10
0から255の実数値を格納した配列をグレースケールの画像として出力したいのですが、
数値から画像への扱いがよくわかりません。
pixelgrabberを使えばImageのピクセル毎にARGBの数値として扱えますが、
逆の手順でInt配列からImageを作成するにはどうすればよいでしょうか。
ご助言宜しくお願いします。

188 :デフォルトの名無しさん:04/11/09 02:54:27
そのクラスのsetPixels()は使えないのでしょうか?

189 :デフォルトの名無しさん:04/11/09 04:20:45
大文字と小文字の区別もつかないくらいだからきっとバカなんだよ

190 :デフォルトの名無しさん:04/11/09 05:03:19
public class Nanoha extends Lyrical {
  JewelSeed _seed;
  public void seal(RaisingHerat rs) {
     _seed.add(rs.getSeed());
  }
  public Attack reviseSield(RaisingHeart rs) {
  }
}

class RaisingHerat extends MagicalStick {
}

191 :デフォルトの名無しさん:04/11/09 05:51:23
文字列を検索してその文字の次から指定文字数を抜き出すには
どうしたらいいのでしょう?
m01c45という文字列なのですが
その(45)を抜き出したいのです。
indexOfで"c"は取り出せるのですが・・・
"c"の次から二文字です

192 :デフォルトの名無しさん:04/11/09 06:18:44
>>191
String.substring
てかindexOfまで分かってて何故分からないのか疑問だ

193 :デフォルトの名無しさん:04/11/09 14:21:38
APIリファレンスの存在を知らない人が多いのか。

194 :デフォルトの名無しさん:04/11/09 14:33:49
どうでもいいが日本語版APIリファレンスの場所はわかりにくすぎ。
ナビゲーション悪いよsun

195 :デフォルトの名無しさん:04/11/09 16:47:07
ひどいよSUNのページ
jdkの最新版が何処にあるのかすらわからん

196 :デフォルトの名無しさん:04/11/09 17:09:14
System.outされた内容を、最後にまとめてJavaMailにてメール送信したいのですが、
出力をバッファリングする方法が分かりません。
ご助言のほど、よろしくお願いします。

PHPでは、以下のような処理になります。

ob_start(); //出力のバッファリング開始
処理を実行
$mailBody = ob_get_contents(); //バッファリングされた内容をget
$mailBodyをメール送信

197 :デフォルトの名無しさん:04/11/09 17:43:01
出力をため込むPrintStreamを作って
java.lang.System#setOut(PrintStream)
すればよいんでわ

198 :JNI:04/11/09 17:54:33
JNIEXPORT void JNICALL Java_com_nissha_common_Dutil_DInvalidateRectangle (JNIEnv *env, jclass cl, jint x1, jint y1, jint x2, jint y2){
RECT rc;
rc.left = x1;
rc.top = y1;
rc.bottom = x2;
rc.right = y2;
InvalidateRect(0, &rc, FALSE);
}

JNIにて、上記のメソッド呼んでます。
引数で指定した長方形領域以外の部分も再描画されてしまいます。
なんででしょうか?

199 :デフォルトの名無しさん:04/11/09 18:16:59
>190
ネタとしてはともかく、純粋にJavaのコードとしてもいくつか突っ込みたいのだが
いかんせんクラスがクラスだけに、突っ込むとヒワイになるので止めておく。
# つかなのはたんハァハァ


200 :デフォルトの名無しさん:04/11/09 19:00:53
>>914
サンHPは、わざと分かりにくい構成にして、フォントもわざと小さくしてる。
人をなるべくはじく為に


201 :デフォルトの名無しさん:04/11/09 19:06:12
>>198
当たり前だのクラッカー
です。

202 :デフォルトの名無しさん:04/11/09 20:40:00
solaris8でjavaからcのモジュールを呼んでるんですが、
コード変換について教えて下さい。

-----java側(test.java)
String[] strExec = new String[2];
strExec[0] = new String("test");    // cモジュール名
strExec[1] = new String("テスト");   // パラメタ
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(strExec);

---c側(test.c)
printf("%s", argv[1]);

こうすると、文字化けせずに「テスト」と表示されます。
java内部ではUTF-8だと思うんですが、最後はEUCになっているはずですよね?
この場合、cモジュールを呼出しした時点で、自動的にコード変換がかかっているんでしょうか?

203 :デフォルトの名無しさん:04/11/09 22:27:59
こんばんは、よろしくおねがいします。
JToggleButton bu = new JToggleButton("a",true);
JToggleButton bu2 = new JToggleButton("b",false);
JToolBar jtoolbar = new JToolBar();
jtoolbar.add(bu);
jtoolbar.add(bu2);

ButtonGroup bg = new ButtonGroup();
bg.add(bu);
bg.add(bu2);

このようにすると、どちらかを選択してるとき、他方は、選択できないようになりましたが、こんどは、選択されている時の状態を、収得したいのです。

ButtonModel のisSelected メソッドを使えばいいのかと思うのですが、
ButtonModel が、どこに、引っ付くのかが分かりません。
ので、よろしくおねがいします。

204 :196:04/11/09 22:29:49
>>197
ありがとうございます。解決いたしました。

public class Test {
public static void main(String[] args) {
PrintStream oldPS = new PrintStream(System.out);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
System.setOut(new PrintStream(baos));

System.out.println("test");

String msg = baos.toString();
System.setOut(oldPS);
System.out.println(msg);
}
}

205 :デフォルトの名無しさん:04/11/09 22:46:57
>>203
button.isSelected();
でいいのではないですか?

206 :デフォルトの名無しさん:04/11/09 23:05:13
以下の課題を C, C++, Java, Smalltalk のどれかの言語を使って作りなさい。 なお、Smalltalk は標準入出力がないので、適宜入出力の仕様を付加しなさい。

注意: どちらも Windows の API は使用しないで作って下さい。
課題1
標準入力からテキストファイルを読み込み、 行を短い順に出力しなさい。 但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い 出力し、空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力 した出力と、 http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、最後の 5 行を示しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに依存 しなければなりません。 勝手な上限を設けてはいけません。


207 :デフォルトの名無しさん:04/11/09 23:05:29
>>205
ありがとうございます。
それでできました。
はじめから、ButtonModelってついてるのかな。
ちょっと、理解できないですが、
またいろいろ問題あって、またよろしくおねがいします。

208 :デフォルトの名無しさん:04/11/09 23:08:53
>>206
宿題は宿題スレへ。
http://pc5.2ch.net/test/read.cgi/tech/1096959843/

209 :126:04/11/09 23:18:28
誰も答えてくれないorz

210 :デフォルトの名無しさん:04/11/09 23:26:53
>>202
ソースファイルがEUCだからなんじゃない?
Windowsで動かすと化けると思うよ。

211 :デフォルトの名無しさん:04/11/09 23:31:53
>>126
全部のコンポーネントにaddKeyListenerしとけ。

212 :デフォルトの名無しさん:04/11/09 23:35:29
>>210
いや、んなこたないよ
classファイルに書き込まれるのはユニコードでしょ

>>202
Runtime#exec()が引数のStringを変換してから
ネイティブのプロセスを呼んでるのかと。
System.out.println()とかと同じでしょ

213 :126:04/11/09 23:49:43
やっぱりそれしかないか。
2000個のコンポーネントはキツイなあorz

214 :デフォルトの名無しさん:04/11/10 01:08:11
>>126
GlassPaneでイベント受ければ?

215 :デフォルトの名無しさん:04/11/10 01:36:01
KeyEventってClassPaneで受けられるのか?

216 :デフォルトの名無しさん:04/11/10 01:36:07
>>126
こんなの使うとどうかね?
public class MyFocusManager extends DefaultFocusManager {
public void processKeyEvent(Component focusedComponent, KeyEvent e) {
if (キーが処理された) {
e.consume();
} else {
super.processKeyEvent(focusedComponent, e);
}
}


217 :デフォルトの名無しさん:04/11/10 01:44:38
>>207
ボタンをつくると勝手につくられて勝手に使われるんじゃないですか?
getModel()とかsetModel()といったメソッドも使えるみたいですが、
ボタンから使われることを想定しているんじゃないでしょうか。
ややこしくなるだけだし。

って言うか、APIリファレンス使うのじゃ。

218 :214:04/11/10 02:19:17
>>215
試してみたらとれなかったorz
知らんかったっとんてんちんとんしゃん

219 :デフォルトの名無しさん:04/11/10 03:32:11
Eclipse利用してるんですが、

src/actionsのファイルをコンパイルするのにsrc/beansのクラ
スのクラスが必要なんですが、/src/beansのクラスを認識して
くれません。

プロジェクト→プロパティーの「Javaのビルドパス」に
src/beansも追加してみましたが、結果は変わりません。

仕方ないので、import beans;を消して/src/actionsにコピーし
て利用しているのですが、そんなことせずにビルドできる設定
をするにはどうすればいいでしょうか?よろしくお願いします。


220 :デフォルトの名無しさん:04/11/10 03:38:15
パッケージがbeansならビルドパスに追加すべきは/src/beansじゃなく/srcだろがボケ。

221 :219:04/11/10 04:06:06
すいません。説明が足りませんでした。

Tomcat使っていて、WEB-INF/srcの下にbeansやactionsがあります。
で、WEB-INF/srcはビルドパスに追加されてたんですが、それでダメ
だったので、beansを包含フィルターに追加してみたってことです。

なんか根本的に勘違いしてたらご指摘お願いします。


222 :デフォルトの名無しさん:04/11/10 04:10:07
sessionに渡した自作のクラスのオブジェクトを
getAttributeで取得はできるんですが、キャスト
したらClassCastExceptionが出てきます。

一応、そのクラスはimplements Serializableし
てあります。考えられる理由はなんでしょう?


223 :222:04/11/10 04:33:50
自己レスです。Tomcat再起動したらできました。ごめんなさい。

224 :デフォルトの名無しさん:04/11/10 09:15:29
>>219
ビルドパスとソースフォルダは別物。
javacの-sourcepathと-classpathの違いみたいなもんだね。

225 :デフォルトの名無しさん:04/11/10 10:24:51
>210
>212
やっぱりそう考えるのが妥当でしょうか。
ありがとうございました。

226 :デフォルトの名無しさん:04/11/10 10:35:30
教えてください。
JAVAアプリケーションを開発しています。

JTextFieldの操作が出来る状態を保ちつつ、TABキーで
フォーカスが移動しないようにしたいのですが、可能でしょうか。
(キーボードでのフォーカス移動は出来ないが、マウスでの
フォーカス移動は出来るイメージです)

focusableをfalseに設定すると、フォーカスも飛ばないが、全く
操作出来ない状態となってしまいました。

どなたかご教授お願いいたします。

227 :デフォルトの名無しさん:04/11/10 12:13:23
>>226
InputMapを取ってきて(何種類か取れるけどどれなのかよく分からん)、
allKeysでKeyStroke[]を得て、TABを含むものをremoveする。

かな。


228 :デフォルトの名無しさん:04/11/10 12:28:40
java の演算子 + って数値の和と文字列の結合の2つの意味をもっていますけど、
演算子の優先順位って違うんですか?

229 :デフォルトの名無しさん:04/11/10 15:07:37
>>228
数値の和 > 文字列の結合
のような気がします。例えば、
int i = 2; int j = 5;
String s = "回目です。"
System.out.println(2+5+s);
とかすると、7回目ですって表示される気がします。

230 :デフォルトの名無しさん:04/11/10 15:10:48
サーバーの負荷によってwebページ内のリンク先を動的に変えることって可能でしょうか?
何か良い方法があったら教えてください。

231 :デフォルトの名無しさん:04/11/10 15:13:44
>>229
i+jだったよ・・・orz
これでも同じだけど、じゃあiとjはなんだったんだと・・・

232 :229:04/11/10 15:16:44
>>228
すまない。同じだったようだ。
数値の和 = 文字列の結合
単に前から順番にくっついていっただけみたいだ。
System.out.println("test"+2+5);
にしたら"test25"って表示されたよ・・

233 :デフォルトの名無しさん:04/11/10 18:17:28
J2EEのサンプルのdeployでエラーが出ます。
スタートメニューから
・Start Default Server
・Start PointBase
を起動して、
deploytoolでsamples\blueprints\petstore1.4の
petstore.earを開いてDeployすると次のエラーが出ました。

----------------------------------------------------------------------
distribute: D:\j2ee1.4\samples\blueprints\petstore1.4\petstore.ear
ERROR - Deployment failed - null

!!! Operation Failed !!!

**********************************************************************
[Completed (time=3.9sec, status=13)]
**********************************************************************

Windows 2000
J2SE 1.4.2_05
J2EE 1.4
です。
おねがいします。


234 :デフォルトの名無しさん:04/11/10 18:25:08
超図解Java入門という本を買って0から勉強し始めたのですが
環境変数の設定の項目でCLASSPATH、JAVA_HOMEついて一切書いてありません
初心者サイトでは触れてるとこもありました
サイト、本により設定のしかたがまちまちなのですが
どのように設定すればいいのでしょうか?


235 :デフォルトの名無しさん:04/11/10 18:33:02
>>234
OSは?
まちまちって具体的にどう?
Windows 2000ならシステムのプロパティーで
「詳細」の「環境変数」のところで設定できるけど。
他のOSはシラネ


236 :デフォルトの名無しさん:04/11/10 18:38:42
NT/2000/XPなどのNT系なら>>235
95/98/MEなどの9x系ならC:\AUTOEXEC.bat

Linux, UNIXは知らね

237 :デフォルトの名無しさん:04/11/10 18:44:14
Linuxはetc/profileを編集。
export Path=インストールディレクトリ

238 :デフォルトの名無しさん:04/11/10 18:46:28
Graphics2Dを使って画像を扱おうと思うのですが
画像を引き伸ばすにはどのようにすれば良いのでしょうか?

239 :デフォルトの名無しさん:04/11/10 18:46:34
>>216
すみません。
実装の仕方が良くわかりません。
簡単なサンプルお願いします(TдT)

240 :デフォルトの名無しさん:04/11/10 18:51:51
234です235さん236さんレスありがとうございます
OSはXPです環境変数の設定のところで
ユーザー環境変数、システム環境変数のPATHのところに
C:\j2sdk1.4.2_05\binを追加しました
手元の本ではシステム環境に追加、初心者サイトではユーザー環境に追加となってました
両方に追加してみたのですがこれでいいのでしょうか?




241 :デフォルトの名無しさん:04/11/10 19:02:56
犯罪予告きたーーーーーーーー

http://news17.2ch.net/test/read.cgi/news2/1099581988/726

242 :デフォルトの名無しさん:04/11/10 19:13:08
>>239
>>216じゃないけど↓を入れたら動いた
FocusManager.setCurrentManager(new MyFocusManager());

243 :デフォルトの名無しさん:04/11/10 19:26:48
>>230
JMXを使って鯖の負荷状況を監視するのはどうです?

>>238 手元のコードからコピペ。変数の意味は心の目で読みとって。
BufferedImage bufimg = ImageIO.read(conn.getInputStream());
Image scaledImage = bufimg.getScaledInstance(tnSize.x,tnSize.y, Image.SCALE_SMOOTH);
BufferedImage outImg = new BufferedImage(tnSize.x,tnSize.y, BufferedImage.TYPE_INT_RGB);
outImg.getGraphics().drawImage(scaledImage, 0, 0, null);
ImageIO.write(outImg, "JPEG", out);


244 :デフォルトの名無しさん:04/11/10 21:04:03
JDK1.5がダウンロードできません。

245 :58 166:04/11/10 21:56:09
マウスカーソルの形状の変更についての質問です。

Java1.4 APIのsetCursorの部分に

1.カーソルイメージを指定されたカーソルに設定
2.このカーソルイメージは、このコンポーネントのcontainsメソッドか
 現在のカーソル位置に対してtrueを返し、このコンポーネントが
 可視表示可能で使用可能である場合に表示。
3.Containerのカーソルを設定すると、コンテナの全てのサブコンポーネント
でそのカーソルが表示。ただし、null以外のカーソルを使用している
サブコンポーネントでは表示されない。

と書いてあります。
2のコンポーネントが可視表示可能、使用可能かどうかを調べるには
どのようにすればよいのでしょうか?

246 :デフォルトの名無しさん:04/11/10 21:58:38
>>245
Component#isDisplayable()
で調べる

247 :デフォルトの名無しさん:04/11/10 22:00:28
API仕様書日本語版を入手したいのですが、購入しかないのでしょうか?
昔はSunのサイトでDLできたみたいですが、今は英語版しか置いてないようで。
若しくは、Webのディレクトリ構造ごとDLできるTool.があれば教えていただきたく、
色々試してみましたがどうもうまくいかず、よろしくお願いします。

248 :デフォルトの名無しさん:04/11/10 22:06:12
>247
分かりにくいがうろうろしてれば1.4の日本語ドキュメント一式は拾えた……はず。
/** って20年前のアドベンチャーゲームのトリックかよ? orz */

249 :デフォルトの名無しさん:04/11/10 22:07:25
>>247
確かまだあると思います。
SUNのサイトは、わざと分かりにく構成にして、人をはじいてますので
よく探してみてください。
マイクロソフトは、本当に初学者にも丁寧で、分かりやすい説明&構成
なのですけどね。


250 :248:04/11/10 22:09:08
あ、あったあった
ttp://java.sun.com/j2se/1.4.2/ja/download.html
ここ。

251 :58 166:04/11/10 22:12:20
>>246
ありがどうございます。
isDisplayable() 表示可能かどうか
isEnabled()   使用可能かどうか
ですね。両方trueでした。
カーソルの形状変わらない・・・


252 :デフォルトの名無しさん:04/11/10 22:17:27
>>251
どのコンポーネントを対象にして、マウスカーソルを変更させようと
してるのですか?
コンポーネントのクラス名を書いてください。

253 :247:04/11/10 22:33:55
>>248、249殿
有難うございます。
自分もこのページには到達していたんですが、
どうやらDLするファイルを下の英語版しか指定していなかったようで・・・。
かなりバカな事してましたね。
本当に有難うございました。

254 :58 166:04/11/10 22:51:18
>>252
対象のコンポーネントはJLabelです。
JLabelに画像をつけてアイコンとし、アイコン上にマウスカーソルを
移動するとカーソルの形状を変更するプログラムです。

255 :デフォルトの名無しさん:04/11/10 23:33:19
>>243
ありがとう。がんばってみる。

もひとつ画像関連で質問なのですが
レイヤーのスプライトような重ね掛けをするためのクラスってありますか?
FlashでいうMovieClipのようなカラクリを実装したいのですが。

256 :デフォルトの名無しさん:04/11/10 23:33:56
×レイヤーのスプライトような
○レイヤーやスプライトような


257 :デフォルトの名無しさん:04/11/11 01:44:53
>>254
こちらでは普通にできましたが。。。

258 :デフォルトの名無しさん:04/11/11 03:12:39
Javaアプレットを制作中です.
アプレットのあるディレクトリの下に,サブディレクトリを置いてアイコン
などを入れているのですが,サンドボックスの関係?か,何かで読み込めま
せん.eclipseでアプレットビューアーを起動すると動きます.
ブラウザなどで起動すると上手くいかないのです.どのように解決したら
よいでしょうか?


259 :デフォルトの名無しさん:04/11/11 03:27:02
APIを探すのにSUN内を探すよりぐぐる方が早い
j2se api ja
j2ee api ja でぐぐれ

260 :デフォルトの名無しさん:04/11/11 06:00:07
Javaのメーリングリストに入りたいんですが,どこがいいでしょう?
ttp://java-house.jp/ml/
ここに入らせてーってメイルを送ったのですが,3週間ほど音沙汰なし…orz

261 :デフォルトの名無しさん:04/11/11 07:23:21
>>258
URL url = this.getClass().getClassLoader().getResource("image/icon.gif");
System.out.println(url);  // ←確認用、消しても良い
Image icon = getImage(url);

これで「ローカルファイ」ではなく「リソース」として読み込めると思う。パッケージ指定してるなら
Java コンソールに表示された URL みて 1 行目を書き換えてみるといい。これでだめなら
ローカルの HTML 表示じゃなくてサーバに乗せて http://〜 でアクセスするとうまくロード
できると思われ

>>260
ここで聞いてみるといいかも。俺も今どういう状況なのかわからん。
http://pc5.2ch.net/test/read.cgi/prog/1086129873/

262 :126:04/11/11 11:06:09
>>216,242様
出来ました。
何でこうなるのか分からない所は沢山ありますが。

まずは(TдT) アリガトウゴザマス

263 :デフォルトの名無しさん:04/11/11 16:23:26
今は以下のように色を一つ一つ指定しています。
配列ごとまとめて制御するにはどうすればいいのでしょうか?

Point3d[] vertex = new Point3d[6];
vertex[0] = new Point3d(-0.7, -0.1, -0.4);
//省略
vertex[5] = new Point3d(-0.6, 0.6, 0.0);

LineArray geometry = new LineArray(vertex.length,
GeometryArray.COORDINATES | GeometryArray.COLOR_3);
geometry.setCoordinates(0, vertex);

geometry.setColor(0, new Color3f(Color.magenta));
//省略
geometry.setColor(5, new Color3f(Color.red));


264 :デフォルトの名無しさん:04/11/11 18:00:21
>>263
配列ごとまとめてとはどういう意味なのですか?

265 :デフォルトの名無しさん:04/11/11 19:27:54
>>217
APIリファレンスでずっと調べてたんですが、全く分からなくて、
でも、JToggleButton-->ItemSelectable-->DefaultButtonModel
みたいになっていました。

266 :デフォルトの名無しさん:04/11/11 20:00:46
JFrame#setSizeでは窓全体を基準にリサイズしてしまうようですが
これをクライアント領域を基準にリサイズする方法はありますか?
タイトルバーの高さを取得する方法があれば出来そうですが、それは取得できますか?

267 :デフォルトの名無しさん:04/11/11 20:36:37
packやinsetsを勉強しなされ

というかSwing使っているなら推奨サイズというの見なかったかね?

268 :デフォルトの名無しさん:04/11/11 20:47:38
>>266
JFrameのクライアント領域のサイズを640×480にして、
JFrame全体のサイズを設定したいのなら以下のようにする

((JComponent)frame.getContentPane()).setPreferredSize(new Dimension(640,480));
frame.pack();


269 :デフォルトの名無しさん:04/11/11 20:52:15
>>267
ありがと。pack後のgetHeightで取得できました。

>というかSwing使っているなら推奨サイズというの見なかったかね?
Appletから入ったのでさっぱり。

270 :デフォルトの名無しさん:04/11/11 20:53:50
>>268
ありがとうございます。

>>267
回りくどい言い方をする位なら、ストレートに答えてください。
しかも、偉そうだし

271 :デフォルトの名無しさん:04/11/11 20:54:19
>>268
こっちも試してみます。ありがとー。

272 :デフォルトの名無しさん:04/11/11 20:55:16
>>270
なんで騙るん?

273 :M.B.:04/11/11 21:13:54
>>268
おおこれは面白い。サンクスコ
だけど Container と JComponent の関係が
ちょっとよくわからない。

274 :デフォルトの名無しさん:04/11/11 21:19:03
キャストする必要はないような気もする

275 :デフォルトの名無しさん:04/11/11 21:29:08
レス見てると>>270は別人っぽいな


276 :デフォルトの名無しさん:04/11/11 21:33:43
というか>>273は明らかに別人なのにお礼してたり
このスレにはまだまだ謎が多い

277 :デフォルトの名無しさん:04/11/11 21:39:13

(>>272) && (>>270 || >>270) == >>268


278 :デフォルトの名無しさん:04/11/11 21:55:46
Graphics#drawImageなどの描画メソッドの座標軸(0,0)を
クライアント領域の(0,0)に合わせるメソッドってありますか?
描画時にタイトルバー分の高さを+してやる方法以外を探しているのですが。

279 :デフォルトの名無しさん:04/11/11 22:19:01
strutsのバージョン1.1はどこでラウンロードできるか教えて下さい

280 :デフォルトの名無しさん:04/11/11 22:20:24
スイマセン
ダウンロードの誤りです

281 :デフォルトの名無しさん:04/11/11 22:30:54
>>280
最高です。
それ流行って欲しい。

282 :デフォルトの名無しさん:04/11/11 22:34:48
>>279
ここでラウンロードできます
http://www.meisei-u.ac.jp/mirror/apache/dist/jakarta/struts/binaries/


283 :デフォルトの名無しさん:04/11/11 22:46:59
>>278
普通にやれば(0,0)からになります。
フレームに直接描画してるだろお前。

284 :デフォルトの名無しさん:04/11/11 22:48:32
>>282
ありがとうございます

なんで見つからなかったんだろう…

285 :デフォルトの名無しさん:04/11/11 23:25:19
>>283
うん。そうしてた。そして理解した。

286 :デフォルトの名無しさん:04/11/12 00:25:19
一番簡単なのは推奨サイズ指定したJPanelを貼り付けてpack()

それにたいしてふつうに描画する


287 :デフォルトの名無しさん:04/11/12 00:58:13
質問です

約2000文字ほど格納されているファイルから
あるクラスの変数に分割して(3〜5はd など)格納する場合
速度を重視するやり方はどのような方法がありますか?

知り合いから質問されたのですが
「コンストラクタでsubstring」では遅いだろうとのことなんです
C経験者の知人によるとmemcopyのように
ガチャッと変数に格納したいらしいんです

Cにも精通してる方、居られましたら妙案賜りたいです

288 :デフォルトの名無しさん:04/11/12 01:09:15
はっきりいって何がしたいのかわかりません。
Cでmemcopyが出てくるような文脈ならJavaでもsubstringなんか使うわけないし
そもそも3〜5はdってのも基準がさっぱりわからないし。

289 :デフォルトの名無しさん:04/11/12 01:17:23
2000文字のファイルがいくつあるの?1000個くらいなら速度なんて気にしなくてもいけそうだが


290 :287:04/11/12 01:27:21
>>288
>そもそも3〜5はdってのも基準がさっぱりわからないし。
基準は教えてもらってないのですが例えです
知人の話だとその2000文字を約1000ほどの変数に格納したいらしいです
>Cでmemcopyが出てくるような文脈ならJavaでもsubstringなんか使うわけないし
私はCに詳しくないので、そう言われてしまうとなんとも・・・

>>289
1ファイルみたいです
そうとう速くしたいらしいんです

知人には「そういう方法無い?」って言う風に聞かれたんで
明確にあるという訳ではないのですが質問させて頂いてます

291 :デフォルトの名無しさん:04/11/12 01:31:44
String#charAt()でいいんじゃね
でも1ファイルだったら速度差10ミリセカンドにもならないかもね

292 :デフォルトの名無しさん:04/11/12 01:32:57
直接その友人とやらにここで質問させろ。伝言ゲームやっても
いいことないぞ。

293 :デフォルトの名無しさん:04/11/12 01:40:53
Channelで読んでByteBufferのgetChar()とか?
ごめんなさい。わかりません。

294 :287:04/11/12 01:41:54
>>291
>String#charAt()でいいんじゃね
substringするよりは速いってことですね
どもっす

>>292
彼の話だと「ネットで(普通のjavaサイトを)調べてもわからなかった」
とのことだったので2ch経験のある私が質問する形になりました
「らしい」ばかりで申し訳ないっす

とりあえず>>291さんの方法を伝えて試させてみます
それで納得できないときは直接質問させますので
その時はまたヨロシクおねがいしますね

295 :デフォルトの名無しさん:04/11/12 01:44:33
>>287
DataInputStreamを用いて、readInt()、readLong()、readByte()
などを使って、逐次、変数に代入していくのが良いと思われます。


296 :デフォルトの名無しさん:04/11/12 01:48:24
自作のフォーマット済み文字列生成関数がC標準のprintfに勝てないように
String#substringが自作の別関数に勝てるとも思えない

まあスーパープログラマさんが基準ならそんなのへでもないだろうけど

297 :287:04/11/12 01:49:53
>>293
レスどもっす
Channelって使ったことないのでdoc読んで勉強します

・・・ってちょっと見てみてもティンプンカンプン(w
とにかく どもっす

298 :デフォルトの名無しさん:04/11/12 01:53:54
いろいろテストして結果報告して欲しいです。
ループで繰り返し処理させて、
直前と直後でSystem.currentTimeMillis()ってベンチマークになるんですかね?

299 :287:04/11/12 02:05:21
>>295
むぅ やはりファイルだとStreamなどになるのですな
実は仕事でjavaやってるのですが、未だにStream系は理解できてないのです
これを機によく勉強して彼に伝えてみます

>>296
ぬぉぉ、substring以上は無いと?

>>298
了解です
自分でも試してみて、多少時間は掛かるかもしれませんが
報告させていただきます

明日もあるのでそろそろ落ちます
ありがとうございました

300 :デフォルトの名無しさん:04/11/12 08:34:16
そもそもそのファイルをクラスを直列化したものにすればいいんでないの?

301 :デフォルトの名無しさん:04/11/12 08:51:44
>>810
他言語と互換性が無いし、クラスを編集したら読み込めなくなったりするから
persistent なデータの保存にシリアライゼーションを使うのはお勧めできない。
XML でも「テキストエディタで中が見える」程度で事実上シリアライゼーションと
同じ。

302 :デフォルトの名無しさん:04/11/12 09:26:43
>>299
substringは速いよ。メモリコピーが発生しない(はずだ)から。
実際、長大な文字列の切り出しも短いの文字列の切り出しも同一の時間で行うことができる。
一度String#substringのコードを読んでみたらいいですよ。

303 :デフォルトの名無しさん:04/11/12 09:54:21
>>296
> String#substringが自作の別関数に勝てるとも思えない

「に」と「が」が逆だからsubstring否定文になってる
文脈で分かるけど

304 :デフォルトの名無しさん:04/11/12 10:00:08
>>301
もともとの話としてmemcopyが出てきてたから言ってみたんだけど。

305 :デフォルトの名無しさん:04/11/12 10:47:36
>>264
今までは10個の配列データの色を変える場合には10行使っていました。
それを1行にまとめることができないものかと思って質問しました。

geometry.setColor(0, new Color3f(Color.magenta));
geometry.setColor(1, new Color3f(Color.magenta));
geometry.setColor(2, new Color3f(Color.magenta));
geometry.setColor(3, new Color3f(Color.magenta));
geometry.setColor(4, new Color3f(Color.magenta));
geometry.setColor(5, new Color3f(Color.magenta));


geometry.setColor(0〜5, new Color3f(Color.magenta));
みたいにまとめて実行する方法ありますか?

306 :デフォルトの名無しさん:04/11/12 10:57:03
setColors があるように見えるけどな。
     ~~

307 :デフォルトの名無しさん:04/11/12 11:26:08
unsigned intで記録されているbyte[]からlongに読み込みたいのですがどうすればできますか?

308 :デフォルトの名無しさん:04/11/12 11:33:12
玉子の大きさによる。

309 :デフォルトの名無しさん:04/11/12 11:44:27
たまご??

310 :デフォルトの名無しさん:04/11/12 12:12:41
>>307
単にlongにキャストすりゃできんじゃないの?

311 :デフォルトの名無しさん:04/11/12 12:36:32
>>307
ByteBufferか
DataInputStreamクラスを
使えばOK

312 :デフォルトの名無しさん:04/11/12 12:37:18
文字列中の特定の部分文字列を置換するにはどうすればいいでしょうか?
replaceAllは正規表現を受け取るようなので使用できないようです。
indexOf などでごり押しするか、部分文字列をあらかじめエスケープする手もありますが、
かなりスマートじゃないので。


313 :デフォルトの名無しさん:04/11/12 12:37:21
>>310
配列だからキャストは無理でしょ

314 :デフォルトの名無しさん:04/11/12 13:10:54
DataInputStreamのreadInt()で出来そうです。
負の場合に悩んでいますが、何とかなりそうです。ありがとうございます。


315 :デフォルトの名無しさん:04/11/12 13:16:34
>>312
正規表現だとなんでダメなんですか?

316 :デフォルトの名無しさん:04/11/12 13:20:47
>>315
まったく駄目ではないですが、事前にエスケープしてやらないと.[] などの文字が含まれていた場合適切に置換できません。
もともと正規表現ではないのにわざわざエスケープしてまで正規表現として置換するのは速度的にも効率が悪いですし。

317 :デフォルトの名無しさん:04/11/12 13:27:14
>>312
replaceAllを使いたくないのなら、
部分置き換えしたい文字列をtext、置き換えたい部分文字列をsub、とすると
text = new StringBuffer(text).
     replace(text.indexOf(sub), text.indexOf(sub)+sub.length(), "任意").toString();
とか

318 :デフォルトの名無しさん:04/11/12 13:55:51
最近の連中はエンディアンも意識しないのか… orz

319 :デフォルトの名無しさん:04/11/12 13:58:07
Exception in thread "main" java.lang.NoClassDefFoundError: が出ました!
JDKをバージョンアップしたのが原因だと思います。
環境変数 CLASSPATH の設定の仕方が分かりません。
>>1に書いてある所、他にググってみても、理解できませんでした。
CLASSPATHの書き方を教えて下さいm(_ _)m

【環境】OS:XP JDK:1.4.1_07 備考:保存場所は「C:j2sdk1.4.1_07」

320 :デフォルトの名無しさん:04/11/12 14:12:51
>>319
デスクトップ上のマイコンビュータアイコンを右クリックしてプロパティを表示
詳細設定タブを選択
環境変数ボタンをクリック
ユーザーの環境変数欄に
CLASSPATH = C:j2sdk1.4.1_07\jre\lib\rt.jar;....
と記入する。


321 :319:04/11/12 14:36:06
>>320
できました!うはw
どうもありがとうございます。m(_ _)m


322 :デフォルトの名無しさん:04/11/12 15:17:00
>>305
単純にループでまわしたらいいじゃない。

323 :デフォルトの名無しさん:04/11/12 15:58:08
>>318
とは言ってもWinとLinuxばっかりでそれも関係ないけどな

324 :デフォルトの名無しさん:04/11/12 16:16:07
エンディアンうそつかない

325 :デフォルトの名無しさん:04/11/12 16:19:28
>>323
Win/Linux はリトルエンディアン、Java の DataInput/DataOutput などはビッグエンディアンですが?

326 :デフォルトの名無しさん:04/11/12 16:31:31
>>325
あっそ。

327 :デフォルトの名無しさん:04/11/12 16:33:38
Linuxってリトルエンディアンじゃないと駄目ってなってたっけ?


328 :デフォルトの名無しさん:04/11/12 17:10:09
>>326
もまいは質問者と同じレベルか?

>>327
エンディアンはマシンアーキテクチャに依存で OS は基本的に無関係 (エミュレーションして
動く環境はあるだろうが)。

329 :デフォルトの名無しさん:04/11/12 17:44:44
つーか、バイト列を操作&読む時には、order()でエンディアン指定
するのは、当たり前以前の事じゃん。特記するまでもない。
こんなのをわざわざ指摘するとは、むしろ指摘者のレベルが知れる。


330 :デフォルトの名無しさん:04/11/12 18:18:05
JavaでWindowsのレジストリにアクセス出来ますか?
例えば、HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MIMEとかに

331 :デフォルトの名無しさん:04/11/12 18:27:45
テンプレにあるサイトでj2sdk1.4.2_06をダウンし
インストしました 環境変数もちゃんと設定しました。
そして デスクトップにある
Java Web Startというショートカットをダブルクリックすると
アプリケーションマネージャというのがでてきて
Draw4Appなど4つのアプリケーションが出てきて
プログラミングを行える画面になれません。
結城浩のjava言語プログラミングレッスン上巻を買ったので勉強したかった
のですがこれはどうすればいいのでしょうか?
それともインストしているものが違うのでしょうか?
どうか教えてください

332 :デフォルトの名無しさん:04/11/12 18:30:56
>>331
シェルからjavaやjavacといったツールが使えればOKです。
それから、Tigerを使いましょう。

333 :デフォルトの名無しさん:04/11/12 18:41:52
WebStartはSDKに付いてくるソフト(ツール)の一つにすぎません。

こいつだけが唯一メニューやらデスクトップにアイコンを出すから、
まったくの初心者はつい実行しちゃうんだろうな。


334 :デフォルトの名無しさん:04/11/12 18:42:14
Tiger?何それ食えるの?

335 :デフォルトの名無しさん:04/11/12 18:43:22
Linuxはリトルエンディアンとは限らない(とかいってみる)
そのプロセッサ向けJava実行環境があるかどうかは知らんがナー。


336 :デフォルトの名無しさん:04/11/12 18:53:08
>>334
無理。残念!

337 :デフォルトの名無しさん:04/11/12 18:53:14
5のWebStartってどこにあるの?
javawsってのがそれっぽいけど、1.4みたいにアプリが出てこない

338 :331:04/11/12 19:00:27
>>332
>>333
ということはこれで一応実行はできるのですね?
どのような操作を行えばプログラミングが行える画面ができるでしょうか?
いちおう練習でjava言語プログラミングレッスン上巻の最初の項目を
XPh標準搭載のテキストでHello!のを作って見ました。
実行画面などを見てみたいのでぜひ教えてください

339 :デフォルトの名無しさん:04/11/12 19:26:26
1.4.2なら一緒にダウンロードできるNetBeans3.6をすすめてみるか
設定がEclipseより初心者向きだから


340 :デフォルトの名無しさん:04/11/12 19:27:23
Eclipse3.0の使い方が未だに分からない
英語読めない奴はPGなんてなっちゃだめ

341 :デフォルトの名無しさん:04/11/12 19:35:06
>>340
日本語で解説してるページも見つけられない奴は(ry

342 :デフォルトの名無しさん:04/11/12 19:39:31
テキストエディタで十分。それともVBチックに開発できるの?Eclipseって。

343 :デフォルトの名無しさん:04/11/12 19:55:13
j2sdk1.4.2_06はjavaをはじめるためのパソコンでいうOSみたいなもので
それとは別にプログラムを行うためのソフトみたいなものが必要という認識
でよろしいでしょうか?

344 :デフォルトの名無しさん:04/11/12 20:12:38
SDKはメモ帳とそれ単体で開発はできる

が、そのままでは使いにくいのでIDE(統合開発環境)というのがある
EclipseやNetBeansってのはIDEね


345 :デフォルトの名無しさん:04/11/12 20:58:45
はじめまして。
質問なのですが、インスタンス化したオブジェクトって、どうすれば他のメソッドから参照できるようになりますか?
Aメソッドでインスタンス化したオブジェクトを、Bメソッドから参照する、というイメージです。

346 :デフォルトの名無しさん:04/11/12 21:05:21
>>345
引数で渡す。

347 :デフォルトの名無しさん:04/11/12 21:15:30
>>346
早速ありがとうございます。
なのですが、すみません、具体的にどうすればよいのでしょうか?イメージはできるのですが・・。

void actScenario() throws Exception {
//GUI開始
GUI obj = new GUI();
obj.gui();
}
 ↑で、GUIを表示させるobjというオブジェクトをインスタンス化して

void Scenario1() {
jlL.setIcon(iiL);
}
 ↑jlLというのが、GUIにあるラベルなのですが、これをいじりたいのです。

voidのところを何かに変えたりすれば良いのですか?

348 :デフォルトの名無しさん:04/11/12 21:26:36
>>347
同じクラス内のメソッドなのなら
GUI objをフィールド変数にすればよいのでは?

349 :デフォルトの名無しさん:04/11/12 21:34:57
>>347
GUI actSc(ry
return obj;
}
void Scenario(GUI obj){
(ry
}
void method(){
GUI obj = actSc(ry
(ry
Scenario1(obj);
}
という方法もあると思います。

350 :デフォルトの名無しさん:04/11/12 21:47:33
>>348
>>349
ご親切にありがとうございます。感謝感謝です。
早速ためしてみます。

351 :デフォルトの名無しさん:04/11/12 21:55:10
drawImageに使われているImageObserverの具体的な用途ってなんでしょうか?
読み込みの通知とひとことで言われても、何のことやらさっぱりです。
thisであろうとnullであろうと画像は読み込めてしまうので、違いが分かりません。

352 :デフォルトの名無しさん:04/11/12 22:05:30
>>351
ブラウザのように細い回線から画像をゆっくりダウンロードしながら
見えるところから先に表示させたいときなどでお世話になる。

Imageがどれだけ読み込み完了したか
JREがimageUpdate関数を通じて随時教えてくれる。

353 :デフォルトの名無しさん:04/11/12 22:18:20
>>352
ありがとうございます。微妙に分かったような気になれたので調べて見ます。

354 :デフォルトの名無しさん:04/11/12 22:22:10
>>343 のレスの様子からみると、OSが何なのかちゃんとわかっているのかも疑問だ。

355 :デフォルトの名無しさん:04/11/12 22:38:18
ロード前に描画とかあんまりないから気にする必要はないとおもう

356 :& ◆It7cuBLpdU :04/11/12 23:40:33
>>312
亀レスだが1.5なら java.lang.String#replace(String,String)


357 :デフォルトの名無しさん:04/11/13 00:07:05
おお、1.5ではやっと用意されるのか
コレクションにStackも追加されないかねえ?
ん、ないのはQueueだっけ

358 :デフォルトの名無しさん:04/11/13 00:18:04
Queue入ってるよー > 1.5

359 :デフォルトの名無しさん:04/11/13 00:23:27
キューってQ上上って読んじゃうよね

360 :デフォルトの名無しさん:04/11/13 00:43:48
マウスをクリックするとその場所にfillOvalで●を作り
さらにクリックしていくと、それらを線で繋げるようなものを作ってるのですが
ボタンを押して編集モードにして線を引いていき
OKボタンを押すと、その線をさらに書き足す事は出来なくなり、もう1度編集モードにすると
以前まで書いていた線をそのまま残して、新たに上記のような事をやりたいのですが
どーしてもうまくいきません。ご教授お願いします。

●ー●ー●  ●ー●ー●
こんな感じです。

現在は、1次の配列を使って挑戦しているのですが、線が全て繋がってしまう状態です。

361 :デフォルトの名無しさん:04/11/13 01:32:02
その配列をさらに配列にいれて2次元配列にすればいいんじゃないの
ちなみに余談ですが要件次第ではコレクションのほうが扱いやすいと思うよ

362 :93:04/11/13 01:37:16
public class Frame1 extends JFrame {
JPanel contentPane;
JButton jButton1 = new JButton();
JTextArea jTextArea1 = new JTextArea();
JTextPane jTextPane1 = new JTextPane();
JCheckBox jCheckBox1 = new JCheckBox();
JRadioButton jRadioButton1 = new JRadioButton();
・・・
//コンポーネントの初期化
private void jbInit() throws Exception {
・・・
this.addKeyListener(new java.awt.event.KeyAdapter(){
public void keyPressed(KeyEvent e) {
System.out.println("keyPressed");
}
});
・・・
}
}

363 :デフォルトの名無しさん:04/11/13 02:12:08
C言語でいう配列の構造体みたいなものをJavaで実現できるんですか。
そのやり方が分からなくて、面倒な思いをしているんですが。

364 :デフォルトの名無しさん:04/11/13 02:13:13
配列の構造体ってなんだ?
構造体の配列ならわかるけど。

365 :デフォルトの名無しさん:04/11/13 02:16:25
>>363
クラスを使うというのはだめなのですか?

366 :デフォルトの名無しさん:04/11/13 02:29:19
>>357
LinkedList で充分なんじゃ?

367 :デフォルトの名無しさん:04/11/13 02:41:53
>>363
配列の構造体?
class LikeStruct
{
  int[] leaves;
  long[] years;
  String[] names;
}

構造体の配列?
LikeStruct[] array = new LikeStruct[20];
クラスの配列はそれぞれの要素もnewしないといけないので注意。
例:array[0] = new LikeStruct();

368 :363:04/11/13 02:58:10
>>364>>365>>367
構造体の配列でしたね。失礼しました。

配列の要素に対してもnewをしないといけなかったんですね。
クラスを作ってやるんだということは気付いたんですが、
その点は知らなかったです。

369 :デフォルトの名無しさん:04/11/13 03:08:58
>>367
「参照型の配列は」だったよ・・・。

370 :デフォルトの名無しさん:04/11/13 08:01:22
class Ren92{
public static void main(String args[]){
final String number [] = {"エース", "2", "3", "4", "5", "6", "7", "8", "9", "10", "ジャック", "クイーン", "キング"};
boolean numberCheck [] ={false,false,false,false,false,false,false,false,false,false,false,false,false};
int n, m;

System.out.println("---------START-------------");

for(n = 0; n < number.length; n++){
m = (int)(Math.random() * 13);
if(numberCheck[m] == true){
continue;
}
System.out.println("ハートの"+number[m]);
if(m == 0){
System.out.println("----------END------------");
break;
}
numberCheck[m] = true;
}
}
}

ハートのエースが出てくるまでハートのカードを出し続けるプログラムなんですが、
たまにエースがまだ出てないのに処理が終了することがあります。
どうしたら最後まで動きますでしょうか?

371 :デフォルトの名無しさん:04/11/13 08:04:49
>>370
forループを、while(true)にしてみてはいかがでしょうか?

372 :デフォルトの名無しさん:04/11/13 08:07:57
>>370
もしくは、0〜13までの数字を入れた配列を用意し、
ランダムなスワップを繰り返した後、
前から順番にAが出るまで表示するとか。

373 :デフォルトの名無しさん:04/11/13 08:57:10
なんで1.5のVectorとかややこしくなったの?
ソース修正面倒くせー

374 :デフォルトの名無しさん:04/11/13 09:02:41
>>373
Generics?

375 :デフォルトの名無しさん:04/11/13 09:08:43
>>370
continue したときに n が加算されるからだと思うよ

376 :デフォルトの名無しさん:04/11/13 09:21:51
>>374
いやVectorの<E>とかMapの<V,K>とか。
ソース修正めんどうくさいorz

377 :デフォルトの名無しさん:04/11/13 10:04:26
修正する必要はないと思うが。

378 :デフォルトの名無しさん:04/11/13 10:27:07
まぁ警告だから動くんだろうけどやっぱ警告でるの嫌だし。
何より「やれ」といわれたし・・・でももう俺の担当分は終わった
が、log4jのCategory.getInstanceも推奨されないのになってるしorz

スレ汚しスマソ

379 :デフォルトの名無しさん:04/11/13 11:05:32
もはやGUI付きのC++と化してきたね

380 :デフォルトの名無しさん:04/11/13 11:33:39
>>378
というか、javac -source 1.4で解決だろ。

381 :デフォルトの名無しさん:04/11/13 11:40:36
>379
同意。
特にGenericsとAutoBoxing/Unboxingの導入は
デメリットの方が大きい希ガス。

382 :デフォルトの名無しさん:04/11/13 11:43:19
>>380
というかSDK1.5なのに意味無くjavacタスクのsource="1.5"にされてるorz

383 :デフォルトの名無しさん:04/11/13 11:49:42
tigerってもうリリースされてんの?

384 :デフォルトの名無しさん:04/11/13 11:51:50
されてるよ

385 :デフォルトの名無しさん:04/11/13 12:05:37
質問なんですが、
synchronizedなクラスメソッドが実行されている間は、
そのクラスのsynchronizedなインスタンスメソッドの方もロックされるんでしょうか…?

そのクラスのsynchronizedなクラスメソッド、インスタンスメソッドすべてが
ロックされるってことなんでしょうか。


386 :デフォルトの名無しさん:04/11/13 12:15:26
>>385
そのクラスのsynchronizedなクラスメソッド(staticメソッド)が同期化される。インスタンスメソッドは
されない。

動作的には、synchronizedなクラスメソッドは実行開始時に「クラス名.class」のロックを獲得
しようとする。もし同じクラスのsynchronizedなクラスメソッドが実行中の場合、「クラス名.class」の
ロックが取得できないので、待機する。
また、synchronized()ブロックで「クラス名.class」のロックが取られている場合も、待機すること
になる。

インスタンスメソッドがsynchronizedな場合は、該当インスタンス(つまりthis)のロックを獲得
しようとする。「クラス名.class」とは別のもののロックを取得しようとするのだから、関係ない、
ということ。

当然ながら、同期化されてない(synchronizedでない)メソッドは、複数のスレッドからいつでも
実行可能。

387 :デフォルトの名無しさん:04/11/13 12:21:25
>>386
おお!なんかわかりやすい!
ありがとうございます。
でも「クラス名.class」というのがすぐにピンとこないけど
これはまたもうちょっと勉強してみます。ありがとうございます。

388 :初心者:04/11/13 12:37:32
ArrayList型の配列をString型の一次元配列(String [])に
変換するにはどのようにするのでしょうか。



389 :デフォルトの名無しさん:04/11/13 12:40:42
>>388
String str[] = ( String[] ) ArrayList.toArray();
または
String str[] = new String[ArrayList.size()];
ArrayList.toArray(str);
ぢゃだめ?

390 :デフォルトの名無しさん:04/11/13 12:46:54
エンジニアの為の出会い系板
http://www.2ch-off.net/off/engineer/

391 :デフォルトの名無しさん:04/11/13 12:55:01
>>389
レスありがとうございます。
両方の方法で行ってみましたが、
java.lang.ClassCastException
が発生してしまいます。
他に疑ってみる点はありますか?

392 :デフォルトの名無しさん:04/11/13 13:00:28
String[] s = (String[])list.toArray(new String[0])


393 :デフォルトの名無しさん:04/11/13 13:00:42
>>391
ソース見せて

394 :388:04/11/13 13:01:29
>>389
toArray(Object[] a) にしたら解決できました。
ありがとうございました。


395 :デフォルトの名無しさん:04/11/13 13:08:10
String str[] って書き方からはそろそろ卒業しようよ

396 :デフォルトの名無しさん:04/11/13 13:10:24
JavaとMySQLで作っているのですが、Javaから日本語のやりとりができません
ググって調べたことは一通り試したのですがどれも上手くいきませんでした

・server variables は character_set_system 以外全て sjis になってます
・URLに"useUnicode=true&characterEncoding=Shift_JIS"を入れてもダメです
・PreparedStatement に設定するクエリーを色々エンコードしてもダメです

CREATE TABLE t ( name VARCHAR(128) );として

Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/jww?useUnicode=true&characterEncoding=Shift_JIS", "user", "password");
PreparedStatement stm = con.prepareStatement( "SELECT name FROM t" );
ResultSet rst = stm.executeQuery();
rst.next();
System.out.println(rst.getString("name"));

でカラムnameに日本語が入ってると"あいうえお"="?????"と化けます
mysqlでDOSからテーブル内を見るとちゃんと日本語で表示されます
UPDATEしてみると"あいうえお"="????Φ???>"みたいな感じになります
もう丸二日ハマってます・・・どうかお願いします

JavaDSK1.4.6?
Tomcat5.0
MySQL Server4.1
MySQL Connector/J 3.0.11

397 :デフォルトの名無しさん:04/11/13 13:13:50
>>395
仕事がCなもので

398 :デフォルトの名無しさん:04/11/13 13:24:57
C級だな

399 :デフォルトの名無しさん:04/11/13 13:29:12
C>C++>>>(超えられない壁)>>>D>>>Java

400 :デフォルトの名無しさん:04/11/13 13:34:16
バグの起こりやすさが?

401 :デフォルトの名無しさん:04/11/13 13:34:33
昇順ソート?

402 :デフォルトの名無しさん:04/11/13 13:36:00
>>395
Sunもこのかきかたしてるしな

403 :デフォルトの名無しさん:04/11/13 13:48:26
Cで
int* a, b;
ってしたらbはintなのに、Javaで
int[] a, b;
ってしたらbもint[]なのにちょっとカルチャーショックを受けたのが懐かしい。

404 :デフォルトの名無しさん:04/11/13 14:12:20
>>403
僕は分けて書くなあ。
int[] a;
int[] b;

まあ、好きずき。

405 :デフォルトの名無しさん:04/11/13 14:32:43
バイト配列を0-9A-Za-zの62種類の文字でエンコードしようと思うのですが
1バイトにつき62進数5桁でのエンコードを、ループで回すやり方はいまいち効率が悪いような気がします。
もし他に良い方法がありましたらご教授ください。

406 :デフォルトの名無しさん:04/11/13 14:35:18
Base64エンコーディングっぽいな

407 :405:04/11/13 14:44:50
>>406
即レス感謝
メールの添付ファイルに使ってそうなアレですね
調べてみたら見事にクリソツでびっくりしました
どっかにソース転がってないか探してみます


408 :デフォルトの名無しさん:04/11/13 14:54:19
commonscodec

409 :デフォルトの名無しさん:04/11/13 15:05:30
ゲームとかのセーブデータに使えそうだね。
複数の直列化インスタンスをひとつのテキストファイルに書き込める辺りがCool。

410 :デフォルトの名無しさん:04/11/13 17:30:14
テキストエディタの内容を印刷するプログラムを作成してます。エラーもなくコンパイルでき、実行も出来るのですが、
印刷をするとウィンドウに表示されている部分しか印刷できず、左端が欠けてしまいます。
どうしたらちゃんと印刷できるようになるでしょうか?

<ソース>
<import文>
public class PrintingText extends JFrame{
<コンストラクタ>
JTextArea text=new JTextArea();

public static void main(String args[]){
PrintingText tex=new PrintingText();
tex.setBounds(0,0,640,480);
tex.setVisible(true);
}
<class PrinterActionListener>

<class MyComponent>
}

411 :デフォルトの名無しさん:04/11/13 17:33:30
>>404
そのあたりはコーディング規約とかに沿うところだけどね

412 :410:04/11/13 17:34:21
改行が多すぎます、というエラーが出たので、一度に投稿できませんでした。
以下を>>410の<>で表している部分に該当します

<import文>
import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;
import javax.swing.*;
import javax.swing.text.*;
import javax.print.*;
import javax.print.attribute.*;

<コンストラクタ>
public PrintingText(){
super("TextField");
text.setFont(new Font("SansSerif",Font.PLAIN,12));
JMenuBar menubar=new JMenuBar();
JMenu file = new JMenu("ファイル",true);
menubar.add(file);
JMenuItem print=new JMenuItem("印刷");
print.addActionListener(new PrinterActionListener());
file.add(print);
this.setJMenuBar(menubar);
}

413 :410:04/11/13 17:35:34
>>412の続き
<class PrinterActionListener>
class PrinterActionListener implements ActionListener{
public void actionPerformed(ActionEvent e){
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
PrintService service = ServiceUI.printDialog(null, 200, 200,printService, defaultService, flavor, pras);

try{
if (service != null) {
DocPrintJob job = service.createPrintJob();
DocAttributeSet das = new HashDocAttributeSet();
Doc Pdoc = new SimpleDoc(new Mycomponent(),flavor,das);
job.print(Pdoc,pras);
Thread.sleep(10000);
}}catch(Exception eee){
System.out.println(eee);
}}}

414 :410:04/11/13 17:36:12
>>413の続き
<class MyComponent>
class Mycomponent implements Printable{
public int print(Graphics g, PageFormat pageFormat, int pageIndex){
int x = (int)pageFormat.getImageableX();
int y = (int)pageFormat.getImageableY();
if(pageIndex==0){
Graphics2D g2d=(Graphics2D)g;
g2d.drawString(text.getText(),x,y);
paint(g2d);
return Printable.PAGE_EXISTS;
}else{
return Printable.NO_SUCH_PAGE;
}}}

415 :412:04/11/13 17:38:03
×以下を>>410の<>で表している部分に該当します
○以下が>>410の<>で表している部分に該当します

416 :デフォルトの名無しさん:04/11/13 18:42:35
jarのマニフェストに-Xmsや-Xmxを設定する方法ってありますか?
折角の拡張子関連付けもメモリ不足のためプロンプトから起動するより他にない現状です。

417 :デフォルトの名無しさん:04/11/13 19:43:52

    / ̄ ̄/ ̄ ̄ ̄ ̄\,,        _____
   /   /_____  ヽ      / −、 −、   \
   | ─ 、 ─ 、 ヽ  ヽ |  |     /   |゜ |゜  | 、   \
   |  ・|・  |─  │ |___/     / / `-●−′ \   ヽ
   |` - c`─ ′  6 l        |/  三_|  三    |   |
.   ヽ (____  ,-′       .|   (           |   |
     ヽ ___ /ヽ         |     ̄|        |   |
     / |/\/ l ^ヽ       ヽ.    _|       /  /
     | |      |  |         \ (       /  /
    ││    │ │         l━━(t)━━━━┥

    / ̄ ̄/ ̄ ̄ ̄ ̄\,,        _____
   /   /_____  ヽ       /−、 −、    \
   | ─ 、 ─ 、 ヽ  ヽ |  |      /  |  ・|  ・| 、    \
   |  ・|  ・|─  │ |___/     / / `-●−′ \    ヽ
   |` - c`─ ′  6 l        |. ── |  ──    |   |
.   ヽ (____  ,-′        |. ── |  ──    |   |
     ヽ ___ /ヽ          | ── |  ──     |   l
     / |/\/ l ^ヽ         ヽ (__|____  / /
     | |      |  |          \           / /
    ││    │ │          l━━(t)━━━━┥


418 :デフォルトの名無しさん:04/11/13 19:44:44
                     _____
    / ̄ ̄ ̄ ̄\,,      /         \
   / −、 −、__ ヽ    /  ______  \
   | |  ・|・  |   |  |   /  /  ─ 、 ─ 、 ヽ \  ヽ
   | `-●−′  |___/   | /  |  ・|・  |──|    |
   | 三 | 三    6 l   |/   ` - c`─ ′   ||   |
.   ヽ (_|___  ,-′   |    (____     |  l
     ヽ ___ /ヽ     ヽ            / /
     / |/\/ l ^ヽ    \          / /
     | |      |  |     l━━(t)━━━━┥


419 :デフォルトの名無しさん:04/11/13 19:46:41
  _________
  | ________ |                  ___
  | |           | |      , ─── 、     /___    \,,
  | |. ドラえもん     | |     / ) 、       \  |-、ヽ |.    ヽ
  | |   開発断念   | |     d-´  \       ヽ | |─|     |
  | |          .. | |    亅三    ヽ     |  |-′||)    /
  | |             | |   (___   |     /  \ __ ヽへ/
  |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |     \     |    /      /二二l
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|     o━━━━┥     / )   |
 |.                 |       /        |    /ヽ/    |
 |__________|     ◯        |   / /____|
                    (       o ノ  ( ̄ |    丿
                      ̄ ̄ ̄ ̄ ̄      ̄ ̄ ̄ ̄

    / ̄ ̄ ̄ ̄\,,      /−、 −: : : :
   /_____  ヽ    /  |  ・|・  : : : : . . .
   | ─ 、 ─ 、 ヽ |  |   / / `-●: : : : .
   |  ・|・  |─ |___/   |/ ── |  : : : : . .
   |` - c`─ ′  6 l   |. ── |  ─: : : :
.   ヽ (____  ,-′   | ── |  ─: : : : . .
     ヽ ___ /ヽ     ヽ (__|___: : : : . . .
     / |/\/ l ^ヽ    \      : : : :
     | |      |  |     l━━(t)━: : : : . . .
                     /    \: : : : . . .


420 :デフォルトの名無しさん:04/11/13 19:48:51
108 名前:恋する名無しさん メール:sage 投稿日:04/07/14 20:32
いつもなんとなく目が合う娘がいるんだが
すれ違った直後に振り向いたらまだこっち見てて
なんつーか顔は動かさずに目玉が無理してこっち向いてる時(´Д`)

109 名前:恋する名無しさん メール:sage 投稿日:04/07/15 01:35
         . ,  _,.、-─‐-‘、`・.
        ,.、-一 ' ´        `丶、
      ./´               \
    ’, ´                   \ `.
    /                、     丶 `
  ,.' /                  `、      }:
 ,' /               ,;:-、  ヽ      ,' ;
  ,'       i ,;:-、      iトr':;)  `tー ' ′’        /\___/ヽ
. !     / iトr':;)   _   ` ´   ‐'"´ヽ、.        /''''''   '''''':::::::\
.`.ヽ、__,.イ   `o´   ノ`ー,         ヽ`.      |(●),   、(●)、.:|
  `   .ヽ、      ,ィ′         `、.`      |   ,,ノ(、_, )ヽ、,, .::::|  
        `    ̄  ̄,.r┴-、             `、      |   `-=ニ=- ' .:::::::|
           : !          ,r'ニ、、   !.     \  `ニニ´  .:::::/
             `.ヽ         ヾニノ ! ,.ノ :     /`ー‐--‐‐―´\
               `ー──────' ´
>>108
こんな感じですか?


421 :デフォルトの名無しさん:04/11/13 20:16:58
質問させてください。
画像を表示させようとすると、
Uncaught error fetching image:
java.lang.NullPointerException
at java.io.FileInputStream.<init>(FileInputStream.java:103)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at sun.awt.image.FileImageSource.getDecoder(FileImageSource.java:35)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:248)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
とエラーが出てしまいます。
ファイルパスは合ってますし、画像自体も壊れてません(他のプログラムでは表示できます)。それから、このエラーのもとになっているソースコード自体も、他の同じ様なプログラムで使っているのですが、そこでは正常に動作しています。
どんな理由が考えられるでしょうか?

422 :デフォルトの名無しさん:04/11/13 20:33:50
>>421
A.実はファイルパスが間違っていた。
B.画像ファイルが大きすぎた。
C.ごめんなさい。わかりません。
D.VMのバグ。

423 :デフォルトの名無しさん:04/11/13 20:36:27
対応していない形式だったりしないですか?

424 :デフォルトの名無しさん:04/11/13 20:36:45
E.画像ファイルが壊れていた

425 :デフォルトの名無しさん:04/11/13 20:41:09
F.今日はツイてない

426 :デフォルトの名無しさん:04/11/13 20:45:51
たくさんのレスありがとうございます。
ファイルパスは、フルパスで試してみても駄目でした。(他の画像も)
ファイル自体もごく普通のgifファイルで、サイズは3kbと小さいものです。壊れてもいません。
String imgL;
ImageIcon icoL;
icoL = new ImageIcon(imgL);
imgL = "image/000.gif";
というコードで、間違い様も無いですし・・。
とりあえずVMを再インストールしてみます。
F・・(笑)

427 :デフォルトの名無しさん:04/11/13 20:50:11
>>426
他のファイルはどうですか?
別のgifとかjpegとかpngとか。

428 :デフォルトの名無しさん:04/11/13 20:50:50
>>426
少なくとも426のコードは明らかに間違いなんだが。。。

429 :デフォルトの名無しさん:04/11/13 20:52:29
>>426
まぁフルパスで調べたんなら間違いないだろうけど
ファイルのアクセス権とかその他もろもろは大丈夫なの?
何かのアプリが掴んでるとかそんなことはないの?

あと私的なことだが、トイレでうんこしてるときに考えると名案が浮かぶよ


430 :デフォルトの名無しさん:04/11/13 21:01:55
お騒がせしました。
VMを再インストールしたら表示されるようになりました。
本当にありがとうございましたm(_ _)m
あと426は確かにおかしいです!何も考えずに適当に打ってたので。こっちもお騒がせしました。

431 :デフォルトの名無しさん:04/11/13 21:02:46
>>396
getBinaryStream() とか getCharacterStream() とか使うと上手くいくかも

432 :デフォルトの名無しさん:04/11/14 00:09:42
継承されたpublicなメソッドをprivateなり削除なりで無効化することはできますか?

433 :デフォルトの名無しさん:04/11/14 00:12:38
>>432
継承して中身が空のメソッドにすればいいでは?

434 :デフォルトの名無しさん:04/11/14 00:15:55
>>432
無効化はできない。オーバーライドして、UnsupportedOperationException をスロー
すれば?あるいは委譲クラスでラップする。あるいは実行時にバイトコード操作して
メソッドの名前を(ry

435 :デフォルトの名無しさん:04/11/14 00:35:00
>>433-434
無効化は機能としては存在しないんですね。
例外を放り投げる事にします。どもでした。

436 :デフォルトの名無しさん:04/11/14 00:38:11
throw new Exception();
みたいなことを書くと、何か本当に投げてる感じがするのは、
私だけですかそうですか。

437 :デフォルトの名無しさん:04/11/14 00:40:23
メソッドを無効化できません
実装したメソッドは現在、無効化できません。
Java サイドに技術的な問題が発生しているか、クラスの設計を調整する必要があります。

次のことを試してください:

[削除] ボタンをクリックするか、設計からやり直してください。


438 :デフォルトの名無しさん:04/11/14 00:53:41
catch(Heart h) {
  if(h.isOK())
    return(new Love());
  throw(new orz());
}
finally
{
  this.autumn.close();
}

今年の秋はorz例外がスローされました。

439 :デフォルトの名無しさん:04/11/14 00:55:32
>>435
ええと、なぜ無効化したりpublicなものをprivateにしたりできないのか、
その理由を考えておいた方がいい。後のために。

440 :デフォルトの名無しさん:04/11/14 01:16:06
>>439
多様化のためだろうけど関係ないっす。

441 :デフォルトの名無しさん:04/11/14 01:20:12
Java1.5の新機能や1.4からの変更点が簡潔にまとめられた本とかWebサイトとか
あったら教えてもらえないですか?


442 :デフォルトの名無しさん:04/11/14 01:27:44
インターフェースについて質問です
インターフェースを実装するというのは
その中に実装されているメソッドを
必ず使わなければならないっていう一種の保障みたいなものなんでしょうか?

443 :デフォルトの名無しさん:04/11/14 01:34:44
メソッドを「使わなければならない」じゃなくて「使うことができる」っていう保証を
与えるのがインターフェースです。


444 :デフォルトの名無しさん:04/11/14 01:36:44
宇宙からの贈り物です

445 :デフォルトの名無しさん:04/11/14 01:37:10
>>442
あるインターフェースを実装しているクラスの全てが、そのインターフェースのメソッド群も実装している保障・・かな。
ここらへんはInputStreamやReaderなんか入出力クラスを色々弄ると実感できるかも。


446 :デフォルトの名無しさん:04/11/14 01:41:23
あるインターフェースを実装しているクラスに対して、インターフェースに書かれている
メソッドを呼び出しても「そんなメソッドねえよボケ」って例外が起きないという保証だよ。

447 :デフォルトの名無しさん:04/11/14 01:41:53
>>443
ありがとうございます
逆に言えばインターフェースを実装する目的というのは
いわばそれだけの事でしかないのでしょうか?

他に特別な意味はないのでしょうか?

448 :デフォルトの名無しさん:04/11/14 01:47:39
>>447
とりあえず標準 API のインタフェース java.util.List を実装するクラスを
見てみ。通常、ひとつのインタフェースに対し、実装クラスが複数存在する
場合にインタフェースの意味がある。

449 :デフォルトの名無しさん:04/11/14 01:47:43
>>447
それだけの事です。

オブジェクト指向言語ではオブジェクトを操作するのにメソッドを介する事が
要求されるので、インターフェースを実装する、すなわち、メソッドを強制的に
存在させることで異なるクラスのオブジェクトでも同じメソッドを使って
同じクラスであるかのように扱うことができるようになるだけです。

Runnableとかはちょっと特殊なので勉強してみて下さい。


450 :デフォルトの名無しさん:04/11/14 01:50:45
>>447
インターフェース実装してるとなんか違いの分かるマスターっぽいだろ

451 :デフォルトの名無しさん:04/11/14 01:53:25
もしなんかの事情で実装クラスを一から作り直して別のものに差し替えたとしても、
そのクラスを使ってる側がインターフェースだけを使ってれば、使ってる側には影響が
ない(直さなくて済む)っていう意味がある。

>>448が言うように、Collection周りを見れば分かると思う。

452 :デフォルトの名無しさん:04/11/14 01:54:53
Runnableもふつーに「どんなクラスだろうがRunnableとして扱えるようにする」ってだけで、
ふつうのインスタンスだと思うが....

453 :デフォルトの名無しさん:04/11/14 02:04:56
>>451
作り直すんだったらインタフェースでなくてもいいとおも。

454 :デフォルトの名無しさん:04/11/14 02:18:45
>>453
子クラスが親クラスに依存しすぎると、親クラスを修正したときに、
子クラスも修正する必要があるときがある。

インターフェイスの場合はそれがない。
メソッド宣言部や定数宣言部が変更になれば話は別だが、
それは継承も実装も同じこと。

つまり、疎結合を実現するためにインターフェイスを使う。

455 :デフォルトの名無しさん:04/11/14 02:32:12
今週バカしかいねえ

456 :デフォルトの名無しさん:04/11/14 04:50:39
Struts1.1とTomcat4.1.30とjdk1.3.1.09を使って開発しています。

strutsのFormFileを使ってファイルのアップロードをする際にメモリを大量に消費してしまいます。
同時に複数のファイルをアップロードしようとするとOutOfMemoryになってしまう場合もあります。
ちらほらとメモリの大量消費についての記述は見受けられるのですが、英語のばかりで正直よくわかりません。
ByteArrayOutputStreamが怪しいみたいなんですが、具体的にどうすれば・・・?

struts-config.xmlにはこんなのを
<controller bufferSize="4096" maxFileSize="10M" processorClass="***********" />

htmlはこんな感じ
<form method="POST" enctype="multipart/form-data">

<input type="file" name="file(FILE_NAME)" value="">

457 :デフォルトの名無しさん:04/11/14 05:01:17
struts はよく知らないが
ByteArrayOutputStream は書き出したデータをすべてメモリに持ったままだから
FileOutputStream なんかで適宜ファイルの書き出してやらなきゃいかんのじゃ?

458 :デフォルトの名無しさん:04/11/14 08:59:44
>>456
htmlを晒すよりもファイルをディスクに書き出す処理を晒せよ。
この時点でわかってない気がする。
書き出した後、ちゃんとクローズしてる?
書き出した後、FormFile#destroy() はちゃんと呼んでる?
それでもダメなら、Tomcatの起動オプションでヒープサイズいじれ。

459 :デフォルトの名無しさん:04/11/14 10:49:21
>>441
http://www5.airnet.ne.jp/sakuraba/java/laboratory/J2SE1.5/contents.html
ぐぐればすぐにでてくるだろ

460 :デフォルトの名無しさん:04/11/14 13:04:31
windows上で常駐し、キーボードからの入力をバックグラウンドで
監視するようなプログラムはJAVAで作れるのでしょうか?
キーの使用頻度を測定するのが目的です。

461 :デフォルトの名無しさん:04/11/14 13:08:03
パスワードハックかよ・・・

462 :デフォルトの名無しさん:04/11/14 13:09:56
>>461
そうとられると思いました^^;
純粋に研究目的です。

463 :デフォルトの名無しさん:04/11/14 13:19:09
>>642
無理とは言わないけど無茶です。(JNI必須かつjavaはGUIで結果見る部分くらいにしかならない)
xkeymacsがソース付きで公開されているのでそれを元にする方が楽でしょう。


464 :642:04/11/14 13:21:21
>>463
やはり難しいですか。具体案お答え頂き感謝です。
勉強し直します。ありがとうございました。

465 :デフォルトの名無しさん:04/11/14 13:31:01
なんの研究かは知らないけど、
Cでやったほうがいいな。

466 :デフォルトの名無しさん:04/11/14 14:05:08
WebServerを納入して裏からチョメチョメする研究?

467 :デフォルトの名無しさん:04/11/14 14:32:49
javaでブラウザと通信するサーバーを作ってみたんだが、、、
アップレットってどうやってブラウザに送ればいいんだろうか?
そもそもjavaでアパッチみたいなサーバーって出来るんですか????

468 :デフォルトの名無しさん:04/11/14 14:34:47
>467
アプレットをブラウザに送るのはHTMLにappletタグ書いて、適宜classなりjarなり
配置すればいいだけだと思うけど……
ちなみにTomcatは単体でWWWサーバとしても機能しますが何か。

469 :デフォルトの名無しさん:04/11/14 14:48:21
>>468
何も。

470 :デフォルトの名無しさん:04/11/14 15:04:42
java言語でサーバー自体を作りたいんだけど・・・
tomcatとか関係なしに

471 :デフォルトの名無しさん:04/11/14 15:08:14
アプレットはサーバーじゃなくてクライアントです。
サーバーならjava.net.*あたりで普通に作れるはず。
J2EEはよー知らんが、それ使う奴が多い。

472 :デフォルトの名無しさん:04/11/14 15:08:37
>470
だから。TomcatはJavaで書かれていて、ちゃんとWWWサーバとして動いているってこと。
乱暴な話、ソケットが叩ける言語(無論Javaを含む)なら
何であろうとIP層以上のサーバは書けます。
WWWサーバでもSMTPサーバでもAPOPサーバでもどんとこい。
……漏れは勉強が足りないので書けんがorz

473 :デフォルトの名無しさん:04/11/14 15:14:28
プログラムがバックグラウンドで動いている時に何らかのイベントが起きたら
というのを判定したいのですが、どうすれば実装できるでしょうか?

474 :デフォルトの名無しさん:04/11/14 15:23:41
>だから。TomcatはJavaで書かれていて、・・・

そうだったのか。知らなかったです・・・orrrrrrz

475 :デフォルトの名無しさん:04/11/14 15:48:41
いべんとりすなー

476 :デフォルトの名無しさん:04/11/14 16:03:04
JTableをエクセルのシートみたく
行と列の灰色のヘッダーを作りたいんですが
どうすればよいんでしょうか、、、悩んでます

477 :デフォルトの名無しさん:04/11/14 16:07:01
俺も知らなかったorz
逝ってくる;y=ー( ゚д゚)・∵. ターン

478 :デフォルトの名無しさん:04/11/14 16:38:29
hfkじゃhfかlshf;hj差;d不ぃ井sfj
もうわけわかめーーーーー
f目和j不ぉ井fjqw

479 :デフォルトの名無しさん:04/11/14 16:38:48
アニメーションGIF作る標準APIなりライブラリなりってありますか?

480 :デフォルトの名無しさん:04/11/14 17:21:57
NetBeans上でスタンドアローン用の
Swingアプリを作りはじめました。
NetBeansからはコンパイルとデバグを行えるのですが、
コマンド上からはコンパイルはできてもjavaコマンドで
実行することができません。パスは確認し、ためしにBeansの
ライブラリなども設定してみましたが、症状変わらず。
NetBeansで開発したアプリを配布する場合はコンパイルして
JAR出力するだけではだめなのでしょうか?
http://www.javadrive.jp/ここや
http://www.techscore.com/tech/Java/ここなど
さらに
http://www.netbeans.jp/index.htm
ここも見てみましたが記述がはっけんできません。
お願いします。



481 :デフォルトの名無しさん:04/11/14 17:52:04
超初心者です。
マウスで線を引いたり、予め準備した部品を配置したりして、それらをクリックして
属性を設定していったりするGUIを持つアプレットを作りたいんですが、
何かオススメの参考書はありませんか。

482 :デフォルトの名無しさん:04/11/14 18:05:56
SSLのソケットを使って通信をしたいのですが(認証局無しで)
自分で調べてみたところ
1:サーバ側がkeytoolで鍵をつくっておく
2;クライアント側もkeytoolで鍵をつくっておく
3':サーバの公開鍵をエクスポートして、クライアント側にインポートする?
4;それぞれSSlのソケットで普通に通信

みたいな手順らしいんです。で、3番の所があいまいでよくわかっていません。
で質問です。

Q1;3番の手順を踏まなくてもSSLのソケットを使う事ができるのか?
Q2:1〜4の手順でサーバ→クライアント、クライアント→サーバの双方向の
   暗号化が行われるのか。?

根本的に間違っているのかもしれないのでその場合指摘していただけると
ありがたいです。
 Socket自体は簡単なのですが、鍵の生成らへんが難しいんですよね。
 以上の事について、どなたか回答お願いします。よろしくおねがいします。orz



483 :デフォルトの名無しさん:04/11/14 18:07:15
あ、あと、良い解説ページなどありましたら、教えていただきたいです。

484 :デフォルトの名無しさん:04/11/14 18:34:36
>>480
jarのなかに必要なファイルすべていれてるの?
それと実行に失敗したのならエラーメッセージだしてもらわんと

485 :デフォルトの名無しさん:04/11/14 20:11:54
ファイルの作成、削除、移動を知る(通知してもらう)方法はありますか?

486 :デフォルトの名無しさん:04/11/14 20:12:10
>>480
Netbeansのバージョンは?
まあおそらく開発環境ではクラスパス通してるけど、jarにしたものを実行する時に
クラスパスを通してないってことだと思うけど。

487 :デフォルトの名無しさん:04/11/14 20:23:05
>>485
どこにファイルを作成・削除・移動するんだ?
ファイルの管理はどこ(何)がしているんだ?
CVSで管理しているリソースならコミットメール出せるけど。JavaじゃなくてCVSの話だからスレ違い。

488 :デフォルトの名無しさん:04/11/14 20:43:10
Java言語で、GUIアプリケーションを作った時に、jarコマンドをコマンドプロンプト上で行なうことによって、
アイコンをクリックしただけで起動出来るようになりました。しかし、
jarファイルを作っても、xボタンをクリックしても終了しません。
どうすれば、jarファイルを作っても、xボタンをクリックしても終了するようになるのでしょうか。
ちなみに、javacして、javaコマンドで実行すると、そのファイルは、xボタンをクリックしても終了します。
何分、初心者な者ですから、わからないのです。誰か教えていただけますか。お願い致します。

489 :480:04/11/14 20:50:42
NetBeans IDE 3.6です。
Exception in thread "main" java.lang.NoClassDefFoundError: JFrame (wrong name: t
est1/JFrame)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)

WindowsXPproの環境変数にPATH C:\Program Files\NetBeans3.6\libなどを追加しています。
NetBeansを使わないJAVA開発はできている(はず)です。

私の問題と感じている部分は、NetBeansで開発して第三者に配布して、特別な
ことをしなくても(JAVAがうごけば)実行してもらえるのか、という部分です。

490 :デフォルトの名無しさん:04/11/14 20:55:28
>>488
それはJarとか関係ないよ
クリックしても終了しないようなGUIをつくってるだけでしょ?

491 :デフォルトの名無しさん:04/11/14 20:56:15
>>489
NetBeansのパス追加とかいらね


492 :デフォルトの名無しさん:04/11/14 20:58:03
Javaを利用したおなにーの方法とかありませんか

493 :デフォルトの名無しさん:04/11/14 20:59:28
>>492
ふつうにソース読んでるだけでムラムラこないか?

494 :デフォルトの名無しさん:04/11/14 21:03:06
>>489
JFrameって名前つかわないほうがいいぞ・・・
単純にパッケージ名とかの師弟間違えてるだけのようなきがする

495 :デフォルトの名無しさん:04/11/14 21:11:40
>>489
Netbeansで開発しようが、jarファイルにすべての必要なクラスをパッケージングすれば、
Javaが動けば動くようになります。逆に言えば、ほんとにすべてパッケージングできてる
か?というところが問題。

# test1.JFrameっていったいなんなのだろう...?

netbeans 3.6でファイルシステムにマウントしたクラスが、jarに含まれてないってことは
ないですか。コンパイル・ビルドの設定周りがおかしいように思う。
netbeans 3.6ではマウントしたjarなりフォルダなりは、netbeans内では自動的にクラス
パスに含まれるので、ビルド後は手動でクラスパスを通してやるか、jarに含んでやる
必要がある。

なんにせよ、出来たjarファイルに対してjar -tvx すればわかるわな。

496 :デフォルトの名無しさん:04/11/14 22:20:24
>>490
いいえ、違います。
jarファイルを作って、クリックしてファイルを実行しても、実行されたファイルでxボタンをクリックしても終了ないのです。
そのjarファイルを作る前に、元になったファイルをjavacして、classファイルが作れます。javaコマンドでclassファイルを実行すると、 そのファイルは、xボタンをクリックしても終了します。
決して、クリックしても終了しないようなGUIをつくってるわけではありません。
こういうおかしな現象に対して、誰か助けて下さい。お願いします。

497 :デフォルトの名無しさん:04/11/14 22:24:40
>>496
javaコマンドで実行して×ボタンをクリックした後Ctrl + Cを押してたりしないよね?

498 :デフォルトの名無しさん:04/11/14 22:30:06
それエラーでてるとかなんかないの?
jarにして動作がおかしくなったとかというのはオレはないな


499 :デフォルトの名無しさん:04/11/14 22:30:51
>>496
GUIはAWT?Swing?

500 :デフォルトの名無しさん:04/11/14 22:31:49
問題を再現する最小限のコードを書いて晒すってのは質問する際の基本だと思うけどな。

501 :デフォルトの名無しさん:04/11/14 22:34:03
情報がなにもねーもんなぁ

502 :デフォルトの名無しさん:04/11/14 22:39:49
終了はsetDefaultCloseOperation()?
WindowListenerなら何か特殊な処理を?

503 :デフォルトの名無しさん:04/11/14 22:44:16
>>463
JNI使わなくてもキーリスナをスレッドで動かせばできそうな気がするのだが。
特定の「閉じるボタン」専用のキーを除いて。

504 :デフォルトの名無しさん:04/11/14 22:46:42
>>470
100%PureJavaWebServer Jettyのソースコードを参考にしてみるといいのでは?


505 :デフォルトの名無しさん:04/11/14 22:50:50
>>481
お勧めの教科書はJGraphPadのソースコードだ。
オープンソースで使えるぞ。似た名前のJGraphは有料版なのでお勧めしない。

http://www.jgraph.com/

506 :デフォルトの名無しさん:04/11/14 22:53:33
>>482
EclipseのCVS-SSH2プラグインのソースコードを見るのがお勧め。

http://www.jcraft.com/eclipse-cvsssh2/

507 :デフォルトの名無しさん:04/11/14 22:59:00
初心者的な質問で申し訳ございませんが、
なにかヒントがありましたお願いします。

Character型のオブジェクトに、コマンドライン引数からの値をカプセル化したいのですが、
Object obj = new Character(arga[0]);
これだと、()の中を文字列として認識してしまって上手くできませんでした。

なにか良い方法ありませんでしょうか?

508 :506:04/11/14 23:01:15
>>482
こっちのほうがよかったかな

http://www.jcraft.com/jsch/


とおもったらよくみたらSSLだったアウチ! orz 状態だ。
Jakarta Turbineとかが参考になるんでない?

509 :デフォルトの名無しさん:04/11/14 23:10:59
>>482
認証局無しってSSLの仕組み上無理でしょ?
publicでない認証局を使わないというのであればそれはOKだと思うが・・・
今の知識量では、それを知らないようなので、
まずは鍵と認証局の関係をもう一度おさらいしてみたほうがよさそうだな。
それと単に通信経路を暗号化したいということであれば、
共通鍵暗号とDiffie-Hellmanの鍵交換も調べておくとよいかな?
しかし>>506も 相当混乱してるな。

510 :デフォルトの名無しさん:04/11/14 23:13:40
>>507
初心者な俺が答えるのも間違ってるけど
API仕様書見たほうがいいよ。
charAt(int index)とかしちゃだめなの?

511 :デフォルトの名無しさん:04/11/14 23:20:04
JPanelの上に画像が貼っつけてあって、その上にJTableとかTextareaとかが
配置してあるのですが、それらのコンポーネントを半透明にして背景の画像を
見えるようにしたいのです。setOpaque()とか読んでもてんで透明になってくれません。
Javaって透明化はできないのでしょうか?

512 :デフォルトの名無しさん:04/11/14 23:24:04
>>506
つーかさcvsssh2プラグインってだいぶ前にeclipseのソースツリーに
マージされてんだけどさ。

513 :デフォルトの名無しさん:04/11/14 23:26:40
>>506
>>508
>>509
 ご返答ありがとうございます。一応オレイリーのJavaネットワークプログラミングを
持っていまして、SSLソケットの実装の仕方は載っているんですね。
なんですけど、鍵の生成の部分の情報がいまいちなんです。
 認証局については、表面的な知識は持っているつもりでいますが、まだまだですね。
えーと、とりあえず認証局は使わないで、通信経路を暗号化だけできればOKです。認証は必要
ありません。(設定する暗号方式によっては認証局不要?)
 keytoolの使い方も載っている、いいサンプルありませんでしょうか?

514 :デフォルトの名無しさん:04/11/14 23:27:13
>>511
opaque=不透明な
引数のtrueとfalseを間違ってないか?
そうでないとしたらpaintComponentを適切にオーバライド。

515 :デフォルトの名無しさん:04/11/14 23:33:16
>>514
falseを設定するとあって、ちゃんと設定してみました。(一応両方試しましたが)
透明になったのはJScrollPaneのスライダーのはじっこだけでした(鬱
paintComponentを自分で実装するのって結構大変そうでしょうか?

516 :デフォルトの名無しさん:04/11/14 23:34:16
>>507
> 初心者的な質問で申し訳ございませんが、
> なにかヒントがありましたお願いします。
>
> Character型のオブジェクトに、コマンドライン引数からの値をカプセル化したいのですが、
> Object obj = new Character(arga[0]);
> これだと、()の中を文字列として認識してしまって上手くできませんでした。
>
> なにか良い方法ありませんでしょうか?


if(arga[0] == null || arga[0].length() != 1){
 System.out.println("Usage ....");
 System.exit();
}
this.c = arga[0].charAt(0);

517 :デフォルトの名無しさん:04/11/14 23:37:34
>>496
キーリスナで
閉じるボタンを押したら
どういう処理をするか(Windowsを閉じる処理)
というif文を書いてないだけだろ。

518 :デフォルトの名無しさん:04/11/14 23:39:54
>>513
大抵のLinuxの本に載ってるよ。
Apacheのmod_sslのことしらべてみるのもいいかと思う。


519 :デフォルトの名無しさん:04/11/14 23:52:10
>>513 まずSunのドキュメントを『最後まで』読むのがよかろう。
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/jsse/JSSERefGuide.html

520 :480:04/11/15 00:28:31
>>494
私も最初疑問に感じましたが、
JFrameって名前はNetBeansのフレームワークが
勝手につけてるんですが・・・。
>>495
パッケージないには自分(の操作)で生成したクラスファイル以外に
含める必要のあるファイルはあるんでしょうか?
NetBeans上でJARファイル生成ウィザードで作成したJARファイルは
NetBeansのオペレーションからは問題なくコンパイルと動作が確認
できています。
また、test1というのは今回使っているパッケージ(フォルダ)の名前です。

521 :デフォルトの名無しさん:04/11/15 00:41:31
結構簡単に透明にできました。感動です。やり方さらしておきます。
swingの下のpaintComponentを以下のようにオーバーライド

public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D)g;
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.4F));
super.paintComponent(g2);
}
こんな感じ。

522 :デフォルトの名無しさん:04/11/15 01:29:51
>>496
Xボタンを押した際の処理は、どのように書いてますか。

523 :521:04/11/15 01:56:35
上でうまくいったと思ったのですが、スクロールバーとかJTableのスクロールを
動かしたりすると、透明でない部分が現れてきて、描画がおかしくなってしまいます。
 最小化して、最大化という事をすると、またキレイに描画されます。
 何か別のメソッドもオーバーライドしなくてはならないのでしょうか

524 :デフォルトの名無しさん:04/11/15 02:28:54
>>520
>JFrameって名前はNetBeansのフレームワークが
>勝手につけてるんですが・・・。

そんなことはない
勘違いしてるぞ


あとできあがったjarを展開して中身確認してくれ

525 :デフォルトの名無しさん:04/11/15 02:33:51

さっき、ある java アプリケーションのインストールをする時に
http://49uper.com:8080/html/img-s/22825.png
のようなセットアップ画面がでてきたのですが、このインストーラーは
何ですか?
無料であればかなり使用してみたいのですが。


526 :デフォルトの名無しさん:04/11/15 02:37:46
フリーのインストーラはいくつか有るから調べてみればいい
そういうのを比べたサイトがあったはず

ちなみにこれはJavaとはなんの関係もないからな

527 :デフォルトの名無しさん:04/11/15 02:56:57
>>526
いやいやJavaで書かれたインストーラで何がいいかって話題なら興味があるぞ。

528 :デフォルトの名無しさん:04/11/15 03:35:04
>>520
手元にnetbeans 3.6が残ってたんでやってみたわ。
結論からいうと、問題なくjarを起動できた。

>JFrameって名前はNetBeansのフレームワークが
>勝手につけてるんですが・・・。

New...でJFrameを選んだあとに出てくるウイザードで、<defaultなんちゃら>とかかいてある
のを自分の好きなクラス名に書き換えないと、JFrameという名前になる。

俺がやったのは、
・netbeansのnew...でJFrameを新しく作って何もいじらない。起動してみてウインドウが開く事だけ確認した。
名前はJFrameSampleとしておいた。
・New...からJar recipeを選択して、上記JFrameをjarの項目として選択。
・jar recipeウィザードの最後の、マニフェスト編集のところでGenerateしてもMain-Class:項目が入らないの
で、手書きで追加。test1.JFrameSampleをメインクラスとした。
・コンパイル
・出来たjarファイルをjavaコマンドで起動。

何の問題もなくウインドウが表示された。
ともかく、
・jar -tvf jarファイル名の出力結果
・jar -xvf jarファイル名してjarを展開して、META-INF/MANIFEST.MFの中身

この二つを晒してみろ。

529 :デフォルトの名無しさん:04/11/15 04:51:37
継承元のクラス内で書かれたgetClass()と
継承したクラスのgetClass()は何故異なるですか

1つのクラス内で2種類のClassなるですか

530 :デフォルトの名無しさん:04/11/15 05:19:04
>>529
?
それは異なるクラスになって当然じゃないのですか?

531 :デフォルトの名無しさん:04/11/15 05:39:30
>>530
おそらく彼はgetClassをオーバーライドしていないのだから、Object#getClassを呼んでいると考えているのだろう

>>529
考えられることは2つ
1. コンパイラによって暗黙のうちにgetClassが定義されている
2. インスタンス化の際にクラス情報が記憶されていてObject#getClassはそれを参照している

多分2.じゃないかな?

532 :デフォルトの名無しさん:04/11/15 08:44:11
2。記録というか、参照を持っている。
そうしないと型チェックとかメソッド呼び出しとか動的にできないので。


533 :デフォルトの名無しさん:04/11/15 10:27:59
>>531
java.lang.Object#getClass() は final で修飾されてるのでオーバーライドできません。

534 :デフォルトの名無しさん:04/11/15 15:23:45
質問です。普段は1.4を使い、必要なときだけ5.0を使いたいのですが以下のようなエラーが出て困ってます。

環境変数(JAVA_HOME)には1.4を設定してあるのだけど、java -versionすると5.0が返ってきます。
環境変数をいくら探っても5.0の痕跡が無いんだよね。
で、レジストリを探したらHKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion
の値が1.5になってた。
これを1.4にしてjavaプログラムを実行すると、要求されてるのは1.5ですよ、ていう趣旨のエラーが出ます。
CurrentVersionの値を1.5にして、J2SE1.4依存のjavaプログラムを走らせると逆に、要求されてるのは1.4です、ってエラーが出ます。

どうすれば5.0をインスコした状態で、1.4の環境に戻せるんでしょうか?昔は環境変数いじるだけでどうにかなったのに・・・。


535 :デフォルトの名無しさん:04/11/15 15:28:37
>>534
JREインストール時に標準でパスがとおってるWindowsのシステムディレクトリに
java.exeとjavaw.exeのコピーが置かれるけど、そっちが優先されてるだけ、とかでは?

536 :デフォルトの名無しさん:04/11/15 15:31:18
>>534
1.4 と 5.0 と両方の設定で java -version と javac -J-version を確認してみれ。
java -version の結果が同じで javac -J-version の結果が違うなら >>535 の可能性大。

537 :デフォルトの名無しさん:04/11/15 15:47:36
>>534
環境変数はどこで設定してるの?
java コマンドは、JAVA_HOME ではなく、Path環境変数が通っている箇所のものが実行される。
なので、システム環境変数にJAVA_HOMEと、システム環境変数のPathに%JAVA_HOME%\bin の両方が必要。
ユーザ環境変数ではダメ。Pathは例外的にシステム環境変数が優先されるから。
JDKのWindowsインストーラはSystem32フォルダにもjavaコマンドをインストールするので
ユーザ環境変数をいくらいじってもシステム環境変数が優先され、System32 フォルダのjavaコマンドが実行されてしまう。

コマンドライン上でsetコマンドで毎回設定するのが一番確実だけどね

538 :デフォルトの名無しさん:04/11/15 16:11:45
言うの忘れてましたがWin2Kですf^^;

>>535
あ、なるほど!
ではそちらを削除してみます。たしかSystemディレクトリのやつを消すとPATHから拾ってきてくれるはず・・・。

>>536
[レジストリキーの値:1.5]
>java -version
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)

>javac -J-version
java version "1.4.2_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)

[レジストリキーの値:1.4]
>java -version
Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion'
has value '1.4', but '1.5' is required.
Error: could not find java.dll
Error: could not find Java 2 Runtime Environment.

javac -J-versionの結果は同じでした。

>>537
ユーザ環境変数の方です。システムの方にはJavaに関するものは一切記述されてません。

539 :デフォルトの名無しさん:04/11/15 16:15:09
おお!解決しました!
System32ディレクトリ内のjava.exeとjavaw.exeを削除したら解決しました!
ありがとうございましたm(_ _)m

540 :デフォルトの名無しさん:04/11/15 18:37:38
>>534-539
SunのSDKに含まれるjavaやjavacみたいなツールは環境変数JAVA_HOMEを
参照しないから、サードパーティのライブラリなどで要求されない限り、
設定しないほうが混乱しなくていいよ。

541 :デフォルトの名無しさん:04/11/15 18:47:52
>>540
その程度で混乱するやつは出てくるな。アドバイスする側としては。

542 :デフォルトの名無しさん:04/11/15 19:02:03
超初心者です。コンパイルすると
(クラス).java:1: \65533は不正な文字です。
?サンpublic〜

と出てしまいます。お助けを・・・

543 :デフォルトの名無しさん:04/11/15 19:20:47
ソース用のろだが欲しいところだ

544 :デフォルトの名無しさん:04/11/15 20:17:44
            ____
           /∵_ノ∴∵\
          / ∵__∵∴∵_ \
         /\ζ・\ ∴/・ζ∴|
         |∵∵/  ̄ ○\∵|
         |∵ /  三_|_三 | / ̄ ̄ ̄ ̄ ̄
         |∵ |  /\/ \/ /<一生自演してろ!クソ>>1
          \|   \∧∧//  \_____
             \____/ 
   _, 、 -― ''"::l:::::::\   ,、.゙,i 、
  /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_
 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、
. i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::!
/;;;;;;;;;;;;;;;;;;;;;;;;!:::::::::::::::::::\:::::::::ヽ|||||:::::/::::::::i:::|
;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;:::::::::::::::::::::::\:::::゙、|||:::/::::::::::|:::i
;;;;;;;;;;;;;;;;;;;;;;;丿;;;;;;;;;;:::::::::::::::::::::::\::V::/:-―-l::::!
;;;;;;;;;;;;;;;;;;/;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::゙''レ::::::::::::::::!:::|
;;;;;;;;;;;/ ヽ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::|O::::::::::::::/::::!
;;;;;;;;/    i;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;!;;;;;;;;;;;i;;;;;!::::::!


545 :デフォルトの名無しさん:04/11/15 20:32:16
>542
Unicode BOMに1票。


546 :542:04/11/15 21:15:42
>>540
超ありがとうございます!BOM調べてみました。
解決法としてはこれを省略してしまえばいいんですか?てかそのやり方がわからなくて困ってます。

547 :デフォルトの名無しさん:04/11/15 21:31:39
そいや、J2SE5.0って演算子のオーバーロードは出来るようになったの?

548 :デフォルトの名無しさん:04/11/15 22:02:03
Javaでコンソールアプリケーションを作るときに、出力される文字の色を変更する、ってできるんでしょうか?

549 :デフォルトの名無しさん:04/11/15 22:03:26
printfが使えるんだから出来るんじゃね?

550 :396:04/11/15 22:04:25
なんとか解決しました。
色々ダメな点があったようで以下の三点を直して問題無くなりました。

(1) Webアプリケーションの設定ファイルに DecodeInterceptor を追加
(2) Connecter/J のヴァージョンを 3.0.11 から 3.1.4 に変更
(3) URL中のcharacterEncoding の "Shift_JIS" を "sjis" に変更

(1)はこの単語で検索したらたくさんヒットするのに
自分がググってた単語じゃなかなか見つかりませんでした。
(2)の Connector も 3.0.11 は日本語 NG のようです。
(3)はMySQLのヴァージョンによって Index.xml ファイルで設定されている
エイリアスが変わったからでしょうか?"shift-jis" とかになってました。
とりあえず正式名称?の "sjis" にして解決しました。

>>431さん
レスありがとうございます。その方法知もりませんでした。
もっと勉強します。。。m(_ _)m

551 :デフォルトの名無しさん:04/11/15 22:11:06
>>548
WinNT系のコマンドプロンプトではそもそもエスケープシーケンスが使えなかったと思う。
command.comからJavaを起動出来れば使えるかもしれない。まぁがんがれ。

http://kasai86.ld.infoseek.co.jp/dos/esc.htm

552 :デフォルトの名無しさん:04/11/15 22:35:49

5.0の新機能を使用して書いてコンパイルされたアプリは、他のそれ以下のバージョン
でのJVM上では動かないんでしょ?

じゃ、5.0が普及するまでその機能を使用しても意味ないじゃん。
それともコンパイラが昔のJVMでもそのコードが動くようにうまくバイトコードを吐きだしてくれるとか?



553 :デフォルトの名無しさん:04/11/15 22:57:46
つーかさー、5.0を普及させたいんだったら下位バージョン依存のプログラムも動作出来るようにしてよね
1.4でコンパイルされたら1.4であることを示す情報をクラスファイルに記述されるようにして、
プログラムを起動したときに1.4のタグがあったら1.4モードで実行する、とかさ

554 :デフォルトの名無しさん:04/11/15 23:03:32
アプリケーションサーバについて質問です
WeblogicとWebSphereを比較して
それぞれのメリットデメリットって何でしょうか?


555 :デフォルトの名無しさん:04/11/15 23:04:02
>>543
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html

>>547
そんな9割の人間が有害と考えるような機能は実装されない。

static importは5割ぐらい嫌がるかもしれんが

>>553
動くんじゃないか?

556 :デフォルトの名無しさん:04/11/15 23:04:40
>>554
便乗質問していいかな?
その2つに加え、Sun One Application Serverも入れて比較してくれるとありがたいです

557 :デフォルトの名無しさん:04/11/15 23:06:14
>>555
>動くんじゃないか?
動かないヤツもあるんだぉ

558 :デフォルトの名無しさん:04/11/15 23:20:01
542(546)です。
javaエディタをダウンロードしたのですが、BOMをはずす機能もついてなくてお手上げ状態です。
今日の12時までに提出の課題なんですが・・・何かアドバイスをお願いします!


559 :デフォルトの名無しさん:04/11/15 23:21:03
>553
古い物はコンパイルできるし、バイナリも動く(ことになっている)
動かないものを見つけたならBugParadeに突っ込むべし。

560 :デフォルトの名無しさん:04/11/15 23:23:05
>558
WindowsならそもそもデフォルトエンコーディングはShift_JISじゃないのか?
メモ帳で文字コード:ANSIで保存してみたら?

561 :デフォルトの名無しさん:04/11/15 23:24:13
>>560
MS932

562 :デフォルトの名無しさん:04/11/15 23:24:48
>>561
ナイスツッコミthx

563 :542:04/11/15 23:44:01
>>560
ANSIにしてもコンパイルできませんでしたが、何かエラーの内容が普通っぽいかんじになりました。
あとは自分でがんばってみます。
ありがとうございました!!

564 :デフォルトの名無しさん:04/11/16 00:35:40
>>559
> >553
> 古い物はコンパイルできるし、バイナリも動く(ことになっている)
> 動かないものを見つけたならBugParadeに突っ込むべし。

いや、違う。 古いバイトコードを新しいJVMで動かしたいんじゃなくて、
5.0でコンパイルしたバイトコードを古いJVMで動かしたいのよ。

その時に古いJVMでは動かないバイトコードもあるでしょ?

565 :デフォルトの名無しさん:04/11/16 00:40:22
>>564
新機能使っといて古いのでも動かしたいってのは常識的に無理だろ。

566 :デフォルトの名無しさん:04/11/16 00:41:08
それはもともと保証されてないし、
そんなこといってたら標準ライブラリに何も追加できないじゃん。


567 :デフォルトの名無しさん:04/11/16 00:46:25
>>564
自分の書いた文章をもう一回よく読み直してみろ。違うのはお前だ


568 :デフォルトの名無しさん:04/11/16 00:47:41
>>564
-targetオプションのことを言ってるのか?


569 :デフォルトの名無しさん:04/11/16 00:48:26
>>566
> それはもともと保証されてないし、
> そんなこといってたら標準ライブラリに何も追加できないじゃん。

だからそれなら、アプリを書いても、ほとんどのユーザーのマシンには古いJVMが載ってるわけ
なんだから5.0の新機能を使用してプログラムするのは意味ないでしょ、って>>552で言っ
たのよ。

それとも、新機能を使用するメリットは上のデメリットに勝るものなの?


570 :デフォルトの名無しさん:04/11/16 00:49:02
ttp://www5.airnet.ne.jp/sakuraba/java/laboratory/J2SE1.5/TinyTips/StringBuilder/StringBuilder.html
より

System.out.println("現在時刻 " + new java.util.Date());

というソースがあり、これを5.0でコンパイルするとバイトコードでは

System.out.println((new StringBuilder()).append("\u73FE\u5728\u6642\u523B ").append(new Date()).toString());

となって、ソース的には1.4でも動くはずがこのバイトコードは当然1.4では動かない

しかしこんなことする方がマヌケなので
互換性を優先に考えるならソースをコピーしてリビルドするか
最初から1.4で全部作れ

571 :デフォルトの名無しさん:04/11/16 00:52:39
-target 1.4を知らない馬鹿が吼えてるのか

572 :デフォルトの名無しさん:04/11/16 01:01:22
>>569
Windows95が出てからまだ9年しか経っていないじゃん。
だからそれなら、Win32アプリを書いても、ほとんどのユーザーのマシンには古いDOSやWindows3.1が載ってるわけ
なんだからWin32のAPIを使用してプログラムするのは意味ないな。


573 :デフォルトの名無しさん:04/11/16 01:01:52
StringBuilderって1.4にはないだろ

574 :デフォルトの名無しさん:04/11/16 01:02:09
>>571
> -target 1.4を知らない馬鹿が吼えてるのか

それはtigerの新機能が使用されたソースコードを全て的確に
1.* compatibleなバイトコードにtranslateしてくれるの?
俺としてはかなり懐疑的なんだけど。

575 :デフォルトの名無しさん:04/11/16 01:08:51
:::::::::::/           ヽ::::::::::::
:::::::::::|  ば  じ  き  i::::::::::::
:::::::::::.ゝ か   つ   み  ノ:::::::::::
:::::::::::/  だ  に  は イ:::::::::::::
:::::  |  な。       ゙i  ::::::
   \_         ,,-'
――--、..,ヽ__  _,,-''
:::::::,-‐、,‐、ヽ. )ノ      _,,...-
:::::_|/ 。|。ヽ|-i、      ∠_:::::::::
/. ` ' ● ' ニ 、     ,-、ヽ|:::::::::
ニ __l___ノ     |・ | |, -、::
/ ̄ _  | i     ゚r ー'  6 |::
|( ̄`'  )/ / ,..    i     '-
`ー---―' / '(__ )   ヽ 、
====( i)==::::/      ,/ニニニ
:/     ヽ:::i       /;;;;;;;;;;;;;;;;


576 :デフォルトの名無しさん:04/11/16 01:15:52
  _________
  | ________ |                  ___
  | |           | |      , ─── 、     /___    \,,
  | |. ドラえもん     | |     / ) 、       \  |-、ヽ |.    ヽ
  | |   開発断念   | |     d-´  \       ヽ | |─|     |
  | |           .| |    亅三    ヽ     |  |-′||)    /
  | |             | |   (___   |     /  \ __ ヽへ/
  |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |     \     |    /      /二二l
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|     o━━━━┥     / )   |
 |.                 |       /        |    /ヽ/    |
 |__________|     ◯        |   / /____|
                    (       o ノ  ( ̄ |    丿
                      ̄ ̄ ̄ ̄ ̄      ̄ ̄ ̄ ̄

    / ̄ ̄ ̄ ̄\,,      /−、 −: : : :
   /_____  ヽ    /  |  ・|・  : : : : . . .
   | ─ 、 ─ 、 ヽ |  |   / / `-●: : : : .
   |  ・|・  |─ |___/   |/ ── |  : : : : . .
   |` - c`─ ′  6 l   |. ── |  ─: : : :
.   ヽ (____  ,-′   | ── |  ─: : : : . .
     ヽ ___ /ヽ     ヽ (__|___: : : : . . .
     / |/\/ l ^ヽ    \      : : : :
     | |      |  |     l━━(t)━: : : : . . .
                     /    \: : : : . . .

577 :デフォルトの名無しさん:04/11/16 01:19:33
。・゚・(つД`)・゚・。


578 :デフォルトの名無しさん:04/11/16 01:21:26

ん・・・てか、みんなテストしてないからわからんのか......


579 :デフォルトの名無しさん:04/11/16 01:25:16
>>578
自分で試してみろよ。10秒でわかるから


580 :デフォルトの名無しさん:04/11/16 01:25:44
>570のコード片を実際に5.0のjavacで-target 1.4付けてコンパイルしてみりゃいいんだろうけど
5.0入れると1.4に戻すの手間だから嫌だなぁ……

581 :デフォルトの名無しさん:04/11/16 01:30:54
久々にやり手の釣り師ですな


582 :デフォルトの名無しさん:04/11/16 01:31:05
>5.0入れると1.4に戻すの手間だから嫌だなぁ……
戻す必要なんかないだろ?
別に5.0に入れ替えろって意味じゃなくて、どちらも共存できるんだからさ。

583 :デフォルトの名無しさん:04/11/16 01:43:43
>>525
JavaWebStartを使えばそんなもんいらんのに

584 :デフォルトの名無しさん:04/11/16 02:13:39
すいません。質問です。

複数の処理を行った際にそれぞれ処理ログをログファイルに出力したいと思っています。
ログファイルは処理ごとには作成せず、1つもファイルに出力しようと考えています。

複数処理を行った際にも1つのログファイルに処理ログを出力する方法を教えてください。

585 :デフォルトの名無しさん:04/11/16 02:25:03
public class Logger {
private ArrrayList<String> logList = new ArrayList<String>();
protected void log(String log) {
this.logList.add(log);
}
}


586 :デフォルトの名無しさん:04/11/16 02:41:55
ソースにtiger機能をつかってると、ターゲットも1.5でないといかん。
(つまり -source 1.5 -target 1.4ってのは基本的にない)

でも1.4のソースを5.0上で1.4でも動くようにコンパイルすることは普通にできるだろ。
-source 1.4 -target 1.4で。

あと、1.4のバイナリは5でも普通にうごくだろ(上方互換性というやつ)。

587 :デフォルトの名無しさん:04/11/16 02:59:35
>>585
レスどうもです。

ちょっと違います。せっかく教えてくださったのにすいません。

たとえば、Aというクラスでsample.logにログを出力している間にAとは全然関係ないクラスBが実行されます。
そのときにクラスBの処理でのログもsample.logに出力したいってことです。
sample.logの中にはクラスAのログとクラスBのログが混在してる状態になります。

588 :デフォルトの名無しさん:04/11/16 03:03:40
AとBの実行は別プロセスなのか、同一プロセスの別スレッドなのか、同一のスレッドなのか答えよ。

589 :デフォルトの名無しさん:04/11/16 03:06:07
????
普通にjava.util.loggingを使ったらいいんじゃないの?

590 :デフォルトの名無しさん:04/11/16 03:09:27
>>588
別プロセスです。

>>589
あ、そうなんですけどね。
staticにしてAとbのクラス両方からログを書き込めるようにしろと言われたんですけどよくわからなくて・・・

591 :デフォルトの名無しさん:04/11/16 03:39:21
本人に聞きゃいいじゃん

592 :デフォルトの名無しさん:04/11/16 08:24:53
assert っていつから使えるようになったの?

593 :デフォルトの名無しさん:04/11/16 08:50:58
かなり前から。

594 :デフォルトの名無しさん:04/11/16 08:53:45
始めまして。質問します(wikiのページをみても、わかりませんでした)。

paint(Graphics g)メソッドに、int とかの値を渡したいとき、私はインスタンス変数を介して
(repaint()を呼ぶ側のメソッド内で、そのインスタンス変数に渡したい値をセットして、
paint側でそのインスタンス変数から取り出す)
ますが、これだとインスタンス変数がたくさんになってしまって、
プログラムのパッと見た目が分かりにくい。なんかもっときれいに書ける方法はないものか。

みなさんはpaint()に渡したい値があるとき、どうしてらっしゃいますか?
他の方法があるんでしょうか?

595 :デフォルトの名無しさん:04/11/16 09:00:24
>>594
それしかないよ。
わかりにくいなら、内部クラスとか使って、渡す変数の
スコープ範囲を絞るとちょっと読みやすくなるよ。

596 :594:04/11/16 09:22:13
なるほど。
内部クラスは、使ったことがないので、今後勉強しようと思います。
とりあえず、そのインスタンス変数に「paint渡し用」などとラベルをつけることにします。

ありがとうございました!

597 :デフォルトの名無しさん:04/11/16 09:36:40
JavaのGUIにAWTとかSwingとかありますが、他に何かありますか?
これらの他にGUIはありますか?
何が先行で何か多く用いられますか?

GUI環境は標準でついてくるものなのですか?

598 :デフォルトの名無しさん:04/11/16 11:00:14
Javaの宿題というわけではありませんが、数値計算の問題をJavaで組んだ
プログラムで解いているので、ここで質問します。
スレ違い、板違いなら誘導お願いします。

 常微分方程式 du(t)/dt = t*u(t) (0<=t<=1), u(0)=1 の厳密解u(t)と、
 オイラー法の漸化式から求めた数値解u_h(t)とを比較せよ。
 また、厳密解と、4段4位のルンゲ・クッタ法による数値解u_h(t)とを比較せよ。

といった問題です。厳密解は u(t) = exp((x^2)/2) となりました。
webや書物を見てみると、オイラー法よりもルンゲ・クッタの方が精度が良いと
書いてあるのですが、私の組んだプログラムではオイラー法での数値解の方
が厳密解に近いんです。プログラム中のhは刻み幅で、どのhに対しても、オイ
ラー法の方が精度が良いという結果でした。

以下にプログラムの載せるので、間違っている箇所があればご指摘お願いします。

599 :598:04/11/16 11:00:57
...続き

<オイラー法によるもの>
public class Euler{
public void run(){
double h = 1./100.;
double u=1;

for(double t=0; t<1+(h/2); t+=h){
u = (1 + h*t)*u;
System.out.println(t +" "+u);
}
}

public static void main(String[] args){
Euler test = new Euler();
test.run();
}
}

600 :598:04/11/16 11:01:36
...続き

<ルンゲ・クッタによるもの>
public class Runge{
public void run(){
double h = 1./100.;
double u=1;

for(double t=0; t<1+(h/2); t+=h){
double k1 = h*t*u;
double k2 = h*(t+(h/2))*(u+(k1/2));
double k3 = h*(t+(h/2))*(u+(k2/2));
double k4 = h*(t+h)*(u+k3);
u = u + (k1 + 2*k2 + 2*k3 + k4)/6;
System.out.println(t +" "+u);
}

}

public static void main(String[] args){
Runge test = new Runge();
test.run();
}
}

よろしくお願いします

601 :デフォルトの名無しさん:04/11/16 11:05:45
>597
AWT 昔っからある。今後バグフィクス以外に手が入ることはまずない。
Swing Sun一押し。一応こっちがお勧め。もっともAWTの知識があったほうが理解が楽。
SDL Eclipseで使ってる。でも厳密には「GUIツールキット」ではないらしい?
他にもあるかもだが詳しくないので勘弁。

てことで、Java GUI初心者ならまずはSwingでぽちぽち、かな。
J2SEならGUI(を実現するパッケージ)は標準で付いてきます。

602 :598:04/11/16 11:05:57
補足です。プログラム中のdouble型で宣言している変数"u"は、
問題文中の"u_h(t)"に対応しております。よろしくお願いします。

603 :デフォルトの名無しさん:04/11/16 11:18:03
JSP/Servletのプログラムを作り、
自分で作成したパッケージをTomcatの\WEB-INF\classes以下に置き、
それをimportで取って使うようにしたいのですが、
JSPではうまくとってこれるのですが、Servletではコンパイル時に「パッケージ ○○ は存在しません」と表示されます。
どうすればよいでしょうか?
ちなみに同じパッケージを使っています。

604 :デフォルトの名無しさん:04/11/16 11:24:46
SwingでJProgressBarを使った開発を行っているのですが、
データ処理中にProgressBarを動作させる方法がわからず困っています。

JProgressBar1.setValue(JProgressBar1.getValue() + 1);

こんなのをフツウの処理(Threadではない処理)の中でぐるぐる回すだけではダメなのでしょうか?
タスケテエロイ人_| ̄|○

605 :デフォルトの名無しさん:04/11/16 11:29:21
    ┌────────────┐       ┌────────────┐
    |      _______       |        |     ______       |
    |    .r' ,v^v^v^v^v^il     .|        |    r' ,v^v^v^v^v^il     .|
    |    l /  ー  −. |     |        |    l / jニニコ iニニ!.     .|
    |   i~^'     ・  ・ .|っ    |┌──i\  |   i~^'  fエ:エi  fエエ)Fi    .|
    |   ヽr     ⊂⊃  V    | .|     .,> |   ヽr      >   V    |
    |    l    __l___ l     |└──i/  |    l   !ー―‐r  l     |
    | _,.r-‐人   \__ニ_,/ ノ_   .|        | _,.r-‐人   `ー―'  ノ_   .|
    |   ! !  ゙ー‐ー----‐'"ハ ~^i  |        |   ! !  ゙ー‐-- ̄--‐'"ハ ~^i  |
    |ヽ ! ヽ、_     _.ノ  i  \|        |ヽ ! ヽ、_     _.ノ  i  \.|
    └────────────┘       └────────────┘
                東京都練馬区にお住まいのG さん
                ____
    ____|⌒|____    (_ _)  ./⌒j    |⌒|  |⌒| .r.─---┐         ./⌒j
   (________) ノ⌒┌┘└┐_,,ノ    ̄ ̄| |  |  |  |└──-┘    .,-  _,,ノ  . ̄ ̄|
   .  |  ─  |  (_ _.ノ .|  ─ |(_ノ ̄ ̄|  | |  |  |  |      .|⌒|⌒| .|(_ノ ̄ ̄|  |
   |. ̄ ̄ ̄ ̄ ̄.|(_ _.ノ)|  ─ |      / / L,丿  |  |      丶人.ノ| .|      ./ /
   |  | ̄ニ ̄|  |( ,ノ |_ ─ _|.  ___ノ /     _./ /r────┐_ノ ノ   ___ノ /
   | ├──┤ | ~  ./ 人. \ (   .ノ     (._ノ└──── (  /   (   .ノ


606 :デフォルトの名無しさん:04/11/16 11:31:48
>>603
コンパイル時のクラスパスを確認

607 :603:04/11/16 11:49:40
>>606
それはクラスパスをパッケージの所に指定すればよいのですか?

608 :デフォルトの名無しさん:04/11/16 12:25:41
>>607
ServletやらJSPやる前に勉強しなきゃいけないことが山ほどありそうだなw

609 :デフォルトの名無しさん:04/11/16 13:10:39
ふと思いついたので質問。

abstract classって、例えば
abstract class Personがあって、それを継承したChildc classもあるとする。
そこで
Person person = new Child();
person.doSomething(); ←Personクラスで定義されている抽象メソッド、Childクラスで実装済み
ってできるの?なんか、abstractなんとかエラーってのが出るんだが、interfaceだったらばっちりできるのに。
わざわざキャストしないと呼べないなら大して役にたたねぇなぁと思う。

あと、javaって、新しく書いているクラスの中で他のクラス(コンパイル済み)を継承なり、使うなりしてたら、
書いているクラスをコンパイルするには
中で使ったクラスのソースがいるの?classファイルがいるの?

だれか教えてちょ

610 :U ◆CZtFsGiu0c :04/11/16 13:15:03
>>609
>person.doSomething(); ←Personクラスで定義されている抽象メソッド、Childクラスで実装済み
ってできるの?

もちろん、できる。できないとしたら何か間違えてる。

>あと、javaって、新しく書いているクラスの中で他のクラス(コンパイル済み)を継承なり、使うなりしてたら、
書いているクラスをコンパイルするには
中で使ったクラスのソースがいるの?classファイルがいるの?

ソースファイルかクラスファイルかどちらか必要。


611 :デフォルトの名無しさん:04/11/16 13:26:29
>>610
Childクラスにキャストしなくてもできるの?
自分も最初はもちろんできるだろって思ったんだけど、abstract methodなんとか
ってやつで呼べなかったんだ。んで、インターフェイスにしたらばっちり。
どう考えてもちゃんと実装してあったし、間違いようがなかったんだけどなぁ。


612 :デフォルトの名無しさん:04/11/16 13:30:18
ならばそのソースを晒してみれば?

613 :デフォルトの名無しさん:04/11/16 13:36:47
argsはアーグエスとアーグズどっちが正しいんですか?

614 :デフォルトの名無しさん:04/11/16 13:46:36
あっしは、あーぐすって呼んでやした。

615 :デフォルトの名無しさん:04/11/16 13:48:12
あーぎゅず だ。

616 :デフォルトの名無しさん:04/11/16 14:08:38
MouseListenerをimplementしようとしたら、

Colorcoding_new(プログラム名) は abstract でなく、java.awt.event.Mouse
Listener 内の abstract メソッド mouseEntered(java.awt.event.MouseEvent) をオーバ
ーライドしません。

というエラーメッセージが出てしまい、うまくいきません。
このメッセージはどういう意味なのでしょうか?

あと java application の場合、addMouseListener(this) はどこに配置すればよいのでしょうか?
applet の場合だと、init()に配置していましたがapplicationの場合どうすればよいのか分かりません。

617 :デフォルトの名無しさん:04/11/16 14:17:48
>>616
Interfaceに定義されているabstractメソッドをすべてimplementしていないにも関わらず、
あんたのプログラムはabstractでもないからエラーだと言ってる。そのimplementされて
いないメソッドというのはmouseEntered()だと言ってる。

>addMouseListener(this) はどこに配置すればよいのでしょうか?
そりゃもちろん、「ほげ.addMouseListener()」の対象オブジェクト「ほげ」を作ったところで
やらないと仕方がないわな。ボタンとかペインとかそういうのを組み立ててるところ。
main()ならmain()でいいし、どこでもいい。

618 :デフォルトの名無しさん:04/11/16 14:25:20
多分、number of arguments だからアーグス。

619 :デフォルトの名無しさん:04/11/16 14:35:29
それはC言語じゃないか?
Javaだと単に「arguments」の略だと思う。

620 :デフォルトの名無しさん:04/11/16 14:57:35
C言語は
arguments countと
arguments valuesだから
別の言語じゃないか?

621 :デフォルトの名無しさん:04/11/16 16:01:43
>617
解決できました。ありがとうございました

622 :デフォルトの名無しさん:04/11/16 16:04:46
>616
マウスリスナの一部のメソッドだけ実装したいときはMouseAdapter使うといいよ。

623 :デフォルトの名無しさん:04/11/16 16:15:21
>622
なるほど、そっちのほうがimplementsもしなくていいし楽そうですね



624 :デフォルトの名無しさん:04/11/16 16:34:43
あー、C言語はargcとargvだった....orz

625 :デフォルトの名無しさん:04/11/16 17:08:13
>>612
ソースは結構長いので、さらしはやめておくわ。ちなみに出たエラーはこれ

public class AbstractMethodError
extends IncompatibleClassChangeError
アプリケーションが abstract メソッドを呼び出そうとした場合にスローされます。通常、
このエラーはコンパイラによって検出されます。現在実行中のメソッドを
最後にコンパイルしたあとで、あるクラスの定義が変更されて互換性
が失われた場合にだけ、実行時にこのエラーが発生します。

上のやつが出た。
シリアライズして送信してクラスロードしてとかを経てるからかなぁ。
でも、インターフェースなら大丈夫なのよ〜



626 :デフォルトの名無しさん:04/11/16 17:14:58
>>587
java.util.loggingを使う話が出てきたが
Jakarta Commons Loggingと併用して使うと
シンプルになり使い勝手がいいぞ。
java.util.loggingからJakarta Log4jへの乗り換えも楽になるしな。

627 :デフォルトの名無しさん:04/11/16 17:18:11
>>592
J2Se1.4からだよ

>>613
漏れはarguments アーグメンツと発音してる

628 :デフォルトの名無しさん:04/11/16 17:26:08
>627
ドイツ人?

629 :デフォルトの名無しさん:04/11/16 18:29:21
スレッドを10個ぐらい作って、runメソッドの中でwhile(true){
みたいに無限ループで処理をしてるんだけど、アプリケーションが終了する
時に適切にリソースを解放させて終了させたい。以下の方法でどれが
普通?

1,stopメソッドを呼ぶ
2,destroyメソッドを呼ぶ
3,gotoとかでrunメソッドを抜けるように逃がす

ちなみに、終了するメソッドはそれぞれのスレッドのrunの中で呼びます。
どなたか教えてorz

630 :デフォルトの名無しさん:04/11/16 18:31:29
どれもとんでもなく普通じゃない。

631 :デフォルトの名無しさん:04/11/16 18:39:54
>>630
というと、普通はどうやるの?おせえてorz。普通外から終了させるって事け?

632 :デフォルトの名無しさん:04/11/16 18:40:49
それとも参照をぬるぽするって事?

633 :630:04/11/16 18:46:47
定石的にはこんな感じじゃないか?

private volatile boolean stopRequest = false;

public void requestStop() {
stopRequest = true
}

public void run() {
try {
while( !stopRequest) {
/* なんかのくりかえし処理 */
}
} finally {
/* スレッド終了時の後片づけ */
}

単なる無限ループじゃなくて、外部からセット可能なフラグを見てループする。
止めたい時は上記で言えばrequestStop()を呼ぶ事で終了を要求する。
スレッド側ではフラグを見てループを抜け出し、finally句へ入ってリソース開放
など行なう。

ちなみにfinallyなのは、例外発生時にもリソース開放するため。
フラグがvolatileなのは、複数スレッドからセット及び参照されるので、設定内容が
確実に別スレッドから見えるようにするため。

634 :630:04/11/16 18:50:04
あー、よく見たらrun()のところの } が一つたらんみたいだな。

635 :デフォルトの名無しさん:04/11/16 18:50:12
>>633
なるほど。すげぇ参考になった。まじありがとうorz
ってか、volatileって俺初めて使うわ・・・・・・・


636 :デフォルトの名無しさん:04/11/16 19:12:59
マルチスレッドの場合このVolatileがないと別スタックからは最新の情報取れないからね
VectorとArrayLiistの違いと同じ

使う側がsynchronizedでのアクセスを保障する・・か
ゲッターセッターを用意してその中でsynchronizedをいれているかだな


637 :デフォルトの名無しさん:04/11/16 19:28:10
>>633
低レベルのクズは消えろ

638 :デフォルトの名無しさん:04/11/16 19:40:26
>>637
はぁ? どこが低レベルだよ。君にはvolatileも難しかったかな?
まさかstop()で終了→ウマーとかじゃないだろうな。



639 :デフォルトの名無しさん:04/11/16 19:45:47
>>636
うん、requestStop() のところをsynchronizedにすればvolatileがいらないんだけど、
この場合はロックの獲得までは必要ないので、volatileで十分だなと。

640 :デフォルトの名無しさん:04/11/16 20:06:54
             _,,-‐'''',,"゙゙゙゙゙"'ー-,,、
              ,,/゛ .,/′`'ぃ―-.`ヽ、
            ,/ ,,-'二ニッッ、 .|,、 .,,ミ、 ヽ
           ,/` ,i´ .―ー'''″,‐●`ニ二,~'i、 ゙l、
           ゙l  |       `      .|  .|
    _,,,--,,、 ヽ, ヽ           _/,,/`   r'"゙''i、
   .r'"    l''''''''゚''-ミ,!ι      ._,,,ri゙‐'゙‐'''''''''''"゙フ''''"
   ゙'''ー―'''゚'''ツ'―-ッ二二ニニ,,,,"゙゙゛     _,,-
        / .,/       ゙'---、 ,-'"゛
       ,/ ,i´            l  |
       ,i´ .l゙  .'ミ゙゙゙゙゙゙゙^'''''''''''''''''> 、` ,!
      丿  .゙l  .゙'i、、   ._,,,,_,、  丿
     ,i´   `'i、   ` '''''"゙/  `'ぃ"
     (,、    ゙''-、-i、、 _,l゙    ゙l
     _,,,ニz,,,,,,,,,,,_   `゙` ゙l    ,l゙
   /`   ゙''i、  `^゜   .ヽ、 _/
   l゙      ヽ        `゙゙′
   |       丿
   ヽ   .,,,-'"`
    ゙'ー-'"`



641 :デフォルトの名無しさん:04/11/16 20:10:31
        ζ
     / ̄ ̄ ̄ ̄\
    /   ⌒   ⌒\
   /    ・    ・ |
   |(6     つ    |
   |    三 | 三   |  
   |    \_|_/  | 
    \    \__ノ  /  
   / \ ___/\
  │ ∴∵━━○━∴│      ____
───────────── /∵∴∵∴\────
                   /∵∴/∴∵\\
    _。_    旦~       /∵∴< >∴∴.< >|
   c(_ア            |∵∵∵/ ●\∵|
                  |∵∵ /     | |
                  |∵∵ |      | |
                   \∵ |      |/
                    \|




642 :デフォルトの名無しさん:04/11/16 20:14:41
   ,r-─────、
   ,f _____,、ー-、
  ,ノ r'        t  ヽ
 f / ''''''     ''''''::\ l
 | |(●),   、(●)、.:| ノ
(⌒   ,,ノ(、_, )ヽ、,, .:::::;⌒)
. t_t   `-=ニ=- ' .:::::::::;tノ
   \  `ニニ´  .:::::/
,,.....イ.  、ニ__ ーーノ゙-、.
:  ┃   ◆・◆ ┃  i
   ┃        .┃ |
   .┃   ><  ┃ |


643 :デフォルトの名無しさん:04/11/16 20:20:55
563 :考える名無しさん :04/10/29 22:22:33
      r;ァ'N;:::::::::::::,ィ/      ;::::::::::ヽ
.      〃  ヽル1'´        ∠:::::::::::::::::i
       i′  ___, - ,. = -一   ̄l:::::::::::::::l
.      ! , -==、´r'          l::::::/,ニ.ヽ
      l        _,, -‐''二ゝ  l::::l f゙ヽ |、 2chはお前の日記帳じゃねえんだ
        レー-- 、ヽヾニ-ァ,ニ;=、_   !:::l ) } ト
       ヾ¨'7"ry、`   ー゙='ニ,,,`    }::ヽ(ノ  哲学なんてチラシの裏にでも書いてろ
:ーゝヽ、     !´ " ̄ 'l,;;;;,,,.、       ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{   __)`ニゝ、  ,,iリ::::::::ミ    
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ ,  な!
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /


564 :考える名無しさん :04/10/30 20:41:57
      r;ァ'N;:::::::::::::,ィ/      >::::::::::ヽ
.      〃  ヽル1'´        ∠:::::::::::::::::i
       i′  ___, - ,. = -一   ̄l:::::::::::::::l
.      ! , -==、´r'          l::::::/,ニ.ヽ
      l        _,, -‐''二ゝ  l::::l f゙ヽ |、 ここは俺達の日記帳なんだよ
        レー-- 、ヽヾニ-ァ,ニ;=、_   !:::l ) } ト
       ヾ¨'7"ry、`   ー゙='ニ,,,`    }::ヽ(ノ  最近のチラシは両面印刷で裏なんかねえんだよ
:ーゝヽ、     !´ " ̄ 'l,;;;;,,,.、       ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{   __)`ニゝ、  ,,iリ::::::::ミ
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ ,  な!分かったか?
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /

644 :デフォルトの名無しさん:04/11/16 20:23:58
                         _____
                       /−、 −、    \
                       /  |  ・|・  | 、    \
                     / / `-●−′ \    ヽ
                     |/ ── |  ──   ヽ   |
                     |. ── |  ──    |   |
      ______.__._    | ── |  ──     |   l
    , '"――――‐, '"―‐ ヽ`i1  ヽ (__|____  / /
   ./ ∧_∧   //'~ ̄ ̄|.||::||   \           / /
   .i (・∀・ .)  i !  _,._|.||::|| __l━━(t)━━━━┥__
 [;].!_っ⌒'と _0[;],l |  f _..┘|| ||  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄1
  ~l!=;:,...二二....,:;=iヨ.'ー''"~ . __ !|:|i|     N A S A     i1
  li..,._.  ̄。 ̄. _.,..!.|   ........~ノ,!;|i|,,____,,____,,____,,___,,!|
  il_`}≡≡{´_E|..::' /⌒ヽ'ヽl|!=イ二ll二二ll二/_/ ⌒ヽヽ(ニ(]
.  {=i:::::::[二]:::::::i=i::」  |i.(*).i;;;;|ii□□::(ニ三ニ)::::|;;;;;;|ii.(*) i;;;|二l]
   ̄ ̄ゞ三ノ  ̄ ̄ ̄ゞ_ノ ̄  ゞゞ三ノ    ̄ゞゞ_ノ~
  , -―――-、    / ̄ ̄ ̄ ̄\,,        ______
 ( ,、,、,、,、,、,、,、 ヽ  /_____  ヽ      /諭 / /吉:/|
  |, -、, - 、  |  |  | ─ 、 ─ 、 ヽ |  |    _.|≡≡|__|≡≡|彡|_____
  ||・ |・  |- |_ |.  |  ・|・  |─ |___/.  ̄//|≡≡|__|≡≡|/諭//吉 :/|
  { `-c - ´   6)  |` - c`─ ′  6 l ≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
 . \ ̄ ̄  ノ_ .. ヽ (____  ,-|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
  /   ̄ ̄ ̄ヽ .  ヽ ___ /ヽ.|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
 /  /       |  / |/\/ l ^ヽ|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
/  /       | |  | |      |  ||≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|/


645 :デフォルトの名無しさん:04/11/16 21:57:48
>>637がキレますたw

646 :デフォルトの名無しさん:04/11/16 22:12:45
class Hoge extends Hage {

Hoge() {
for (int i = 0; i < 5; i++) {
super();
}
}

}

647 :デフォルトの名無しさん:04/11/16 22:21:30
TomcatのORB(?)のポートってデフォルトで何番?

iiop://localhost:ポート番号
みたいな。

あとどうやって設定すればいい?


648 :デフォルトの名無しさん:04/11/16 22:53:10
スレッドを極める、またはスレッドを極める前の下準備には
結城浩の
「Java言語で学ぶデザインパターン入門 -マルチスレッド編-」
がいいだろうか。

649 :デフォルトの名無しさん:04/11/16 22:57:12
「Javaスレッドプログラミング?並列オブジェクト指向プログラミングの設計原理」という
名著があったんだが今は絶版だしなあ。

650 :デフォルトの名無しさん:04/11/16 22:57:55
ああ文字化けした....orz
「Javaスレッドプログラミング?」ってなんだよw

651 :デフォルトの名無しさん:04/11/16 23:36:23
>>650
まー、気にするな?

652 :デフォルトの名無しさん:04/11/16 23:37:04
>>651
禿同?

653 :デフォルトの名無しさん:04/11/16 23:43:55
import java.util.Hashtable;
見たいに用意されているもののimportなどはともかく
自分で作成したクラスをimportするときに
これのカレントディレクトリは何処で設定しているのでしょうか?

つまり実際のディレクトリは
C:\プロジェクト名\〜\jp\co\〜
見たいになった場合、皆さんC:\プロジェクト名の部分は書いていないですよね
これってどこかで設定していると思うのですが、どこでやっているのでしょうか?

654 :デフォルトの名無しさん:04/11/16 23:47:00
-cpで指定する

655 :デフォルトの名無しさん:04/11/16 23:59:48
>>653
import ってのはクラスパスとは「まったく無関係」の話であって
単に「以下のソースではクラス名を略記します」という宣言でしかないんだよ。

でクラスパスは 654 のとおり -cp で指定する。

656 :デフォルトの名無しさん:04/11/17 04:24:42
Java厨って切れやすいね

657 :デフォルトの名無しさん:04/11/17 06:48:43
まったく無関係なら設定してないからimportできないってことにはならないだろ

658 :デフォルトの名無しさん:04/11/17 07:08:44
>>656
Java厨が切れやすいのではない、厨房が切れやすいのである。


659 :デフォルトの名無しさん:04/11/17 07:14:55
public class JavaTyu extends Tyu {}

660 :デフォルトの名無しさん:04/11/17 07:39:01
public class JavaChu extends Chu{
  public static native void main(String[] args);
}

661 :デフォルトの名無しさん:04/11/17 09:11:58
                     _____
    / ̄ ̄ ̄ ̄\,,      /−、 −、    \
   /_____  ヽ    /  |  ・|・  | 、    \
   | ─ 、 ─ 、 ヽ |  |   / / `-●−′ \    ヽ
   |  ・|・  |─ |___/   |/ ── |  ──   ヽ   |
   |` - c`─ ′  6 l   |. ── |  ──    |   |
.   ヽ (____  ,-′   | ── |  ──     |   l
     ヽ ___ /ヽ     ヽ (__|____  / /
     / |/\/ l ^ヽ    \           / /
     | |      |  |     l━━(t)━━━━┥

                    
    / ̄ ̄ ̄ ̄\,,          ヽ|/
   /VVVVVVVV ヽ     / ̄ ̄ ̄ ̄ ̄ヽ、
   |.─ 、 ─ 、 ヽ |  |    // ̄ヽ/ ̄ ヽ ヽ  
   |  ・|・  |   |___/   / |   ・|・   |  |
   |` - c`─ ′  6 l    | |   人   ノ  |
.   ヽ (____  ,-′    | >-─´-`─-<   |
     ヽ ___ /ヽ    / ̄  , -─- 、__ ` ̄ヽ
     / |/\/ l ^ヽ  ゝ ̄ ̄______  ̄  ノ    
     | |      |  |  | ̄ ̄        ̄ ̄| \



662 :デフォルトの名無しさん:04/11/17 09:12:51
    / ̄ ̄ ̄ ̄\,       ⌒ 十⌒⌒⌒ヽ
   /VVVVVVVV ヽ    (  ─、 ─、    )⊃
   ├─┬─┐ヽ |   |   ( ┃  ・|・  ┃    )
   |   ・|・  |─ |___/   ( , ┸━●.━┸- 、   )
   |` - c`─ ′  6 l   ((_______)  )
.   ヽ (____  ,-′   (              )
     ヽ ___ /ヽ     (               )
     / |/\/ l ^ヽ   (              )
     | |      |  |   (              )


663 :デフォルトの名無しさん:04/11/17 09:14:42
 ――――――――――――――――― 、
       __       ___       |
  _ /  _  _ ヽ _∠___  ヽ_    |
  |  /  ,-(_ ・b・)、|  , - , -、  |  |  |  |
  |  | .王ミ  | 、王  |・ |・ |- |  |  |  |
  |  ヽ ヽ-―┴ ´ノ  | -c -´  6) /  |  |
  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ヽ
 ―――――――――――――――――、  |
                 「ドラえもんちんこでかいね。」
「まぁな。」



664 :デフォルトの名無しさん:04/11/17 09:16:10
                           ,. -─- 、
                           /   ___丶
                        ∠. /´ ,.- 、r‐、`|
                          l |  | ・ | l・ | |
                        .. l. |@`ー' oー' l
      ______.__._       (\ヽヽ ────ゝ 
    , '"――――‐, '"―‐ ヽ`i1    . \.ゞ,>nn‐r=< 
   ./ ∧_∧   //'~ ̄ ̄|.||::||     . ( / `^^´`ヽハ)
   .i (・∀・ .)  i !  _,._|.||::|| __  /`! ー--=≦-‐1 __
 [;].!_っ⌒'と _0[;],l |  f _..┘|| ||  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄1
  ~l!=;:,...二二....,:;=iヨ.'ー''"~ . __ !|:|i|    日 光 江 戸 村  i1
  li..,._.  ̄。 ̄. _.,..!.|   ........~ノ,!;|i|,,____,,____,,____,,___,,!|
  il_`}≡≡{´_E|..::' /⌒ヽ'ヽl|!=イ二ll二二ll二/_/ ⌒ヽヽ(ニ(]
.  {=i:::::::[二]:::::::i=i::」  |i.(*).i;;;;|ii□□::(ニ三ニ)::::|;;;;;;|ii.(*) i;;;|二l]
   ̄ ̄ゞ三ノ  ̄ ̄ ̄ゞ_ノ ̄  ゞゞ三ノ    ̄ゞゞ_ノ~
  / ̄ ̄ ̄ ̄\,      ⌒十⌒⌒⌒ヽ           ______
 /VVVVVVVV ヽ    (  ─、 ─、   )⊃       /英 / /世:/|
├─┬─┐ヽ |  ̄|   ( ┃  ・|・  ┃    )    __.|≡≡|__|≡≡|彡|_____
..|   ・|・  |─ |___/   ( , ┸━●.━┸- 、   ) / //|≡≡|__|≡≡|/英//世 :/|
..|` - c`─ ′  6 l   ((_______)  ) ..l ≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
..ヽ (____  ,-′  (              ).|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
  ヽ ___ /ヽ   (               ).|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
 / |/\/ l ^ヽ   (              ).|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|


665 :デフォルトの名無しさん:04/11/17 09:16:56
                      ⌒十⌒⌒⌒ヽ     
                     (  ─、 ─、   )⊃   
                     ( ┃  ・|・  ┃    ) 
                    ( , ┸━●.━┸- 、   )
      ______.__.   ((_______)  ) 
    , '"――――‐, '"―‐ ヽ`i1 . (               )      
   ./ ∧_∧   //'~ ̄ ̄|.||::||   (               )   
   .i <丶`∀´> i !  _,._|.||::||   (              )
 [;].!_っ⌒'と _0[;],l |  f _..┘|| ||  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄1
  ~l!=;:,...二二....,:;=iヨ.'ー''"~ . __ !|:|i|    韓 国 料 理 店  i1
  li..,._.  ̄。 ̄. _.,..!.|   ........~ノ,!;|i|,,____,,____,,____,,___,,!|
  il_`}≡≡{´_E|..::' /⌒ヽ'ヽl|!=イ二ll二二ll二/_/ ⌒ヽヽ(ニ(]
.  {=i:::::::[二]:::::::i=i::」  |i.(*).i;;;;|ii□□::(ニ三ニ)::::|;;;;;;|ii.(*) i;;;|二l]
   ̄ ̄ゞ三ノ  ̄ ̄ ̄ゞ_ノ ̄  ゞゞ三ノ    ̄ゞゞ_ノ~
  / ̄ ̄ ̄ ̄\,          ______
 /VVVVVVVV ヽ        /ウォ / /ン:/|
├─┬─┐ヽ |  ̄|     __.|≡≡|__|≡≡|彡|_____
..|   ・|・  |─ |___/   / //|≡≡|__|≡≡|/ウォ//ン :/|
..|` - c`─ ′  6 l   ..l ≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
..ヽ (____  ,-′  |≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
  ヽ ___ /ヽ   .|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
 / |/\/ l ^ヽ   |≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|




666 :625:04/11/17 15:26:52
誰か教えてorz まじで原因不明やねん。

667 :デフォルトの名無しさん:04/11/17 17:12:27
ソース晒さずに粘られてもわからん。
今のところすべて再コンパイルしてやりなおすぐらいしかアドバイスできん。


668 :デフォルトの名無しさん:04/11/17 17:16:20
sourceをuploadするbulletin board systemがrequire

669 :デフォルトの名無しさん:04/11/17 17:21:46
文字列として日付をあらわす"20041101"があり
これがシステム日付より前かどうかを判定するには
どのように書けばよいでしょうか?よろしくお願いいたします。

670 :デフォルトの名無しさん:04/11/17 17:31:35
2004, 10(※11-1), 01と切り出して数値化(int)したのをDateにぶちこめば一発じゃない?
文字列のままでも通るフォーマットもあるから、そっちも試せばいい

671 :デフォルトの名無しさん:04/11/17 18:26:52
>>669
java.text.DateFormatのparseメソッドで日付文字列をDateに変換できる。
あとはそれとシステムの日付を比べればいい。


672 :デフォルトの名無しさん:04/11/17 18:38:25
DateFormat→Date→Calendarと変換してく糞仕様になっちゃってるな・・・
全部Dateでやりゃええやん

673 :デフォルトの名無しさん:04/11/17 18:41:25
>>669
java.util.GregorianCalendarをつくって
getTimeInMillis()という方法もあると思います。

674 :デフォルトの名無しさん:04/11/17 18:45:18
new SimpleDateFormat("yyyyMMdd").parse("20041101").getTime() < System.currentTimeMillis()
ってどうよ


675 :デフォルトの名無しさん:04/11/17 18:59:08
すみません質問です・・・
http://www.e-typing.ne.jp/typing-app/help/guide1.htm
↑タイピングの練習をしたかったんですがJAVAが起動しなくて
ヘルプを見たんですがうちのはXPでここのページに載っているのと
実際の画面が違うのですがどうすればいいのでしょうか?
http://monositu.org/imagebord/img/Monositu_20041117183338-117.JPG
↑これがぼくのPCのインターネットオプションの画像です
[Javaの許可]や[Javaアプレットのスクリプト]が探しても無いです。。

それでJAVAがインストールされていないんじゃないか
と思って↓に行ったんですが
http://java.com/ja/
「今すぐダウンロード」を押してもPage Not Foundになって
ダウンロードできません

初心者の僕に教えてください・・・

676 :デフォルトの名無しさん:04/11/17 19:07:04
>>675
ここからダウンロードできると思います。
http://java.com/ja/download/manual.jsp

677 :デフォルトの名無しさん:04/11/17 19:24:13
>>676
ダウンロードはできました

でも↓のタイピング練習のウィンドウの左上に×印がついていてできません(さっきと同じ)
http://www.e-typing.ne.jp/index.asp?mode=levelcheck
JAVAは有効になっていると思うんですがどうすればいいんですか・・・


678 :デフォルトの名無しさん:04/11/17 19:47:16
>>677
ツール→インターネットオプション→
詳細設定→<applet>に JER 1.5.0を使用(再起動が必要)
にチェックは入ってますか?

679 :デフォルトの名無しさん:04/11/17 19:49:51
>>678
ツール→インターネットオプション→詳細設定
まではあるんですがapplet、JER 1.5.0という文字が探しても見つかりません・・・

680 :デフォルトの名無しさん:04/11/17 19:50:57
JREでした。。
うーむ。IEですよね?バージョンは6.0ですか?

681 :デフォルトの名無しさん:04/11/17 19:58:44
>>680
IEです。6.0だとは思うんですが親のPCで僕も初心者
だから全然わかりません・・・

682 :デフォルトの名無しさん:04/11/17 20:00:33
ここはリモートアシスタンスで・・・って嘘うそ。

683 :デフォルトの名無しさん:04/11/17 20:06:34
A.ツリーが閉じている。
B.アカウントの権限がじゃましている。
C.セキュリティソフトがじゃましている。
D.IEなんて使うのやめちゃえ!

684 :デフォルトの名無しさん:04/11/17 20:15:01
>>683
そんな(´;ω;`)ウッ・・・

685 :デフォルトの名無しさん:04/11/17 20:29:24
今、
fp = new BufferedReader(new FileReader(filename));
でファイルを開こうとしているんですが、
目的のファイルが違うフォルダにあるので、ファイル名を
filename = "../" + file + ".dat"
のように指定しているのですが、うまく動きません。
どうしたらきちんと動いてくれるでしょうか??

686 :デフォルトの名無しさん:04/11/17 20:31:00
>>684
A→よく見る
B→パスワードを盗む
C→ノートンとかマカフィーとかウィルスバスターとかチェック
D→http://opera.livedoor.com/download/
  http://www.mozilla-japan.org/products/firefox/

687 :デフォルトの名無しさん:04/11/17 20:36:18
>>685
FileReaderのコンストラクタを調べましょう。
Fileを引数にとるコンストラクタがあるはずです。


688 :デフォルトの名無しさん:04/11/17 20:38:09
>>685
パスが間違ってるんじゃないですか?
ただ、どこか関係ないコーディングミスかもしれないし、
ソースを見せませう。

689 :デフォルトの名無しさん:04/11/17 20:44:21
JAVAとASPは連携できるのかな?

690 :デフォルトの名無しさん:04/11/17 21:29:04
>>687
そですか〜、わかりました!
どもです。

>>688
while(true){
try{
switch( n ){
case 0:
// 答えとファイル名の作成
// 乱数を発生させて1〜10の文字をファイル名にする
ans = (int)(Math.random() * 10);
filename = Integer.toString(ans) +
"\" + Integer.toString(ans) + ".dat";

↑こんな感じです!!

691 :デフォルトの名無しさん:04/11/17 21:33:54
"\\"じゃね?知らんけど

692 :デフォルトの名無しさん:04/11/17 21:43:13
>>691
両方ダメでした。。

693 :デフォルトの名無しさん:04/11/17 21:46:57
\\とか/とかFile.separatorでないと。
上手くいかないっていうのはコンパイルエラーじゃないですよね。

694 :デフォルトの名無しさん:04/11/17 21:48:19
>>693
コンパイルは通るんですが、
上手くファイルを読み込んでくれない、
というか、IOExceptionを返されます(´・ω・`)

695 :デフォルトの名無しさん:04/11/17 21:49:56
>>694
そのStackTraceを。

696 :デフォルトの名無しさん:04/11/17 21:50:26
頭、悪いんすか

697 :デフォルトの名無しさん:04/11/17 21:50:26
だからBufferedReader(new FileReader(new File("../", hoge + ".dat")));で出来るっての。

698 :デフォルトの名無しさん:04/11/17 21:55:04
入出力関係はnewで省略しない方がいいけどね

699 :デフォルトの名無しさん:04/11/17 21:56:20
>>697
別にFileつくらなくてもいいんじゃ。

700 :デフォルトの名無しさん:04/11/17 22:03:08
マジで?まあ可読性上がるしええやん

701 :デフォルトの名無しさん:04/11/17 22:05:01
>>695
すいませんStackTraceの意味がわかりません(´・ω・`)

>>697
BufferedReader(new FileReader(new File(hoge + "\\", hoge + ".dat")));
としてもエラーが出ますが。。

702 :デフォルトの名無しさん:04/11/17 22:08:51
"../"って最初書いておいて、なんでhoge + "\\"なん?
ディレクトリの構成を教えて

703 :デフォルトの名無しさん:04/11/17 22:10:25
>>697
よく見たら打ち間違いしてました。。
で、できました。。
すいません。。m(_ _)m

で、Fileってのが必要だったんですけど、
何でそのままFileReaderの引数に
hoge +"\\"+ hoge ".dat"
みたいな感じでかけないんでしょうか??

704 :デフォルトの名無しさん:04/11/17 22:11:49
>>702
0〜9のそれぞれのディレクトリの中に、
0〜5くらいまでのファイルを入れようと思ってて、
それをランダムに読み出そうと思ってたんです。。

705 :デフォルトの名無しさん:04/11/17 22:12:40
../hoge.datならカレントディレクトリの上の階層に戻ってからhoge.datを参照する
hoge/hoge.datならカレントディレクトリのhogeディレクトリの中のhoge.datを参照する
「自分の親は名前で指定できない」 ←ここ要チェックや 

706 :デフォルトの名無しさん:04/11/17 22:13:01
>>690
ていうかやっぱりパスが間違ってるんじゃ。
filename = "../"+ans+".dat"なのか
filename = ans+"/"+ans+".dat"なのか
filename = "../"+ans+"/"+ans+".dat"なのか。

StackTraceはcatchした例外に、e.printStackTrace();を。
どこでどんな理由で投げられたかがわかります。
まずそれをチェックしましょう。

707 :デフォルトの名無しさん:04/11/17 22:14:49
遅かった。orz

708 :デフォルトの名無しさん:04/11/17 22:17:32
>>703
API見れば書いてあるんじゃないかな。
その前にAPIって知ってるかな?


つーか、始めに調べてから来いや、ヴォケが。

709 :デフォルトの名無しさん:04/11/17 22:19:58
初歩的な質問で申しわけないのですが
AWT と Swing に対して使われる、ヘビーウェイトとライトウェイトっていうのは
そもそもどういう意味なのですか? なぜそのような名前がついたのですか?

710 :デフォルトの名無しさん:04/11/17 22:20:07
>>706
filename = ans+"/"+ans+".dat"
↑これがしたかったんです!!
Fileなしで、これだけでも上手くいきました!!


親切に教えてくださったみなさんどうもありがとうございました!!m(_ _)m

関係ないですが、学校のLinuxで動かしてたプログラムを
家に持ち帰ってやってたんですが、
Windowsのせいか、パソコンの性能のせいかやたら遅いです。・゚・(ノД`)・゚・。

711 :デフォルトの名無しさん:04/11/17 22:21:18
/0
    0.dat, 1.dat 2.dat ....
/1
    0.dat, 1.dat 2.dat ...
/hoge
    foo.class
    2/
        0.dat, 1.dat 2.dat ....
    3/
        0.dat, 1.dat 2.dat ...

上記のディレクトリ構成なら,foo.classを起動してるものとして
0ディレクトリなら ../0/1.dat
2ディレクトリなら 2/3.dat といった具合に指定してやる


712 :デフォルトの名無しさん:04/11/17 22:22:00
>>708
けっこうグーグルで調べたつもりなんですが、
そんなにJavaプログラムしたこともなかったので、
何がなにやら全然わからなかったんです(-_-;)
今日Javaの本2冊借りてきたので勉強します。。

713 :デフォルトの名無しさん:04/11/17 22:23:24
>>704
>>710
それだとdirとansを別にしないと。
filename = dir+"/"ans+".dat"
0/0.dat
1/1.dat
みたいなファイルしか読まれなくなりますよ。

714 :デフォルトの名無しさん:04/11/17 22:24:02
>>711
親切にどうもです!!
C言語はまぁまぁやっているので、
そのあたりはなんとなくわかったんですが、
なんか上手くいかなかったんですよね。。ヽ(´〜`;

715 :デフォルトの名無しさん:04/11/17 22:24:44
>>713
そうですよね。。
ご指摘どうもです!!

716 :デフォルトの名無しさん:04/11/17 22:25:36
俺的神コード的にFileは要るんだよヽ(`Д´)ノ

717 :デフォルトの名無しさん:04/11/17 22:37:19
public class IniFileInputStream extends FileInputStream {
    (ry

    public int readIniFile() {
        InputStreamReader ir  = new InputStreamReader(this);
        BufferedReader     br  = new BufferedReader(ir);
        (ry
    }
}

書き込み側をFileOutputStreamで書いていたのに
どうしてもreadLineを使いたくなってこんなきもいコードにしたことがある


718 :デフォルトの名無しさん:04/11/17 22:52:15
String s = new String("");
for ( int cnt = 0; cnt < 10000000; cnt++ ) {
\ts = "hoge";
\ts = "fuga";
}

for ( int cnt = 0; cnt < 10000000; cnt++ ) {
\tString s = "hoge";
\ts = "fuga";
}

どっちが処理として高速でしょうか?
処理内容に意味はありません.
変数の宣言をループの中でするか外でするかの質問です.

719 :デフォルトの名無しさん:04/11/17 22:54:27
\t は無視してください。。。tab になるとオモタ。

720 :デフォルトの名無しさん:04/11/17 22:57:48
>>718
ほとんど違わんと思われ。

それより、ループ外でも使うのか、
ループ内でしか使わないのかで使いわけた方がよさげ。

721 :デフォルトの名無しさん:04/11/17 22:57:59
>>712
API API API API API API API API API API
API API API API API API API API API API
API API API API API API API API API API
API API API API API API API API API API
API API API API API API API API API API
API API API API API API API API API API
API API API API API API API API API API
API API API API API API API API API API
API API API API API API API API API API
API API API API API API API API API API

722 :デフォルトの名無しさん:04/11/17 22:58:12
自分でタイム計ればええやん

723 :デフォルトの名無しさん:04/11/17 23:03:30
>>718
変数宣言を外でする奴はバカ


724 :デフォルトの名無しさん:04/11/17 23:05:54
なんで?

725 :デフォルトの名無しさん:04/11/17 23:07:58
スコープの問題で

726 :718:04/11/17 23:11:17
ほとんど誤差と思えるような差しか出てこなかったので質問させていただきました。
もちろんスコープを考えると下が正しいですよね。

でもチューンするとなると上が正しいという意見が多いようで。

727 :デフォルトの名無しさん:04/11/17 23:14:19
>>709
重量=メモリ等のシステムリソースを多く食いつぶす
けっして動作が遅いわけではない

728 :デフォルトの名無しさん:04/11/17 23:15:15
>>718
上のほうがわずかに速い気がします。

>>721
乙。むしろURLでいい気もするが。

729 :デフォルトの名無しさん:04/11/17 23:17:15
>でもチューンするとなると上が正しいという意見が多いようで。

馬鹿のいうことを信じるな。


730 :デフォルトの名無しさん:04/11/17 23:18:00
速さを求めてるならそれでいいんでないか?


731 :デフォルトの名無しさん:04/11/17 23:21:21
>>726
>でもチューンするとなると上が正しいという意見が多いようで。
そんなところをチューンしようと思うこと自体が間違ってます。

732 :デフォルトの名無しさん:04/11/17 23:24:44
>>728
ダメダメ。調べずに来る馬鹿が増えてしょうがない。

733 :デフォルトの名無しさん:04/11/17 23:25:55
>>666
ローカルとリモートで別々に直しててクラスがあってないってことはないのか。

というか、ローカルだと>610の言っているとおり、君の言っているようなことには
ならないわけだから、なんか特殊な事やってんだろ。

特殊な事やってるのにそこの部分が「ソースが長いから」とか言われてもわからん。
せめてその「クラスロード」やらなんやらで何やってんのか疑似ソースで説明する
くらいは必要だろ。

シリアライズしたものを実体化するところがおかしいとかそもそもシリアライズしてる
もんが間違ってるとかあり得るし。

734 :デフォルトの名無しさん:04/11/17 23:25:56
外側で宣言

12: iload_2
13: ldc #5; //int 10000000
15: if_icmpge 30
18: ldc #6; //String hoge
20: astore_1
21: ldc #7; //String fuga
23: astore_1
24: iinc 2, 1
27: goto 12


内側で宣言

2: iload_1
3: ldc #2; //int 10000000
5: if_icmpge 20
8: ldc #3; //String hoge
10: astore_2
11: ldc #4; //String fuga
13: astore_2
14: iinc 1, 1
17: goto 2

コンパイル結果
1ループあたりの命令数は同じだから気にしなくて良い


735 :デフォルトの名無しさん:04/11/17 23:27:35
参照型について質問です
サイトなどを見ると参照型で呼び出した場合
読み出し元の値も変更されると思いますが
この場合、どういったメリットがあるのでしょうか?

いろいろなソースなどを結構参照型を使っているケースが多数見受けられますが
教えてください

736 :訂正:04/11/17 23:29:16
×1ループあたりの命令数は同じだから気にしなくて良い
○命令数は同じだし、実行する命令も同じように実行される(だろうから)気にしなくて良い


737 :718:04/11/17 23:30:45
宣言場所について、みなさんどーも。

>>734 さん、それはどうコンパイルしたらそのような形で見れるのでしょうか?

738 :デフォルトの名無しさん:04/11/17 23:32:33
>>737 foo.classの中身を見たいときは
javap -verbose foo



739 :デフォルトの名無しさん:04/11/17 23:34:52
(1)Date obj = new Date();//インスタンス化

(2)
Date obj; //宣言
obj = new Date();//生成

この二つって違うものなんでしょうか?
それとも同じ意味なんでしょうか?

740 :デフォルトの名無しさん:04/11/17 23:37:37
なんかageまくりだな。

741 :デフォルトの名無しさん:04/11/17 23:38:39
>>735
えーと、Javaにはプリミティブを除けば参照型しか存在しないことを考えると、
それJavaの質問じゃないだろ?

742 :718:04/11/17 23:40:46
>>738 なんかごちゃごちゃ出てきました。
自分で解読するのは困難ですね。
どもでした。

743 :デフォルトの名無しさん:04/11/17 23:45:00
>>735
Javaでは関数呼び出しの引数は常に値渡しだから、心配しなくても元の変数が書き換えられてしまうことは無い。


744 :デフォルトの名無しさん:04/11/17 23:45:36
>>739
同じ

745 :デフォルトの名無しさん:04/11/17 23:53:28
キャストに便利。
Graphics2D g2d = (Graphics2D)this.getGraphics();
String str = (String)hash.get("key");

ポリってる時に便利。
Cat neko;
if (flg) {
neko = new WhiteCat();
} else {
neko = new BlackCat();
}

戻り値に使ったり。
String returnValue;
if (hage)
returnValue = "大ちゃんと共に";
else
returnValue = "苦難を乗り越える";
return returnValue;

参照だといろいろできます。おわり。

746 :デフォルトの名無しさん:04/11/17 23:54:14
>>743
その割にはほとんどの参考書は
参照してるの派同じなので受け渡し側の変数もかわってしまうと
書かれて紛らわしいわな

747 :デフォルトの名無しさん:04/11/17 23:56:05
for (int i = 0;
for (int i = 0;

int i;
for (i = 0;
for (i = 0;
クラスファイルを1バイト削るために書き換えたiアプリ for 503i

今となってはいい思い出だ(゚Д゚)y─┛~~


748 :デフォルトの名無しさん:04/11/18 00:01:37
参照型変数を値渡ししている。

749 :デフォルトの名無しさん:04/11/18 00:03:07
>>747
そこまで削ってなんかいいことあった?

750 :デフォルトの名無しさん:04/11/18 00:06:44
>749
iアプリ組んだことないの?
いや漏れもないんだが、auのjavaアプリは組んだことある。
アーカイブファイルサイズを縮めるためなら全てが正当化される世界。
こんなもんJavaじゃねーよヽ(`Д´)ノウワァァンと叫びたくなる。

iアプリはリソース、classファイルひっくるめてjarにして上限10kbとかだからすさまじい。

751 :デフォルトの名無しさん:04/11/18 00:09:09
public class Ref {
  public static void main(String[] args){
    String str = new String("Hello ");
    StringBuffer buf = new StringBuffer("GoodBye ");
    append(str);
    append(buf);
    System.out.println(str);
    System.out.println(buf);
  }
  static void append(String str){
    str += "こんにちは";
  }
  static void append(StringBuffer buf){
    buf.append("さようなら");
  }
}

【実行結果】
Hello 
GoodBye さようなら

752 :デフォルトの名無しさん:04/11/18 00:11:02
class3バイト小さくして喜んでjar作ると6バイト増えるとかありがち。

753 :デフォルトの名無しさん:04/11/18 00:14:56
>>750
10kbだとGIF2,3枚が限度だな・・

754 :デフォルトの名無しさん:04/11/18 00:27:44
>>736
むしろバイトコードのサイズが増えるだけ上のほうが損。

755 :デフォルトの名無しさん:04/11/18 00:36:56
>>749
最終リリースのjamファイルが10236byteだったと思う。

>>752
jam(jar)を1byte削るために、が正解だな。


756 :デフォルトの名無しさん:04/11/18 00:43:54
10KB制限は503iな。最近のはもっと増えてるからサイズの面ではずいぶん楽だと思う。
その分機能が複雑化してるからバグ鳥が大変だろうが・・・

>>753
GIFとか(サイズ的に)使えないから自分で描く

バグが出る→直す→10K超える→削る→バグが出る→直す→10K超える→削る→バグが出る→(以下無限ループ)


757 :デフォルトの名無しさん:04/11/18 00:48:57
900iなら100kbだぜ!持ってないけどな

758 :デフォルトの名無しさん:04/11/18 01:01:09
harumakiは頭悪いな。

759 :デフォルトの名無しさん:04/11/18 01:30:08
そういやVodaの3Gは1Mのjarサイズか・・・
俺1Mこえたjarファイルのゲーム作ったことねーや

98や68のFD1枚丸ごと入る時代か
それにバイトコードはサイズが小さいし、
もともとjarは圧縮済みであることを考えると
かなり余裕だな


760 :デフォルトの名無しさん:04/11/18 01:44:57
すみません!javaでhelloworldをやってるんですけど、エラーが出てしまいます
どこで躓いてるのかわかりません!
どこをどうしたら直りそうか、教えてください

761 :760:04/11/18 01:48:56
詳しい問題点は文字出力のコンパイルが出来てないみたいなんですけど
どうしたらいいのか・・・orz
j2sdkインスコしたのに、ファイルが.javaってしてるのにメモ帳になってるのが問題なんでしょうか?
すみません、今日から始めたばかりなもので

762 :デフォルトの名無しさん:04/11/18 01:59:12
>>1を読め。
読んだあとならjavaよりも前にpcの使い方を覚えろ。

763 :760:04/11/18 02:16:41
とっくに読みました!
大体、ここは初心者質問スレでしょ!
あんたはここに何しにきてんだよ!

764 :デフォルトの名無しさん:04/11/18 02:37:34
>>763
よぅ>>760の偽者。楽しいか。そうか。

765 :760:04/11/18 03:02:12
>>764
プゲラチョ

766 :デフォルトの名無しさん:04/11/18 03:06:40
>プゲラチョ

なんかなつかしい感じがするな。

767 :デフォルトの名無しさん:04/11/18 05:26:49
>>761
コンパイル時にファイルを読み込めませんとかいうエラーなら、
Windowsで登録されている拡張子を表示しない設定にしていると、
.javaとしても、.java.txtとなってしまうせいかもしれません。
拡張子を表示するようにしましょう。

〜にマップできませんとか不正な文字ですとかいったエラーなら、
文字コードがおかしいのかもしれません。
ANSI以外の文字コードを使っている場合は、
ANSIを使うか、コンパイル時に-encodingオプションをつけましょう。

それ以外のコンパイルエラーなら、
その内容をここに書いてください。

768 :デフォルトの名無しさん:04/11/18 05:28:33
>>761
コンパイルエラーでないなら、
何がどう上手くいかないのかを説明し、
ソースを晒してください。

769 :デフォルトの名無しさん:04/11/18 07:54:27
org.w3c.dom.Element#getElementsByTagName(String name) の戻り値は
なんでElementListとかじゃなくてNodeListなんでしょうか?

Element以外のものも取得する場合があるんでしょうか?
毎回(Element)nodeList.item(i)とダウンキャストしてるのですが
問題ないのでしょうか?

770 :デフォルトの名無しさん:04/11/18 11:25:56
パッケージのjavaxのxは何を示しているのでしょうか?

Swingで
JLabelやJFrameをつかったのですが、Jは何を示しているのでしょうか?

771 :デフォルトの名無しさん:04/11/18 11:35:09
x -> eXtension。基本クラスに対して拡張機能を入れていることを表してる。
J -> AWTにLabelとかFrameとかいうクラスがすでになるので、区別できるように
付けただけだと思う。JはJavaのJじゃないかと思う。

772 :デフォルトの名無しさん:04/11/18 11:51:59
import java.applet.Applet;
import java.awt.*;

public class MouseEvent extends Applet {

Button btn;

public void init(){
btn=new Button("変更");
add(btn);
btn.addActionListener(this);
public void paint(Graphics g){
g.setColor(new Color(50,50,100));
g.fillArc(10,10,200,200,0,90);
}

public void actionPerformed(ActionEvent e){
if(e.getSouce()==btn){
public void paint(Graphics g){
g.setColor(Color.orange);
g.fillArc(10,10,200,200,0,90);
}
}
}
}

これをeclipseで実行しようとすると「public void paint(Graphics g){」に
「トークン "(" に構文エラーがあります。正しくは ";" です。」というエラーが出ます。

また、実行できないのでどこが間違っているのか教えていただければ幸いです。



773 :772:04/11/18 11:53:55
ちなみに実行結果で図形の色を変更するものにしたいと考えています。

774 :デフォルトの名無しさん:04/11/18 12:00:47
>>769
知っての通り、外のAPIにも、そのままでは実用できない上位クラス&
上位インターフェースの型でオブジェクトを返すメソッドはたくさんあります。
何故か? JAVAのAPIはまだ中途半端の段階で発表されたものが
多いので、将来実装を変更して、それまでのコードが使えなくなっても
勝手にダウンキャストしてたユーザーの方が悪いと責任転嫁する為だと
思われます。


775 :デフォルトの名無しさん:04/11/18 12:05:51
以下のようなメソッドでzipファイルの解凍をしようとしています。
しかし、出力されるファイル名に日本語が含まれているとエラーが
起こってしまいます。
解決法をご存知でしょうか?

/**
* ZIP解凍
* @param zipFile ZIPファイル
* @param outFile 出力ディレクトリ
* @return 解凍ファイルパス
*/
public Vector zipRead(String zipFile, String outFile) throws Exception {
// 解凍後のファイルサイズのデフォルト値
int size = 102400;

ZipInputStream zis = null;
FileOutputStream fos = null;
BufferedInputStream bis = null;
Vector vec = new Vector();

FileInputStream fis = new FileInputStream(zipFile);
zis = new ZipInputStream(fis);
ZipEntry zent = null;
String fileName = null;
byte[] buf = null;
int realSize = 0;


776 :デフォルトの名無しさん:04/11/18 12:06:16

// アーカイブ中に含まれるファイル情報の取得
while ((zent = zis.getNextEntry()) != null) {
fileName = zent.getName();
int las = fileName.lastIndexOf(File.separator);
fileName = fileName.substring(las + 1, fileName.length());

vec.add(fileName);

// 解凍先指定
String anZipRoot = outFile + File.separator + fileName;

// バイト配列を確保
buf = new byte[size];
bis = new BufferedInputStream(zis);

// 展開ファイルを読み出す
realSize = bis.read(buf, 0, size);
zis.closeEntry();

// ファイルを書き出す
fos = new FileOutputStream(anZipRoot);
fos.write(buf, 0, realSize);
}


777 :デフォルトの名無しさん:04/11/18 12:06:45

zis.close();
fos.close();
bis.close();
fis.close();

zis = null;
fos = null;
bis = null;
fis = null;

return vec;
}


778 :デフォルトの名無しさん:04/11/18 12:10:26
>>775
java.util.zip 以下のクラスは文字コードを UTF-8 で決めウチするので
一般的に流通してる ShiftJIS 系列の日本語ファイル名は扱えない。

779 :デフォルトの名無しさん:04/11/18 12:24:31
つまり無理ですか?

780 :デフォルトの名無しさん:04/11/18 12:30:18
org.apache.tools.zip.ZipFile でも使え。

781 :デフォルトの名無しさん:04/11/18 12:39:25
772お願いします・・・

782 :デフォルトの名無しさん:04/11/18 12:52:09
>>781
public void paint(Graphics g){
の上に } を挿入てください。

↓こうする。

}
public void paint(Graphics g){


783 :デフォルトの名無しさん:04/11/18 13:16:27
>>782
ありがとうございます!


784 :772:04/11/18 13:21:35
>>782
やってみましたが更にエラーが増えてしまいました・・・
他に対処法はありますか?

785 :デフォルトの名無しさん:04/11/18 14:05:33
>>784
最初のエラーに関して「他に」対処法があるわけではない。
ひとつエラーをつぶしたからコンパイラが別の間違いを
見つけられるようになったんだよ。とりあえず一歩前進
したことを喜びつつ、新たに出てきたエラーを熟読するように。

786 :デフォルトの名無しさん:04/11/18 14:09:09
>>やってみましたが更にエラーが増えてしまいました・・・

何気におもしろいレスだ(笑)

787 :デフォルトの名無しさん:04/11/18 14:10:34
マウスイベントを使いたいのですが、

:
:
public Colorcoding_new() {
setTitle("Colorcoding Viewer");
setBackground(Color.lightGray);

setSize(841, 718);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
System.exit(0);
}
});

addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
clickdruglabel[0].setText("300");
}

public void mouseReleased(MouseEvent me) {
clickdruglabel[2].setText("800");
}
});
:
:

といった感じにしたのですが、コンパイルは問題なくできますが、mousePressed, mouseReleased の処理がまったく作動しません。
マウスイベントが作動しない場合などはあるのでしょうか


788 :785:04/11/18 14:14:58
ところで772のソースをEclipse3.0に貼り付けてみたら、最初から
JDTがわかる範囲のエラーを何個も吐き出してくれたけど、772は
昔のバージョンでも使ってるのかな?
で元のソースを尊重すると、こんな感じかのう。

import java.applet.Applet;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MouseEvent extends Applet implements ActionListener {
Button btn;
private Color color;

public void init() {
btn = new Button("変更");
add(btn);
btn.addActionListener(this);
color = new Color(50, 50, 100);
}
public void paint(Graphics g) {
g.setColor(color);
g.fillArc(10, 10, 200, 200, 0, 90);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btn) {
color = Color.orange;
repaint();
}
}
}

789 :デフォルトの名無しさん:04/11/18 14:15:06
>>784
こうしてください

import java.applet.Applet;
import java.awt.*;
public class MouseEvent extends Applet {
Button btn;
int colorFlag=0;
public void init(){
btn=new Button("変更");
add(btn);
btn.addActionListener(this);
}
public void paint(Graphics g){
if(colorFlag==0) {
g.setColor(new Color(50,50,100));
} else {
g.setColor(Color.orange);
}
g.fillArc(10,10,200,200,0,90);
}
public void actionPerformed(ActionEvent e){
if(e.getSouce()==btn){
colorFlag^=1;
repaint();
}
}
}


790 :デフォルトの名無しさん:04/11/18 14:21:09
>>787
clickdruglabel[0].
clickdruglabel[2].
の設定あたりのコードを提示してください。


791 :デフォルトの名無しさん:04/11/18 15:21:52
>>780
org.apache.tools.zip.ZipFile について調べてきます。

792 :デフォルトの名無しさん:04/11/18 16:17:53
>>790
clickdruglabel は、

Label clickdruglabel[] = new Label[3];

で宣言して

clickdruglabel[0] = new Label("-", Label.CENTER);
clickdruglabel[1] = new Label("-", Label.CENTER);
clickdruglabel[2] = new Label("-", Label.CENTER);

で初期化しています。
マウスをpressすると、clickdruglabel[0]に300、clickdruglabel[2]に800が代入されるという感じにしたいです。

793 :デフォルトの名無しさん:04/11/18 16:22:41
>>790
clickdruglabel[0].setText("300");
clickdruglabel[0].setText("800"); の部分を System.exit(0)にして動作させてみたのですが、マウスのpress, releaseでapplicationが終了するということもなかったので
マウスイベントの処理が行われていないものと思いました。



794 :デフォルトの名無しさん:04/11/18 16:49:25
>>766
亀レスだが、最近流行のプギャーは正直やってる奴が恥ずかしい。

795 :デフォルトの名無しさん:04/11/18 17:00:03
RPGゲームなんかでよくある、ボタン押すとウィンドウが画面に出て来
てユーザに何かを選択させる、というインターフェースを作りたいの
ですが、ダイアログは使いたく無いんです。

自分で箱作ってpaintで書くしか無いんですかね?

796 :デフォルトの名無しさん:04/11/18 17:02:25
java3Dで質問があります。
コンパイル、実行まではできるのですが、
実行して別ウィンドウは表示されても肝心のCGが表示されません。
助けてください。

797 :デフォルトの名無しさん:04/11/18 17:04:46
>>795
JInternalFrame、JOptionPane、JWindowあたりは検討した?

798 :デフォルトの名無しさん:04/11/18 17:18:33
>>793
Frameオブジェクトへの、コンポーネントの配置のコードを
書いてください。


799 :デフォルトの名無しさん:04/11/18 17:30:16
>>798
コンポーネントの配置はこんな感じです

:
:
mousepanel.setLayout(null);

mouselabel.setBounds(2, 2, 112, 26);
repeatlabel.setBounds(2, 59, 56, 26);
clickdruglabel[0].setBounds(17, 89, 67, 26);
clickdruglabel[1].setBounds(88, 89, 16, 26);
clickdruglabel[2].setBounds(108, 89, 67, 26);
seqoutbutton.setBounds(118, 59, 80, 26);
troutbutton.setBounds(118, 2, 80, 26);
repeatchoice.setBounds(62, 59, 52, 26);

mousepanel.add(mouselabel);
mousepanel.add(repeatlabel);
for(int i = 0; i < 3; i++) {
mousepanel.add(clickdruglabel[i]);
}
mousepanel.add(seqoutbutton);
mousepanel.add(troutbutton);
mousepanel.add(repeatchoice);
:
:


800 :795:04/11/18 17:36:37
>>797
ぐぐってみました.
http://java.sun.com/docs/books/tutorial/uiswing/components/internalframe.html
JInternalFrameはなんかカッコ良さげですね。

JWindowで出来るのかな?

801 :デフォルトの名無しさん:04/11/18 17:46:21
といいますか、JConponent派生のクラスに要求に沿うものが無いか確認する癖をつけましょう。
JConponentに限らず、例えばデータ管理に使うHashSetとかを見つけたらそれに類似するクラスを把握しとく癖。
その癖があれば質問する方がかえって面倒になります。

802 :795:04/11/18 20:30:51
すみません。教えて下さい。
ユーザからの入力を得るためのWindowクラスを自作したいと思ってます。
最初に以下のように作成して、動作は確認しました。

public class ProduceWindow {
private JWindowWindow;

public ProduceWindow () {
Window = new JWindow();
Window.setSize( 300, 300);
Window.setLocation(100 , 100);

Window.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
Window.dispose();
}
});
}

public void show() {
Window.show();
}

public void setWindow ( int lux, int luy, int sx, int sy) {
}
}

微妙な位置に絵や文字を乗せるにはパネルのメソッドだけではいまいちな気が
してます。この場合,
ProduceWindow extends JWindowとして,paintComponentメッソドを使って
描画した方がいいですか?

803 :デフォルトの名無しさん:04/11/18 20:40:25
>>802
好きにしろ。

微妙な位置を指定した場合はプラットフォームやロケール、
インストールされてるフォントや標準で使用されるフォント等の
環境依存が更にひどくなるって事を忘れないように。

804 :デフォルトの名無しさん:04/11/18 20:55:49
>>799
addMouseListener()をmousepanelにつけてみてください。


805 :デフォルトの名無しさん:04/11/18 21:05:36
JSFで恐縮なのですが、JSFからサーブレットを呼び出す方法てありますか?
良く見る方法は**.htmlからサーブレットを呼び出し方法です。JSFの中
でどうしてもサーブレットが呼び出したいのですが、、、、、、、、、、

806 :デフォルトの名無しさん:04/11/18 21:34:06
イテレータ使っているときに、インデックス番号欲しくなったら
int i;
for(Itetater it=col.itetator();it.hasNext(){
Systen.out.println((i++) +":" o.next());
}

みたいにするしかないんでしょうか。

807 :デフォルトの名無しさん:04/11/18 21:35:37
イテレータ使わなければいいじゃない

808 :デフォルトの名無しさん:04/11/18 21:36:00
しかもそれエラー

809 :デフォルトの名無しさん:04/11/18 21:58:00
JWindowクラスを継承した自作Windowを作りましたが、文字等が描画
されません・・・
クラス内で
Graphics g = this.getGraphics();
としてもgはnullの模様・・・なぜでしょうか?

810 :デフォルトの名無しさん:04/11/18 22:05:13
親ウィンドウにJWindowを追加したあとで、JWindowのpaintの引数としてgを受け取れば?

811 :809:04/11/18 22:12:13
>>810
すみませんそれがどういう動作かよくわかってません。
JWindowクラスを継承したクラスMyWindowは
mywindow = new MyWindow();
mywindow.show();
というように使います。

812 :デフォルトの名無しさん:04/11/18 22:49:26
少々教えていただきたくて書き込みします。
今、自分は
書名 Javaゲームプログラミング アルゴリズムとフレームワーク
著者 長久 勝 (著)
の本を使い、Javaを勉強しています。
開発環境はEclipse 3.0.1です
この中に
Draw draw = null ;
という記述が出てくるのですが
有効な型ではありません
とエラーが出てしまいます。
どうしてなのでしょうか?

813 :デフォルトの名無しさん:04/11/18 22:52:42
>>806
可能ならjava.util.ListIteratorを使うという手も。Listを実装したクラスに限定されるが。

814 :デフォルトの名無しさん:04/11/18 22:53:05
そこだけじゃわからんなー

815 :デフォルトの名無しさん:04/11/18 22:54:45
DrawクラスというのはJavaの標準的についてるクラスではないので
恐らく812の使っている参考書内で定義されていると思いますが、
それはちゃんと記述しましたか?

816 :デフォルトの名無しさん:04/11/18 22:54:48
>>811
そのクラスの定義で、public void paint(Graphics g)
メソッドをオーバーライドします。
それと、show()した後ならgetGraphics()もnullを返さないのでは?

>>812
Drawが定義されていないとか?

817 :デフォルトの名無しさん:04/11/18 23:05:45
textAreaで全角文字を入力すると、getCaretPosition()で得た数値が、
実際の数よりもずれて返されませんか?
2文字入力すると初めて1加算されるのですが…。
(半角なら1文字に付き1)

import java.awt.*;
import java.awt.event.*;

public class test extends WindowAdapter implements TextListener{
protected Frame frm;
protected TextArea text=new TextArea();
public static void main(String args[]){
test text=new test();
}
public test(){
frm=new Frame("test");
frm.setSize(100,100);
frm.add(text);
frm.addWindowListener(this);
text.addTextListener(this);
frm.setVisible(true);
}
public void textValueChanged(TextEvent e){
System.out.println(text.getCaretPosition());
}
public void windowClosing(WindowEvent e){
System.exit(0);
}
}

818 :デフォルトの名無しさん:04/11/18 23:07:01
ちなみに、textAreaではなく、
JTextAreaを使えば問題なく正確な値を返してくれるのですが。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class test4 extends WindowAdapter implements CaretListener{
protected Frame frm;
protected JTextArea text=new JTextArea();

public static void main(String args[]){
test4 text=new test4();
}
public test4(){
frm=new Frame("test");
frm.setSize(100,100);
frm.add(text);
frm.addWindowListener(this);
text.addCaretListener(this);
frm.setVisible(true);
}

public void windowClosing(WindowEvent e){
System.exit(0);
}
public void caretUpdate(CaretEvent e){
System.out.println(e.getDot());
}
}


819 :811:04/11/18 23:16:51
>>816
返信ありがとうございます。
paintComponentメソッドをオーバーライドしてますが呼び出されて無い模様
です。

820 :811:04/11/18 23:21:30
>>816
失礼しました_| ̄|○
paintメソッドは呼ばれてる模様です。

821 :デフォルトの名無しさん:04/11/18 23:47:48
>>799
あー、宿題スレで質問してた人だよね。
あっちでもこのコード貼ってたらすぐ答えが出た予感。

>>804が書いてますが、このコンポーネント配置を見る限りは、
AWTのFrameのうえにmousepanelっていうパネルを貼ってますよね。
このパネルがマウスイベントを全部受けちゃうので、イベントはFrameに
到達していないんでしょう。Frameの上にPanelが重なっている状態
だから。

なのに>>787のコードでは、addMouseListenerをFrameに対して呼び出し
ている。Frameにイベントが到達しないので、いつまでたってもこのコード
が呼び出されない。

なんで>>804のいうように、

mousepanel.addMouseListener()とするのが正しいと言うこと。

822 :821:04/11/18 23:52:19
SUN java studio creator試用版(windows)をインストールしたのですが、途中でエラーが出てインストールができません。
ググってもそのエラーを日本語で説明してるサイトがない上に、英語のもLINUX版の情報でよくわかりません。
誰かわかる方いませんか?以下はinstlogです。

(2004/11/18 23:51:10), Setup.product.install, com.installshield.wizard.platform.win32.Win32ProductServiceImpl, msg1, installing Files (coreFiles)
(2004/11/18 23:52:09), Setup.product.install, com.installshield.wizard.platform.win32.Win32ProductServiceImpl, msg1, installing Files (bean3)
(2004/11/18 23:52:23), Setup.product.install, com.installshield.wizard.platform.win32.Win32ProductServiceImpl, msg1, installing Install Application Server Action (bean4)
(2004/11/18 23:52:23), Setup.product.install, com.sun.installer.InstallApplicationServerAction, msg1, Sun Java Application Server Platform Edition 8 をインストールしています...
(2004/11/18 23:52:29), Setup.product.install, com.sun.installer.InstallApplicationServerAction, err, Error occured while installing [0] -> "C:\Sun\Creator\2\_uninst\install.bat" "C:\Sun\Creator\2\_uninst" statefile ..\install.log "C:\WINDOWS\TEMP" C:
(2004/11/18 23:52:29), Setup.product.install, com.sun.installer.InstallApplicationServerAction, err, Error occured while Sun Java Application Server Platform Edition 8 をインストールしています....
(2004/11/18 23:52:30), Setup.product.install, com.sun.installer.InstallApplicationServerAction, msg1, 完了
(2004/11/18 23:52:30), Setup.product.install, com.installshield.wizard.platform.win32.Win32ProductServiceImpl, msg1, installing Post Install Core Action (bean2)
(2004/11/18 23:52:40), Setup.product.install, com.sun.installer.PostInstallCoreAction, err, Cannot update Config Files successfully
(2004/11/18 23:52:40), Setup.product.install, com.sun.installer.PostInstallCoreAction, err, java.io.FileNotFoundException: appserverHome property not found\pointbase\tools\serveroption\stopserver.bat (指定されたパスが見つかりません。)

823 :821:04/11/18 23:53:54
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)

at com.sun.installer.NamingFixup.updateStopServerInternal(NamingFixup.java:159)
at com.sun.installer.NamingFixup.updateStopServerScript(NamingFixup.java:95)
at com.sun.installer.NamingFixup.updateConfigFiles(NamingFixup.java:53)
at com.sun.installer.PostInstallCoreAction.install(PostInstallCoreAction.java:126)
at com.installshield.product.service.product.PureJavaProductServiceImpl.installProductAction(PureJavaProductServiceImpl.java:1916)
at com.installshield.product.service.product.PureJavaProductServiceImpl$InstallProduct.getResultForProductAction(PureJavaProductServiceImpl.java:5195)
at com.installshield.product.service.product.InstallableObjectVisitor.visitComponent(InstallableObjectVisitor.java:369)
at com.installshield.product.service.product.InstallableObjectVisitor.visitInstallableComponents(InstallableObjectVisitor.java:333)
at com.installshield.product.service.product.InstallableObjectVisitor.visitProductBeans(InstallableObjectVisitor.java:133)
at com.installshield.product.service.product.PureJavaProductServiceImpl$InstallProduct.install(PureJavaProductServiceImpl.java:4563)
at com.installshield.product.service.product.PureJavaProductServiceImpl$Installer.execute(PureJavaProductServiceImpl.java:3758)
at com.installshield.wizard.service.AsynchronousOperation.run(AsynchronousOperation.java:41)
at java.lang.Thread.run(Unknown Source)

824 :821:04/11/18 23:55:06
(2004/11/18 23:52:40), Setup.product.install, com.sun.installer.PostInstallCoreAction, msg1, Sun Java Studio CreatorSun Java Studio Creatorのインストール中にエラーが発生しました。このディレクトリにあるログファイルを確認してください。: C:\Sun\Creator\2
(2004/11/18 23:52:49), Setup.product.install, com.sun.installer.PostInstallWizardAction, err, Error setting pointbase port
(2004/11/18 23:52:49), Setup.product.install, com.sun.installer.PostInstallWizardAction, err, Skipping PostInstall actions due to Application Server installation failure with exitcode: -500


以上です。

825 :821:04/11/18 23:57:21
C:\Sun\Creator\2
にインストールしていますが、最初はC:\Sun\Creatorにインストールしていたのです。
で、二回目にC:\Sun\Creator\2にいれたのですが
でも結果は同じでした。

826 :760:04/11/19 00:14:28
回答くださった方、ありがとうございました!
やはり.txtの問題でした、仰る通りで表示変更.javaで
起動できました。ありがとうございます

827 :デフォルトの名無しさん:04/11/19 00:22:11
>>718
@IT で同じ質問してる奴がいるね。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16705&forum=12&5



828 :デフォルトの名無しさん:04/11/19 00:25:27
POPFileみたいなスパムフィルタをJavaで作ろうと思ってるんだけど
WebminやPOPFileみたくブラウザで管理できるようにしたいんだ。

ただこういう用途だと
TOMCATは大げさ過ぎると思うんだよね。
どう考えても一人でしか使わないし。

なんかこういう用途で使える軽いWebサーバかCGIサーバみたいなの
ないっすかね。

829 :デフォルトの名無しさん:04/11/19 00:27:24
>>827

既出 >>758


830 :デフォルトの名無しさん:04/11/19 00:32:09
すみません質問です。
JAVAアプレットではリアルタイムチャットのように、
サーバーへの接続を持続させて随時サーバーの送るデータを反映することが出来ますでしょうか?
それとも一定時間ごとにアブレットがサーバーに問い合わせるほか無いのでしょうか?

もし出来るのならば使用クラスや手順など、ちょっとしたHintいただけるとたすかります。
よろしくお願いします。

831 :デフォルトの名無しさん:04/11/19 00:32:34
どっかで見たなぁとか思って url は探したんだけど投稿者の名前だけじゃん。

832 :デフォルトの名無しさん:04/11/19 00:37:43
WebサーバかCGIサーバでJavaを動かす気かい

833 :デフォルトの名無しさん:04/11/19 00:39:31
>>830
サーバーと通信するなら普通にソケット通信でリアルタイムに
なんでもできる。

一応言っとくけど
アプレットが置かれていたWebサーバマシンとしか接続できない
というセキュリティ上の制限があるのは知ってるよな。
(デフォルトでは)

834 :デフォルトの名無しさん:04/11/19 00:40:39
>828
シェルスクリプトに「java -jar SpamFiler.jar」と書いてCGIとして起動。

835 :834:04/11/19 00:41:40
SpamFilerって何だよorz
SpamFilter.jarな。まぁ単なるプレースホルダだけど……

836 :デフォルトの名無しさん:04/11/19 00:44:31
>>833
回答ありがとうございます。
アプレットの置かれていたサーバーにしかできないというのは
以前、アプレットからcgiを動作させるということをしたときに
聞いたことがあるような気がします。
早速調べてみたいと思います。

837 :828 :04/11/19 00:45:34
>>834
いや、起動と終了だけじゃなくて
振り分けミスしたメールの再振り分けとかを
ブラウザでさせたいんだよ。

HTTPサーバのフリする簡単なライブラリないのかな。ってこと
1からHTTPサーバ作ったほうが早いかな。

838 :デフォルトの名無しさん:04/11/19 00:53:58
小さいHTTPサーバの実装ということであれば、こういうものがあります。
ttp://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi?page=JavaHttpd

でも、ブラウザベースのUIって、今更貧弱じゃないかな。それで足りるならHTMLは楽チンなんだけど。

839 :828 :04/11/19 01:06:54
>>838
ありがとう。
そういうのが欲しかったんだ。

>今更貧弱じゃないかな

アプレットって手もあるだろうけど
ブラウザベースだとルータ越しとかssh越しに弄りたいとき
空けるポートが1つで済むのは楽でいいよ。

840 :デフォルトの名無しさん:04/11/19 01:36:35
アプレットだろうがなんだろうがHTTPで通信すればべつに問題じゃないだろ

841 :デフォルトの名無しさん:04/11/19 01:44:20
>>806
for(int i=0,Itetater it=col.itetator(); it.hasNext(); i++){
Systen.out.println((++i) +":"+ it.next());
}
※最初にnext()で取り出した時、空なのを考慮していない。

842 :841:04/11/19 01:45:15
……あぁ、printlnの中の ++i は i でいいでないとダメだな

843 :デフォルトの名無しさん:04/11/19 01:55:43
>>841
言語仕様によれば、for の初期化部分には "," で区切られた複数の式文を入れてもいいが
局所変数宣言文は一つだけ含められない。

よって、
int i; Iterator it;
for(i=0, it=col.itetator(); it.hasNext(); i++){
は良いが、
for(int i=0,Itetater it=col.itetator(); it.hasNext(); i++){
はコンパイルエラー

844 :デフォルトの名無しさん:04/11/19 10:58:43
 /|:: ┌──────┐ ::|
  /.  |:: | 女子高生の | ::|
  |.... |:: |半数が性体験| ::|
  |.... |:: |         .| ::|
  |.... |:: └──────┘ ::|
  \_|    ┌────┐   .|     ∧∧
      ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄     (  _)
             / ̄ ̄ ̄ ̄ ̄旦 ̄(_,   )
            /             \  `
           | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|、_)
             ̄| ̄| ̄ ̄ ̄ ̄ ̄ ̄| ̄| ̄

     |           .( ( | |\
     | )           ) ) | | .|
     |________(__| .\|
    /―   ∧ ∧  ――-\≒
  /      (    )       \
  | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
  |______________|

   ∧∧
  (  ・ω・)
  _| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄

  <⌒/ヽ-、___
/<_/____/


845 :デフォルトの名無しさん:04/11/19 11:33:57
現在趣味でアプレットとソケットを使用したチャットシステムを作っております。
ローカルホストのクライアントソケットから、同じくローカルホストのサーバソケットに接続し、
文字のやり取りは出来るようになったのですが、別のPC(LAN)でアプレットを起動し接続を試みても
以下のエラーにより接続が出来ません。

access denied (java.net.SocketPermission 192.168.1.3:5555 connect,resolve)

パーミッションと出てるあたり、おそらく接続する権限がないのだろうと思いますが
接続を許可する方法がわかりません。
アドバイス、解決方法のご指南を頂きたく書き込みいたしました。よろしくお願いします。

846 :デフォルトの名無しさん:04/11/19 11:52:45
>>845
サーバ側のポート開ければいいじゃない

847 :821:04/11/19 12:31:32
何でシカトされるんです?

848 :デフォルトの名無しさん:04/11/19 14:46:46
>>804, 821
ありがとうございます、やっとうまく動作することができました。
ほんっとに助かりました;;
コンポーネントを重ねている場合、マウスイベントはFrameまで到達してくれないんですね。
どの本調べても書いてなかったので、勉強になりました<(__)>

849 :デフォルトの名無しさん:04/11/19 14:50:55
こんにちは。質問があります。

Windows上で起動したjavaプログラムからunixサーバへunixコマンドを発行することって可能ですか?
DOSコマンドにrshがあるようなのですが、これを使用したりすれば可能なのでしょうか?


850 :デフォルトの名無しさん:04/11/19 14:56:11
愛するおまいらこんにちは。
Javaアプレットでちょいと質問なんですが、
あるクラスファイルとリソースファイルを
jar で固めてHPにUPします。でもって、
そのjar内のアプレットが起動したら、そこ
から別のクラスファイルをネットワーク
経由でダウンロードして利用する事は
できますか?
何やりたいかって言うと、敵キャラクターの
アルゴリズムプログラムを別クラスファイル
にして毎回違った動作させたいんです。
もちろん通信先はダウンロードした鯖。
概要的なものでもええので、是非おまいら
のご教授賜りたく。


851 :デフォルトの名無しさん:04/11/19 15:01:32
>>849
Unixサーバ側で動かすサーバプログラムでシェルコマンド実行できるようにして、Windows上のJavaプログラム(クライアント)でサーバプログラムに大して命令すればいいんじゃねーの

852 :デフォルトの名無しさん:04/11/19 15:01:40
メンバ変数しか持たないような単純なクラスで
メンバ変数名を全て取得する方法ってありますか?


853 :デフォルトの名無しさん:04/11/19 15:06:21
>>852
Class#getFields()

854 :849:04/11/19 15:07:06
>851さん
ありがとうございます。
サーバプログラムを使用せずWindows側のクライアントプログラムから、
のみでは不可能でしょうか?


855 :デフォルトの名無しさん:04/11/19 15:07:21
>>852
java.lang.reflect.Field[] fields = instance.getClass().getDeclaredFields();

856 :デフォルトの名無しさん:04/11/19 15:08:39
>>853
>>855
はやっ!
ありがとうございます!

857 :デフォルトの名無しさん:04/11/19 15:17:25
>>850
URLClassLoader

858 :デフォルトの名無しさん:04/11/19 15:27:16
>>849
rchコマンドの事は知らんが
DOSのバッチファイルで貴殿が望む
動作をするものが作れるなら

JavaからSystem.exec()で
そのバッチファイルを起動してやればよい。

rchのDOSからの扱いについては他をあたれ。

859 : 852:04/11/19 15:28:06
メンバ変数しか持たないような単純なオブジェクトをXML化するのに便利なツールってありますか?

860 :デフォルトの名無しさん:04/11/19 15:33:16
>>859
標準APIではだめなの?


861 :デフォルトの名無しさん:04/11/19 15:33:19
>>859
relaxerとかJAXBとか?
@ITに記事があったよ。

ってこのレスであってるかな。

862 :デフォルトの名無しさん:04/11/19 15:34:35
>858
なるほど!ありがとうございます!
その作戦で行ってみます


863 :デフォルトの名無しさん:04/11/19 15:35:32
>>854
Javaでrshのプロトコル吐けばいいじゃない

864 :852:04/11/19 15:36:05
>>860
標準APIがあればそちらを使いたいと思っています。

865 :デフォルトの名無しさん:04/11/19 16:07:34
ファイルからではなくプログラムの中で文字列として受け取ったXMLを加工するにはどのようにするのがベストですか?

866 :デフォルトの名無しさん:04/11/19 16:10:33
>>865
SAX

867 :デフォルトの名無しさん:04/11/19 16:10:58
>>864
標準APIなら
java.beans.XMLEncoder


868 :デフォルトの名無しさん:04/11/19 16:16:13
>>865
お手軽にやるなら。
ttp://jakarta.terra-intl.com/ecs/

本格的にやるなら。
ttp://java.sun.com/xml/


869 :デフォルトの名無しさん:04/11/19 16:39:20
>>849
Jakarta CommonsのNetライブラリにorg.apache.commons.net.bsdってのが
ある。そんなかにRCommandClientというクラスがあるので、それを使って
Javaプログラムからrshと同じようにリモードコマンドが発行できる。

870 :デフォルトの名無しさん:04/11/19 16:43:08
DOMとSAXって両方標準APIに入ってるの?

871 :865:04/11/19 16:44:07
サンプルがみつかりませんですた_| ̄|○
だれかサンプルつくってみて、おながいすます。


872 :デフォルトの名無しさん:04/11/19 16:45:42
>>865
XMLを読み込むんなら Jakarta Digester。
ttp://jakarta.terra-intl.com/commons/digester.html

でもファイルだろうが文字列だろうが、FileReaderかStringReaderを
かませれば全部ストリームなんだが。

873 :デフォルトの名無しさん:04/11/19 16:51:24
Digesterのサンプル。

@ITでやってたやつ。
ttp://www.atmarkit.co.jp/fjava/rensai2/jakarta04/jakarta04.html

ググったら出てきたやつ。
ttp://kamakura.cool.ne.jp/oppama/jaco/commons-digester.html
ttp://muimi.com/j/jakarta/commons/digester/

874 :デフォルトの名無しさん:04/11/19 17:34:21
>>870
1.4以降なら標準で付いてくる拡張(swingとかと同等の位置づけ)。
1.3なら要ダウンロード。


875 :デフォルトの名無しさん:04/11/19 17:56:47
JPanelの中に置いたSwingコンポーネントに、MouseEventを通知させるかどうかを制御する方法ってあります?
Swingコンポーネントは独自にイベントリスナを持っていて、これは変更できないものとします。

setEnable(false)でいけるかと思ったんですが、だめでした。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/JComponent.html#setEnabled(boolean)
「軽量化コンポーネントを使用不可能にしても MouseEvent は受信されることに注意してください。」
だそうです・・・ガックリorz

JPanelの中のコンポーネントのイベントリスナを追加したり消したりすればできると思いますが、
このコンポーネントは外部のライブラリで、ソースを変更したくないのです(ライセンス上の理由から)。

876 :デフォルトの名無しさん:04/11/19 18:41:07
class HogeData{
String param0 = "aaa";
String param1 = "bbb";
String param2 = "ccc";
}

こんなクラスがあるとして

HogeData hogedata = new HogeData();
for(i=0;i<=2;i++){
System.out.println(hogedata.param{ここに番号});
}

↑のような処理をして

aaa
bbb
ccc

という結果を出したいんですが
こういうことって可能なんですか?
わかりずらいかな。。。
System.out.println(hogedata.param0);
System.out.println(hogedata.param1);
System.out.println(hogedata.param2);
とするのではなく
System.out.println(hogedata.param{?});
一行でなんとかならないものかなっていう意味です。

877 :デフォルトの名無しさん:04/11/19 18:50:22
netnewsで同様の議論が...
ttp://coding.derkeiler.com/Archive/Java/comp.lang.java.gui/2004-09/0759.html

なんでそういう仕様になっているのかはよく分かりませんが、

・JButtonのsetEnabledをオーバーライドし、setEnabled内部からprotectedなdisableEvents()を呼ぶ
ようにする

とかいう方法で解決してたみたいです。

が、そんなめんどくさいことするのもアレなんで、イベントリスナ内部でボタンのisEnabled()をチェック
して、falseなら何もしない、とかいうのが簡単でいいんじゃないですかね?

878 :877:04/11/19 18:51:21
>>877>>875宛てです。

879 :デフォルトの名無しさん:04/11/19 18:54:07
>>876
配列使えばいいじゃない

880 :デフォルトの名無しさん:04/11/19 19:06:00
>>879
配列を使わずにできないものですかね?
class HogeData{
String foo = "aaaa";
String bar = "bbbb";
}
みたいな構造に対応したいのです。

881 :デフォルトの名無しさん:04/11/19 19:11:30
>>880
まとめて扱いたいなら配列に、個別に扱いたいなら個別に。
HashMap使うと言うのも手だが。

882 :デフォルトの名無しさん:04/11/19 19:15:17
>>880
HogeData hogedata = new HogeData();
Field[] f = hogedata.getClass().getDeclaredFields();
for(i=0;i<=2;i++){
System.out.println(f[i].get(hogedata));
}

とすればOK


883 :845:04/11/19 19:23:16
>>846 レス有難う御座います。ポートを空けるということはPort:5555で接続を待つサーバソケットを用意する
ということでしょうか。それは行っております。もし他の意味でしたらごめんなさい。

引き続き>>845を宜しくお願いします。

884 :880:04/11/19 19:35:38
>>882
ありがとうございました!

885 :デフォルトの名無しさん:04/11/19 20:08:50
>>845
Appletから他のPCに接続しようとしてるの?
だとしたらそれは出来ないよ。サンドボックス。

886 :デフォルトの名無しさん:04/11/19 20:57:43
>>845
IE 標準の MSJVM
 [ツール]-[インターネットオプション]-[セキュリティ]-[レベルのカスタマイズ]-[Java VM]
 -[カスタム]-[権限の編集]-[未署名のコンテンツの実行]-[有効にする]

アプレットプラグイン:
 1.希望のホストと通信を許可するセキュリティポリシーファイルを作る
 2.コントロールパネルからJava プラグインの設定を開く
 3.実行時のパラメータで-Djava.security.manager -Djava.security.policy=file:///path/for/java.policy
 参照→http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/PolicyFiles.html

887 :875:04/11/19 21:07:15
レス感謝です。ちなみに、問題のコンポーネントですが、
イベントリスナのクラス定義やその登録まで含めて
使用する外部のコンポーネントのprotectedメソッドの中で行っているので、
「イベントリスナ内部でごにょごにょ」というアプローチは取りづらいです。

代わりに、setEnabled()をオーバライドする方法で試してみます。
JButton等と違って、アプリケーション中で1つしかインスタンスが生成されないクラスなので
特に面倒になることはないと思います。

888 :875:04/11/19 21:08:35
>>887>>877宛です。レス番号書かなかったのは、決してわざとやった訳じゃないですよ・・・

889 :845:04/11/19 22:25:16
>>885 レスありがとうございます。
根本的に無理なんですね・・。サンドボックスですか、勉強になりました。

>>886 ご丁寧にURLまで有難う御座います。これからじっくりと読んでみようと思います。

>>845は解決とさせて頂きます。皆様本当に有難う御座いました。

890 :デフォルトの名無しさん:04/11/19 23:24:32
Thread.sleep( )で質問です。
以下のサンプルでは1回のループに3秒かかるのでしょうか?
それとも、2秒なのでしょうか?

while(true){
a(); //処理に1秒かかる
 try {
 Thread.sleep( 2000 );
 } catch( InterruptedException ie ) { }
}

以下のページのサンプルではSystem.out.println();にかかる時間を
特に気にしていないようだったので疑問に思いました。
http://www.gimlay.org/~javafaq/S019.html#S019-P1

891 :日曜プログラマー:04/11/19 23:26:17
java.util.Date型を java.sql.Date型へ変換する方法を教えてください。

java.util.Date utilDate = ほにゃらら
java.sql.Date sqlDate;

//以下のコードはエラー
//java.lang.ClassCastExceptionが発行される
sqlDate = (java.sql.Date) utilDate;


どなたかよろしくお願いします。

892 :デフォルトの名無しさん:04/11/19 23:38:45
>>890
三秒(以上)
sleepは引数で指定した間隔だけまってから
(できるだけ速やかに)リターンする。
他のタスクやスレッドで重いともっとかかることもある。

時計には使わないように。

893 :デフォルトの名無しさん:04/11/20 00:01:34
はじめまして
初心者質問すいません。
拡張変換縮小変換を勉強しているところですが、教科書どおりに打ち込んだものをコンパイルできずに困っています。
シンボルを解決できません。というエラーのようです。
その近くの書き込みは

// コンパイルエラーとならない拡張変換
byte バイト1 = 127;
short 短単数1 = バイト1;
System.out.println("短整数1:" + 短整数1);
                          ^
です。
打ち込んだものを全部コピペすると長くなるのでエラーの出た箇所だけ出しましたがわかりますでしょうか。
よろしくお願いします。

894 :デフォルトの名無しさん:04/11/20 00:13:29
>>893
誤:System.out.println("短整数1:" + 短整数1);

正:System.out.println("短整数1:" + 短単数1);

まずは、書いてあるとおりに打ち込むことを覚えましょう。
もし「うっさい!ちゃんと教科書どおりに打ち込んでるよ!」というのでしたら、
ぜひその教科書のタイトルを公表した後で破り捨て、新しい本を買いに行って下さい。

895 :デフォルトの名無しさん:04/11/20 00:15:49
てか、いくらコンパイルが通るからって、ASCII文字セットにない文字を
識別子に使うのはどうかと思う……
>894みたいに打ち間違いも増えそうだし。
VBとかだと平気であるけどな > 変数名が日本語

896 :デフォルトの名無しさん:04/11/20 00:22:15
短単数とは何かが気になって眠れない。

897 :デフォルトの名無しさん:04/11/20 00:22:30
>>894
ありがとうございました。確かにそうですね。
いや、お恥ずかしい。見落としていました。
コンパイラのエラーの表示につられて私もそっちばかりに目が行っていて教科書とにらめっこしていましたが
教科書では、

誤:short 短単数1 = バイト1;

正:short 短整数1 = バイト1;

でした。そりゃあ、その次の行ばかりにらめっこしてたらわかるはずないですよね。
文の意味をもう少し考えればすぐわかることでしたね。

898 :893:04/11/20 00:27:10
>>895
私もはじめてまだ2日ですので教科書どおりにやっていますが識別子というのは任意の文字のわけですよね。
ですのでアルファベットでも可能なわけですよね(javaが確保している単語を除く)。
今はだいぶ理解できましたが何でここで日本語が出ているのだろうと30分ほど真剣に悩んでいましたw

899 :デフォルトの名無しさん:04/11/20 00:39:25
Eclipseってデバッグするときにmainメソッドがなければ
デバッグできないのでしょうか?


900 :デフォルトの名無しさん:04/11/20 01:02:37
>>891
sqlDate = new java.sql.Date(utiDate.getTime());

>>899
JUnit でテストケース作れば?

901 :日曜プログラマー:04/11/20 01:19:21
>>900
非常に助かりました。どうもありがとうございます!

902 :デフォルトの名無しさん:04/11/20 01:37:11
Javaのif文で
例えばStringの文字列のどこかに空白が入ってる場合は真
それ以外は偽とした場合、どうすればいいのでしょうか?

例)
"123 45" 半角→真
"123 45" 全角→真
"123 45" タブ→真


903 :デフォルトの名無しさん:04/11/20 01:44:52
普通に
含まれているかどうか調べればいいんじゃないですかあ?

904 :デフォルトの名無しさん:04/11/20 01:59:02
regex使うとか

905 :デフォルトの名無しさん:04/11/20 05:40:05
自作のJavaアプリケーションやアプレットで
ストリーミングメディアの再生を行いたいんですが、
JMF や QuickTime for Java 以外に何か良いライブラリはありますか?

906 :デフォルトの名無しさん:04/11/20 13:58:21
>>902
if(str.indexOf(' ') >= 0){
  // 含まれてる
}

907 :デフォルトの名無しさん:04/11/20 14:29:29
Javaが遅すぎて困っているので、遅い処理を
Cのインライン関数のように、メソッドをインラインしたいのですが、
Javacの最適化に頼るしかないのでしょうか?

明示的にインラインするには、力技で、プリプロセッサ通すしかないのかな?
できればプリプロセッサは使いたくないな。。


908 :デフォルトの名無しさん:04/11/20 14:36:46
インライン化したって速くなんてならないよ。
プロファイリングしてボトルネックの最適化するほうが先

今のJavaはGUIと起動時以外はCと速度ほとんど変わらないけど
何してるの?

909 :デフォルトの名無しさん:04/11/20 16:03:29
もうCと明らかに差がつく処理ってないからな


910 :デフォルトの名無しさん:04/11/20 16:51:13
そんな事はない。
JAVAの速度はまだまだCに遠く及ばない。


911 :デフォルトの名無しさん:04/11/20 16:57:03
ところで>>907はCだと早かったのがJavaにしておそくなったってこと?

一部の処理を除いて基本的な演算はすでにCに完全においついてるから
アルゴリズムの問題とかなんかあるかもね

912 :デフォルトの名無しさん:04/11/20 17:03:05
そんな事はない。
JAVAの速度はまだまだCに遠く及ばない。

913 :デフォルトの名無しさん:04/11/20 17:22:59
(^^ : )

914 :デフォルトの名無しさん:04/11/20 17:45:07
FFTとかだとJavaのほうがCより速かったよね
実行時最適化がかなり効いているみたいで

915 :デフォルトの名無しさん:04/11/20 18:07:59
そんな事はない!!!
JAVAの速度はまだまだCに遠く及ばない!!!


916 :デフォルトの名無しさん:04/11/20 18:13:51
へんなのがわいとる

917 :デフォルトの名無しさん:04/11/20 19:57:59
いんとのがへるわな

918 :デフォルトの名無しさん:04/11/20 20:20:48
>914
ソース(コード)きぼん。それぞれの。

919 :デフォルトの名無しさん:04/11/20 20:24:27
Cとまともに速度比較できるようになったのってx86系くらいじゃないのかな。手元に
あるARM系のVMはintはCとはりあえるけど、浮動小数点演算がめちゃくちゃ遅い。

920 :デフォルトの名無しさん:04/11/20 20:42:38
>>919
遅いんだったら頑張って VM 改良すれば?

921 :デフォルトの名無しさん:04/11/20 20:54:30
920は相手に話を打ち切られることが多いタイプ

922 :デフォルトの名無しさん:04/11/20 21:39:05
>浮動小数点演算がめちゃくちゃ遅い。

不動小数点数をstrictfpで扱うVMなんだろう。

923 :デフォルトの名無しさん:04/11/20 22:09:07
そんな事はない
JAVAの速度はまだまだCに遠く及ばない
Mathメソッドなんぞ遅すぎて、まともな所じゃとても使えない。


924 :デフォルトの名無しさん:04/11/20 22:13:03
それを気にするようなソフトなんか作ったことすらないくせに
よく言うよ

925 :デフォルトの名無しさん:04/11/20 22:14:41
まだこのあふぉ張り付いていたのか

926 :デフォルトの名無しさん:04/11/20 22:17:03
無料のコンパイラはあるの?

927 :デフォルトの名無しさん:04/11/20 22:20:06
むしろJavaの有償のコンパイラってどんなのがあるんだ?

928 :デフォルトの名無しさん:04/11/20 22:30:04
>>927 結構あると思うんだけど... AOTだとgcj以外は有償だし、
IDEにJDK以外のコンパイラが組み込まれている商品もあるよね。

929 :デフォルトの名無しさん:04/11/20 22:46:10
有料のほうがめずらしいわな

930 :デフォルトの名無しさん:04/11/20 22:59:24
Sunも太っ腹だよね(^-^)

931 :デフォルトの名無しさん:04/11/20 23:03:20
jikesを無償で提供してるIBMも太っ腹、と。

932 :デフォルトの名無しさん:04/11/20 23:32:52
jikesなんてしょせんJCK通ってない研究目的のコンパイラだけど、
JCK通ってるEclipse/JDTをIBMが無償公開したのはすげーと思った。

933 :デフォルトの名無しさん:04/11/20 23:35:21
>>924
あのなぁ、JAVA使い始めてすぐに分かる事だろ。
べき乗計算powですら、P4マシンでも300ミリ秒以上かかるんだぞ。
とても使えないよ。
JAVAの速度はまだまだCに遠く及ばない



934 :デフォルトの名無しさん:04/11/20 23:43:38
>>933
それはライブラリかコプロが偉いんであってC言語の手柄じゃないだろ。


935 :デフォルトの名無しさん:04/11/21 00:07:20
public class test {
/**
* コンストラクタ
*/
public test() {
}

のようにいろいろなソースなどを見ていくと
コンストラクタをわざわざ明示しているソースが多いですが
これって意味があるのでしょうか?
コンストラクタって何もかかれていなければ自動的に何もしないコンストラクタを作られると思いますが

936 :デフォルトの名無しさん:04/11/21 00:12:00
IDEが自動生成するとおもえばいいんでない?

937 :ya-su:04/11/21 00:20:24
JavaAppletで、新しいウィンドウで指定したURLを開く方法はありますか?
あれば、教えてください。

938 :デフォルトの名無しさん:04/11/21 00:24:39
つーか「書く必要がない」というより「書かないでもよい」ととらえるべきだ。

939 :デフォルトの名無しさん:04/11/21 00:26:32
>>938
では何のために書いてるの?
ネットのサンプルや
実際Javaで開発してるプロジェクトのソースなどを見てみると
書いてる確率のほうが多いの思うけど

940 :デフォルトの名無しさん:04/11/21 00:32:02
>>933
http://www.xlsoft.com/jp/products/jet/
おまいさんはこれでもつかってみな。

javaのJITはかなり凄いとおもうけどなぁ。
まぁ。JITを上手く働かせるには、それ相応のJAVA流儀のパフォーマンスチューニングがあるわけで・・。
オブジェクトを無駄に生成するような設計だと確かに遅くなる。
ところでMathクラスはほとんどjniじゃなかったか?

941 :デフォルトの名無しさん:04/11/21 00:36:15
>>933
どんな「P4マシン」使ってんだ?
Athlon1GHzでpow 100万回で921msだから一回あたり1マイクロ秒以下。

C:\>copy test.java con
public class test{
public static void main(String[] args){
long time = System.currentTimeMillis();
double d = 1.00001;
for( int i = 0 ; i < 1000000 ; i++ ){
d = Math.pow( d, 1.00001 );
}
System.out.println( System.currentTimeMillis() - time + "ms" );
System.out.println( d );
}
} 1 個のファイルをコピーしました。

C:\>javac test.java

C:\>java -showversion test
java version "1.4.2_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)

921ms
1.2463914595197862

C:\>

942 :デフォルトの名無しさん:04/11/21 00:41:35
>940
JETコンパイラという名前のものが実在することを今日初めて知った。
ネタかとおもてた....orz

943 :デフォルトの名無しさん:04/11/21 00:41:40
>>933
300ミリ秒で10万回弱 ブン回せたぞ。
Celelon300のノートのEclipseのデバッグモードで。

P4でpow0.3秒って
いったいどういう測り方したのかと。

public class POWTest {

  public static void main(String[] args) {
    double x = 0;
    double sum = 0;
    long start = System.currentTimeMillis();
    for(int i=0;i<1000000;i++){
      x += 0.0001;
      sum += Math.pow(2.1d,x);
    }
    long end = System.currentTimeMillis();

    System.out.println("milisec:" + (end - start));
    
    System.out.println("sum:" + sum);
  }
}

milisec:3395
sum:2.2468721102525498E36


944 :943:04/11/21 00:48:18
ん、俺ら釣られたのか?

まあいいや。

945 :デフォルトの名無しさん:04/11/21 00:57:29
>941
も一回釣られとくわ。
MacでPowerPC G4/1GHzでやってみたよ。
クラス名変えただけでソースはペーストしたものを使った。
二つ目はネイティブ実装のMathではなくて、Java実装のStrictMathを使ってみた。

1回目-----
Hoge:~ hage$ java -showversion TestPow
java version "1.4.2_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-141.3)
Java HotSpot(TM) Client VM (build 1.4.2-38, mixed mode)

854ms
1.2463914595197862
Hoge:~ hage$
---------

2回目----
Hoge:~ hage$ java -showversion TestStrictPow
java version "1.4.2_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-141.3)
Java HotSpot(TM) Client VM (build 1.4.2-38, mixed mode)

812ms
1.2463914595197862
Hoge:~ hage$
----------

やっぱこんくらいは出るよなあ。
でもStrictMathのほうが速いという。

946 :デフォルトの名無しさん:04/11/21 00:59:36
SwingでJComponetを継承した独自のコンポーネントを作成したいと思うのですが、
作成して配置してもフォーカスを得ることができません。
フォーカスを得られるコンポーネントを作るにあたって、ポイントだけでも教えてください。
〜UIが関係する気がするのですが、ソースを追っかけても追いきれませんでした。

「JButton」、「オリジナルのコンポーネント」、「JButton」と3つ並べて、
TABで移動してみましたが、自分のコンポーネントは飛ばされてしまいます。

JButtonなどを継承して作ると、簡単にできるのですが、
JComponetを継承して作成したいと思っています。

とりあえず、フォーカスを得られるJLabelみないなのを作ろうと思っています。

947 :デフォルトの名無しさん:04/11/21 01:01:09
> でもStrictMathのほうが速いという。
たぶん Math#pow(double,double) が StrictMath#pow(double,double) 使ってるだけだと思われ。

948 :デフォルトの名無しさん:04/11/21 01:19:08
>>933
全角英数字使うような奴に言われたくないよ

949 :デフォルトの名無しさん:04/11/21 01:39:19
swingで四角形をマウスドラッグで移動したいのですが、

Java2DでRectangle描画、マウスの位置から該当するRectangleを検出、
描画用タイマー作動、移動中の描画・・・

のようなコーディングを自前でやる必要があるのでしょうか? それとも
JPanelあたりを簡単にドラッグで動かせるものなんでしょうか? やりた
いことはチャート図なんかをつくるような感じなのですが。

950 :デフォルトの名無しさん:04/11/21 01:45:34
>946
えー、 GUI周りには全然詳しくないんですが、setRequestFocusEnabled()か
setFocusable()を使うんじゃないでしょうか。

951 :デフォルトの名無しさん:04/11/21 01:47:35
>>949
レイアウトマネージャをnullか適当に自作すれば簡単にドラッグできるよ。
もちろんMouseListenerに関する部分は自分で書く必要あるけど。

952 :949:04/11/21 01:57:50
即レスサンクス。やってみまつ。

953 :デフォルトの名無しさん:04/11/21 02:01:16
>The Sun Download Center is temporarily unavailable.
>We are performing maintenance from 8:30 a.m. to 12:30 p.m. PST.

12:30 p.m. PSTっていつだよ!

954 :デフォルトの名無しさん:04/11/21 03:21:51
たぶん午前5:30JSTぐらいだったような。間違ってたらごめんね。

955 :デフォルトの名無しさん:04/11/21 05:52:02
誰かJDICとか使ってみた奴いない?
https://jdic.dev.java.net/
https://jdnc.dev.java.net/

この辺面白くなりそうなんだけど

956 :デフォルトの名無しさん:04/11/21 09:21:52
フレーム(JFrame)と中に配置するコンポーネント間のマージンを
設定する方法知ってる方いたら教えて下さい。

// コンテナの作成
Container cnt = this.getContentPane();
cnt.setLayout(new BorderLayout());
cnt.add(hdrPanel, BorderLayout.NORTH);
cnt.add(tArea, BorderLayout.CENTER);

テキストエリアの両端にマージンを設けたいので

よろしくお願いツインズ☆

957 :デフォルトの名無しさん:04/11/21 13:26:38
JPanel EmptyBorder setContentPane
もっとマシな方法がある気もするが。


958 :デフォルトの名無しさん:04/11/21 14:26:53
>>957
なるほど、そんな手があるんですね。
うまくいきました。ありがとうございます。(´∀` )

959 :デフォルトの名無しさん:04/11/21 17:32:01
Junitを使うと思い、Junit3,8,1をダウンロードしました。
そして、CLASSPATHに.;C:\junit3.8.1\junit.jar;を追加しました。

その後、C:\junit3.8.1 このディレクトリで
C:\junit3.8.1>java junit.textui.TestRunner junit.samples.AllTests
Class not found "junit.samples.AllTests"
と出てJunitが動きません。

どうしたら良いでしょうか?

960 :デフォルトの名無しさん:04/11/21 17:48:11
sleep()はスタティックメソッドなのにどうやって実行するオブジェクトを特定しているのでしょうか?


961 :デフォルトの名無しさん:04/11/21 18:07:38
カレントスレッド

962 :デフォルトの名無しさん:04/11/21 18:23:00
>959
javaをjava -cp . (←ドットね)で置き換えてみ。

963 :デフォルトの名無しさん:04/11/21 18:36:04
>>961
カレントスレッドで検索したら、わかりました。
ありがとうございます。

964 :デフォルトの名無しさん:04/11/21 18:44:02
翼システム(ウイングアーク・テクノロジー)の帳票パッケージ(SVF for Web/PDF Java Edition)について質問です。
http://www.tsubasa-tool.com/doc/products/detail/d05.html
上記のサイトにSVFを仕様してServletからPDFを出力するサンプルがありますが
--------------------------------
ret = svf.VrSetForm("Sample.frm", 4);
--------------------------------
という記述があります。

質問1)
このフォームファイルは相対パスでファイル名を指定していると思いますがどのディレクトリを基準に相対パスを指定しているのでしょうか?

質問2)
Windows 2000 で Cドライブ直下に Sample.frm ファイルがあった場合に絶対パスで指定する場合はどのような記述をすればよいのでしょうか?
-----------------------------------
ret = svf.VrSetForm("C:/Sample.frm", 4);
-----------------------------------
ret = svf.VrSetForm("C:\\Sample.frm", 4);
-----------------------------------
などは、試しましたがPDFは生成できませんでした。

■環境
Windows2000、Eclipse+Tomcat-Plugin
svf.jarを WEB-INF/lib にコピーし、クラスパスを通しSVFのプロパティーファイルは全て WEB-INF/classes にコピーしました。


965 :デフォルトの名無しさん:04/11/21 18:51:57
以前にも同じようなので着てきたが、商用ソフトなら聞くところ間違ってないか?

966 :デフォルトの名無しさん:04/11/21 19:12:51
>>965
板違いやスレ違いなら、誘導して下さい。

まだ製品は買ってないので、正式なサポートは受けられるかどうか微妙。
問い合わせるとしても、お客さんと営業を経由するので時間がかかるんです。
できれば、今日中に解決したいのでよろしくお願いします。


967 :デフォルトの名無しさん:04/11/21 19:22:04
>>966
お客さんにSVFにバグがあって…とかなんとか言えばいいじゃん
頑張ってチョン製品使わなくてもいいんじゃねーの?

968 :デフォルトの名無しさん:04/11/21 19:25:27
商用のソフトだから当然というかなんというか、持ってないんだが、
一般的に考えたらServletのルートじゃないかと思うんですけど。
だって、Servletから相対パスでアクセスするんでしょ?

969 :964:04/11/21 19:45:35
>>967
どっちかというとチョンなのはツールを使いこなせない私の方なんですが
以前COBOLで使っていたSVFのフォーム資産があるのでSVFを
使わない場合、かなり工数が増えてしまいます。

>>968
tomcat の webapps 直下のアプリケーションのルートフォルダや
絶対パスでの指定も試しましたがServletではPDFが生成できません。

ためしに、同じ処理をアプリケーションとして実行すると
相対パスでも絶対パスでも問題なくPDFが生成できるので
アプリケーションサーバーの環境の設定として
svf.jarやプロパティーファイル以外に設定しなければならない事があるのかもしれません。


970 :デフォルトの名無しさん:04/11/21 19:56:24
>969
ちょいまち。
Tom君のログには関係有りそうなものは出てないの?

971 :デフォルトの名無しさん:04/11/21 19:59:44
親クラスを引き継いだ子クラスって
メソッドなどもそのまま引き継がれて、同じメソッドのみ
オーバーライドすると思いますが

例えばデバッグの際、
いちいち親メソッドをみて確認するのが時間がかかって鬱陶しいのですが
継承されているクラスの文を一時的にも
ソースとして一緒にさせる方法とかあるのでしょうか?


972 :デフォルトの名無しさん:04/11/21 20:16:14
>>971
EclipseやJBuilderなんかの気の利いたIDE使えば解決。

973 :964:04/11/21 20:41:28
>>970
Tom君のログや標準出力、エラー出力などには関係しそうな情報は全くないです。
Exception なども発生していません。
----------------------------------------------
最小限のサンプルを作りました。
try {
int ret;
Vrw32 svf = new Vrw32();
ret = svf.VrInit();
ret = svf.VrSetPrinter("","PDF");
ret = svf.VrSetSpoolFileName2("C:\\test.pdf");
ret = svf.VrSetDocName2("帳票テスト");
ret = svf.VrSetForm("C:\\test.frm", 4);
ret = svf.VrsOut("発行年月日", "2004/11/21 00000");
ret = svf.VrEndRecord();
ret = svf.VrPrint();
StringBuffer attr = new StringBuffer();
ret = svf.VrGetAttribute("$SPOOLFILENAME$", "", attr);
ret = svf.VrQuit();
System.out.println("PDF File = '" + attr.toString() + "'");
} catch (Exception e) {
e.printStackTrace();
}
-----------------------------------------------
Servletで上記のような処理をした場合、PDFファイルは生成されず
標準出力には
PDF File = ''
とだけ表示されます。

上記のtry の中と同じ処理をアプリケーションとして実行すると
PDFファイルが生成され、標準出力にも下記のように表示されます。
PDF File = 'C:\test.pdf'

974 :デフォルトの名無しさん:04/11/21 21:12:24
Javaで質問ですが
本型はそのまま数値などの受け渡しなのでメリットはわかるんですが
参照型をつかうメリットって何ですか?
値への参照が可能になる事で何ができるのでしょうか?


975 :デフォルトの名無しさん:04/11/21 21:35:46
もしフィールドが1000個くらいあるクラスがあるとして、そのインスタンスをメソッドに
渡す度に値渡しされて、全部コピーされたらとんでもないことになると思いません?

参照型を渡せばインスタンスのアドレス(32ビットつまり4バイト)を渡すだけで済むよね。

976 :デフォルトの名無しさん:04/11/21 22:08:13
>>975
具体的には参照型の利用ってそれがメインなのでしょうか?

977 :デフォルトの名無しさん:04/11/21 22:17:50
javaでusbカメラのタイマー撮影をしたいのですが
usbカメラの撮影と画像保存を制御するには
どのクラスを使えばよいのか
アドバイスをもらえないでしょうか。

978 :デフォルトの名無しさん:04/11/21 22:22:08
いくらなんでもヒデエ質問じゃないのか、それは。

979 :デフォルトの名無しさん:04/11/21 22:30:32
>>974=976
本型はそのまま数値などの受け渡しなのでメリットはわかるんですが

全然わかってなさそう。
そもそも基本型と参照型の関係は(他のC++なんかはともかく)
Javaではただの仕様だし。

なぜ基本型と参照型の両方がある仕様なのかという問いに対する回答は
「もともと全部参照型にしたかったけど速度的な問題で基本型も残しておいたから」。

980 :デフォルトの名無しさん:04/11/21 22:34:28
>976
あと、クラス同士の関係を実現するために不可欠。
例えばhogeクラスがpiyoクラスを操作する関係にあるとき、
プログラムが走り出してそれぞれインスタンスができた後、
hogeのインスタンスはpiyoのインスタンスへの参照をもらって
はじめて「特定のpiyoのインスタンス」への操作が可能になる。

……何かうまいこと表現できんなぁ……誰かもう少しちゃんとした解説キボンヌ。

981 :デフォルトの名無しさん:04/11/21 23:19:56
ServletやJSPをEclipseを使わずに
デバッグする方法とかありますでしょうか?
一つの方法としてはSystem.out.println()で変数を出す方法だとおもいますが

982 :デフォルトの名無しさん:04/11/21 23:24:27
>>981
assert

983 :デフォルトの名無しさん:04/11/21 23:24:47
>>981 SDKに付いてくるデバッガ使えば?
リモートデバッグも出来るよ。

984 :デフォルトの名無しさん:04/11/22 00:50:01
>>977
java.lang.usb.Camera
を使え。
Camera#shot()
Camera#save()
をつかえば出来るだろーが!

985 :984:04/11/22 00:52:38
ごめん嘘だよ。
でもなー。USBカメラとかそういうのはjava用のドライバクラスみたいなものが無いと難しいとおもうよ。

986 :デフォルトの名無しさん:04/11/22 00:53:45
Javaで開発するときに
処理の動きなどパフォーマンスを少しでも良くしたい時に
・できるだけ余計な処理を走らせない

以外に何か気をつけることってありますでしょうか?

987 :デフォルトの名無しさん:04/11/22 01:05:05
usbは他の言語からでもアクセスするの難しいと思われ

988 :デフォルトの名無しさん:04/11/22 01:25:10
>>986
不要な同期を行わない。

>できるだけ余計な処理を走らせない
どんな言語でも一緒。

989 :デフォルトの名無しさん:04/11/22 01:28:13
ムダに大量のオブジェクトを生成(new)しないとかかなぁ。
だだこれは設計との兼ね合いだから
無条件にこれを最優先にしたりすると
ハマルかも。>>986


990 :デフォルトの名無しさん:04/11/22 01:28:29
>>988
プロジェクト内での細かい部分での対応は別にして
プログラムレベルでのパフォーマンスへの考慮ってのは
逆に言えばそれぐらいしか方法はないのでしょうか?

991 :デフォルトの名無しさん:04/11/22 01:32:27
ちまちま最適化してても1%も速度改善にならないこともある。
まずプロファイリング
さらにプロファイリングでその後に最適化しる

992 :デフォルトの名無しさん:04/11/22 01:35:15
>>990
最近のコンパイラは性能がいいから
汎用的にあてはまるような(=機械的にできるような)
小手先のテクニックはだいたい実装済みだと思ったほうがいい。

特にJavaは遅い遅いと文句を言われつづけているから
その辺の最適化は(JITコンパイル等を含めて)逆に進んでいる。

993 :デフォルトの名無しさん:04/11/22 01:54:36
>974はもうちょっと具体的に「こう考えれば参照型不要だと思うんですがなんであるのですか」とか、
疑問に思っているポイントを明確にしてほしいな。参照の何が疑問なのかがよくわからん。

まあ参照はインスタンスへの参照なわけだけど、これが参照でなければ、代入するたびに内容を
コピーせんといかんわな。ただ内容をコピーしたらそれは同じインスタンスとは言わんよな。
同じ内容の別のインスタンスだ。オブジェクト参照でないと一つのインスタンスを使い回せない。
というわけで、参照は仕様だな。

994 :デフォルトの名無しさん:04/11/22 01:56:00
>986
意味のないオブジェクト生成を避ける。
特にループの中でString連結なんてすると大量のオブジェクトが生成される。

995 :デフォルトの名無しさん:04/11/22 02:48:15
>>994
JavaでSQLの埋め込みで
StringBufferでSQL文を一つずつ入れる奴いますが
あれって多用するとパフォーマンス的にはどうなのでしょうか?

それとも見づらいだけで速度的にはそんなにかわらないの?

996 :デフォルトの名無しさん:04/11/22 04:12:34
フォルダに入ったプログラムをデスクトップ上で使いたいとき
中身をデスクトップにぶちまけるより、ショートカット作ったほうが早いでしょ
参照渡しはぶっちゃけそんな感じ

そのもの渡すよりもショートカットファイル一個渡した方がはえぇって覚えとけ
かなり大雑把な説明だがな

997 :デフォルトの名無しさん:04/11/22 04:35:34
j2SE1.5の日本語化マニュアルはいつごろでるかわかりますか?

998 :デフォルトの名無しさん:04/11/22 05:16:18
技術の質問ではないのですが。先日javaで作成されたゲームが
公開してあるページを見つけました。
ゲームの数も多く非常に面白いパズルゲーム(オセロ等に近いもの)
が沢山あったのですがサイト名と検索ワードを忘れてしまい
色々回っても辿りつけなくなってしまいました。

数多いJavaゲーム公開サイトの中でも量、質ともにかなり優れていたので
ご存知の方も多いと思います。どなたかご存知の方か、もしくは
心あたりがある方は教えていただけませんか?
(ゲームの例を挙げると

   →→→ ←←←
 
 があり、上の矢印を
   ←←← →→→
 とするように移動させる。
 しかし両方とも矢印の向きにしか進めず、それぞれ1つだけ矢印を飛び越せる。
 というものがありました。)


999 :マイク ◆yrBrqfF1Ew :04/11/22 07:05:58
履歴を全部調べていったらわかんだろ。

1000 :1000:04/11/22 07:59:18
次。
【初心者】Java質問・相談スレッド57【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1101077884/


1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

300 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)