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

このエントリーをはてなブックマークに追加
  _、_
( , ノ` )
  \,;  シュボッ
    (),
    |E|

  _、_      Java質問相談スレ パート11だ…
( ,_ノ` )y━・~~~

関連情報は >>2-20 あたりにあります。 (一部HTML化待ち)

Google で検索 ⇒ http://www.google.co.jp/
JavaFAQ で探す ⇒ http://www.gimlay.org/~javafaq/javafaq.html
ご要望によりじゃばこサイト ⇒ http://www.javaco.org/

JavaScriptの質問はWeb製作板へどうぞ。
web制作管理
http://pc.2ch.net/hp/

パソコンの基本操作に関しては、PC初心者板や、各OS板などで質問しましょう。
パソコン初心者@2ch掲示板
http://pc.2ch.net/pcqa/

上級者の方で教える技術が無い方は下記スレでダベりましょう。
初心者無視! Java相談室 その9
http://pc3.2ch.net/test/read.cgi/tech/1021555964/

基本的にsage進行でおねがいします。また煽り厨は放置でお願いします。
http://pc.2ch.net/tech/kako/1026/10266/1026601774.html
■■■ 無料の統合開発環境 ■■■
【Eclipse R2】
http://www.eclipse.org/downloads/index.php

【Sun ONE Studio 4 (Forte 4)】
http://jp.sun.com/products/software/tools/jde/try/index.html

【NetBeans v3】
http://www.netbeans.jp/dowonload.htm

【JBuilder 5 Personal】
http://www.borland.co.jp/jbuilder/jb5/download/
■■■ Javaの基礎と よくある質問 ■■■
Q: クラスの使い方が分かりません。
A: Java 2 プラットフォーム API 仕様
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html

Q: SDKの仕様や、Javaの使い方、コマンドの使い方を教えて下さい。
A: Java(TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.3/ja/docs/ja/index.html

Q: Javaの言語仕様が知りたいです。
A: Java言語規定
http://www.y-adagio.com/public/standards/tr_javalang/index.htm
http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html

Q: 「僕以外の人も、同じ疑問を持ったはず」と思えるような質問があります。
A: Java House ML Topics / Java FAQ / Java Tips
http://java-house.etl.go.jp/ml/topics/
http://www.gimlay.org/~javafaq/
http://www.javaworld.com/columns/jw-tips-index.shtml

Q: 僕、サルなんですけど・・・。
A: サルにはわかるヒアリングJava入門(マルチランゲージ対応)
http://www.asahi-net.or.jp/~rc4t-ishr/Saru/index.html

このほかの FAQ はこちら↓をご覧ください。
http://www.gimlay.org/~javafaq/javafaq.html
■■■ 過去スレの一覧 (2) ■■■
ネタ心者歓迎!今更ながらにJavaを学ぼう!
http://piza.2ch.net/tech/kako/981/981424252.html
ネタ心者歓迎!今更ながらにJavaを学ぼう! その弐
http://pc.2ch.net/tech/kako/993/993358225.html
ネタ心者歓迎! 今更ながらにJava相談室
http://pc.2ch.net/tech/kako/1003/10035/1003569074.html
ネタ心者歓迎! 今更ながらにJava相談室 その2
http://pc.2ch.net/tech/kako/1006/10064/1006408230.html
ネタ心者歓迎!今更ながらにJava相談室 その3
http://pc.2ch.net/tech/kako/1007/10078/1007802486.html
ネタ心者歓迎!今更ながらにJava相談室 その4
http://pc.2ch.net/tech/kako/1010/10105/1010545421.html
初心者歓迎! Java相談室 その5
http://pc.2ch.net/tech/kako/1012/10129/1012968994.html
初心者歓迎! Java相談室 その6
http://pc.2ch.net/tech/kako/1015/10154/1015418174.html
初心者歓迎! Java相談室 その7
http://pc.2ch.net/tech/kako/1018/10186/1018631329.html
初心者歓迎! Java相談室 その8
http://pc.2ch.net/tech/kako/1020/10204/1020453823.html
■■■ 過去スレの一覧 (3) ■■■ (一部 HTML 化待ち)
【初心者・ネタ】Java質問・相談スレ【大歓迎】
http://pc.2ch.net/tech/kako/1021/10218/1021817147.html
【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/tech/kako/1023/10233/1023319551.html
【初心者】Java質問・相談スレ3【大歓迎】
http://pc.2ch.net/tech/kako/1024/10248/1024885660.html
【初心者】Java質問・相談スレ4【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1026601774/
【初心者】Java質問・相談スレ5【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1028096225/
【初心者】Java質問・相談スレ6【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1029774594/
【初心者】Java質問・相談スレ6【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1031397913/ (本当は7)
【初心者】Java質問・相談スレ8【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1032944246/
【初心者】Java質問・相談スレ9【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1034303501/
【初心者】Java質問・相談スレ10【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1035570359/

■■■ Java関連スレいろいろ ■■■ (一部 HTML 化待ち)
【統合開発環境】
[Java]JBuilder5[Java]
http://pc.2ch.net/tech/kako/995/995044723.html
【Meadow】Java開発環境(・∀・)イイ【JDEE】
http://pc.2ch.net/tech/kako/1017/10172/1017214967.html
Forte for Java
http://pc.2ch.net/tech/kako/1016/10161/1016161880.html
JAVA/C++開発環境 "eclipse" スレッド 2
http://pc3.2ch.net/test/read.cgi/tech/1023103421/

【サーバサイド】
JavaサーブレットQ&A LV2
http://pc.2ch.net/tech/kako/1012/10127/1012728608.html
サーバーサイドJAVAをまたーり語るスレ
http://pc.2ch.net/tech/kako/1004/10049/1004972840.html

【携帯】
携帯JAVAのスレッド
http://pc.2ch.net/tech/kako/1011/10119/1011977260.html
iアプリ
http://pc.2ch.net/tech/kako/1000/10007/1000723476.html
i‐MODEのJAVA
http://piza2.2ch.net/tech/kako/975/975428633.html
iアプリでゲーム
http://game.2ch.net/test/read.cgi/gamedev/1005042631/

【その他】
クライアントサイドJavaどうよ?
http://pc.2ch.net/tech/kako/1002/10021/1002160815.html
【祝】 JDK 1.4 βリリース
http://pc.2ch.net/tech/kako/990/990949654.html
■■■ 撲滅させたいかた、死滅を心配してるかた ■■■

CとJavaを比較した場合Cの良いとこと悪いとこ
http://pc.2ch.net/tech/kako/1009/10097/1009707596.html

Java撲滅委員会
http://pc.2ch.net/tech/kako/996/996848309.html

●●JAVAって死滅しちゃうの????●●
http://pc.2ch.net/tech/kako/1005/10051/1005159122.html
●●JAVAって死滅しちゃうの???? PART2●●
http://pc.2ch.net/tech/kako/1006/10060/1006053686.html
●●JAVAって死滅しちゃうの???? PART3●●
http://pc.2ch.net/tech/kako/1008/10081/1008162230.html
10デフォルトの名無しさん:02/11/01 18:27
スレタテ終わりました。
書きこみどうぞ。。。

つかれたよ…
11デフォルトの名無しさん:02/11/01 18:28
粘着・荒らしは完全放置!でいきましょう。
12デフォルトの名無しさん:02/11/01 18:52
■質問・相談に関して■
なるべく問題点をまとめてくれると助かります。
「わかりません」だけでは、こちらもわかりかねます。

Javaのバージョンと動かす環境も書いてくださると、モアベターです。
13デフォルトの名無しさん :02/11/01 20:58
とあるメソッドにラベルのパラメータ?(heightとかfontとか)を渡したいのですが、
それらを増やしていくと(int ,int , , , ,)みたいに長くなっちゃいますよね。
これ見た目わけわからなくなってしまうので
なんというか、オブジェクトごとすぱっと渡したいんですがどうすればよろしいですか?
boke.hage(label);

class boke{
void hage(object hige){
int hige.getHeight;
こんな風な感じで。

jdk1.3.1で動かしたいです。
14超初心者:02/11/01 21:05
とあるサイトの配列の作り方んとこにこう書いてました。

<方法1>
int[] i; //宣言
i = new int[4]; //生成
i[0] = 1; i[1] = 2;//初期化
i[2] = 3; i[3] = 4;

<方法2>
int[] i = new int[4];
i[0] = 1; i[1] = 2;
i[2] = 3; i[3] = 4;

<方法3>
int[] i = {1, 2, 3, 4};

3はなぜ1,2ともにあるnewがなにのですか?
15初心者:02/11/01 21:18
宣言の手順の違い。

方法1,方法2 はint変数を4つ作るよ、そして、中身は・・・・
方法3はint変数で中身は・・・・。
>>13
まんま、ずばっと。
class Foo {
 ...
 int getHeight() {
  ...
 }
 ...
}
class Bar {
 Foo foo = new Foo();
 ...
 void baz(Foo foo) {
  ...
  int fooHeight = foo.getHeight();
  ...
 }
 ...
}


>>14
宣言から初期化までいっぺんに行う書式だから。
17デフォルトの名無しさん:02/11/01 21:30
WindowsのAlert(?)ダイアログは開いている間、
そのダイアログの親Windowの
ユーザからの動作を受け付け不可の状態にしますが、
これをSwingのJDialogで行おうとした場合、
どうすればよろしいのでしょうか?

JFrame f = new JFrame();
JDialog d = new JDialog(f);
...
>>13
方法はいくつかあります。

1.int型の値を直接渡すのではなく、あるクラスのインスタンスを生成して、
 それを渡す方法。
 高さ、座標なら、java.awt.Rectangle、java.awt.Pointとか、
 フォントなら、java.awt.Fontにして渡す。

2.java.util.HashMapに詰め込んで、それを渡す。
 hashmap.put(key, value);
 
 ただし、型情報が失われるので、良い方法ではない。
 (会社にはいって驚いたことは、これが多用されていたこと。
 正直信じられんかった)
>>17
JDialogのコンストラクタで、
モーダルダイアログにしてしまうと良い。
2013:02/11/01 21:37
うお!まじっすか!うわあ、ズばっとイッター。
あ、しかし、
void baz(Label foo)でも
void baz(Panel フォォォ)でも、
void baz(何か ヌォォォ)で、こう、一発で全てのまかなえちゃえる方法はござりませなんだか。
2117:02/11/01 21:37
ごめんなさい。自己解決しました。
そういうWindowをモーダルウィンドウって言うんですね。
JDialog#setModal(boolean flag);
2217:02/11/01 21:38
>>19 あっ、はい。サンキューです。
>>13
大丈夫。それでいける。
その方法はオーバーロードと呼ばれている。
void baz(Label foo){
 // Label型の引数だった時の処理
}
void baz(Panel フォォォ){
 // Panel型の引数だった時の処理
}
void baz(何か ヌォォォ){
 // 何か型の引数だった時の処理
}

気をつけてほしいのは、どのメソッドが呼ばれるかは、
コンパイル時に決まってしまうことです。
>>14
こんなのもあるでよ。

int[] i = new int[]{1, 2, 3, 4};
ずっと気になってたんですが >>1 にある javaco サイトってなんですか?
27超初心者:02/11/01 21:54
えーと答えてくれた人ありがとです。
まだ勉強中なんでよくわからんのですがなんとなくはわかりました。
たぶん。
2813:02/11/01 21:56
>>23>>24
括弧内だけ変えていく、コレが噂のオーバーロードですか!
ひとつ利口になりました。なんかすごいプログラム組んでる気分に浸れそうです。
多謝多謝!

>>18
Hashって毬藻じゃないよなと思い参考書ひっくり返したんですが、
なるほど、配列のようなものみたいっすね、Hash。面白そうです。ありがとうですー。
29困った:02/11/01 23:04
TextArea上にHyperLinkを書くことは出来ますか?
出来る場合どのクラスを使うのですか?
お願いします。
>>29
javax.swing.JEditorPane
31困った:02/11/01 23:25
ありがとうございます!調べてみます!
32デフォルトの名無しさん:02/11/01 23:34
例外クラスからprintStackTraceしたトレース情報をStringに格納することはできますか?
>>32
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintWriter pw = new PrintWriter(baos);
printStackTrace(pw);
baos.toString();
3432:02/11/02 00:15
おぉ!すごい!ありがとうございました。
>>18
> 2.java.util.HashMapに詰め込んで、それを渡す。
>  hashmap.put(key, value);
>  
>  ただし、型情報が失われるので、良い方法ではない。
>  (会社にはいって驚いたことは、これが多用されていたこと。
>  正直信じられんかった)

値の取り出しで Object value = hashmap.get(key) とする場合
value.getClass() とすればいつでも型情報は取り出せますが。
静的な型と動的な型についてちゃんとわかってますか?
3633:02/11/02 00:50
>>34
定石だと思うよ、これ。
この程度はThrowableのAPIリファレンスを見て書けるようになっておくれ。
>>35
たぶん、そういうことを言おうとしたのではないと
思われるが..
3832:02/11/02 00:59
もっと勉強します。
39デフォルトの名無しさん:02/11/02 02:11
JDBCのpreparedStatementってあるじゃないですか。
あれで先に?だらけのSQL文を作って、後でsetXXXで値を埋めていって、
その後にその完成されたSQLをコンソールに出力したいんですけど、
それってできるんでしょうか?
なんかそういうメソッドはなかったような気がしてるんですけど。

40 :02/11/02 02:11
あぁ平和だ
41 :02/11/02 02:13
preparedStatementってどんな意味ですかね
4241 :02/11/02 02:14
日本語にすると
>>33
StringWriter の方が良いと思われ

>>39
最終的に JVM 上で完全な SQL 文字列を作るかどうかは JDBC ドライバしだい
なので、標準でそういうのはないだろう。PostgreSQL なんかの JDBC ドライバ
ソース見たら一回完全な SQL を組み立ててサーバに発行しているようだったが、
普通の商用 DB ならもっと効率の良い方法を取ってる。

>>41
準備されたステートメントってコトで、俺的に VC++ のプリコンパイル済み
ヘッダみたいな感じ。業務で使う SQL なんかはすんげー複雑になるから毎回
文字列解析すんの避けて、さらに DB に元からある機能使ってパフォーマンス
上げられるようにするって目的だが。
4441 :02/11/02 02:33
>>43
いや、知ってて、>>39に問いかけたんだけど
>>44
あそ、野暮な突っ込みゴメソ
落ちてるなーだれかネタ振ってくれや。
471:02/11/02 04:14
いまさらだが、この部分を
【JBuilder 5 Personal】
http://www.borland.co.jp/jbuilder/jb5/download/

こう訂正したほうがよかった
【JBuilder 7 Personal】
http://www.borland.co.jp/jbuilder/jb7/download/
48デフォルトの名無しさん:02/11/02 07:27
Swingでforteのように、固定されたJInternalFrameを表示するには
どうすれば良いのでしょうか?
49bloom:02/11/02 07:43
50デフォルトの名無しさん:02/11/02 07:54
Font の大きさが決定できないと自身の大きさが決定できない Canvas を作るとき
どうしてますか? つまり getMinimumSize() や getPreferredSize() が呼び
出されたときにまだコンポーネントの表示フォントが決定してない場合です。

addNotify() をオーバーライドしてスーパークラスのそのメソッドを呼び出した
後に FontMetrics を保存して getPreferredSize() の中で計算しようと思い
ましたがどうやら addNotify() の方が後に呼び出されているような感じです。
Fontの大きさを決定してから適当に計算してsetSizeじゃダメなん?
52480:02/11/02 21:41
サーブレットを使うWebアプリケーションで、
メールを送信しているのですが、その送信された
メールの中に「−」という語句が表示されていました。
(エンドユーザーから入力された住所を表す箇所で)

調べてみると−は「-」を表すコードのようです。
この症状が出たのはまだ一通だけなのですが、この他の
メールでは「-(半角)」「−(全角)」もきちんと表示
されていました。

何か思い当たる原因はございますか?
53デフォルトの名無しさん:02/11/02 21:43
あるファイルの途中の行から(Shift_JISで)、
書き込みしたい場合の一般的な方法を教えてください.

OutputStreamWriter out =
new OutputStreamWriter(new FileOutputStream(file), "SJIS");
???
そもそも本当にShift_JISで良いのか疑問。
本当にShift_JISでいいんだな?

MS932、Windows-31Jではないんだな?
55デフォルトの名無しさん:02/11/02 22:01
>>54
そう言われると迷ってしまうわけですが、
はい、Shift_JISで問題ないです.
5629:02/11/02 22:34
テキストエリアにHTMLの書き方を質問した者です。
大変ありがとうございました。JEditorPaneに表示は出来たのですが、
たとえばTextAreaにはappend/1メソッドがあるように追記はできない
のでしょうか?今はsetText/1メソッドで表示してるのですが上書き
されてしまうようです・・・お願いします。
57デフォルトの名無しさん:02/11/02 22:47
>>56
/1メソッド?

appendがほしいなら、appendを自前で追加するとか、似たような機能を自分で書けばいい。
StringBufferに表示するテキストを入れておいて、それにappendすると同時にsetText(StringBuffer)とか。
5829:02/11/02 22:58
/1は引数1つという意味です・・すいませんCのなごりで!
Bufferに入れておいて表示ですか!難しそう・・・
今はこんな感じなのですが・・・・
ta=new JEditorPane("text/html; charset=EUC-JP ","");
ta.setEditable(false);
sp=new JScrollPane(ta);
   for(i=0;i<10;i++)
ta.setText("html");



5929:02/11/02 23:11
すいませんそうでもなさそうなので、
やってみます。勝手ですいません!
>>52
EUC の「−」「〜」を 内部処理で UNICODE に変換するときに
化けるとか化けないとかいう話があったはず
61デフォルトの名無しさん:02/11/02 23:34
すみません。appletでJframeを使うにはどうすればいいのでしょうか?
具体的にはappletからJFrameを表示して色々なものを表示させたいのですが。
よろしくお願いします。
62デフォルトの名無しさん:02/11/02 23:38
あるアルゴリズムを作ったので性能測定したいです。
処理時間を計るにはどうすればいいのでしょうか?
いいホームページ、方法等を一通り教えてください。

>>62
junit使えば?
言い忘れたが、junitは、本来は単体テストのフレームワーク
だけど、各テストメソッドの実行時間をレポートしてくれる。
>>62
System.currentTimeMillis()
で時間を取得するとかそういう話?
66 ◆7K46Lpjrik :02/11/03 00:02
メソッドやコンストラクタの引数として「this」が指定されている場合
この「this」は何を示しているのでしょうか。

this.hogehoge()やthis()の意味は分かるのですが…
>>62
タクサン回数まわして、かかった時間測定。
System.currentTimeMillis()は、10ミリ秒単位の制度が怪しいので、
秒単位クライで測定できる程度まで回数増やして測定して、回数で割り
なされ。

ただし、CPUバウンドでない機能の測定にはイミナイケドね。
>>66
メソッドを呼び出したクラスのインスタンスかのぅ
>>66
同じです。thisがさすのは自分自身への参照。
メソッドに自分自身のインスタンス参照を渡している。

7066 ◆7K46Lpjrik :02/11/03 00:37
>>68-69
なるほど。どうもありがとうございました。
71デフォルトの名無しさん:02/11/03 00:48
初心者無視スレにも間違って書いてしまいましたが・・・
完全な初心者の質問ですみませぬ。javaアプレットでhomepageを
美しくしようと思い、Jbuilderでアプレットの開発をはじめたのですが
*.javaをコンパイルすると*.class,*#1.class,*#2.classというように
ひとつのソースに対して複数のクラスが作成されます。
それをOCNのサーバーにアップして実行させるのですが#の文字が邪魔を
してアップロードできません。ファイル名に#は使えないようです。
自分のPCではhomepageは動作するのですが実際にはアップできないということは
Jbuilderでアプレットの開発はできないと言うことでしょうか。
もしできないとしたら、よい開発ソフトはないものでしょうか。
よかったら教えてください。
>>71
マルチポストは止めろ!
氏ね!
インナークラスつかうと$がセパレータでつくのは知ってるが、
#ってなによ?クラスファイル大きすぎとか?
>>72
この前の馬鹿と同じ扱いはよくないよ。こっちはマトモそう。
7571:02/11/03 01:01
すみません。#ではなく$でした。眠いので明日考えますわ。
>>75
だったら簡単。
インナークラス禁止。無名インナークラス禁止。
>>71
jarであげなさい。生のばらばらのクラス上げるのはイクナイ。
>>75
Jarで固めてアップロード
JBuilderフリー版はjar作成機能が削られてるから、jarコマンドを使う
>>74 どちらもマルチポスト馬鹿だろ。
そんな事書くと、71=74に思えるぞ。
80わかりません ◆IV.Rbu88uk :02/11/03 03:56
ファイルシステムアイコンを取得しようと試みたのですが。
これなんですか?コンソールに延々と表示されてて、JDK1.4のバグですかね?
あと、Aドライブにアクセスしない方法も教えてください。

com.sun.java.swing.plaf.windows.WindowsLookAndFeel
FileSystemView.getShellFolder: f=C:\hiberfil.sys
java.io.FileNotFoundException
at sun.awt.shell.ShellFolder.getShellFolder(ShellFolder.java:197)
at javax.swing.filechooser.FileSystemView.getShellFolder(FileSystemView.
java:459)
at javax.swing.filechooser.FileSystemView.getSystemIcon(FileSystemView.j
ava:179)
at com.sun.java.swing.plaf.windows.WindowsFileChooserUI$WindowsFileView.
getIcon(WindowsFileChooserUI.java:2072)
at com.nifty.vzy03312.tools.chksame.v1.directory.MyCellRenderer.getTreeC
ellRendererComponent(MyCellRenderer.java:45)
at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimen
sions(BasicTreeUI.java:2729)
at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayout
Cache.java:478)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePrefer
>>80
初心者無視スレに書いてあるほうのソースを参照してよいのかな?
ソースが不完全な気がするけど…

3行目 java.io.FileNotFoundExceptionの発生
 ファイルが存在することを確認しましたか?
 確認するメソッドは、java.io.File.exists()です。

Aドライブにアクセスしない方法も
 java.io.File.exists()で、存在を確認して、
 無かったらスルーすれば良いわけです。
82わかりません ◆IV.Rbu88uk :02/11/03 04:35
例外じゃないんです。
「これなんですか?コンソールに延々と表示されてて、」
という訳で、このコンソールへの出力を止めたいんです。
どうやら、アイコン取得するだけなのに、わざわざファイルのオープンをしているみたいで。
83わかりません ◆IV.Rbu88uk :02/11/03 04:44
>>81
Windowsでアイコン取得する場合のロジックといえば、
レジストリの拡張子ごとのアイコンが指定してある場合、拡張子キャッシュに保存。
レジストリの拡張子ごとにアイコンがCOMになっている場合、拡張子キャッシュ使わない。
IconIndexの取得に失敗した場合、ハードディスク上の存在しないファイルに対して、ShGetFileInfo?だった気がする。を行う。
Javaの場合遅いし、16色のアイコンしか取れないし、SharedViolation起こるし、何がなんだかよくわかりません。
>>82
| java.io.FileNotFoundException
Exception = 例外
OK?
85わかりません ◆IV.Rbu88uk :02/11/03 05:48
だから、コンソールに出ているんですよ。
86わかりません ◆IV.Rbu88uk :02/11/03 05:53
file.exists() で囲んだところ、A:\でfalseを返す仕様みたいですね。
ドライブアイコンがなくなりました。それから、Aドライブにアクセスするから
ディスクを入れろっていうOSのダイアログが3回出るようになりました。
87わかりません ◆IV.Rbu88uk :02/11/03 05:58
SHBrowseForFolder(OSのファイル検索の時のダイアログを出すAPI)
の場合だと、Aドライブへのシークは発生しないし、
Aドライブを開いたときにも、InsertDisk(PleaseInsertADiskIntoDriveA:)
という、Cancelボタンのみのダイアログが表示され、ドライブを入れるか、Cancelするまで止まっています。
チャイムは鳴りません。
Javaの場合だと、DriveAのアイコンを取得しに行くとNoDisk(ThereIsNoDiskInTheDrive.PleaseInsertADiskIntoDriveA:.)
という、(Cancel,TryAgain,Continue)というダイアログが表示され、五月蝿いアラームが鳴り響きます。
アイコンを取得するJNIを使わない方法って無いのでしょうか?
>>80
FileSystemView view = FileSystemView.getFileSystemView();
Icon icon = view.getSystemIcon( file );

jdk1.4 だったらコレでアイコン取得できるけど。
jdk1.3 以前だと システムアイコンは(JNIとか使わないと)取得できないので。
あと、A:\ にアクセスするのは 初心者無視スレのソースの部分なのか?
>>87
>Javaの場合だと、DriveAのアイコンを取得しに行くとNoDisk(ThereIsNoDiskInTheDrive.PleaseInsertADiskIntoDriveA:.)
>という、(Cancel,TryAgain,Continue)というダイアログが表示され、五月蝿いアラームが鳴り響きます。
FileSystemView view = FileSystemView.getFileSystemView();
Icon icon = view.getSystemIcon( "A:\\" );

Javaじゃなくてキミのプログラムに問題があるような。
90わかりません ◆IV.Rbu88uk :02/11/03 06:05
プログラムの中で、JDKのバージョンをチェックする方法も思いつくのですが、
それで、A:\を取得しようとするとどうなりますか?

私の環境は、JDK1.3です。なぜかというと、
JDK1.3のjavacを使ったclassファイルを、JRE1.2環境で実行すると、synchronized
セクションがsynchronizedされなかった(wait, notify出来ない)っていう経験がある
ため、JDKのバージョンは想定されるJREのバージョンに合わせたいからです。
91わかりません ◆IV.Rbu88uk :02/11/03 06:08
>>89のプログラムは、JDK1.3で動かないですね。
とりあえず、reflection を使って、jdk1.4に対応することにしました。
92わかりません ◆IV.Rbu88uk :02/11/03 06:11
>>89
きっと、JDK1.4のどこかでFixされたのでしょうね。
JFileChooserのFileView経由でも同じ事が出来ていいと思うのに。
JFileChooser chooser = new JFileChooser();
FileView view = chooser.getFileView();
if( null == view ) view = chooser.getUI().getFileView( chooser );
Icon icon = view.getIcon( new File( "A:\\" ) );

で取得しても Aドライブにはアクセスしない。
WindowsXP+jdk1.3.1_05 だけど。

FileView と FileSystemView が別の interface なのかは俺も疑問。
jdk1.3 でも jdk1.4 でも LAF が Metal だと
FileView の getIcon から得られるのは
MetalIconFactory から生成される Icon になってしまうようで。
94わかりません ◆IV.Rbu88uk :02/11/03 06:32
>>93
>jdk1.3 でも jdk1.4 でも LAF が Metal だと
>FileView の getIcon から得られるのは
>MetalIconFactory から生成される Icon になってしまうようで。
ウワ-。
忘れてた。それは、期待したとおりの挙動です。
逆に、Metalの時にアイコンを取得されては困ります。
JDK1.3.1_04 なのに、1.3.1_05に上げて確認してみます。って確認しても意味無いな。

とりあえず、アイコン取得は却下する方向でやってみます。
95わかりません ◆IV.Rbu88uk :02/11/03 06:34
うん?寝ます
>>92
あとね、JConfig とかいうライブラリ使えば
Windows のアイコン取れたはず。
無料で使えるライブラリだったかは忘れた。
あと、アイコンは取ってこれるけど、
FileSystemView.getSystemTypeDescription() に
相当するところがヘボなのでファイル種別は取ってこれない。

JDK1.1の頃のライブラリだから、探してももう無いかも…
97わかりません ◆IV.Rbu88uk :02/11/03 06:43
SHGetFileInfo の場合は構造体で取ってこれるのに、
getSystemTypeDescription getSystemIcon に分れているんですね。
OOじゃなくて構造化っぽいけど。

まぁ、interface不整合は、FindFirstFile / SHGetFileInfo / GetFileAttributeEx の違いだと思えば・・・。

jconfig まだありましたが。
http://www.tolstoy.com/samizdat/jconfig.html
>>97
いやさ、
FileView の getTypeDescription() と FileSystemView の getSystemTypeDescription()
FileView の getIcon() と FileSystemView の getSystemIcon()
FileView の isTraversable() と FileSystemView の isTraversable()
ってやってること同じなんだから、
FileSystemView extends FileView でも良かったんじゃないかと思うわけ。
ついでに言えば getSystemIcon(File f, int width, int height) だったら嬉しいのに。

JConfig まだ更新してたのか… ちょっと感激。
99わかりません ◆IV.Rbu88uk :02/11/03 07:07
あー、そういう、あれやこれって、JDK触ってるといっぱいあるから。
いろいろメモしておけばよかったなー。と思ってる最近です。

そうかー。そうすると、getSystemIconSizeとか欲しくなるかも。
結構WindowsAPIって洗練されているんだな。

JConfigのサポートBBS逝ったら、記事ひとつごと、
どんどんに広告ウィンドウが上がる。(笑
↓が気になる
http://ad3.peel.com/ads/contest39/TTcontest39.html
100わかりません ◆IV.Rbu88uk :02/11/03 08:05
JDK1.4使ってみた。
彼らはMicrosoftと大して変わらない気がする。
JDK1.3まで使っていたマウスホイールライブラリが使えなくなった。

java.lang.NoSuchMethodError: sun.awt.windows.WToolkit.getComponentFromNativeWindowHandle(I)Ljava/awt/Component;
at org.netbeans.modules.mousewheel.MouseWheelHandler.wheelMoved(Unknown Source)
at org.netbeans.modules.mousewheel.WheelNotifier.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:448)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
>>100
>JDK1.3まで使っていたマウスホイールライブラリが使えなくなった。
その代わり標準でホイールが効くんですが・・・。
とりあえず同バージョンアップしたか位把握してからバージョンアップさせろや。
後、Toolkit名も書かずにスタックとレースですか.アホなんですか?
>>100
> 彼らはMicrosoftと大して変わらない気がする。
これは禿げしく正しい。
>>102
でも、彼の書いた理由から導かれた結論がそれならばそれは間違いであるといえる
104デフォルトの名無しさん:02/11/03 08:36
mp3やwavと言ったサウンドを使用したいと考えています。
しかし私の持ってる本にはAudioClipクラスを使って、
Sunオーディオ形式(〜.au)しか再生できないと書いてあります。
(かなり古い本ですが・・・・・・)

mp3やwavを再生するためにはどうすればいいのでしょうか?
よろしくおねがいします。
>>103
彼の書いた理由とは関係なく正しい。
>>104
Windows専用版jmf使うとか。
107104:02/11/03 08:47
ぐぐってみたらこんなページありました。
http://www.sm.rim.or.jp/~shishido/jmidi.html
ちょっと調べて見ます。

>>106
jmfってなんですか?
>>61
JAppletってダメ?
また質問厨荒らしが来てた?
>>107
タイトルからしてmidiしか再生できない予感。
>>105
Third Party Library の寿命を短くしているっていう意味。で、グレードダウン。
・通常のホイール
・Ctrlキーと同時だとページスクロール
・Shiftキーと同時だとドキュメントの移動
・Altキーと同時だと横スクロール
とか、いろんなヴァリエーションをマッピングできるようになっていたんだ。JDK1.4だとちょっと厳しい。
Listenerじゃなくて、MFCとかWin16のメッセージマップなら何とかカスタマイズできるけど。
Listenerだと、物理的に無理でしょ。MFCでも物理的に厳しいか。
まぁ、マウスホイールごときって反応もあるだろうけど。この状況だとライブラリーが集まって来ないでしょう。
というか、MS-VCで普通のアプリつくる手法を忘れさっているよ。DLL分けるのも面倒だし。Netbeans,Eclipseに比べてIDEがタコ。
コンポーネント/VBマンセー。Delphi未経験だからVB。
で、Javaに関しては、JDK1.4におとなしく以降する事にします。
ServerSideみたくJDKのバージョンが固定されているのは除いて。
JARファイルにマニフェストがあるのに、JDKのバージョンが指定できないのは鬱
JavaWebStartがローカルXML読めないのは鬱
CLASSファイルの構造に拡張ヘッダ仕様が無いのは鬱
VB,Delphiやりてー。
今日ちょっとJBuilderつかってみたんだけど
使ってみた感想は、結構使いにくい。
これ慣れれば普通のテキストエディタより使いやすくなるの?
動きはめちゃめちゃ遅いし…
使ってる人がいましたらこつとか教えてもらえます?


>>111
良くわからんが、
public void mouseWheelMoved(MouseWheelEvent event){
 if(event.isControlDown()){
  ...
 }else if(event.isShiftDown()){
  ...
 }else if(event.isAltDown()){
  ...
 }
}
とかじゃダメなんすか?
114104:02/11/03 10:41
wavとmid問題なく再生できました。
115104:02/11/03 11:00
あっでもあまり大きなwavファイルだと音が無音のままっだったり
mp3だとエラーになってしまいますね。w
誰かできる人がいたら教えてください。
それではしばらく出てしまいますので
>>101
>とりあえず同バージョンアップしたか位把握してからバージョンアップさせろや。
http://java.sun.com/j2se/1.4/ja/relnotes.html
のリリースノートとか ちゃんと読まなかったアンタも悪い、って事で。
100からの流れを見たがマイクソとやってることは同じだな。
118わかりません:02/11/03 11:04
>>113
ばっちりです?
沢山沢山のComponentにaddMouseWheelListenerすれば?
逆に?MouseWheelEventを全てHookする?アプローチにしたいというのは変ですか?

Windowsでも、Windowプロシージャ毎に書くの?
メニュー・キー・アクセラレータだと、MessageLoopの中に書きます?
JavaにもActionMapとかあります?

今ねー?漠然と?IDEが担っているパートとか?継承が担っているパートとか?データ構造として?ではなく?考えて?
VBは?Cは?C++は?JavaのBeanなんて自動生成意識してる?
C++でクラスをDLLに入れたい?みたいな質問とか?

**Listenerとか?無名クラス使わず?継承なんかする人は?いるの?
119104:02/11/03 11:07
逝く前にリサンプリングしてレートをWindowsのファイルにあわせて22khz
ビットレートを705bpsに変えたらできました!
120104:02/11/03 11:07
あとはmp3だけです。
誰かやり方お願いします。
では本当に逝ってきます
>>118
ActionMap はあるけど、確か キーのみだけだったような…
javax.swing.ActionMap かな?
122わかりません:02/11/03 11:12
>>121
? フーン ?
? 文字化けじゃないよ ?
>>122
>? 文字化けじゃないよ ?
?荒らしかネタですか?
>>121
需要無い?

JButtonクラスに implements *Listener / publicでも外部から呼び出すなって?
ComponentとListener継承して振る舞い代えたい場合、has a じゃなく is a なの?
だめ?実は良い?
あ゛ー。覚えた事がすたれてゆく。
どころか、動かなくなってゆく。
DecimalFormatが80桁のBigDecimalを書式化できるのはいつの日か。
>>125
目指した所はそれなんだろうけど、出来ないね。てへ
  ∧_∧
 ( ´∀`)オマエラ
 /,   つ  オチケツ
(_(_, )
  しし'
カレー食いてー
130デフォルトの名無しさん:02/11/03 12:50
数年ぶりにJavaのソフトを作ろうと思っているアホな私によろしかったら
教えて下さい。

Java 2 SDK 1.4 を使ってブラウザ上で動くアプレットを作りたい
と思っています。できるだけ多くのブラウザで利用できるようにしたい
(具体的には最低でも
Windows IE5.5以上できれば5.0以上、Netscape6以上
Macintosh IE5.5以上)
のですが、その場合 Swing はまだ使わない方がよいのでしょうか?
やはりAWTで組んだほうが良いですか?
また日本語の表示は(unicodeで書いておけば)大丈夫ですか?

また1.4.0_02と 1.4.1_01 はどちらを使った方が無難でしょう?

かなり昔に組んだアプレットをそろそろバージョンアップしてくれと
いう要望があって取り組み始めたのですが、浦島太郎の気分です。
互換性の問題が最近どうなっているのかがさっぱり分からず困って
います。当時は日本語をアプレット上に表示しようとするとブラウザ
とOSの組み合わせ次第では文字化けしたので、アプレット上は英語
で表示してステータスバーに日本語の解説を表示するなどということ
をしていました。
>>130
> やはりAWTで組んだほうが良いですか?

当然。JDK 1.1 の API リファレンスを落として来い。日本語は OK。
JDK は IBM JDK 1.1.8 を使え。
IEはまだ(というかおそらく永遠に)1.1.4相当ですよー
わかりません ◆IV.Rbu88uk ってさ、
はっきり言って死んでほしいよね。
初心者だったら大歓迎だけど、
ただのアホはホントに死んでほしい。
134not a 120:02/11/03 13:32
Java Media Frameworは手元の本だと、
QuickTime、MPEGも使えるみたいなこと書いてあるけど、
実際、どのくらいまで扱えるのですか?
>>132
今のSun JAVAプラグインはIEでもAPPLET要素で使える。
そんなキモいのつかいたくない
初心者のバカな質問で申し訳ないのですが、教えていただければ幸いです。
JDK1.3からJDK1.4に変更してコンパイルすると、
JDK1.3に比べてJDK1.4のほうは
ボタンなどのコンポーネント上の文字が小さくなってしまうのですが、
これって、こういう仕様なんでしょうか?
1.3のほうは12pointの大きさなのですが、1.4のほうは10pointぐらいになってしまいます。
コマンドラインでコンパイルしても、JBuilder7でコンパイルしても同じです。
ちなみに、JBuilderでボタンなどのフォント設定をみると、
1.3も1.4も共にDialog,0,12pointなのですが。。。
OSはWinXPPROです。
138130:02/11/03 14:03
131さん、ありがとう。

日本語大丈夫ということで安心しました。Swingもまだまだですね。
IBM JDK 1.1.8 か....なるほど。1.3.0 じゃなくて、そっちに
行くわけですね。

JDK 1.4.0_01 は「Java GUIコンポーネント完全制覇(柏原正三
/技術評論社)」に、IE6.0 NS6.2.3 でOKと書いてあったので
期待したのですが、ちょっとブラウザのバージョンが戻るときつい
のかな。では IBM にいってきます。
139デフォルトの名無しさん:02/11/03 14:16
FreeBSDで動くフリーのJavaベースのチャットサーバ
ソフトはないですか?
cgiチャットサーバのリロード動作がすごく嫌なので
置き換えたいと思って探してます。
140デフォルトの名無しさん:02/11/03 14:33
>>139
なーいでーす。
141139:02/11/03 14:43
>140
そっかー(涙)
>>133
悪かったな。クライアントサイドJavaなんて実務では一度も無いよ。

CGIにアクセスログかけてからSUNに同趣旨のメール送ったらログにSUN.JPが残ってた。
感激。悪口しか書いてなかったのに。W

今から130P印刷したメール読む
Frameというクラスにフレームの定義だけしておいてます。で、
JFrame frame=new Frame();
Window win=new Window(frame);
if(cb.isSelected()){
  win.setVisible(true);
ウィンドウが開かれないんですけど原因はどこら辺に?
>>142
今のJavaの状況なら
クライアントサイドJavaをやったことの無い人はいるだろうね。

私も来年の新人教育、クライアント側にまったく触れないことにしました。
>>144
そうなんですかぁー。私も止めてみます。
146デフォルトの名無しさん:02/11/03 17:02
throw節に送る例外が2個あるときはどのように宣言すればいいのでしょうか?

   クラスA メソッドA() throw 例外1、例外2

 try{
    メソッドA();
 }catch(例外1){
    例外処理;
 }

例外がひとつしかかけません。
誰か教えてください
>>146
try{
 methodA();
}catch(Exception1 e){
 ...
}catch(Exception2 e){
 ...
}
>>147
どうも
149デフォルトの名無しさん:02/11/03 17:18
ボタンやらテキストフィールドやらを貼り付けたフレームをスクロールさせるには
どうしたらいいのでしょうか?
ScrollPane で被せれ
151デフォルトの名無しさん:02/11/03 17:22
それがうまくいかないのですが・・・。
152デフォルトの名無しさん:02/11/03 17:40
すみません。前スレで聞いてる方がいらっしゃたのですが
今見れない状態なので、今一度教えてもらえますか?
.exeなどのファイルを呼び出すメソッドってなんでしょうか?
あと、このような状況ときはどのようにAPIを見ればいいんですか?
// 実行したいコマンド(Windows) エスケープを忘れないこと
String command = "C:\\windows\\notepad.exe";

Runtime runtime = Runtime.getRuntime();
runtime.exec(command);

バーチャルマシン依存っぽいのと、基本的なものは、java.langパッケージ
あると便利そうなものは、java.utilパッケージを見る。
クラス名から適当にAPIをあさる。
Googleで当たりをつけて、その周辺を見る。
154153:02/11/03 17:49
あと、いつまで続くかわからないけど、
全文検索
http://www.arc.ritsumei.ac.jp/kachina/mikio/ftssample/jdk14/search.cgi
>>153-154
クラスまことにありがとうございました。
あとAPIの見かたもどうもです!
java.swing.Timer の Timer.class ってどこにあるんですか?
j2sdk をダウンロードしたんですけど、Timer.class は入っていませんでした。
>>156
sdkには入ってない。
何か http://java.sun.com/http://www.sun.com/
繋がらないんですけど、サンさんどうしちゃったんでしょ?
>>157
お返事ありがとうございます。
それでは、どれに入っているのでしょうか?
JSDK2.0 や J2ME? Wireless Toolkit 1.0.4_01 にもありませんでした・・・
>>158
僕は繋がりますよ。
160デフォルトの名無しさん:02/11/03 20:08
>>159
え、今見れてますか?
何度やっても「サーバが見つかりません」なんですが。
APIリファレンスが見れないよー!
>>160
繋がった。APIも問題無し。
こっちは
http://fr.sun.com/
>>161
ダメでした。サン系のみ全滅です。
とりあえずインターネットオプションのセキュリティを既定値に戻したり
してみたのですが、やっぱりダメ。何か悪いもの拾ったかなぁ。
163デフォルトの名無しさん:02/11/03 20:57
DNSでも狂ったのかな。
http://192.18.97.71/
だとどう?java.sun.comだけど。
>>159
標準のに、javax.swing.Timer入ってない?
java.util.Timerになんとなく似てるこのクラスをお探しではないのか?
165162:02/11/03 21:05
>>163 おお、いけました。
DNSエラーだったのですね、ちょっと調べてみます。
どうもありがとうございました。
>>156
rt.jar の中探せ。 Timer.class 見つけて何する気なのかは知らんが。
137です。
誰も相手にしてくれないのですが、一応。。。
>ちなみに、JBuilderでボタンなどのフォント設定をみると、
>1.3も1.4も共にDialog,0,12pointなのですが。。。
と書きましたが、
JBuilderではコンポーネントのFontでDialog,0,12のときはコードではsetFontは記述されてない。
つまりJDKのコンポーネントのFontのデフォルトは12pointなんですね。。。
setFontを記述しない場合のデフォルトFontサイズは
1.3では12pointで、1.4では10pointなんでしょうか?
皆さんの環境ではこんな現象は起きてないでしょうか?
>>164>>166
ありました。ありがとうございます。
でも、解決できませんでした。

Timerを動かそうと思ったのですが、IEだと上手く動いて
NNだと、NoClassExeption で動かなかったので、
Timer.Class を探しても見付からなかったもので…。
そこに、CLASSPATH を通しても駄目でした。
もう少し調べてみますs。
なんで、IEだと動くのかな?
>>168
Appletかよ。しかもNoClassExceptionって何だよ。
NoClassDefFoundErrorか、ClassNotFoundExceptionか
ちゃんと書け。
それと、IE、NNのそれぞれのJava pluginのバージョンも。
170 :02/11/03 23:41
とりあえず、「やさしいJava」を全部読んだよ。
所々抜けているけど、その内容がどのページに書いてあってちょっと読めば思い出す・・・

で、この後どうするですか?

そもそもiアプリを作りたくてJavaを始めたわけで、「やさしいJava」を読破してからiアプリのJavaを
勉強しようと思っていたのよ。

これでiアプリに行っていいですか?
それとも「やさしいJava 活用編」も読んでから行った方がいいですか?

http://www.bekkoame.ne.jp/~manachan/yasajk.html
>>170
そのほうが望ましくはあるが充分だろう。
次はiアプリでやりたいことを決めなさい。
それから、どのように作れば良いかを考えなさい。
>>169
ごめんなさい。ウンコ出そうだったもので。

NC4.73の方は、Java Plug-in 1.4.1_01 for Netscape Navigator (DLL Helper)
エラーはこんな感じです。
Netscape Communications Corporation -- Java 1.1.5
Type '?' for options.
Symantec Java! ByteCode Compiler Version 210.065
Copyright (C) 1996-97 Symantec Corporation
java.lang.ClassNotFoundException: javax.swing.Timer
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.lang.ClassNotFoundException.<init>(Compiled Code)
at netscape.applet.AppletClassLoader.findClass(Compiled Code)
at netscape.applet.AppletClassLoader.loadClass1(Compiled Code)
at netscape.applet.AppletClassLoader.loadClass(Compiled Code)
at java.lang.ClassLoader.loadClassInternal(Compiled Code)
at ShotSub.init(Compiled Code)
* at netscape.applet.DerivedAppletFrame$InitAppletEvent.dispatch(Compiled Code)
at java.awt.EventDispatchThread$EventPump.dispatchEvents(Compiled Code)
at java.awt.EventDispatchThread.run(Compiled Code)
at netscape.applet.DerivedAppletFrame$AppletEventDispatchThread.run(Compiled Code)
続きです。

IE6.0SP1の方は、Java(TM) Plug-in: バージョン 1.4.1_01
使用中の JRE のバージョン 1.4.1_01 Java HotSpot(TM) Client VM

で、IEがOKなので、CuamやDonutRaptで試したら駄目でした。
IEはsunのVMじゃ無いって事なのでしょうか?
おい。NNって言ってたのに、実際はNCかよ!
あと
> Netscape Communications Corporation -- Java 1.1.5
って何?
> Copyright (C) 1996-97
これもずいぶんと古いみたいだが。。。

> Java Plug-in 1.4.1_01 for Netscape Navigator (DLL Helper)
これは一体どうやって確認したの?
175デフォルトの名無しさん:02/11/04 00:29
ファイル操作に関する質問です。
以下のようなファイルがあったとき
---------------
#KEY_0=V_0
#KEY_1=V_1
#KEY_2=V_2
...
#KEY_n=V_n
---------------KEY_iは文字列、V_iは整数
KEY_iに対する値V_iを更新するにはどうすればよいのでしょうか?

以下のように書こうと思ったのですが、
何か見当違いな気がしたので質問しました(実際、間違ってます)。
以下ではKEY_iが見つかったとき、
V_iの値を1増やすようなことをしています。

RandomAccessFile rw = new RandomAccessFile(f, "rw");
String line;
while ((line = rw.readLine()) != null) {
    if (line.indexOf('#') == 0) {
        int eIndex = line.indexOf('=');

        String key = line.substring(1, eIndex);
        int value = Integer.parseInt(line.substring(eIndex + 1));

        rw.writeBytes("#" + key + "=" + (++value) + "\n");
    } else {
        rw.writeBytes(line + "\n");
    }
}
rw.close();
>>174
>これもずいぶんと古いみたいだが。。。
ネスケは新しい=重いってイメージがあるので古いのを使ってます。

>> Java Plug-in 1.4.1_01 for Netscape Navigator (DLL Helper)
>これは一体どうやって確認したの?
ヘルプ→Plug-inについて
です。

で、いろいろ探してたら解決しました。
html の書き方が悪かったみたいです。
http://java.sun.com/products/plugin/1.2/docs/ja/tags.html
ここにあるように、APPLETタグをやめて、OBJECTとEMBEDタグにしたら
何事も無かったように動きました。
こんな馬鹿な疑問に付き合ってもらってありがとうございました。
>>175
RandomAccessFileのreadLine()を使ったときは、
ファイルポインタも移動するのですかね?次の行に。

>>176
むか〜し、HTMLConverterというのがあったね。
>>175
=で結ばれていることが保証されているなら、
Propertiesに放り込むのがラクそうだな。
>>178
# はコメントになっちまうよ
>>175
そりゃダメでしょ。
readLine() と writeBytes() の前後に
getFilePointer() とか入れて
自分が何やってるか確認してみれば?
JFrameにJDesktopPaneを乗せて、JInternalFrameを
配置したい場合、InsetsはJFrameのInsetsでいいので
しょうか。JDesktopPaneのInsetsを取得しようとすると
0, 0, 0, 0が戻るので。
>>175
そもそもファイル読み書きに関する思想が間違ってるぞ。
ちょっと考えてみろ。
183困った :02/11/04 14:57
JEditorPaneにsetPageメソッドでURLを開きたいんですが、
素直に出てくるページとNullPointerExceptionが出てくるページ
があります。文字コードが対応して無いとこうなりますか?
化けて出てくるページもあるのでなんともいえません。
解決法等教えてください。お願いします。
質問なんですが、全くの初心者なんですが、本だけで勉強しても大丈夫なんでしょうか?
あと本だけでも理解できるんでしょうか?
185184:02/11/04 15:37
もう一つなんですが、これから勉強するんだったら、CとJavaどちらがおすすめでしょうか?
>>183
参考に、アクセスに失敗する(NullPointerExceptionの発生する)
アドレス例を教えてください。

>>184
大丈夫。どれくらい読むかによるけど。
私も独学、かつ文系で周りに詳しい人がいなくて、本中心。
187デフォルトの名無しさん:02/11/04 15:54
>>172
4.79なら、APPLETタグで、JavaPlugin使えるよ。
NNの場合には、JavaScriptで、JavaPluginも有効にするよう、4.79使えって
メッセージ出せば良いのでは。英語版しかないけど。
>>183
私もNullPointerExceptionの発生するURL発見しました。
HTML4.0ベースのURLにアクセスした時に発生。
JEditerPaneは3.2ベースだからね。
183と同じ原因なのかはわかりませんが。

>>185
それはあなたのやりたいことによります。
189184:02/11/04 16:02
>>188
自分では何か一つ、覚えたいと思ってるんですが。
>>189
お好きなモノを。どれをやっても無駄にはならんだろう。
>>189
C → Javaの順に学べという人もいるけど、
私はいきなりJavaから初めても良いと思う。

まったくの初心者には、
すぐに結果のでるVBとか、cgiで使えるperlを奨めたいけどね。
>>191
アホは死ね。
>>191は氏ね
>>192にハゲドウ


・・・と、言いたいところだが世の中には
Javaをマスターした人を対象にしたC言語の入門書
なるものも存在する。
どういう道を辿ろうときちんと修めてくれるなら
どうでもいいってところか
194189:02/11/04 16:26
今、学校でプログラミング論の授業を受けているが
おじいちゃんの先生で教えているのが、コボルなんですが、Cの勉強やJavaについていけますか?
195デフォルトの名無しさん:02/11/04 16:29
自力でやれ。
196189:02/11/04 16:34
>>195
なんとか本買ってきて、独学でがんばります・・・
>>194
コボルでもいいよ
コボルすらマスターできんやつは氏ね
198175:02/11/04 17:15
>>177, >>178, >>180, >>182 レスありがとう.
>>182さんの言う通り、根本的に間違ってましたね。
RandomAccessFileのgetFilePointer, seekメソッド使ってうまいことやろうかと思いましたが、駄目でした。
僕は、挿入すれば挿入した分だけずれながらファイルに出力されるものと思ってましたが、そうではなくて
キーボードのInsキーを押した状態で、キーボードから入力するように出力されてるようですね。

ということで下では全然違う方法で>>175みたいなことを書いてみました。
手法としては、一時ファイルに更新したデータを書き込み、それを最終的に元ファイルに置き換えるというものです。
何かもっと効率的な他の方法があれば教えて下さい。

File bufFile = File.createTempFile("params", null);
BufferedReader reader = new BufferedReader(new FileReader(file));
BufferedWriter bufWriter = new BufferedWriter(new FileWriter(bufFile));
String line;
while ((line = reader.readLine()) != null) {
    if (line.indexOf('$') == 0) {
        int eIndex = line.indexOf('=');
        String key = line.substring(1, eIndex);
        int value = Integer.parseInt(line.substring(eIndex + 1));
        bufWriter.write('$' + key + '=' + (++value) + '\n');
    }
}
bufWriter.close();
reader.close();
if (file.delete() && bufFile.renameTo(file)) {
    return true;
} else {
    return false;
}
199デフォルトの名無しさん:02/11/04 17:35
>>198
DB2買え
200デフォルトの名無しさん:02/11/04 17:47
>>194
ひょっとして商業系の学校??
プログラミングってのがどういう作業をするものかとか、アルゴリズムの
勉強にはなるだろうけど、COBOLで仕事をするのは厳しいと思う。

COBOLの授業なんて、あまり本気でマスターしようとは思わないことだ。
プログラマになりたいのなら、独学だよ。
てゆうか、Cとか教えてる学校もあるけど、あんな進行速度じゃ
一生かかってもプログラマとして仕事できないよ。
SEにならなれるかもしれないけど。
200 :デフォルトの名無しさん :02/11/04 17:47
>>194
ひょっとして商業系の学校??
プログラミングってのがどういう作業をするものかとか、アルゴリズムの
勉強にはなるだろうけど、COBOLで仕事をするのは厳しいと思う。

COBOLの授業なんて、あまり本気でマスターしようとは思わないことだ。
プログラマになりたいのなら、独学だよ。
てゆうか、Cとか教えてる学校もあるけど、あんな進行速度じゃ
一生かかってもプログラマとして仕事できないよ。
SEにならなれるかもしれないけど。
202困った:02/11/04 17:48
>>186
ttp://www.sum.com
ttp://javascript.internet.com
2番目はかなりひどい量がでます。

200 :デフォルトの名無しさん :02/11/04 17:47
 >>194
 ひょっとして商業系の学校??
 プログラミングってのがどういう作業をするものかとか、アルゴリズムの
 勉強にはなるだろうけど、COBOLで仕事をするのは厳しいと思う。

 COBOLの授業なんて、あまり本気でマスターしようとは思わないことだ。
 プログラマになりたいのなら、独学だよ。
 てゆうか、Cとか教えてる学校もあるけど、あんな進行速度じゃ
 一生かかってもプログラマとして仕事できないよ。
 SEにならなれるかもしれないけど。
粘着だなあ。
205200:02/11/04 17:51
>SEにならなれるかもしれないけど。
SEの人、失礼!
#てゆうか最近「SEです!」って見かけないけど。
#某大手と仕事したら、プログラム組めないSEが出てきて
#みんなそろってデスマーチしますた(涙)
#本人は気づいてないけど。
>>205
SE と Sヨ の見分けくらいつくようにならないとこの界隈で生きてゆくのは
難しい。
207最後の一行にご注目:02/11/04 17:54
200 :デフォルトの名無しさん :02/11/04 17:47
 >>194
 ひょっとして商業系の学校??
 プログラミングってのがどういう作業をするものかとか、アルゴリズムの
 勉強にはなるだろうけど、COBOLで仕事をするのは厳しいと思う。

 COBOLの授業なんて、あまり本気でマスターしようとは思わないことだ。
 プログラマになりたいのなら、独学だよ。
 てゆうか、Cとか教えてる学校もあるけど、あんな進行速度じゃ
 一生かかってもプログラマとして仕事できないよ。
 SEにならなれるかもしれないけど。
205 :200 :02/11/04 17:51
 >SEにならなれるかもしれないけど。
 SEの人、失礼!
 #てゆうか最近「SEです!」って見かけないけど。
 #某大手と仕事したら、プログラム組めないSEが出てきて
 #みんなそろってデスマーチしますた(涙)
 #本人は気づいてないけど。
208最後の一行にご注目:02/11/04 17:54
200 :デフォルトの名無しさん :02/11/04 17:47
 >>194
 ひょっとして商業系の学校??
 プログラミングってのがどういう作業をするものかとか、アルゴリズムの
 勉強にはなるだろうけど、COBOLで仕事をするのは厳しいと思う。

 COBOLの授業なんて、あまり本気でマスターしようとは思わないことだ。
 プログラマになりたいのなら、独学だよ。
 てゆうか、Cとか教えてる学校もあるけど、あんな進行速度じゃ
 一生かかってもプログラマとして仕事できないよ。
 SEにならなれるかもしれないけど。
209最後の一行にご注目:02/11/04 17:55
205 :200 :02/11/04 17:51
 >SEにならなれるかもしれないけど。
 SEの人、失礼!
 #てゆうか最近「SEです!」って見かけないけど。
 #某大手と仕事したら、プログラム組めないSEが出てきて
 #みんなそろってデスマーチしますた(涙)
 #本人は気づいてないけど。
210デフォルトの名無しさん:02/11/04 17:56
>>205
昔を思い出して、涙出てきますた(TT)
わたしのときも相手は大手だったんだけど、開発の部署と人事部が
完全に独立してたみたいで、「なんにもできませ〜ん」ってやしが
俺より高い給料だった(TT)

鬱だ詩嚢
211183,202:02/11/04 17:57
>>186
文字コードをそのページのcharset=iso-8859-1
にしてみましたが、やはり
NullPointerExceptionでした・・・
>>208-209
おまえのこと言われてんぞ (w
大手=手が大きい=足が大きい=ばか
大手=手が大きい=顔が大きい=高給
214デフォルトの名無しさん:02/11/04 18:01
プログラマはヘボSEの存在で寿命が縮み、
また、ヘボSEは失敗をプログラマのせいにして生き延びる。

鬱だシノウ

239 :仕様書無しさん :02/10/26 16:42
public void method() {
  throw new NullPointerException("ぬるぽ");
}

public void method2() {
  try {
    method();
  } catch (NullPointerException npe) {
    throw npe;
  }
}

     ∧_∧  ぬるぽ出て
   ∩´∀`∩)  そっとつかまえ
    \    )  またぬるぽ
     ( ( /
     ((_)
216デフォルトの名無しさん:02/11/04 18:03
>>214

うわーーー、鬱だーーーー
コロソウ
     >>Sョ
     ↓
|    △     |
|  〔(゚ ∀ ゚)〕  .|
(⌒⌒⌒⌒⌒⌒⌒)
|⌒⌒⌒ <⌒ヽ o 。  うああぁぁ...
|      <_  ヽ。
|      o とノ ノつ
|       。  | 〜つ
              (゚Д。 ;。グヒャッ
   ,,,ヾ''ヽ/       ~~~~
 (( \ 1\/
     \____|  ))
       ∫        ∧_∧ 
              l⌒l´∀` )<>>Sョはとっとと!
              ヽ ヽ   つ
             ((( \_   ノ
                  \ ヽ
                    し''
強い電波が出ています
  ≫
 ≪
  ≫ 

(゜ρ゜)
220デフォルトの名無しさん:02/11/04 18:14
最近はよほど古いとこじゃないとSEなんていないって。
てかなんでこんなに脱線してんだ?藁
221最後の一行にご注目:02/11/04 18:28
200 :デフォルトの名無しさん :02/11/04 17:47
 >>194
 ひょっとして商業系の学校??
 プログラミングってのがどういう作業をするものかとか、アルゴリズムの
 勉強にはなるだろうけど、COBOLで仕事をするのは厳しいと思う。

 COBOLの授業なんて、あまり本気でマスターしようとは思わないことだ。
 プログラマになりたいのなら、独学だよ。
 てゆうか、Cとか教えてる学校もあるけど、あんな進行速度じゃ
 一生かかってもプログラマとして仕事できないよ。
 SEにならなれるかもしれないけど。
205 :200 :02/11/04 17:51
 >SEにならなれるかもしれないけど。
 SEの人、失礼!
 #てゆうか最近「SEです!」って見かけないけど。
 #某大手と仕事したら、プログラム組めないSEが出てきて
 #みんなそろってデスマーチしますた(涙)
 #本人は気づいてないけど。
>>221 は民族系の学校
220 名前:デフォルトの名無しさん :02/11/04 18:14
  最近はよほど古いとこじゃないとSEなんていないって。
  てかなんでこんなに脱線してんだ?藁

Sョでよければ、いないことも無い、という事もできなくは無い、が、断定するにはいささか
>>211
たしかに2番目は多量の例外が発生するね。
私の推測は>>188
>>220
マ板気分で SE という言葉が出るとコピペしたくなるのでしょう。
226183,202:02/11/04 19:20
そうですか・・・!ありがとうございました。
>>224
>>188
解決法はないですよね?
227デフォルトの名無しさん:02/11/04 22:04
JAVAのアプレットを作ったんですが…
プロンプトからコンパイルしてappletviewerで見たら上手く行ったのに、
ブラウザに上げてみたら、エラーが起こりました。
java.lang.ClassFormatError:Bad major version number
というエラーだったので、JAVAの1.4でコンパイルしたのが拙いのかと、
javac -target 1.3でコンパイルし直して、設置してみましたが、
やはり上手く行きません。
1.1にも直しましたが、同様でした。
友人宅のHPに上げて貰った所、やっぱり同じエラーが起こりました。

どなたか解決方法知らないでしょうか?
>>227
後生ですからエラーメッセージ読んでくださいよ。
229珍乳社員:02/11/04 22:11
javaScriptのラジオボタンについて質問です。

3つのボタンの中から1つ選んで他の2つのラジオボタンとフィールドを無効化(書き込めない状態)にしたいです。
自分でやってみたら、失敗点が以下の2つありました。
@初めてそのページに飛んだとき、無効化になっていない。
A次のページに進み、戻ったとき選択した情報を保持しているのですが、無効化されていない。

普通に選んだときは無効化されます。クッキーとか使わなきゃいけないんですかね?
>>229
お願いします、早く氏んでください。
>>229
>javaScriptの

この時点ですれ違いです。正直ワラタ。
>>229
グループ
233デフォルトの名無しさん:02/11/04 22:23
>>228
初心者ですみません…一応読んだんですが、
エラーの意味が分からず、Googleで検索した所、
コンパイルの際にバージョンを古く指定すれば解決すると有ったので
試してみたんですが、やっぱり同じ症状になりました。

手持ちの参考書にも載っておらず、
上のFAQでそれらしき所を調べてみても載ってなかったので途方にくれてます。
どうすれば良いんでしょうか。
>>233
IEのJREは1.1.8相当。
>>234
3 桁目まで言うなら 1.1.4 と言え。
まぁ実質たいして変わらないが。
236233:02/11/04 22:35
>>234
>>235
1.1.4…って事は1.0でコンパイルしないといけないんでしょうか?
1.1では駄目でしたし、1.1.4だとコンパイルエラーが起きたんで…
>>236
エラーが起きたことは大して重要ではない。
どんなエラーがどこで起こったかが重要なのだ。

大方新バージョンにしか実装されてないクラスでも使ってるんだと思われ。
複数の計算を同時にさせるプログラムを作りたいのですが、計算の数が
毎回変わります。
計算の数が固定ならばマルチスレッドなどで、何とかするのですが、
計算の数が不明なので、マルチスレッドが使えません。

と二乗の計算をするプログラムをつくるとして、コンソール画面やHTMLから
任意の数の整数が与えられた時に、任意の整数の数が2個ならスレッドを
2個と決め打ちできますが、n個の場合、決め打ちができないので、困っています。

なにか良い方法を知っていましたら教えてください。
239デフォルトの名無しさん:02/11/05 00:58
javaをするのに もっともおすすめのフリーソフトってなんですか?
Jbuilderで大丈夫ですか?
>>239
JDK
>>238
計算の数がnあるならn個のスレッドを作ればいい
>>238
ループ、とか知らない?
243デフォルトの名無しさん:02/11/05 01:54
お勧めのケースツールってないですかね?
Together ControlCenterっていくらするんですか?
244 :02/11/05 02:12
iアプリエミュレーターをゲットしたので
フリーのプログラムを動かしたかったのですが
パソコンからではダウンロードできませんと表示されてしまいます。
なんとかパソコンでダウンロードすることは出来ないでしょうか?
よろしくおねがいします
IPアドレスで弾いてるんだからできねーよ
246デフォルトの名無しさん:02/11/05 02:33
>>245
IPだったんですか・・・ありがとうございます
247dos:02/11/05 04:33
おまえら聞いてください。
DBのトランザクション使うときに
try{
  con.setAutoCommit(false);
  try{
    con.createStatement().executeUpdate("insert t value(1)");
    con.createStatement().executeUpdate("insert t value(2)");
    con.commit();
    return;
  }
  finally{
    con.rollback();
    con.setAutoCommit(true);
  }
}
catch(SQLException e){
  e.printStackTrace();
}
というふうにtryが2重になるのは間違ってまつか?
248デフォルトの名無しさん:02/11/05 04:39
間違えではないと思う。
でも俺は違う方法でやった気がする。。
覚えてないけど。。。。。

あれ、? ほんとに思い出せないu。。撃つ堕し膿
249デフォルトの名無しさん:02/11/05 05:23
>>247
tryが重なるのは問題ないよ。
>>247
とりあえずtryうんぬんかんぬんでなくそのコードはおかしい。
finallyでrollback、コネクション閉じないでリターン?
>>247
tryが重なっても間違いじゃないけどね、
そりゃまずいよ。
252247:02/11/05 08:10
コネクションは呼び出し元で閉じるから問題ない。
>>251
どうまずいの?
>>252
>finallyでrollback

これだと思われ。
何をやってもロールバック。つまりそのメソッドの存在意義がない。
254247:02/11/05 08:21
うーむ、こうなった。(returnは いらん心配させないため省いた)
try{
  con.setAutoCommit(false);
  boolean flag = false;
  try{
    con.createStatement().executeUpdate("insert t value(1)");
    con.createStatement().executeUpdate("insert t value(2)");
    con.commit();
    flag = true;
  }
  finally{
    if(!flag) con.rollback();
    con.setAutoCommit(true);
  }
}
catch(SQLException e){
  e.printStackTrace();
}
tryが重なるのが問題かどうかじゃなくて、みんないちいちこんなめんどくさいこと書いてるのかなぁと思って。
もしかしたら、もっと簡潔な方法があるのかと。
255247:02/11/05 08:24
>>253
それに関しては、正常終了時にはcommitしてるから問題ないと思うのだが。
>>254
素直にcatchしなよ・・・
呼び出し元でコネクションを閉じるって事は外側のtryを含めて
関数に入っていると思うけど呼び出し元でエラーが発生したかどうか
わからないような気もしたりする。
>>257
何となくオブジェクト指向がなされていない気がする・・・。
259247:02/11/05 08:35
>>256
NullPointerExceptionとか例外以外の中断を考えるとめんどくさい。

>>257
それが知りたければ、throws SQLExceptionする。
>>258
なんで?
>>254
これも、内側のtryが無意味だよな。
try一個でいいじゃん
あと、connectionをたらいまわしにするのはやめれ
>>259
>NullPointerExceptionとか例外以外の中断を

無視するのはもっと怖いかと。
じゃあ、望みの例外以外は丸投げすれば良いだけで。
彼は1プログラムに対してクラスを1つしか定義してない気がしてきた・・・(構造体代わり除く)。

GUIから問い合わせまで全部同じくらすでやってそう。 
264247:02/11/05 08:50
>>261
そのときのrollbackのタイミングはどうしたらいいでつか?
265247:02/11/05 08:51
>>258
こんなのでどう?

 abstract class MyTransaction{
  Connection con;
  MyTransaction(Connection con){
   this.con = con;
  }
  public void run() throws SQLException{
   con.setAutoCommit(false);
   try{
    execute(con);
    return;
   }
   finally{
    con.rollback();
    con.setAutoCommit(true);
   }
  }
  public abstract void execute(Connection connection) throws SQLException;
 }


 new MyTransaction(con){
  public void execute(Connection con) SQLException{
   con.createStatement().executeUpdate("insert t value(1)");
   con.createStatement().executeUpdate("insert t value(2)");
   con.commit();
  }
 }.run();

こういうのをオブジェクト指向というかどうかは知らんけど、クラス使ってみた。
266247:02/11/05 08:54
というか、おまえらが使ってるトランザクションのコード教えてください。
>>265
ちゃんとテストしたのか?
以下のコードでも実行して勉強すれ。

public class test {
 public static void main( String[] args ){
  System.out.println( "method() の戻り値:" + method() );
 }
 public static int method(){
  int val;
  try{
   val = 0;
   return val;
  }finally{
   val = 1;
   System.out.println( "finallyに到達 valの値:" + val );
  }
 }
}
>>266
だから、connectionをクラス間でたらいまわしにするなと・・・・
SQLExceptionをキャッチしたときにロールバックさせればいいだろ
それじゃだめなのか?
269247:02/11/05 09:33
Connectionをたらいまわしにするかどうかは、別の問題なのではないの?
少なくとも、一般的にいえるものではないと思うけど。
コネクションプーリングしてなければ、コストかかるからConnection増やしたくない場合もあるだろうし。

で、確実にrollbackさせたければfinallyがいいと思ったんだけど。

270247:02/11/05 09:40
>>267
コンパイルが通ることは確認したが、動かしてない。
なにが問題?
>>269
>で、確実にrollbackさせたければfinallyがいいと思ったんだけど。
正常処理終了時も含めて「常に」rollback する仕様なのか…
へちょい負荷テストか、もしくはネタだな。
rollbackはエラーのときなんだからcatchがいいんじゃない。
273247:02/11/05 09:55
>>271
むだにコネクションはるよりは、commit()してすぐrollback()するほうがはるかに負荷少ないと思うのです。
catchにすると、コーディングミスの可能性が高くなると思って、finallyにしますた。
>>270
connectionが永続かどうかは保証されてない。
したがって、クラス間でたらい回した場合
connectionが閉じられている場合もありえるってこと。
たらい回すなら永続化しる!
>>268
connectionをクラス間でたらいまわしにしないって事は
クラスごとでコネクションを張るのか?
処理ごとにコネクションを張るとか?
>>274
connectionが閉じられている場合ってどういうこと?
それはクラス間でたらい回ししなかったら防げることなのか?
277247:02/11/05 10:04
>>274
別に、そこらへんのインスタンスに渡す分には問題ないのではないかと。
1時間に1回の処理とかだとタイムアウトしてそうだから処理間で使いまわせないのだろうけど。

というか、別クラスだからとか別メソッドだからという問題ではないと思うんだけど。
>>273
あなたはcommitとrollbackについて調べた方が良い。
279247:02/11/05 10:13
catchにするとこうなりました。
try{
  con.setAutoCommit(false);
  con.createStatement().executeUpdate("insert t value(1)");
  con.createStatement().executeUpdate("insert t value(2)");
  con.commit();
}
catch(Exception e){
  con.rollback();
  if(e instanceof SQLException){
    e.printStackTrace();
  }
  else{
    throw e;
  }
}
finally{
  try{
    con.setAutoCommit(true);
  }
  catch(SQLException ignored){
  }
}

毎回書くのはいやな感じです。Exceptionつかまえるあたりが。
finallyでrollbackするほうが、すっきりすると思うのですが。
280247:02/11/05 10:15
>>278
JavaSDKのドキュメントを調べてるんですが、とくに間違ってるとは思えないのですが。
とりあえず動いてるし。。。

なにが悪いか教えてください。
281247:02/11/05 10:32
PostgreSQL使ってるんだけど、JDBCドライバのソース見たらはcommit;begin;とrollback;begin;送ってるだけだから問題なさそう。
ほかのデータベースなら問題ある?
try{
  con.setAutoCommit(false);
  con.createStatement().executeUpdate("insert t value(1)");
  con.createStatement().executeUpdate("insert t value(2)");
  con.commit();
}
catch(SQLException e){
  if(con != null) con.rollback();
  e.printStackTrace();
}
finally{
  try{
    if(con != null) con.setAutoCommit(true);
  }
  catch(SQLException ignored){
  }
}
でいいんじゃないの?
>>281
スレッドセーフであれば問題ないんだろうけど、
不用意にrollbackをかけるのはバグの原因になるんじゃない?
必要なときだけ呼び出すようにしないと・・・
>>282
わざわざcon != nullをする理由がわからない。
conがnullだったときに発生するエラーを発見しにくくしてしまうだけ。
285247:02/11/05 11:01
>>282
実際の処理部(insertしてるところ)で、ほかの例外が起きる可能性があると、rollbackされない可能性ができてしまいます。
いちいちcatchすればいいのですが、想定しない(できなかった)例外が発生したときにcommitされてしまう可能性があります。
かといってExceptionをcatchするのも。。。
ミスしなければいいという話なのですが、rollbackのために発生する例外をもれなくチェックするというのもコストかかりすぎな気がします。

>>283
さすがにスレッド間で同時にConnection使うことはやってません。
なので、rollbackしない、setAutoCommit(true)しないことのほうがバグの原因になる確率が高いと考えますた。

>>284
con=nullだったら最初のsetAutoCommitでNullPointerExceptionがでてfinallyに飛んでなにもせずメソッドを抜けるから、ここでは問題ないのでは?
finallyのcon!=nullはあったほうがいいと思うのだけど。
>>284
たとえば?
287247:02/11/05 11:04
それより、>>278に答え教えて欲しい。気になって寝れん。
>>287
気にするな
それと、tryの中で発生するExceptionは
SQLExceptionかNullPointerExceptionだろう
んで、特に注意しないといけないのはDBとのやり取り
例外で発生するSQLException
これが発生した場合のみrollbackをかけとけばいい
それ以外のExceptionはDBのデータを壊すようなものではない・・・

と俺は思ってたんだけどどうなの???
更新系でプーリングを使用してしまうと、
複数の(ユーザが)更新処理を行う場合、
トランザクション処理がごっちゃになり
そうな気がするのですが。

例えば、ロールバックを発行すると、
同じコネクションを使用するトランザクション
処理中の他の更新処理もロールバックさせて
しまうと思うのですが。

この辺りはアプリケーションサーバ
によって制御されているものなので
しょうか?

それとも、更新処理に関してはコネクション
プーリングを使用しない方がいいのでしょうか。

経験値の多い方、識者の方ご教授願います。
290247:02/11/05 11:28
こんな感じでいろんなことすると、確実にすべての例外をつかまえるのがめんどくさくなったり、途中で条件にあわないことがあったらreturnしたかったりとかするので。

//マスター追加
PreparedStatement s = con.prepareStatement("insert into t1(name) values(?)");
s.setString(request.getParameter("name"));
s.executeUpdate();
//コード取得
long oid=((org.postgresql.Statement)s).getLastOID();
s = con.prepareStatement("select * from t1 where oid=?");
s.setLong(oid);
ResultSet r = s.executeQuery();
if(!r.next()) return;
PrintWriter out = response.getWriter();
out.println(r.getInt("code") + "に追加");
//データ追加
s = con.prepareStatement("insert into t2(code,value) values(?,?)");
s.setInt(1,code);
s.setInt(2,Integer.parseInt(request.getParameter("value"));
s.executeUpdate();
291247:02/11/05 11:31
>>289
さすがに同じコネクションを別のリクエストに渡してしまうようなプーリングマネージャーは使わない方がいいと思う。
広く使われてるものは、そんなことしてないはず。
292デフォルトの名無しさん:02/11/05 11:50
SQLServer名がname\hogeというような\が途中に入っている場合、
JDBCのURLはどのように設定するのですか

jdbc:microsoft:sqlserver://name\(バックスラッシュ)hoge
name/hoge
name.hoge
は駄目でした
293247:02/11/05 11:56
\\にするとか、そういうことではなくて?
294292:02/11/05 12:38
>>293
ソースコードに埋め込んではいないので、それではないです
>>285
> かといってExceptionをcatchするのも。。。
Exceptionをcatchすればいいじゃん。
296デフォルトの名無しさん:02/11/05 14:13
>>163
結局つながらないっス。他のヒトは見れてマス?
fr、仏語よめないし。
>296
問題ないよ。
最近なんかした? MTU弄ったとか?
298292:02/11/05 15:01
かいけつしました
スーパーのレジのおばちゃんのネームプレートに特技パソコンって書いてあったんですけど、
なぜC#がJavaにそっくりなのかを質問してきてもいいですか?
おばちゃんをいじめるな。
301デフォルトの名無しさん:02/11/05 15:30
>>292
結局原因はなんだった?
302デフォルトの名無しさん:02/11/05 15:35
>>299
プログラムが特技なわけじゃないからなぁ。
845チップセットと830チップセットの違いくらいにしてあげたら?
303292:02/11/05 16:08
>>301
サーバー名(コンピュータ名?)\インスタンス名
だと思うんだけど、この場合各インスタンスごとにポートを設定してやって、
「サーバー名:ポート番号」とポート番号で識別して接続するみたい

要はポート番号が違ってました
>>302
自作が得意なわけでもなかろう。
305デフォルトの名無しさん:02/11/05 21:09
printStackTraceを文字列で取得する件で以前質問した者ですが、
>>33>>43で教えてもらったコードを流用して、JSPにこんな風に書いてみました。

<%
Exception err = ( Exception )request.getAttribute( "error" );
java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();
java.io.StringWriter sw = new java.io.StringWriter( baos );
err.printStackTrace( sw );
String trace = baos.toString();
%>

すると、「この型は constructor には不適合です。java.io.ByteArrayOutputStream から int には変換できません。」
「この型は method には不適合です。java.io.StringWriter から java.io.PrintWriter には変換できません。」という
エラーが出てしまいます。API調べてみたらそもそも2行目ってコンストラクタとして有り得ないんですよね…。
どなたかもう一度教えてくださいな。
>>304
何が得意なんでしょう?
もしや今時ブラインドタッチ?
<%
Exception err = (Exception)request.getAttribute("error");
StringWriter sw = new StringWriter();
err.printStackTrace(sw);
sw.flush();
String trace = sw.toString();
%>
↑間違えた

Exception ex = (Exception)request.getAttribute("error");
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
ex.printStackTrace(pw);
pw.flush();
String trace = sw.toString();
309305:02/11/05 21:21
どうもありがとうございます!
StringWriterはただ単にPrintWriterをコンストラクトするためだけに使っているという認識でいいんでしょうか?

310305:02/11/05 21:22
と思ったら、最後の行でしっかり使ってましたね。。。
これからAPIリファレンスで調べて勉強してみます。
311デフォルトの名無しさん:02/11/05 22:00
アプレットで、
void paint(Graphics g)というやつで線とか円とか描くのを
labelやpanel上でやらせたいんですが、どうすればいいですか?
本に描いてあるサンプルを全部見回したんですが、
みんなアプレットの一番下?のところに描いてるのしかなくて
困り果てました。
どうかおしえてくださいませ。
>>311
Canvas のサブクラスを作る。Canvas クラスを検索しる
SWTやJMFについて詳しく書いてある本、どこかに売ってないでしょうか?
今日新宿の紀伊国屋逝ってきましたが、ほとんどが

for文やif文などが大きくでている初心者用のjava本(70%)
EJB(3%)
JSP(10%)
単なるJavaの能書本(10%)
JNI(2%)
その他雑誌(5%)

くらいで正直参考になりそうな本がありません。
>>313
>JMFについて

サンプルプログラムとWeb上の「日本語の」サイトだけで十分事足りたが。
315311:02/11/05 22:30
Canvasを調べてみました。

class MyCanvas extends Canvas{
public void paint(Graphics g){
g.drawLine(0, -100, 0, 100);
}
}

こういう感じですか。
にゃるほど。でも・・使い方がよくわからないです・・・。

MyCanvas cv = new MyCanvas();
private JLabel jLabel1 = new JLabel();
こう宣言しといて
this.add(jLabel1, null);
ここからどうやってcvをいれればいいのでしょうか。

すいません。ものわかり悪くって・・・。
this.add(cv, null);
317311:02/11/05 22:57
>>316
んと、それでやるとjLabel1の横にできちゃいましたけど
こういうことはLabelでやるもんだと思ってて
Canvasでスコーンと出来てしまって驚きです。

ありがとうございました。Javaが面白くなってきました。
318デフォルトの名無しさん:02/11/05 23:18
javaってVCで作られているって本当でしょうか?
>>318
嘘です。JavaはJavaで作られているのが特徴の一つです。
320318:02/11/05 23:26
>>319
そうなんですかー。
最初のJAVAはどうやってつくったんですかー?
>>320
バイトコードで直打ちしたんですよ。
322318:02/11/05 23:38
>>321
すいません。初心者なのでよくわからないのですが、バイトコードで直打ちってどういうことですかー?
>>322
>初心者なのでよくわからないのですが

勉強してください。
324でふぉるとん:02/11/05 23:50
JavaVMはJavaでできてないね。
325318:02/11/05 23:58
>>324
そうなんですかー。じゃあ何でできているんですかー?
もしかしてVBですかー?
326デフォルトの名無しさん:02/11/05 23:58
ものすごく厨な質問なんですけど、
javac とか javaとかのコマンドがどこにあるファイルにでも使える
にはどうしたらいいのでしょうか?
~/j2sdk1.4.0_02/binの中にjavaファイルとかをいれとかないとコンパイル
できないのは不便なんです。
>>326
>~/j2sdk1.4.0_02/binの中にjavaファイルとかをいれとかないとコンパイルできない

んなアホな。
>>326
フルパスで逝け
>>326
PATHを通すとかaliasを使うとか。詳しい方法は自分で調べてください。
これを行うと、自分の好きなディレクトリでコンパイルが行えます。

でもね、フルパスでもコンパイルできるよ。
~/j2sdk1.4.0_02/bin/javac Foo.java ←やってみましょう。
330326:02/11/06 00:08
>>327,328,329
もう少し具体的にいってもらえないでしょうか?
>>314
JMFが詳しく載ってるURL紹介しる!
>>330
javac c:\aheahe\hogehoge\Hogeclass.java
java c:\aheahe\hogehoge\Hogeclass
333332:02/11/06 00:12
それか、あらかじめClasspathを設定しておく
>>330
CLASSPATHなどの環境変数の設定方法が知りたいときは、
OS、その他もろもろの環境を書いてください。
Linux系?

いままで、あんなところにソースいれてたのかーー!?
336326:02/11/06 00:19
ここは初心者歓迎とかいっているのに煽りばっかりだ・・・
337332:02/11/06 00:20
>>335
1999年11月発行/677ページ/B5変形/本体価格: 5,800円+税
【出版元】ピアソン・エデュケーション ISBNコード:4-89471-147-

販売価格: \5,800
発売日: 1999/11/01
出版社: 株式会社ピアソン・エデュケーション

在庫: 在庫あり
配達方法: 宅急便
ポイントバック: 5% (290ポイント)
販売状況: 発売中

説明よりもどっちかって言うと販売サイトばかりだな(w
>>336
初心者未満のバカが圧倒的多数を占めているのも事実。
>>336
ちゃんと皆答えてくれてるじゃないか。何が不満なんだっつーの。
340332:02/11/06 00:23
俺が書いたの見てわからないなんて・・・・・・・・・鬱
>>336

>>334が指摘しているように、質問する側も最低限の環境やエラー情報を
提示するのはどこの掲示板やMLでも共通のルールだよ。
それをしないと厨扱いされるので気をつけよう。
で、>>332は質問の答えになっていると思うけど。

342332:02/11/06 00:28
イタリア語講座見て寝る!
おやすみ!
あの… >>332は、なんとなくフルパスとか通ってないというか、
330にはあまりいい答えじゃないような…
>>343
>フルパスとか通ってない

>>343
なんとなくフルパスとか通ってないというか
↑意味不明
>>344
風呂入って早く寝ろってことだ!
347326:02/11/06 00:32
>>343
そうなんだよ。いいことゆーねー
ああ、いいのか。すまん。勘違い。
ネタがスルーされたから、ふて寝したのかと思っただけです。
349デフォルトの名無しさん:02/11/06 00:47
質問なのですが、
Javaの開発でIISって使えるのでしょうか?
それともアプリケーションサーバーはWASとかでないと
無理なのでしょうか?
>>349
IIS は Java の動くアプリケーションサーバではありません。
WAS 以外にも Tomcat, WebLogic, iPlanet, JRun などもありますので要件に
あったものをどうぞ。
351349:02/11/06 00:51
>>350
ありがとうございます。
つまりアプリケーションサーバごとに使える言語が決まっている
ということですか?
>>330
>>336
>>347

そろそろニセモノは失せろや。
>>351
まぁ大抵は決まってるな。CGI っぽくで動かすならどんな言語使ってもたいした
違いは無いが。
>>349
あ、そうそう、IIS を単なる HTTP サーバにして、後ろで Tomcat なり JRun なり
を動かすことも出来る。IIS 単体で Java は無理という意味。
355349:02/11/06 01:03
ありがとうございます!
最近Javaでの開発を始めたのですが、
もう少し教えていただいてよろしいでしょうか?

JavaのAPIが色々ありすぎてうまく使いこなせません。
よい参考書や勉強方法があったら教えてください。
それとも慣れなのでしょうか?
経験と少々のセンスがあれば慣れと API ドキュメントだけで十分。
初めてのプログラミングなら他の人にアドバイスもらってくれ。
>>356
そもそもアドバイス無いと勉強もできない奴にプログラミングは無理。
358デフォルトの名無しさん:02/11/06 03:26
static の働き、もしくは配列の仕組みについて、どうも誤解しているようなので、どなたかご教授くださいまし。

以下の例で、思いもかけない挙動を示しました。

/*半角スペースを全角に変換しています*/
public class StaticTest{
  public static final int[] N = {0,0}; // 定数の配列・・・の、つもり
  private int[] a;
  private int[] b;
  public StaticTest(){
    a = new int[2];
    b = new int[2];
    a[0] = N[0];
    a[1] = N[1];
    b = N;
    showData(1,"初期化");
    a[0]++;
    showData(2,"a[0]++");
    b[0]++;
    showData(3,"b[0]++");
    N[0]++;
    showData(4,"N[0]++");
  }
  /* 続きます・・・ */
359デフォルトの名無しさん:02/11/06 03:27
  public void showData(int i,String comment){
    System.out.println("("+i+") "+comment);
    System.out.println("N[0] = "+N[0]);
    System.out.println("a[0] = "+a[0]);
    System.out.println("b[0] = "+b[0]+'\n');
  }
  public static void main(String[] args){
    new StaticTest();
  }
}

実行結果は、

(1) 初期化
N[0] = 0
a[0] = 0
b[0] = 0

(2) a[0]++
N[0] = 0
a[0] = 1
b[0] = 0

/* 続きます */
360デフォルトの名無しさん:02/11/06 03:27

(3) b[0]++
N[0] = 1
a[0] = 1
b[0] = 1

(4) N[0]++
N[0] = 2
a[0] = 1
b[0] = 2

でした。

何が意外だったかというと、

1.)
 (3)で、N[0]の値が変化したこと。
2.)
 (4)で、a[0]の値が変化したこと。(それ以前に、コンパイルできたことが以外でした)

N に付けている static を外すと、思ったような挙動になります。(もちろんコンパイルできませんが)
今まで、定数を扱う場合は static final を付けていましたが、配列でこれを用いることは良くないのでしょうか?

よろしくお願いします。
361349:02/11/06 03:31
>>357
なんですか、偉そうに。
アドバイスぐらいしてくれたっていいじゃないですか。
プログラムぐらいで調子にのらないでください。
362デフォルトの名無しさん:02/11/06 03:50
>>360
(4)はa[0]変化してないと思うが。
N=bとかはできないはずだから、ちゃんとfinalになってると思うが。
static final JTextField tf = new TextField();
としても
tf.setText("aaa");
とできるのと同じ。
>>359
static final int[] N = {0,1};
では、『「Nという変数が指し示すint配列オブジェクト」がfinal(書き換えられない)』なだけで、
「その配列が保持する値が書き換わらない」わけではない。

配列の要素を書き換えられないようにする方法は現時点では、無い。

immutableなリストが使いたければ、

public static List N = getStaticList();
private static List getStaticList(){
 ArrayList list = new ArrayList();
 list.add(new Integer(0));
 list.add(new Integer(1));
return Collections.unmodifiableList(list);
}
とすることで、static finalで要素を書き換えられないListを作ることができる。
ただ、要素をintとして取り出すときは、
int a = ((Intger)N.get(0)).intValue();
となり、少し面倒。普通はアクセスメソッドを用意するといい。
public static int getNElement(int index){ return ((Intger)N.get(index)).intValue();}
とかね。

1.5になって、Genericsとautoboxing primitive typesが導入されれば、
ここらへんもう少し簡単になると思われる。


或いは、Nが本当に配列で無ければいけないのか良く考える。
public final int ZERO = 0;
public final int ONE = 1;
の方が適切でないか、ということね。もちろん場合による。
364デフォルトの名無しさん:02/11/06 04:59
>>362
>(4)はa[0]変化してないと思うが。
すいません、 b[0] の間違いでした。

>static final JTextField tf = new TextField();
>としても
>tf.setText("aaa");
>とできるのと同じ。

そうだったんですね。
というか、そういう場面での使い方は未だ良く理解してないのです。
今度勉強します。ありがとうございました。
365デフォルトの名無しさん:02/11/06 05:01

>>363
>配列の要素を書き換えられないようにする方法は現時点では、無い。

あぁ、そうなのですか。だとすると、static を付けなかったら変更できない
という考え方も間違いなのでしょうか。

それに、わざわざ詳しい例まで解説していただけてありがとうございました。

"Genericsとautoboxing primitive types"というのは、恥ずかしながら全く初耳です。
今度調べておきます。

>或いは、Nが本当に配列で無ければいけないのか良く考える。
友達に、プログラムが少し組めるようになったなんて言ってしまったために、
「パチスロ(パチンコ屋にあるスロットマシーン)のシミュレータを作れ」と言われてしまいました。
雑誌のコピーを見ながら作り始めたのですが、
やたら定数が多く、配列にしないことには扱いきれないのでこのようにしました。
ただ、別に、 static にしなくても一応動いてるので、とりあえずは
public final int[] HOGE = {...};
などとしておこうと思います。

どうもありがとうございました。
366362:02/11/06 06:21
b=Nとしてるから、N[0]を変更したらb[0]も変更されるんだよ。
367デフォルトの名無しさん:02/11/06 07:16
>>366
どうしてそういうこと言うんですか?
368362:02/11/06 08:54
>>367
ん?へんなこと言った?
>>353-354
Apacheでも単体では(CGIとして)Javaは動かないのでは?
IIS単体ってIISはWebサーバの機能だけじゃないの?
ちょっと勘違いされるかもしれないから補足。
Webサーバというのは、CGI(やモジュール系アプリ、PHP等)
使用時、APサーバとして働く。
煽りが増えたな・・・・・

>>290
もう、解決したんかもしれんが、DBから値をとってくる処理と、
その他の処理をいっしょのメソッド内に記述するから
いろいろとめんどくさくなる。
DBから値をとってくる処理は独立させるべきだよ
372デフォルトの名無しさん:02/11/06 15:18
Windowが不可視から可視になった状態を拾えるListenerは何Listenerですか?
>>372
ComponentListener じゃなかったっけ?
374お願い:02/11/06 16:25
JAVAj2sdk1.4.1 インストールしたんですけどもjava コマンドは使えるん
ですけど、、JAVACは使えないんです。 W2Kです。パックは入れてないです。
あとインストール時このバージョンは(1.4.1)今のWINDOWSをサーぽと
しないので、サービスパックをいれてくださいってメッセがでました。
やっぱパック入れないと無理でしょうか?
375デフォルトの名無しさん:02/11/06 16:26
無理です
>>374
日本語が読めるならそんな疑問は浮かばないと思われ。
377お願い:02/11/06 16:29
ありがとうございます。 今JAVA勉強し始めたんです。
今日はどうもです。(僕は留学生です) 
>>377
国に帰れ。go back to home
379お願い:02/11/06 16:31
ちょっとひどいですね。 言い方が!!  
380デフォルトの名無しさん:02/11/06 16:33
留学生だからといって、すでにFAQになっている問題に
優しく答えてもらえると思ってはいけない。

しかも、ここは2chだ。屑どもの巣窟なのだ。
屑:foolish
巣窟:colony
382デフォルトの名無しさん:02/11/06 16:36
javacが使えない。→PATHを通せ。やりかたはhttp://www.google.co.jp
サービスパックを入れてください。というメッセージ。→入れろ。
383お願い:02/11/06 16:36
380さんへ  わかりました。ありがとうございました。
へー、巣窟ってコロニーっちうんだ
勉強になるなぁ
385372:02/11/06 16:45
>>373
うなく行かないなあって思ってたら、
addComponentListenerで追加するの忘れてただけでしたf^^
ありがとうございました。
留學生니라고 하고, 이미 FAQ이 되고 있는 문제에
다정하게 답해 준다고 생각해서는 안 된다.

그런데도, 여기는 2ch이다. 쓰레기 길을 더듬는 것 소굴인 것이다.

>>386
俺たちの知らない言語でものすごい罵倒が書かれているんだろう。
388デフォルトの名無しさん:02/11/06 16:46
Go back to your star...
389お願い:02/11/06 16:47
>>386
일회 죽어
390デフォルトの名無しさん:02/11/06 16:48
>>>386
>일회 죽어

>>389
do you like white box ? >>389
391お願い:02/11/06 16:50
>>390
아는가 하등 민족의 和 원숭이
392お願い:02/11/06 16:50
386は 380さんの翻訳しただけでした。 意味(韓国語)わかるので、、
わざわざ翻訳しなくでもいいのでは、、
393デフォルトの名無しさん:02/11/06 16:52
>>391
Your text cannot read in my personal computer.
Please write in in English or Japanese.
>>392
HA HA HA. Was I deceived successfully?

Noooooooooooooooooooooooooooooooooooo!
>>394
I allow you to die.
396お願い:02/11/06 17:01
>>1-395
앞들 전원 죽을 수 있음 죽을 수 있음 죽을 수 있음 죽을 수 있음 죽을
수 있음 죽을 수 있음 죽을 수 있음 죽을 수 있음 죽을 수 있음 죽을
수 있음 죽을 수 있음 죽어 !!!!
何が起きているのだ…
398394:02/11/06 17:04
I become blue. I die.
これだからちょ(略)っかいなんだ。
2ch is a lot of message boards for foolish people.
Please don't ask neither for truth nor kindness there.

Understanding?
And so, Go back to the home.

さて、ふつうの質問スレに戻ろう。
SwingとかでListnerなんかをくっつけるときに、
外部クラス・内部クラス・匿名内部クラスとかいろいろ出来るけど、
それぞれどんな利点があって、どんな欠点があるかとか教えてください。
原理主義的なことで結構です。
>>401
利点も無ければ欠点もない
>>401
>原理主義的なことで結構です。

Java原理主義って、WriteOnce,RunAnywhereですか。
>>401
現状で利点欠点がわかるものだけ使っていればよろしい。
405372(新たな疑問):02/11/06 18:00
C++は可能だったと記憶していますが、

クラスを継承したとき、
継承したメソッドのアクセスレベルを下げることは不可能なんでしょうか?

class MyWindow extends Frame{
private void setVisibility(boolean b){ // ■エラー
}
}
406デフォルトの名無しさん:02/11/06 18:02
>>401
匿名内部クラス(無名インナークラス)は、名前を付けなくてもいいのが利点です。
あと、その場で定義できる手軽さと。
インナークラスは、クラスの有効範囲を限定できて名前がつけれるのが利点です。
外部クラスはいろんなとこから使えるのがレ点です。
>>405
Javaの仕様では不可能です。だって、仮にそう書けたとしても、
Frame xFrame = new MyWindow();
xFrame.setVisibility(true);
のようなコードで呼べてしまうじゃないですか。
そう書くこと自体が無意味です。
>>405
不可能。
409405:02/11/06 18:20
>>407-408
レスありがとうございます。
不可能なことは分かりました。

やりたかったことは
GUIを通してでしか閉じれないウィンドウの作成なのですが、
継承する方法では無理そうですね。
他の方法で頑張ってみます。
410デフォルトの名無しさん:02/11/06 18:27
左のフレームのappletでshowDocumentメソッドを使って
右フレームの表示しているページを変えるアプレットを
作りました
1回目はうまくいくのですが
2回目からは新しくウインドウが作られて
そこに表示されてしまいます

何が原因なのでしょうか?
ブラウザはnetscapeとmozillaです

よろしくおねがいます
すいません、質問です。

同じviewを同じ検索条件で検索しているのにもかかわらず、
sc.getRequestDispatcher("/jsp/hogehoge/hoge.jsp").forward(req, res);
の実行が、短時間で終了する場合と、長時間かかる場合があります。

何が原因なのでしょうか?
おわかりになるかた、よろしくお願いします。

Tomcat3.2.4 + Apache
jdk1.3.0


413410:02/11/06 19:36
>>410
です
追加です
yahoo(jp)を表示した場合ダメで
googleはOKでした

yahooに原因があったようです
原因究明中です
414デフォルトの名無しさん:02/11/06 21:08
質問です。以下のソースをコンパイルするとコンパイルエラーが出ます。
私はこのコードはコンパイルが可能で標準出力に「false」
と出力されることを予想していたんですが、なぜコンパイルエラーになるんでしょうか?

$cat aaa.java

class aaa {
  public static void main(String[] args) {
    Double d = new Double(3.14);
    System.out.println(d instanceof String);
    System.out.println(d);
  }
}
$javac aaa.java
aaa.java:5: 変換できない型
出現: java.lang.Double
要求: java.lang.String
        System.out.println(d instanceof String);
エラー 1 個

ちなみにjavaのバージョンは
$java -version
java version "1.4.0_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_02-b02)
Java HotSpot(TM) Client VM (build 1.4.0_02-b02, mixed mode)
です。よろしくお願いします。
>>414
d (Double 型) が String のサブクラスではないことがコンパイル時に解決できてるから。
やるなら:

 Object d = new Double(3.14);
416414:02/11/06 21:19
>>415
> d (Double 型) が String のサブクラスではないことがコンパイル時に解決できてるから。
ありがとうございます。instanceofの意味が良くわかってませんでした。
もっと勉強します。
417デフォルトの名無しさん:02/11/06 21:52
多分無理だとは思いますが、アプリケーションでウィンドウ(アプリ自体)を
最前面に出すってメソッド(方法)はないですよねぇ?
あったような気がする。
>>417
GUIツールキットに依存するんでないの。AWT?
420デフォルトの名無しさん:02/11/06 22:43
>>419
できればAWTがいいんですけど
Swingでもできればいいです。
421デフォルトの名無しさん:02/11/06 22:56
Javaで作ったクラスファイルをclassesにおいて
アドレスにhttp://localhost:8080/servlet/〜を入力したのですが、

Error: 500
場所: /servlet/AccessCounter
内部のサーブレットのエラー:

が出てきて画面が表示されません
教えてください
尚、Tomcatに初めからあるサンプルのクラスファイルは画面が表示されます

ちなみに
Window2000
jdk1.3.1
jakarta-tomcat-3.3.1
です
>>421
%TOMCAT_HOME%\logs\tomcat.stderr.txt を見れ。
423デフォルトの名無しさん:02/11/06 23:16
HttpServletを継承してないに1票
デプロイ記述してないに一票
425デフォルトの名無しさん:02/11/06 23:27
>>417
自己レスですけど、FrameクラスのsetState()で
最小化状態から元に戻すことは出来ますね。
でも他のウィンドウに隠れてる場合は意味ない・・・
助けてー!
Frame#toFront() って JVM 上の他のウィンドウより前に出すだけだっけか?
Frame に focus をあてる方向ではどうか
#がわかりません
Windows でやってもタスクバー上のアイコンが点滅するだけかも。
430425:02/11/06 23:53
>>426
Frame#toFront() って JVM 上の他のウィンドウより前に出すだけみたいです。
実は今、チャットを作ってまして、返事が来たよってのがわかればいいので
動作は >>429の言うとおりですけど全然OKです。
しばらくこれで行ってみます。

>>427
意味なしでした…れくえrequestFocus()ですよね?
431425:02/11/06 23:58
御礼忘れてました。
皆さんありがとう!

class AAA{
private int a;
private int b;
public int getpoint(String pointname){
if(true == pointname.equals("a")){
return this.a;
}else if(true == pointname.equals("b")){
return this.b;
}
}
メンバの値はコンストラクタで初期設定し、引数にも条件に合う文字(この場合"a"か"b")を与えて実行してるのですが
”メソッドが値を返しません”というエラーがでます。
どこがおかしいのかお解りになる方おられますでしょうか?
ご教授ください。
>>432
pointname が "a" でも "b" でもない値だった場合、どうする気だ?
434432:02/11/07 00:48
>>433
ありがとうございました。
確かにその通りでございます。
Java以前の問題でした・・・
435デフォルトの名無しさん:02/11/07 00:57
シスプリが始まったage
>>432
つまらんことだが true == pointname.equals("a") のように true
と比較するのは意味がないのでやめよう。
pointname.equals("a") 自体が boolean を返すんだから。
if(pointname.equals("b"))
俺もこれで言いと思ふ
privateがダメ
>>436
pointname.equals("a") でなく true == pointname.equals("a") とするなら、
なぜ true == (true == pointname.equals("a")) でないのか。
って奴だね。
つーかMapで充分な気がしね?
441デフォルトの名無しさん:02/11/07 01:46
素人は車輪の再開発をしたがる罠。
if 文 2 つで済むものもわざわざ Map 使ってるんでつか?
>>442
>>432が何をしたいかにもよるが、リファクタリングを考えればMapじゃねーの?
そもそもequals("a") ってのが感覚的に受け付けない。
> リファクタリングを考えればMapじゃねーの?

Map 使うことがリファクタリングを考慮しているとでも? ぜんぜん関係
ねーじゃん。おまえリファクタリングって言いたいだけと (略

少なくとも上記みたいに 2 ステートで済むようなものでいきなり Map とか
思いつく奴は豚肉刻むのにチェーンソー持ち出すのと似てる。
>444
ちげーよ。逝ってる意味わかってねーな。
俺が言いたいのは432がやりたいことの本質はMapじゃねーの?って言いたいだけ。

だいたい"a"とか"b"とかベタ書きするようなコードをそのまま使えとおっしゃるか?
"c"を追加したくなるかもしれないし、"aa"に変更したくなるかもしれない。
あるいはString以外のキーを使いたくなるかもしれない。
そういう変化をある程度予測して実装するのは基本だろ。

Mapをチェンソーに例える時点でお里が知れる。
そんなごたいそうなもんじゃねーよ(w
>>445
ひss
447デフォルトの名無しさん:02/11/07 02:51
>>443
"a".equals(pointname)というはなしじゃねえのですか?
>>455
そういう状況になってやるのがリファクタリングだろ。将来の拡張を考慮して
設計するのはリファクタリングとは呼ばない。それに Map を使ったところで
"c" という新しい状態が出来たなら、どうせ内部コードを書き換えなければ
いけないだろう。それって if 文一個追加するのと何か変わるか? 状態が 10
に増えて Map 使って可視性上がるように修正するのと何か変わるか? 目的と
手段のトレードオフくらい考えれるようになってくれ。
geta, getb を作って使う。
いっそのこと reflection で…
ところで、a,b が不変だったら Map でも良いと思うけど、
可変だと、Map使う方が面倒くさくないか?
条件 2 つでもステートテーブル定義するのが OO の最先端らしいです。
453デフォルトの名無しさん:02/11/07 03:03
boolではいかんのか。
>>452
つまり OO は似非ステートマッスィーンにたどり着いたと!?
Field#setAccessible(true) 使って private フィールド参照すんのが最凶。
Mapを使うと拡張性が上がると主張されているのはこのスレですか?
上がるのはインターフェースの曖昧性だけです。

拡張性≠曖昧性
多態性≠曖昧性
457デフォルトの名無しさん:02/11/07 03:57
LookAndFeelを今やっています。

Bと言うJPanelを継承したクラスにLookAndFeelを作りました。
(一度JFrameにしてみて単体でWindows、CDF/Motif、Metal全部ラジオボタンを押して出るように確認取れています)
そのJPanelをAと言うJFrameを継承したクラスに貼りました。

そこでわからないところなのですが、
SwingUtilities.updateComponent(this); //LookAndFeelを変える
とするとそのとおり、JPanelを継承したBの部分しか変化しません。
でも私はBが貼ってあるAを変化させたいと考えてます。
SwingUtilities.updateComponent(this);のthisに何をいれればいいのでしょうか?
458457:02/11/07 04:24
やっぱこの時間体には誰もいないや・・・・・・・・・・・・・・
どのスレの浮き沈みしてない。
つーことで寝まふ。
おやすみなさい。
>>458
AでSwingUtilities.updateComponent(this);
ってすればいいんじゃないの?
>>457
this.getParent()で良いとは思うけど、親クラスが子クラスのLAF変えるならともかくそれって良いのか?
461デフォルトの名無しさん:02/11/07 12:44
えーと、クラス1で定義した変数xを
別クラスで利用するためには
クラス1のインスタンスをクラス2で生成して
クラス1のオブジェクト名.xでできますよね?
その、クラス1のオブジェクト名.xをクラス3で用いたい時、
クラス2のオブジェクト名.クラス1のオブジェクト名.xになるんですか?
初心者な質問ですみませんがよろしくお願いします。
全てpublicに宣言されている場合は、そうなるよ。
463デフォルトの名無しさん:02/11/07 13:02
>>462
返答、ありがとうございます。
そこで、クラス1で定義した変数xを
クラス2で計算して、クラス3でその結果を表示し、
クラス4でまた計算し直すといったプログラムを組む時、
xの変数名が相当長くなりそうなのですが、
他にいい方法はありますでしょうか?
1.設計を変更する(推奨
2.がんばって書く
3.クラスが参照渡しされることを利用してみたりする
Class1 aClass1 = Class3.Class2.Class1;
System.out.println(aClass1.x);
aClass1 = null;
465デフォルトの名無しさん:02/11/07 13:23
またまた、ありがとうございます。
とりあえずは1でやって見ようと思います。
最悪
Class1 aclass1=new Class1();
int newX;
aclass1.x=newX;
といった感じで置き換えていけば何とかなりますよね?
頑張って見ます。ありがとうございました
466デフォルトの名無しさん:02/11/07 15:11
JavaAppletの質問です。
ブラウザによって動作できるバージョンが違うとおもうのですが、
その比較表みたいなものはないのでしょうか?
WindowsのInternet Explorer4以降が1.1相当というのはわかったのですが、
Netscape、Opera、Mac、Linux等がどのようになっているのかがわかりません。
わかる方よろしくお願いします。
>>461-465
ねた?激しくネタのにほいが・・・・・
468デフォルトの名無しさん:02/11/07 16:48
Antがうまく動きません。

OS:Windows2000pro
Java2SDK:1.4.1_01
Jakarta-Ant1.5.1

1.Java2SDKをインストール
 j2sdk-1_4_1_01-windows-i586.exe をダブルクリックしてすべて「次へ」と「OK」で
 インストール。インストールディレクトリは「C:\j2sdk1.4.1_01」。
2.Antをインストール
 jakarta-ant-1.5.1-bin.zip をDドライブのルートに解凍。
 解凍後、Dのルートに「D:\jakarta-ant-1.5.1」が作成された。
3.環境変数の設定
 システム環境変数に「JAVA_HOME」「C:\j2sdk1.4.1_01」を追加。
 「Path」の先頭に「D:\jakarta-ant-1.5.1\bin;%JAVA_HOME%\bin;」を追加。
469デフォルトの名無しさん:02/11/07 16:49
続き。

コマンドプロンプトを起動して、「java -version」と入力すると
java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01)
Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)
と表示されるのでJAVA_HOME、Path環境変数は正しく設定されているものと思われます。
しかし、コマンドプロンプトを起動して「ant」と入力すると
Buildfile: build.xml does not exist!
Build failed
というエラーが表示されるはずなのですが、
470デフォルトの名無しさん:02/11/07 16:49
Usage: java [-options] class [args...]
(to execute a class)
or java -jar [-options] jarfile [args...]
(to execute a jar file)

where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.

-cp -classpath <directories and zip/jar files separated by ;>
set search path for application classes and resources
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-showversion print product version and continue
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
471デフォルトの名無しさん:02/11/07 16:49
と、javaコマンドを引数なしで叩いた時のようなメッセージが表示されます。
「ant -version」でも
Apache Ant version 1.5.1 compiled on October 2 2002
と表示されるはずが上記と同じ結果になります。
どこか足りない設定があるのでしょうか?
472デフォルトの名無しさん:02/11/07 17:06
build.xml does not exist!
build.xml を探せ!
473468-471:02/11/07 17:22
>>472
わかっています。build.xmlが無い場所で引数なしで「ant」とやると
そのようなエラーになるはずなのですが、そうならずに
javaコマンドを引数なしで叩いた時のようなメッセージが出るので
困っているのです。

むしろ、
build.xml does not exist!
と出てくれれば嬉しいのですが・・・・
ant はどうなってるの?
バッチファイル?
475デフォルトの名無しさん:02/11/07 17:35
ANT_HOME
476デフォルトの名無しさん:02/11/07 17:40
>>475
ありがとうございます。でもだめでした。
全く同じ結果となります。

手元にあるほぼ同一環境のマシンでは動作するのですが・・・・
何がいったい違うのか・・・・・
477デフォルトの名無しさん:02/11/07 17:44
>>474
jakarta-ant-1.5.1-bin.zip を解凍してできた
D:\jakarta-ant-1.5.1\bin にある ant.bat を叩いているだけです。
自作のバッチファイル等は使っていません。
478デフォルトの名無しさん:02/11/07 17:46
Windows2000sp2でApache1.3.27、Tomcat4.1を連携させようとしたんですが
どうしてもうまくいきません。
localhost/info/で見た感じではうまくいってるみたいなですが。。
画像が出ない、jsp、サーブレットが実行されない、何回かリロードすると実行する
極端に重い、などの症状が。。
そういう問題も出るという話は見つけたんですが、回避方法がわかりません。
どななかごぞんじないですか?
479デフォルトの名無しさん:02/11/07 18:41
JTAについて質問なのですが、
ejbContextがEJBContextのインスタンスとします。
UserTransaction ut;
try{
ut = ejbContext.getUserTransaction();
ut.begin();
method1(); // updateを実行
method2(); // updateを実行
ut.commit();
}catch(...){
ut.rollback();
}

もしもmethod2でエラーが発生して、ロールバックが実行される時に
なぜmethod1で行われたupdateもロールバックすることができるのでしょうか?
UserTransactionにはmethod1の情報など何も与えていないのに・・・。
UserTransactionの裏ではどういうふうに処理がされているのでしょうか?

そんな事知らなくても、そういう物であると思って使用していいのでしょうか?

480デフォルトの名無しさん:02/11/07 19:09
age
からage
482デフォルトの名無しさん:02/11/07 22:30
>>479
そうです。

おそらく内部的にThreadLocalのようなものを活用して、
その部分を隠蔽しているものと思われ。(コード読めば
一発なんだが、どこにあるのか知らんので)
賢いミドルってのは、ありがたいっすね。
483デフォルトの名無しさん:02/11/07 22:42
javaのObject型ってVBのVariant型と考えてももいいのでしょうか?
違います。
VBのObject型だと考えてください。
VBのVariantはプリミティブな型(IntegerとかString(正体はBSTRだけど))でもオブジェクト参照でも何でも入れられる。その正体はCでいうところの共用体です。(VCやると分かる)
Javaのjava.lang.ObjectはあくまでもObject型そのものか、Objectから派生したクラスしか入れられない。試しにintを代入してみるといいよ。

486デフォルトの名無しさん:02/11/07 22:49
>>484
今一Object型というのが理解できません。
思わず鼻血がマジで出てきてしまいました。
よろしければObject型をもう少し細かくお教え願えませんでしょうか?
487デフォルトの名無しさん:02/11/07 22:50
>>485
JavaもJDK1.5以降でBoxing、Unboxingに対応するかもしれないらしい・・・
>>485
なるほどありがとうございます。
でも鼻血がまじで止まりません
要は、Object型はクラスなら何でもかんでもいれられるVariant型のこと。
でもクラスじゃないものは入れられない。

>>487
マジで?C#意識したのかな?

490デフォルトの名無しさん:02/11/07 22:58
>>489
Generics導入の一環として、必要な機能らしい・・・
491デフォルトの名無しさん:02/11/07 23:17
http://java.sun.com/j2se/1.4.1/ja/index.html
で日本語版へのリンクがあるんですが、
英語版以外にあるのは日本語版だけなんですか?
いままで、アクセスしてきた地域によって○○語版へのリンクを表示させているんだと思ってたんですが…
日本語は特別なんですかね?
それとも、英語もできね〜バカって思われてるんでしょうか…?
>>477
antで困っていた方へ。
せっかくなので、私もダウンロードしてみました。jakarta-ant-1.5.1-bin.zip

…解凍できねぇ。ファイルが壊れてる。 これから、もう一回試してみます。
493492:02/11/07 23:25
もう一度試してみたけど、ダメダタヨ。
>>491
たいしたものは作らないくせに金だけは動いているので
重要なマーケットとして認識されています。
495意味不明ですみません:02/11/08 00:39
すみません、先ほど質問してやってみたのですが
さっぱりなのでもう一度質問させていただきます
クラス2でTextAreaを作っといて
クラス1でクラス2のオブジェクトを作り表示させました。
そこで得たTextAreaの値を
クラス3で用いたい時はどうしたらいいのでしょうか?
496デフォルトの名無しさん:02/11/08 00:40
クラス3に渡す。
クラス3のメソッドが取りに行く。
497意味不明ですみません:02/11/08 00:47
本当に申し訳ないです。。
クラスからクラスへの変数の
引渡しってどうするんでしょうか?
498デフォルトの名無しさん:02/11/08 00:51
putHoge(Hoge hoge){
foo = hoge;
}
////
Hoge() {
foo = hoge.getHoge();
}
499デフォルトの名無しさん:02/11/08 00:59
アプリケーションについての質問です。
jarファイルをJDK1.2のjavawに関連付けて起動すると
動くのですが、Jbuilderのjavawに関連付けると
"main"class no〜だったか「メインメソッドがない」みたいな
エラーが出て起動できません。

考えられる原因は何でしょうか?
ちなみにJbuilderのJDKのバージョンはわかりません。
サーブレットなどでデータベースの Connection Pooling を使用したい場合、
みなさんどうしているんですか?
自前開発か既存のものを利用しているのか、どうなんでしょ?
501デフォルトの名無しさん:02/11/08 01:38
初歩的な質問ですが、FAQでは見つからなかったので質問させてください。

j2sdk-1_4_1_01-windows-i586.exeというものをDLしてインストールし、
パスも通してDOSプロンプト上で「java -version」と打つと
キチンと1.4.1_01だと表示されます。

test.javaというアプレットをコンパイルしてブラウザで表示した後、
test.javaの内容を変更しても実行時に変更が反映されません。
正確にはg.drawString("練習です",20,20)の文字列の部分を変更しても
実行時に反映されません。
しかしながら、ファイル名、クラス名を変更して呼びなおすと
変更が反映されます。

この場合、ファイル名とクラス名とhtml側のアプレットのcode属性を
コンパイルしなおすたびに書き換えなくてはならなくて不便です。
これはバグでしょうか?どなたか良い方法があったら
教えてください。(長文すみません)
>>501
ブラウザのキャッシュの問題だと思われ。
アプレットビューアで見たら?
>>502 同感。
ブラウザをいったん終わらせてから再度また起動しても
いいけど、アプレットビューワで見る方が楽ね。
504501:02/11/08 02:14
ブラウザを終了しても同じです(涙

アプレットビューワは今からググったりして探してみます。
ありがとうございます
505501:02/11/08 02:19
実行できました。くだらない質問ですみませんでした。

迷惑ついでにもう一つ、swingというものはjdkの1.2以降は
使えるものなんでしょうか?
>>505
Swingを用いずにいままでGUI周りの作業をされてたのですか?
awtからSwingへ移行した場合のよく言われるメリットは
・OSに強く依存していない
・早くなる
・軽くなる
・きれいになる
・結構互換性がある
・機能が豊富
ただ、過大であると思われても仕方ないだけの機能を盛り込んでいると思う人もいてAWTからの移行を嫌がるユーザがいることは確からしい。
>>501
IE なら CTRL キー押しながら更新ボタンをクリックしてみれ。
508未熟者です:02/11/08 02:50
javaでWebサーバーを作成しているのですが、
POSTメソッドをうけたときのcontent部の処理に困っています。
BufferedReader br = new Buffer.・・・・・・・・
String line;
while((line = br.readLine()) != null)
String line = br.readLine();
System.out.printlh(line);
てな感じにしてるんですが、ヘッダー部は表示されるんですがコンテンツ部が表示されません
どうすればよいでしょうか?
509501:02/11/08 02:55
>>506
いままでGUIを使ったことありません。
これから課題(自由課題)に向けて勉強します。
貴重な情報ありがとうございます。

>>507
たしかに更新されました。ありがとうございます。
しかしながら、アプレットビューワで表示されている
JLabelとJTextFieldとJButtonが表示されません(涙

また困ったらここに来ます
>>508
readLine() が null を返すのはストリームの終端を検知したときだろ。
この場合それは TCP/IP 接続が切れたという意味だから、繋がりっぱなしなら
永遠に null は返らないで I/O ブロックしたままになる。

HTTP サーバ側で POST のコンテンツを取得するにはクライアント側から
送られてくる Content-Length ヘッダ値を見てそのバイト数分だけストリーム
から取り出せ。

ちなみに POST で送られてくるデータは URL エンコーディングされて
いるので行単位で取り出すことなんてそもそも出来ない。
>>509
オイオイ、IE や Netscape 4 のデフォルト JVM は JDK 1.1.x 相当だから
アプレットで Swing は使えないぞ。<OBJECT> タグ使ったり JDK 1.4 入れたり
すれば別だが…
512未熟者です:02/11/08 03:04
>>510
わかりました
ありがとうございます
513デフォルトの名無しさん:02/11/08 06:22
長レスすみません。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class Test extends JDialog{
JButton cancelB;
Test(Frame f){
super(f,"test",true);
Container cont=this.getContentPane();
cont.setLayout(new GridLayout(2,2));
JPanel P1=new JPanel(new GridLayout(2,1));
JPanel P2=new JPanel();
JLabel nameLabel=new JLabel(" サインイン名:");
JLabel pLabel=new JLabel(" パスワード:");
JTextField nameText=new JTextField(15);
JTextField pText=new JTextField(15);
JButton okB=new JButton("O.K");
cancelB=new JButton("キャンセル");
P1.add(nameLabel);
P1.add(nameText);
P1.add(pLabel);
P1.add(pText);
P2.add(okB);
P2.add(cancelB);
cont.add(P1);
cont.add(P2);
setVisible(true);
pack();
514デフォルトの名無しさん:02/11/08 06:23
続き
//閉じるボタンを押した時の処理
this.addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}} );
//キャンセルボタンを押した時の処理
cancelB.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
}});
}}
これをTest test=new Test(jframe);
で呼び出してるのですが、思ったように動作しません。
1、cancelBを押しても窓が消えない。
2、このダイアログを呼び出すと、pack()を使ってるのに、
  タイトルバーのみのダイアログがでてきて、ドラッグして画面を大きくしてやらないと、
  他のボタン等が見えない。
説明下手で申し訳ございませんがどなたかご教授ください!お願いします。
515antで悩んでた者:02/11/08 08:00
解決しました。
どういう仕組みかはまだわかっていませんが、システム環境変数の「classpath」に
カレントディレクトリを含むようにしていると(つまり、「.\」を含める)antが正常に動作
しないようです。
コマンドプロンプトでどこにいても今いる場所がclasspathに含められるので
「便利だなぁ」と思ってそんな設定をしていたのですが、ant使うんだったら
いらないと言えばいらないことですよね・・・・
>カレントディレクトリを含むようにしていると(つまり、「.\」を含める)

「.\」?普通は「.」じゃないか?
517デフォルトの名無しさん:02/11/08 09:49
スレッドを使ってDateのオブジェクトで時計を作りました。
でも疑問があります。

なぜかAWT上での表示だとうまく動くのですが、swing上だと前のタイムが重なってしまいます。
例えばswingでは8分8秒が表示されてもそれが消えずに、次の8分9秒が上書きされる形になってしまうのです。
AWTでは全くそのようなことはおきませんでした?
これは何故なんでしょうか?Containerに一度乗せてるから?
とりあえずわかる人教えてください。
こんなくだらないことでつい徹夜になっちゃいました。
3時ころ見に来ます。
518517:02/11/08 09:54
http://www.wakhok.ac.jp/~tatsuo/kougi96/13shuu/source.html
ちなみにこれと同じようなことをアプリケーションでやっただけですので。
一応参考になるかなぁと思いまして。
519bloom:02/11/08 09:55
521デフォルトの名無しさん:02/11/08 10:44
例えば54600.0*0.57を計算すると、31121.9999999という結果になってしまうんだけど、
31122といった正しい結果を返すようにできます?
自分で四捨五入するしかないのかな

strictfp宣言してみたけど変わらなかった
522デフォルトの名無しさん:02/11/08 10:53
>>521
確かmathクラスに四捨五入するメソッドがありましたよ。
探してごらん。
523デフォルトの名無しさん:02/11/08 11:00
>>522
roundですね
使ってみます
>>517
AWT の update(Graphics) メソッドは
デフォルトで全体を一度クリアして書き込むのに対し
Swing の update(Graphics) メソッドは
デフォルトではクリアせずに上書きした気がする
525デフォルトの名無しさん:02/11/08 17:42
DB接続して、selectやinsert文は発行できるのですが、
descやcreate文などがわかりません。
誰か教えてください
>>521
四捨五入で解決する問題じゃないのだが。
527525:02/11/08 18:58
言葉足らずになってますが、これっSQLの質問じゃないですよ(汗
私から見てもこの質問ってSQLの質問のように見えるw
Javaでですのでよろしくおながいします。
>>527
selectやinsert文はどうやって発行していてdescやcreateはどうして出来ないのか書いてね。
SELECT や iNSERT と同じ
530521:02/11/08 22:54
>>526
整数にして計算後、元の桁数に戻しました
(54600*57)/100
こうするしかないですよね
531デフォルトの名無しさん:02/11/08 23:03
>>521
BigDecimal使いなさい。
整数を扱いたいならdoubleやfloatなんかつかっちゃダメ。
Java以前に、プログラミングの常識。
532デフォルトの名無しさん:02/11/08 23:05
JDBCでOracleネイティブな「descコマンド」をSQLとして
発行できるわけないじょ。

ふつうはResultSetMetaData当たりを引っ張り出すんじゃないのか?
Oracle純正JDBCドライバならおそらくサポートしてるでそ。
public class cards {

public cards(){
}
public static void main(String args[]){
int cards1 = (int)(Math.random() * 13 + 1);
int cards2 = (int)(Math.random() * 4 + 1);

if(1 == cards1)System.out.println("A");
if(11 == cards1)System.out.println("J");
if(12 == cards1)System.out.println("Q");
if(13 == cards1)System.out.println("K");
if(1 == cards2)System.out.println("S");
if(2 == cards2)System.out.println("H");
if(3 == cards2)System.out.println("D");
if(4 == cards2)System.out.println("C");

System.out.println("["+ cards1 + "]["+ cards2 +"]");
}
}

大変恥ずかしい質問なのですが、うまく行きません(w
この9〜16行目にあるSystem.out.printlnの代わりに何を使えば
「2S」や「AC」のようにちゃんと表示されるのでしょうか
ぶっちゃけ、これは何をしたいプログラムですか?

私が手元で実行してみた結果
H
[2][2]
535 :02/11/08 23:36
まあそうなるわな。
ランダムでトランプ1枚を選出したいのだと思われ。と、まじれす。
536デフォルトの名無しさん:02/11/08 23:47
Windows Me のMS-DOSプロンプトで
Javaのコンパイルエラーがログ流れて見えません。
ログを途中で止めるか上のエラーを見るにはどうしたらいいのでしょうか?
537デフォルトの名無しさん:02/11/08 23:48
コマンドラインに
java sample | more
とか
java sample >> a.txt
とかは?
>>536-537
98系はそれ無理かも。
私はwindows版のbash入れてる。FAQにその関連話題あり。
539デフォルトの名無しさん:02/11/08 23:58
/*
>>533
これでどう?
ちなみにコンパイルしてないからw
*/

public class cards {

public static void main(String args[]){
int cards1 = (int)(Math.random() * 13 + 1);
int cards2 = (int)(Math.random() * 4 + 1);
String card1S,card2S

if(1 == cards1)card1S = "A";
else if(11 == cards1)card1S = "J";
else if(12 == cards1)card1S = "Q";
else if(13 == cards1)card1S = "K";
else card1S = ""+cards1;
if(1 == cards2)card2S ="S";
else if(2 == cards2)card2S="H";
else if(3 == cards2)card2S="D";
else if(4 == cards2)card2S="C";
else card2S = ""+cards2;
System.out.println("["+ card1S + "]["+ card2S +"]");
}
}
540デフォルトの名無しさん:02/11/09 00:01
>>533
//正解例
//import java.lang.Math;
public class Card{
public static void main(String args[]){
int result1=(int)(Math.random()*13+1);
int result2=(int)(Math.random()*4+1);
char card1='\0',card2='\0';
switch(result1){
case 1:
card1='A';break;
case 11:
card1='J';break;
case 12:
card1='Q';break;
case 13:
card1='K';break;
}
switch(result2){
case 1:
card2='S';break;
case 2:
card2='H';break;
case 3:
card2='D';break;
case 4:
card2='C';break;
}
System.out.println("["+card1+"]["+card2+"]");
}
}
541536:02/11/09 00:05
>>537 538
ありがとうございました。
>>537のコマンド行ってみましたがうまく行きませんでした。;;
>>538のようにFAQ調べてみます。
542 :02/11/09 00:09
>>533
おれは一週間前に始めたぞー。ガンガレ
(このスレは勉強になりまする)
543デフォルトの名無しさん:02/11/09 00:10
>>541
エラーが出力されている途中でCtr+Cで強制終了させるのはいかがでしょうか?

ただし、かなりの熟練度が必要になりますがw
544デフォルトの名無しさん:02/11/09 00:25
MEってパイプ操作とかリダイレクト操作もできないわけ?

ちなみにプログラム上で標準出力とかエラー出力の場所をファイルに変えられるけど
素人にはお勧めしないから方法はとりあえず書かないでおく。
>>541
お手軽コース: CPad
本格的コース: Cygwin
痴呆コース: -Xstdout
546デフォルトの名無しさん:02/11/09 00:58
javaのクラスライブラリ(?)を動的にjavaのプログラム内で取得する方法ってありますか?
Virtualマシンの使用できるパッケージ情報とかをプログラムの中で処理したいんだけど
誰か分かりますか?
>>539>>540
ひでーソースだな、おい。
swicth文よりテーブル使ってくれよ。
>>546
リフレクションのことか?ぐぐってみれ。
549名無しさん@Emacs:02/11/09 01:04
>>546
クラスライブラリを取得って、まさか全部はないよね?
「取得」の意味するところがよく分からんのだが、System.getProperties
か、java.lang.reflectのどっちがが、君のやりたいことになると思う
リフレクションAPIで使うファイル名をユーザソースで取得したいから
TREE構造のルートとかを取得したいんでふ
551デフォルトの名無しさん:02/11/09 01:09
public class test extend JFrame implements ActionListener{}

これをコンパイルすると
「testはabstractとして宣言する必要があります」
ってエラーが出ます。
これはなんですか?どうすればActionListenerを付けれるんでしょう?
System.getProperty("classpath") だとクラスパスしか分からなくて
そっからデコードするのはさすがに・・・

JBuilderとかでやってるtreeを作りたいんだが・・・
553551:02/11/09 01:13
解決しました(涙
>>540
result1 が 2〜10 のときはどうしますか

>>533,539,540
if ... else if ... がたくさんつながったり
switch がやたらでかくなるのは見苦しいとは思いませんか

String[] card1 = {"A", "2", (中略), "10", "J", "Q", "K"};
String[] card2 = {"S", "H", "D", "C"};
とかやって表を引くようにしましょう
>>554
一昨日はじめたばかりの人に配列とか新しい要素をなるべく取り入れずに
知ってる知識内で解決策を見出した方が良いと思われ
>>552
http://jode.sourceforge.net
に、jodeって言う割と有名なJavaのOpenSourceのdecompilerがある。
これが、左ペインにクラスのツリーを出してるから参考にすれ。
557551:02/11/09 01:39
javaのswingを使ってウィンドウを立ち上げてそこに
JTextField,JButton等を配置しましたが、
Graphicsの描写はどうすればいいか教えてください
>>556
ありがとう・・
だが難しいよぉ・・・しかも英語(苦手です
ゆっくり読んでくよ・・
>>557
GUI苦手だけど確かpaintメソッドをオーバーロードすればよかった気が
swingの場合は、推奨はpaintComponentだったかのう
>>536
とってもFAQですね。
javac -J-Djavac.pipe.output=true sample.java > error.log
でリダイレクトされます。バッチファイル作っておくと便利ね。
562551:02/11/09 01:58
>>559-560
ありがとうございます。早速調べてみます
563551:02/11/09 02:12
public class myCanvas extends JComponent {
myCanvas(){
setPreferredSize(new Dimension(400,300));
}
public void paintComponent(Graphics g) {
g.fillRect(0,0,400,300);
}
}

jFrame側
myCanvas mc=new myCanvas();
getContentPane().add(mc, BorderLayout.CENTER);

こうすると意味不明なエラーが出ます。
間違いを教えてください
>555
とか書かれてしまったが、自分ならどうするか考えてみた。533を置いていってしまって悪いが、
JOKERのうまい扱い方はないのだろーか(中途半端)?だれか教えて。

public class Suits {
public static final Suits SPADE = new Suits("S");
public static final Suits HEART = new Suits("H");
public static final Suits DIAMOND = new Suits("D");
public static final Suits CLOVER = new Suits("C");
private String name = null;
private Suits(String name) {
this.name = name;
}
public String toString() {
return (this.name);
}

}
public class Card {

private Suits suits = null;
private int number = -1;

private static String[] mark
= {"JOKER", "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};

public Card(Suits suits, int number) {
if ((number > mark.length) || (number < 1)) {
throw new IllegalArgumentException("illegal card number.");
}
this.number = number;
this.suits = suits;
}

public int getNumber() {
return (this.number);
}

public Suits getSuits() {
return (this.suits);
}

public String toString() {
return ("[" + suits.toString() + ":" + mark[number] + "]");
}

}
>>563
どんなエラーが出たか教えてくれ。
567551:02/11/09 02:28
>>556
申し訳ありません。色々いじってたらなおりました。
public class myCanvas extends JComponent implements MouseListener
↑このような記述をすると、
「myCanvasはabstractとして宣言する必要があります」って出ます。
どうしたらいいでしょう?
569おしえて:02/11/09 02:50
Javaって使いこなせると、どんなソフト作れるの?
現在Javaでよくつくられてるソフトってなに?
Web系じゃないJavaで知ってる人いますか?
570デフォルトの名無しさん:02/11/09 02:51
【速報】PATHの設定もコンパイルもロクにできず
前スレの後半をむちゃくちゃにしたアイツが
ようやく作業を終えたらしく各板ででかい顔してます。

SYOUGEKI! ログ売られてるぞ、2ちゃん。★
http://tv3.2ch.net/test/read.cgi/musicnews/1036222324/l50
【お前等!】 超 ヤバい アプしたからみれ。
http://gamble.2ch.net/test/read.cgi/keiba/1036153806/l50

さすがにこの板にはこれないみたい(w
571デフォルトの名無しさん:02/11/09 02:57
>>568
MouseListenerのメソッドを全て実装していないからだと思われ。
全て実装する、もしくはMouseAdapterを使って無名インナークラスを
作るなどしましょう。
コンパイルが通り実行テストをしてたんですが、
プログラムを開始すると毎秒何行かわからないペースで
常に何かがdosプロンプトに出てくる(涙
>>571
ありがとうございます。すべて実装したら直りました。
574デフォルトの名無しさん:02/11/09 03:02
>>572
何かとはなんぞや?
スレッドは使ってる?
>>570
web製作版の方でも彼をみかけたよ。

>>572
GUIなんかつかってますか?
板だってば
>>574-575
GUIプログラミングで、JComponentを継承したクラスのオブジェクトを
JFrameを継承したクラスのウィンドウの中に置き、JConmonentの方に
MouseListenerを付けてクリックされるとe.getX()で座標を取って
そこに死角形を描画するプログラムで、スレッドは使用してません。

色々いじった結果、現在はクリックするたびにに
「NullPointerExなんとか」ってのを筆頭に
30行ぐらいのメッセージがdosプロンプト上に
流れます。何度クリックしても同じメッセージです。
578名無しさん@Emacs:02/11/09 03:13
>>570
結局「生IPを抜くツール」を設置するの諦めたみたいだな。
せっかくcronのjobで毎日240通の愛のメールを送ろうと思ってたのに(藁
579デフォルトの名無しさん:02/11/09 03:16
public class A extends Applet {
public A() {
new B();
}
}

public class B {
private Vector v;
public B() {
v = new Vector();
v.add("a");
}
}

IEで見るとA can't be instantiated ってエラーでるんですけど、
Vectorの代わりにHashtableを使うとエラーでません。
でもIE以外ならVectorのままでもエラーでません。
いったいどういうことなんですかね?
580デフォルトの名無しさん:02/11/09 03:16
>>577
NullPointerExceptionですか。
スタックトレースが出力されてると思いますが、
その際例外が発生している行番号が表示されているはずです、恐らく。
その一番上の行番号にある行での使用しているオブジェクトの処理を確かめてください。
恐らくNullのままでインスタンスが生成されていないのだと思われます。
GUIアプリでイベントを発生させたときに、イベントのスレッドが
引き起こす現象。解決策は>>579が答えてくれる予定だ。

激しく場違いな気がするのですが
Javaで組まれたプログラムとか、置いてあるサイトとかありますよね
それが動かないというか読み込みされないというか

利用できないのですがどうしたらいいんでしょう?(涙
583デフォルトの名無しさん:02/11/09 03:25
>>579
恐らくJVMのバージョンが問題なような。
あとIEのバージョンは何ですか?
584579:02/11/09 03:33
IE6.0です。
585583:02/11/09 03:50
>>584
ウチもIE6.0ですが問題なく動作しましたよ。
Java Plug-inを使用するようにしてみれば?
寝る前に質問。

swingを用いたプログラムで、appletからjframeを継承したウィンドウを
立ち上げてチャットを行うものを作っている途中ですが、
ブラウザがjdk1.1とかでswingに対応して無い場合は
objectタグとかでムリヤリ持って来るという方法があると
どこかで漏れ聞いたのですが、参考にするスレ、板、もしくは
ググるためのキーワードを教えていただけますか?
探しても無いもので・・・
587デフォルトの名無しさん:02/11/09 05:01
俺も寝る前に質問
TextFieldに値が入れてあって誰かがその値を変更させたら
変更された値に+100するっていう問題なんですけど
自分で考えてやったら一度いじくって自分でやって見たら
どうもうまく行きませんなんかいい方法ありますか?
>>587
日本語が良くわからん。
こういう人を相手にすると、だいたいろくなことに
ならないんだよな…

これ以上聞くのが怖いから放置。
590デフォルトの名無しさん:02/11/09 06:44
>>589
すみません
書いた自身の俺が読んでもわかんねーすw
やりたいことの流れは
TextFieldに1000と書いてある

手書きでで1200に変更する

TextFieldが変更されたら+100をして1300に自動で変更

また変更されたらその値に+100をする
これを繰り返すってことです。解りにくいっすね、
変更前の値と変更後の値をどう置いたらいいかわかんなかったのです。
わからない人は放置でかまわないです。すみませんでした。
サーバサイドで MVC で作るとき、URL 直入力だと View の JSP にアクセスできちゃうよね。
いつも疑問なんだがうまい隠し方はないだろうか。
>>591
WEB-INFにJSPを入れる。
以上。
>>590
変更前の値: てきとーに変数にでも入れておけ
変更後の値: TextFieldから読み出せ
変更タイミングの知り方: リスナ使え
http://member.nifty.ne.jp/masarl/article/junit/programming-style-guide.html

このページに「実装コードにはコメントを書くべきではない」とありますが本当ですか?
JComponentを継承したクラスで、paint(Graphics g)を使用せず
自分で作ったメソッドを呼び分けることによってグラフィックを
描写したいのですが、

Graphics gs;
コンストラクタでgs=getGraphics();
として、メソッドで
gs.draw任意
としたらNullPointerExceptionを筆頭に
30行ぐらいエラーが出ます。

何か良い手段はありませんか?
>>595
getGraphics()は呼び出せる場所が決まっていたような気がする。
paint系methodのみだったか。

こうやって、Graphicsオブジェクトを渡してあげるのはどうだろう。
paintComponent(Graphics g){
 super.paintComponent(g);
 subPaint(g);// 自分で作ったメソッドにGraphicsオブジェクトを渡す。
}
597デフォルトの名無しさん:02/11/09 13:29
MulticastSocket#getInterface() とそのスーパークラスの DatagramSocket#getLocalAddress()
の違いが分かりません。DatagramSocket の方は TCP の場合と同じように NIC とそれに割り当てら
れた IP が複数ある場合にどちらとバインドするかだと思うのですが、じゃあ MulticastSocket の
getInterface() っていったい何なんでしょうか?
>>594
本当もなにも・・・
そのページに書いた場合のデメリットや、なぜそうした方が良いかが
丁寧に書かれてるだろ?
それ読んで自分で判断しる。
書いた方がいい場合も、書く必要がある場合もある。
最終的に判断が付かなかったら好みで選べ。
>>596
ありがとうございます。エラーは出なくなりました。
しかしメソッド自体が実行されません(涙
600ふぉるてん:02/11/09 13:54
Forte for Java 4で、間違えてコンポーネントパレットのコンポーネントを削除してしまいました。
どうしたら帰ってきますか?
消しちゃったのはJTextFieldです。困ります。
601デフォルトの名無しさん:02/11/09 13:59
サーブレットでArrayListを使っているのですが同期を取らなければいけないと
いうことですが、取る範囲について迷っています。
ArrayList内にシーケンス番号とデータを入れたクラスをいくつも格納してあるの
ですが、このデータを書き換える場合、for文でArrayListを回してシーケンス番号
が一致したものを取り出し、データを書き換えて、さっきまでArrayに入っていた
古いクラスは消して新しいデータをAddするという感じになるのですが、この
一連の動作全てに排他処理を掛けています。これだとすごい遅くなるような気が
するのですが他にいい方法ってないものなのでしょうか?
602ふぉるてん:02/11/09 14:03
>>600
sampledirがあるディレクトリの、system/palette/Swing/なんとかかんとか_hiddenを消したら出てきました。
603デフォルトの名無しさん:02/11/09 14:07
>>590
i = Integer.parseInt(TextField.getText()) + 100;
じゃ駄目なの?
前の値覚える必要あるの?
>>599
which?
・メソッドを通らない。
・描画が反映されない。
>>602
それわかってんなら、自分で直しやがれw
>>604
描画が反映されません。
実行開始時も実行中もdosプロンプト上にも何もエラーは
表示されることはなく、ただただ描画が反映されてないだけです。

これからまた色々と素人なりに原因を調べますが、
親切な>>604様、お暇があれば原因究明のために
何をすればいいか指示をください。
repaint()
608606:02/11/09 14:36
メソッドがうまくいきました!
g.drawRect(px,py,50,-10);
↑この最後の負の値が原因だったみたいです
ご迷惑をおかけしました
609デフォルトの名無しさん:02/11/09 14:44
>>593>>603
レスどうもです。
前の値を覚えておく必要はないんですけど、
変更されたタイミングを知るためには
前の変数xとすると
!(x==Integer.parseInt(TextField.getText()))
でその後現在のTextFieldの値をxに更新
見たいな感じになるのかと…
ボタンかなにかにActionListenerをのっけて押した時
テキストフィールドの値が変ってたら・・というのだったらできそうなのですが
値が変ったら自動的に変更というのがいまいちわからないんです。
どんな風にリスナを使えばばいいのでしょうか?
長文すみません
610ふぉるてん:02/11/09 14:56
>>605
ありがちけど、カキコんだあとで、英語サイトをgoogleでみつけた。
>>601
同期が必要なところだけで同期を取る。
612デフォルトの名無しさん:02/11/09 15:21
>591
サーブレットからRequest経由でダミーの値渡して、その値がこなかったら
エラーページに飛ぶチェックをすれば?
613デフォルトの名無しさん:02/11/09 15:24
xid = (b[0] << 24) + (b[1] << 16) + (b[2] << 8) + b[3];

xidはint、bはbyte[]

として作ったxidを復元したいのですが、

dat[0] = (byte)((xid & 0xFF000000) >> 24);
dat[1] = (byte)((xid & 0x00FF0000) >> 16);
dat[2] = (byte)((xid & 0x0000FF00) >> 8);
dat[3] = (byte)(xid & 0x000000FF);


では値が変わってしまいます。
変なところがあれば指摘して頂きたいのですが。
JAppletを用いたアプレットからswingのJFrameを使った
アプリケーションを起動したいのですが、アプレットビューワなら
見れるのにブラウザでは見れません。
ブラウザからツール→インターネットオプション→詳細設定
と見ても、java 2 v1.4.1を使うと書いてあります。

ネットに上げてブラウザから見る場合においても、
objectタグなんかを使えば見れるらしいですが、
どうすればいいかわかりません。
ググっても何がなんやら・・・

IEの5.5以上とnetscape6以上からアプレットを見れる
ようにするにはどうしたらいいでしょう?
>>614
JDK1.4使ってる時点で見ようと考えるコンシューマはいないと思われ。と。
616デフォルトの名無しさん:02/11/09 15:31
>>613
バイトは8ビットの変数です。
つまり、それ以上シフトさせてしまうと、あとには0しか残りません。
いくら逆にシフトしても0のはず。
617デフォルトの名無しさん:02/11/09 15:33
>>616
と思ったら全然主旨の違う質問でしたね。
脊髄反射して申し訳無い。
>>616
上の行が正常に動作するのはInteger.toBinaryStringの結果から確認しています。
問題は下の方ですね。
>>615
ああん・・・そんなこと言わんといて…
620616:02/11/09 15:47
少し原因がわかってきました。

xidがマイナスの場合前から2バイト目の数字が1小さくなるようです。
xidがプラスの場合は正常です。
intはsignedなのが何か悪影響を及ぼしていそうです。
>>620
>(byte)((xid & 0xFF000000) >> 24);
(byte)(xid >>> 24);
で良いのでは?
>>613
>xid = (b[0] << 24) + (b[1] << 16) + (b[2] << 8) + b[3];

xid = ((b[0]&0xFF) << 24) + ((b[1]&0xFF) << 16) + ((b[2]&0xFF) << 8) + (b[3]&0xFF);
最上位バイトはマスクする必要ないか。
xid = (b[0] << 24) + ((b[1]&0xFF) << 16) + ((b[2]&0xFF) << 8) + (b[3]&0xFF);
>>623
byte型でもマスクする必要があるの? byte & 0xFF
>>623
化けなくなりました。でも、原因がいまいちわからないです。
byte->intの時に・・・
あ、符号が評価されてしまうんですか。

1001 -> 11111001
>>624
javaのbyteはsigned
627デフォルトの名無しさん:02/11/09 17:09
>>626
そうじゃないでそ。
byteからintに成り上がる操作をする瞬間に、上位3バイト
に埋まっているのが全部0ではないからでそ。
b[0]<<24って0にならんのか...
>>628
シフト演算でintに成り上がるので、4バイト=32ビットあるよ。
10101010→10101010 0000000 0000000 00000000
>>609
if ( x == Integer.parseInt(TextField.getText()) ) {
x = Integer.parseInt(TextField.getText()) + 100;
}

こういう事じゃないの?
最近はじめたのですが、j2sdk1.4.1って推奨されないんですか?

swing系などの追加された機能さえ使わなければOK?
それとも他に何らかの段階で問題があるとか・・・
>>631
別に?
>>630
アホですかあんたは。
>>609
「何かが書き込まれたイベント」リスナーがあるからそれ使え。
CaretListenerとか。
int num = 08;

07までは普通に数値として処理されるのに、08になった途端
「整数 08 が大き過ぎます。」とエラーが出るのはなぜでしょう?

しかもint num = 05 と入れてからnumを表示させても
5としか出てこないから数値はちゃんと入ってるようだし
最初の数値の0を取ったらいいんだろうけど
ちょっと疑問に思いまして・・・
>>634
0*はコンパイラが8進数として認識します。
public class apptest extends JApplet implements ActionListener{
JButton button;
JTextField text;
public void init(){
button=new JButton("入室");
text=new JTextField(10);
JLabel label=new JLabel("名前を入力してください");
JPanel panel=new JPanel();

button.addActionListener(this);
text.addActionListener(this);
getContentPane().add(label, BorderLayout.CENTER);
panel.add(text);
panel.add(button);
getContentPane().add(panel, BorderLayout.SOUTH);

}
public void actionPerformed(ActionEvent event){
if(event.getSource()==button || event.getSource()==text){
chatFrame f=new chatFrame("Welcome G chat");
f.setSize(600,400);
f.setName(text.getText());
f.setVisible(true);
}
}
}
以上のappletが動作しません
アプレットビューワならキチンと動くのですが、
ブラウザ(java 2 v1.4.1対応)で見れません。
正確には、タグで指定したサイズの灰色の
四角が表示されるだけです。
どうしたら見れるようになるでしょう?
>>637
非推奨のメソッドとか使ってない?
>>637
独自のクラスがあるようですが、
どのようにjarファイルを配置していますか?
非推奨・・・swingとかいう比較的新しいのを使ったつもりです。
jar・・・すんません、これもよくわかりません。
chatFrameはJFrameを継承したクラスで、
他のクラスも同一フォルダに置くだけの素人プログラマーです。

しかし、init内部でのボタンやテキストフィールド配置すら
まったく反応しないのがおかしいと思って。

やっぱPC古いからでしょうか
IE6とjava 2 v1.4.1が動いてるんですが。
>>640
例外とかは?
例外って、try{}catch{}のアレですか?
アプレットビューワで見る限りでは
例外やNullPointerException等の
エラーメッセージはdos窓には
出てきません。

もうだめぽ(涙
643デフォルトの名無しさん:02/11/09 22:24
>>630
アホでした…ボタンとかは無いわけね。

>>609
だとすると、元の数字が1000だとして、
新たな数字「2000」を打ち込みたいとする。
そのときTextFieldに「2」って打ち込んだ瞬間に
変更ってみなすの?それとも桁数限定?
入力する桁数がわからなきゃかなり面倒くさいね。
どっちにしろ、KeyAdapter使えば出来ますよ。
>>636
なるほどそうだったのか。ありがとうございます。
ねてました。
>>633氏、643氏
ありがとうございます。
CaretListenerにKeyAdapterですか。
やる気でてきました。助かりました。
全く関係ないんですが初心者javaのスレが二つ立ってるのは何故なんですか?
なにいってんの
>>646
目の錯覚です。角度とか。
>>648
>角度とか。

これに負けた。ワラタよ。
この自演、前も見た
>>642
ちがう。JavaConsoleという、IEそのたのブラウザがJVM起動したあとの
標準出力、標準エラー出力を表示する機能があるから、それ見ろ。
スタート→設定に表示設定できるアイコンあるから。
653デフォルトの名無しさん:02/11/10 06:20
>>513です。
JDialogで非モーダルにしたら
pack()が適用されたんだけど、
モーダルでは適用されないの?
654デフォルトの名無しさん:02/11/10 11:17
アンド演算をしたいんですが
if(time <= 6)&&(time >= 9)
{
xxxxx;
}
then
{
yyyyy;
}
ってやってみたんですが、コンパイルの時にエラーが出てきましたTT
間違っているんでしょうか?
655デフォルトの名無しさん:02/11/10 11:29
Error出たっていってどんなerrorかかかないやつは,自分の頭の中でもすべてのerrorが縮たいしてんのかな.

if (condition)
{
...
}
"("と")"がぬけてる.
656デフォルトの名無しさん:02/11/10 11:30
thenも変だね.つうか,むちゃくちゃだ.Javaのcodeみたことあるの?
つーか、6以上で尚且つ9以下って存在するのか?
ネタ決定
逆だ、6以下で9以上。
if( ( day <= 6 ) && ( time >= 9 ) )
{
  xxxxx;
}
else
{
  yyyyy;
}

こんなところか。
660デフォルトの名無しさん:02/11/10 11:45
すみません、説明足りずでした
java:24: ';' がありません。
if(time <= 6)&&(time >= 9)
          ^
っていうエラーが出ます
あと<=6 と >=9じゃなくて >=6 と <=9 でした・・
しかもthenじゃなくて、elseですTT
661デフォルトの名無しさん:02/11/10 11:46
>>655
>>659
ありがとうございます〜
662デフォルトの名無しさん:02/11/10 13:02
別に困っているわけじゃないのですがふとしたド素人の疑問です。
Cだとargv[0]で実行プログラム名が返ってくるじゃないですか。
javaのargs[0]は引数の一つ目が返ってくると、じゃあ、javaの
mainメソッドがあるクラス名ってどうやって取るのですか?
>>662
>mainメソッドがあるクラス名

は自明のような気がした。
664662:02/11/10 13:11
>>663
すいません、自明とは?
>>664
調べるまでもなくそのファイルに書いてある。思いっきり。
名前が変わることもない。
666662:02/11/10 13:17
え、つまり例えば引数が間違ってたときのUsageを出力したい場合って、
"argv[0] 引数1 ..."って動的に書けずに、
"java クラス名 引数1 ..."
ってべたに書かないといけないんですか?
C:\Program Files\My Company\My Application>usageapp
Usage: C:\Program Files\My Company\My Application\usageapp.exe --help
>>667
それ、javaじゃないだろう。
>>667 はBCC5.5
↓VC7
C:\>"C:\Program Files\My Company\My Application\usageapp.exe"
Usage: C:\Program Files\My Company\My Application\usageapp.exe --help

Usage: argv[0] の愚かさを思い知ってください。
670662:02/11/10 14:44
"java Usage args[0] argv"とかで検索してサンプルをいろいろ探しましたが、
どうやらみんなべたに書いてるみたいですね。
あきらめろということですか?
Unkodaisuki!
>>670
あきらめてね。
必要な気もそんなにしない。そのファイルはパッケージなり、コメントなり、
毎回違うものを書いているわけで。コピペで使いまわすことも余り無い。

どうしても直書きしたくなければ、プロパティファイルか、
プリファレンスか、ソースコード生成プログラムを使う。

私はプログラムによるソースコードの生成が好み。
673デフォルトの名無しさん:02/11/10 15:43
static宣言についての質問です。
static宣言したものはコンパイル時に作成されるというふうに学んだのですが、
宣言する場合と宣言しない場合を具体的にはどのように使い分けたらよいのでしょうか?
よろしくお願いします。
>>670
バッチファイルで、そのメッセージを出力するようにするのはどうです?
>>673
必要無い時はstatic宣言しない。基本(?)はインスタンスメソッド。
staticにする代表的なものは、
定数、Singleton、ユーティリティメソッド、その他。

>static宣言したものはコンパイル時に作成される
static宣言したものはコンパイル時に決定される
676662:02/11/10 16:19
>>672さん
>>674さん
すみません、特に今困っているわけでないので。(汗
最初の発端はふとした疑問です。(javaのCとは違う点うんぬん)
とりあえず、いろいろとありがとうございました。
>>676
なぜargvの中にクラス名が渡されないかというと、(たぶん)
Cではプログラムを見ても実行ファイル名はわからないが、
Javaではプログラムを見ればクラス名が固定で書いてあるからだ。
少なくともmainのようなstaticメソッドの中では、クラス名を可変にする
意味がない。
>>677
と、言うか実行ファイルという概念があまり無いのではないのだろうか?
すべてのクラスは単一のクラスツリーに属するわけで。
679677:02/11/10 17:40
>>678
まあ、そういっても良いかもね。
mainのクラス以外に「プログラム名」に相当する名前空間はない。
んで、クラス名はそこに書いてある(実行時に変わる可能性はないし、
可変にしておく意味はない)。
Cの場合は「プログラム名」が普通はファイル名で、
プログラムテキストを見ても書いてない。実行時にしかわからない。
Javaマンセー
>>678
ちょっと間違いが入ってるな。Cの場合(というよりUnixと言うべきだが),
argv[0]は、ハードリンクによって異なる動作を行うプログラム用だろう。
/usr/bin/exとして起動された場合と、/usr/bin/viとして起動された場合と、
/usr/bin/edとして起動された(これは自信なし)で、動作が変わるでしょ?
つまり、立派に引数になってるのだ(どう呼び出されたか、という意味で)
>>681
シェルスクリプト では よく使われる技法だと思われ。
>>681
どこが間違いなのかわからん。
684デフォルトの名無しさん:02/11/11 14:31
JAVAでシューティングゲームを作った人はいますか?
もし、そういう人がいるのならどの本を呼んで勉強したのか教えてください。
685デフォルトの名無しさん:02/11/11 15:03
>>684
作ってますが本は呼んでいません。
>>684
遊びのレシピ。
C++&Delphi用だけどな。
>>684
遊びのレシピ。
C++&Delphi用だけどな。
今、俺のタスクマメージャにjava.exeが20個あるぞ(藁
688デフォルトの名無しさん:02/11/11 15:19
質問です。付箋ソフトの付箋のように、デスクトップに張り付けるウィン
ドウをswingで作りたいと思ってます。このためになにクラスが使えるでし
ょうか?
下のソフトで、実際に実装されていました。
http://www02.so-net.ne.jp/~yshibata/latest/MessagingToolJ.html
>>688
貼り付けるの意味がわかりかねます。
>>689
付箋ソフトがどういうものか調べてください。
>>688
動かしてみたが、デスクトップには張り付いてはいないようだが…。
単にタイトルバーや枠が無いウィンドウを表示しているだけでしょう。
一応(Visual Studio付属ツールの)Spy++でチェックしたけど、
親ウィンドウは「SunAwtWindow」という奴だった。
付箋紙ソフトなら、デスクトップウィンドウが親になっているはず。
>>688そのソフトを調べりゃいいと思うが。javax.swing.JWindow から派生したクラスを使って付箋を実装してたよ。背景やボーダーの描画を工夫してそれらしく見せている。
693デフォルトの名無しさん:02/11/11 19:50
JavaでPCのシステム日付を変更する方法ってないのでしょうか?
Dateクラスを変更しても、システム日付にはなんの影響もないし、Systemクラス
にはそれっぽいメソッドもないので、無理なんでしょうか?
>>693
Runtime.getRuntime().exec("date 2002/11/11");
Runtime.getRuntime().exec("time 20:10:00");

と思ったが date/time は内部コマンドか… バッチファイル被せて出来るか
知らんが。
695デフォルトの名無しさん:02/11/11 20:20
参考書通りにアプリケーション、アプレットをAWTとswingで作れるようになったものです。
ソケットプログラムもできましたし、SQLを噛ませることもできました。

それで次にサーブレットに移ったのですが少し疑問がわきます。これってほんとにjavaなんですか?
私には単なるHTMLにしか思えません。
そこで教えてもらいたいのですが、次にjavaを学ぶとしたらどの方面に進めばいいのでしょうか?
ちなみに今まで業務系だったので、今全く扱ったことのないキャラの動画JMFを使ったサウンド
の勉強しています。
これ以上学ぶところってあるのだろうか?・・・・・・・そろそろC#に逝った方がいいのでしょうか?
696でふぉるとん:02/11/11 21:47
>>694
内部コマンドならcmd.exeなりcommand.comなりで実行しる
Windowsの話だよね?
697でふぉるとん:02/11/11 21:51
>>695
勉強不足
698デフォルトの名無しさん:02/11/11 21:53
>>695
ソースコード2万行以上のものを一人で作ってようやく中級です。
>>698
メソッド一つで2万行以上のものを一人で作ってようやく上級です。



























701名無しさん@Emacs:02/11/11 22:23
>>699
64kの制限に引っかかるよ(w
>>701
64kの制限って何すか?
1メソッドって 64kまでだったのか。知らんかった。
>>695
いっている意味がわかりませんが。
・JSPは腐れることが宿命づけられていますので、それだけ見て
理解した気になるのはやめてください。
・J2EEのJMS、JTA、JNDIあたりを理解してください。はしょって
言えばCORBAサービスのJava版です。
・JAXP、JAXR、JAX-RPC、SOAP、JAXBあたりを理解してください。
データのフォーマットはXMLで、が旬です。
最近のCPUだとどっちかというと4GBの壁な気がした。
706デフォルトの名無しさん:02/11/11 22:48
>>695
あとはEJBの実装とかJ2EEパターンを使った設計とか最近のはやりならStrutsを使った設計とか。
>>703
JSPみたいに自動生成コードとかでない限り、64Kの制限に引っかかる
事はありえないけどね。
JSPだと、カスタムタグを70個ほど使うと、簡単にこの制限に引っかか
るらしい。
質問させてください

症状
●家のIEはjava 2 v1.4.1の環境で、自作のアプレットの動作を見ようとしても
灰色のアプレット領域が出るだけで何も表示されない
●学校のnetscapeでは「java -version」と打つと1.2.2だと返事が出るが
アプレットを見ようとしても上記と同様の症状。
●しかし、共にアプレットビューワならキチンと見れる。

しかしながら、学校のnetscapeで見ると
「java.lang.NoClassDefFoundError」と出る。

グーグルで探してもよくわかんなくて・・・
どうしたらいいか教えてください。
もしくは、参考になるスレ、サイト、または検索に使うべき言葉を教えてください
>>698
個人の趣味プログラムなんて、よほど多機能でないと2万行もいかんだろ。
それともスカスカでダラダラでスパゲティなプログラムでも書くのかな
>>706
Strutsって旬なの?どっちかっていうと寂れてる気がするが・・・
711デフォルトの名無しさん:02/11/12 09:03
thisの概念がいまいちよくわかりません。
どうか、やんわりと説明していただけませんか?
712デフォルトの名無しさん:02/11/12 09:05
ちょっとアンケート

あなたの1000行プログラムって何KB?
ソース容量[bytes]/ソース行数(=[Bytes/LINE]=[KBytes/1000LINE])
を計算して下さい

漏れは27.2[Bytes/LINE]
>>711
thisは自分のクラス。俺的には必要な時以外は別につけなくてもいいと思うね。
superが親クラス。superはオーバーロードしたときに使います。
>>713 自身はないが,その答えは間違ってると思うぞ.
715デフォルトの名無しさん:02/11/12 11:28
>>713
thisは自分のクラスじゃなくて自分自身のオブジェクトを指す。
同じクラスでも違うオブジェクトに対してはthisは使えないでしょ?
716デフォルトの名無しさん:02/11/12 11:28
>>713
なんで?
俺も別にいいと思うよ。
>>713
クラスとインスタンスとオブジェクトは
ちゃんと区別して使わないと混乱するような。

>俺的には必要な時以外は別につけなくてもいいと思うね。
俺は m_val みたいに書くぐらいだったら this.val ってやるほうが好き。
まぁ好き嫌いの問題だけど。
System.out.println(this == super);

superも自分自身のオブジェクトを指すようだが。
719デフォルトの名無しさん:02/11/12 11:57
>>718
それは、スーパークラスと自分自身のスーパークラスが適合して
trueが返ってきてるわけだから、違うと思うよ。
>>718はアホだがその結果は興味深い
>>719
>スーパークラスと自分自身のスーパークラスが適合してtrueが返ってきてる
なんだ、ネタか。
まぁオブジェクトとかインスタンスって言葉自体が曖昧だわな。
特にjavaの世界は。。
>まぁオブジェクトとかインスタンスって言葉自体が曖昧だわな。
>特にjavaの世界は。。
たんなる勉強不足だろ。
長いことC++とかやったあとにJavaに触ると
??てなるのは確か。
>>724
それは C++ の勉強もちゃんとやってなかっただけだろ。
正直cとjavaってどっちがとっつき易いのかな。
>>723

オブジェクト=クラスと言う型から作られた実体。

インスタンス=オブジェクト指向プログラミングなどで使用される用語である。オブジェクト指向では、
       オブジェクトの設計図となるクラスを作成し、そのクラスに基づき、情報の実体であるオブジェクトを生成する。
       このオブジェクトを、「クラスのインスタンス」と呼ぶ。

で一体何が違うのよ。この両者って?
>>727
一般に、狭い意味のオブジェクトはインスタンスと同じ意味だが、
広い意味のオブジェクトはクラスとインスタンスの両方を指す。
例えばオブジェクト指向、という場合は普通は広い意味で用いる。
>>728
やっぱり曖昧じゃん(藁
>>729
わざわざ「一般に」と書いたのだが。
C++ でも「オブジェクト」は、広い意味か狭い意味かを
文脈で判断しなければならないような曖昧な単語です。
Java言語仕様上は、
ttp://java.sun.com/docs/books/jls/second_edition/html/typesValues.doc.html#12028
>4.3.1 Objects
>An object is a class instance or an array.

一般的には、
インスタンス→クラスから作られた実体
オブジェクト→とにかく実体
喧嘩はやめて(●´ー`●)
なっち天使
>>731
×インスタンス→クラスから作られた実体
○クラスインスタンス→クラスから作られた実体
735デフォルトの名無しさん:02/11/12 14:19
Java で m_ などの接頭辞を付けないのはなぜですか?
ソース読んでても分かりにくいです。
タンス→小指をぶつけると痛い角
>>735 VCでもJavaでも、ベンダの作法に従う人が多いから。って感じかなあ。
>>736 すると、タンシエイト→小指をぶつけて痛いこと。ってことか?
アメリカ人ってタンスの角に小指をぶつけると痛いことを知らない人が多いのだろうか?
739デフォルトの名無しさん:02/11/12 15:41
>>735
Javaのメソッドや変数、クラス等の命名規則はJavaの本家Sunからも
出ていて、そのCordingStandardによればm_ナントカのような名前の付け方はない。
なので、>>737さんの言うとおり、Javaではそういう命名はしないんでしょうね。
アメリカにタンスはあるのか?
家内土足なアメリカ人の生足とタンスが接触する可能性は?
>>739
JDK 付属のソースとか見ると Sun のコーディング規約に
完全には従っていないコードも ちらほらとあったりするけどね。
742735:02/11/12 16:44
昔を思い出してネタ振ってみたんだが荒れないのは大人になったのか厨が増えたのか…
ところで、インスタンス と
>タンス→小指をぶつけると痛い角
って「タンス」が一致する以外になんか関係あるのか?
そういえば変数の命名規則なんて考えたことないな。
俺なんて自分だけが判ればいいやって感じで作ってる。

コーディングとはちょっとかけ離れるけど、これも勉強のひとつとして
知ってる人、この際命名規則をここで披露してください。
多分いろんなのがでてきそうだなぁ
>>744 漏れも命名規則にはこだわらないなあ。
GNUスタイルだろうがハンガリアンだろうが、読みにくいとは思わない。
とはいえ、Javaなら>>739の通りSunの出している命名規則に従うケースがほとんどでは?
746デフォルトの名無しさん:02/11/12 17:36
Java違いですいませんが、JavaScriptをデバッグ出来るソフトって、ありますか。
>>746
MSのVisual InterDev。
ってどんなものか良く知らないんだが、おかしなホムペ見ると立ち上がるので、
きっとデバッグツールに違いない。
>>735
なんで接頭辞いるの?
今どきエディターやIDEの使えば不要だと思うけど。
まさかプリントアウトして目視デバッグとかしてるのかな。
オイラ的には、メンバの頭に'_'がつくと読みやすかったりする。
setter、getterが嫌いなんで。
>>749
んー、get/setのタイミングで何かやりたくなったときに困んない?
メンバを使っている箇所を一通り直さなきゃならん。
C#とかはこの辺楽みたいね。
単なる構造的な使い方ならget/setは不要かもね。
それで十分、というかその方が楽という場合も結構あるし。
752デフォルトの名無しさん:02/11/12 22:36
クラスパスとかいうのをいじってたら変な風になりました。
Appletが見れません。

同一フォルダ内にhtmlとclassファイルを置いても、
IEで見ようとすると「class 〜 not faund」と出ます。

おかしいと思い、C:/jdk1.4.1_01/demo/applet/から
いくつか試しましたがどれも同じ症状です。

治し方教えてください
>>752
classpathは自分がコンパイルしたいファイルがあるところに通してください。
>>753
通してみましたがまったく同じです

自分の開発してるフォルダも、javaのインストール先も
やはり見れません(涙

とりあえずdos窓ではjavacが動くのでクラスパスの
設定のしかたは間違ってないみたいです。
>749
Beanとかはget/setで決まってないと困らんのけ?

ところで、コーディングルールなんてまぁコンセンサスを得られればなんでも良いと思ってたんだけど
JavaってSunの規約に従わなきゃならんの?
Beanとかでもそうだけど、長いものに巻かれといた方が楽なのは判ってるし、実際そうしてるんだけど
なんか規約に従え!とか言われるとムカつくな。実際はCheckStyleとかArtisticStyleとか使ってる
香具師多いんだろうけど。
756デフォルトの名無しさん:02/11/12 23:28
>>754
javacが動くのは、たんにJDKのBINにPATH(!=CLASSPATH)が
通ってるからでそ。まちがってるかどうかの確認になってません。
classpath の話題は java 云々以前の質問だからこれからは無視していいよ
環境変数についてのスレ立てるか・・・モウいい加減にしてほしい。
759デフォルトの名無しさん:02/11/12 23:34
>>755
ううん、従わなきゃならんことはないが、独自のルールを定めているところでも
Sunの規約に準じているところは多いわな。
Beanのアクセッサはルールじゃなくて、JavaBeansの仕様。
メソッドの命名は規則に沿ったモノじゃないとuseBeanアクションとか
ちゃんと動作しない。
リフレクション前提のメソッド命名ルールは、いっそ言語仕様
の一部であるべきですね。
>>757
そうだね。同意だけど最後に一言。

アプレットならHTMLのタグがおかしいんじゃねーの?
classができてるならタグ編集してみろ。
762デフォルトの名無しさん:02/11/13 00:05
サーブレットを書いているんですけど、フォント情報が必要になったときは
わざわざパネルとかを作ってGraphicsオブジェクトからFontMetricsをつくら
なきゃいけないのでしょうか?FontMetrics自体はインスタンス化できない
みたいなので。

Toolkitを使うとdeprecateしているよ!って怒られました。

>>762
がんば

>>760
一部のAPサーバでは命名規則が決められてたりする。
私の知るAPサーバではメソッド名により、呼び出し優先度が変わってしまう。
今のうちに共通化しないと、後で困るかもね。
>>762
どうもそうみたい。Component#getFontMetrics()とか。
ところで、あんたの用途はGlyphVectorでなんとかならん?
それならリソースはFontだけですむぞ。

で、なんでサーブレットでFontMetricsが必要なの?
PDF出力と見た
Toolkit#createImage() で画像構築して getGraphics() して getFontMetrics() とか。
業務でApache-Cocoonですか。エエデスノウ。
>>761
HTMLタグがおかしいのかもしれませんが、
インストール先に生成されたdemoってフォルダのappletという
フォルダ内に最初からある(いわゆるサンプル?)も
同様の現象により見れないのです。

どこで聞けばいいんだろ・・・(涙
き、気のせいか、デジャブ…
770デフォルトの名無しさん:02/11/13 01:49
配列のキャストはできないのでしょうか?

変な例だけど、以下のように Object[] を String[] に
変換して返したい場合など、どうすればよいのでしょうか?

String[] getChannels() {
  List list = new Vector();
  list.add("1ch");
  list.add("2ch");
  return (String[])list.toArray();
}
>>770
>Object[] を String[] に変換して
無理。
ただし、要求を満たしたいだけなら
(String[])list.toArray(new String[list.size()]);
で OK。
772デフォルトの名無しさん:02/11/13 02:15
  public String[] getChannels() {
    List list = new Vector();
    list.add("1ch");
    list.add("2ch");
    String[] array = new String[list.size()];
    Iterator iterator = list.iterator();
    for( int i=0; iterator.hasNext(); i++ ){
      array[i] = (String)iterator.next();
    }
    return array;
  }
自分はいつもこんな感じです。参考になるかなぁ。
773772:02/11/13 02:17
>>771
がーん。そんなんでできるのか・・・
774770:02/11/13 02:26
>>771
カッコイイ。
おまえらAPIドキュメントくらいヨメー!
>>775
カコイイ。
777デフォルトの名無しさん:02/11/13 04:18

ようやく出来たよ・・・。苦労だったな屑ども。
まあお前等如きに敬語使っちまったけど、一度出来ちまえば用なしよ。
さっさと氏ねばーか。検索なんてくだらねーこといってるんじゃねーよ。
チョン
キチガイ
ばーかばーかばーか
うひゃひゃひゃ

俺に利用されて悔しいか?
精々喚いてろチンカスども。
>>777
いちいち悔しがってたら2chねらなんかやってられん。
というか人生ガンバレヨ。その調子だと将来大変だろうが。
>>777
HTMLのタグが編集できたぐらいでjavaスレ来んな。
がんばれよ。クリスマスまでに彼女できるといいな。
なんか可哀想な人が現れたの?
>>777
<fo:inline font-family="Gothic">HTMLのタグが編集できたぐらいでjavaスレ来んな。</fo:inline>
783デフォルトの名無しさん:02/11/13 09:18
Javaの引数について質問が有ります。
public class JaMet2 { // JaMet2.java [java]
public static void main(String args[]) {
int a;
String b;
heikin(a, b);
System.out.println("a=" + a + " b= " + b );
}
public static void heikin(int x, String y,char c) {
x= 1;
y= "10";
}
}
上記のように出来ますか?
VBだと
Private Sub Form_Load()
Dim a As String
Dim b As Integer
  Call aa(a, b)
End Sub
Public Sub aa(z As String, x As Integer)
z = "12233"
x = 123
End Sub

Form_Loadて゛ aaで指定した引数が参照出来ますが
Javaでは、VBのように出来ますか?
教えてください。

もう一つ、chsrの初期化の方法も教えてください
784 :02/11/13 09:25
>783
出来ますか?って試してみればわかると思うが・・
無理
>783
取りあえずそのコンパイルすら通らないソースを自前でコンパイルしる!
で何がわからないのか自分で整理してみろ。質問はそれからだ。
786デフォルトの名無しさん:02/11/13 09:31
public static void heikin(int x, String y,char c) {
x= 1;
y= "10";
}

public static void heikin(int x, String y) {
x= 1;
y= "10";
}

charが変。上記のようにオーバーロードする必要あり。
あと変数に関してはグローバルでやるか戻り値を決めておくかで対処すべき。
>783
public class Main {

public static void main(String args[]) {
StringBuffer a = new StringBuffer();
Main.test(a);
System.out.println(" a= " + a);
}
public static void test(StringBuffer x) {
x.delete(0, x.length());
x.append(10);
}
}
こういうことならできる。と惑わせてみるテスト。
788K:02/11/13 11:02
javaアプレットからファイルをサーブレットにアップロードしたいのですが・・
やり方がいまいち分りません。HTMLのFILEインプットボックスをつかえば
できるのですが・・それに代わるものをアプレットでやるとしたら、
何を使えばよいのでしょうか?
どなたかおしえてください
>>788
できませんあしからず
79083:02/11/13 11:20
>>83
すみません
>>public static void heikin(int x, String y,char c) {
は、間違えでした。
}
正しくは、
public class JaMet2 { // JaMet2.java [java]
public static void main(String args[]) {
int a;
String b;
heikin(a, b);
System.out.println("a=" + a + " b= " + b );
}

public static void heikin(int x, String y) {
x= 1;
y= "10";
}
}
でした。

実行したんですけど、いい結果が出ませんでした。
VBだったら、出来るのでJavaでも出来るかと思いやってみましたが
出来なかったので、記述のしかたが悪かったのか、Javaでは、出来ないのかが
わからなかったのです。
レスをくれた方、大変どうもありがとう
大変、お騒がせしました。
VBなら開発経験があるのですけど、Javaでま開発は、今回が初めてなもんで、VBの感化各
で行っていました。


791超初心者:02/11/13 11:29
質問なんですけど、
オブジェクト指向とかインスタンス化とかの概念ががいまいち
よくわからないのですが、こういう場合はとりあえず無視して
勉強していけばいいのでしょうか?
それともしっかり理解してから次へ進んだほうがいいのでしょうか?
792デフォルトの名無しさん:02/11/13 12:32
アプレットを作る際、ソースを変更したときは
いちいち、ファイル名を変えてコンパイルし
HTMLファイルのソースも開くクラス名を変更しているのですが、
皆さんそうしているのでしょうか?
793  :02/11/13 12:55
>791
少しでも知ってた方がいいと思う

>792
いちいちファイル名を変える理由ってなに??
メリットあるの??
794デフォルトの名無しさん:02/11/13 13:08
>>793
ファイル名を変えてからコンパイルしないとアプレットに変化が現れないんです。
795  :02/11/13 13:13
ブラウザでページの更新すればいいじゃん
またはコンパイルする前に一度.classを消すとか
796デフォルトの名無しさん:02/11/13 13:15
>>795
なるほど、クラスを消去するのがよさそうですね、どうもです。
クラスを消去してのブラウザのキャッシュには残ります。
CTRL キーを押しながらブラウザの更新ボタンを押してください。
798デフォルトの名無しさん:02/11/13 13:44
>>797
God!
オブジェクトを返すメソッドの場合、
メソッド内でローカル定義し生成した
オブジェクトを返してもその先(のプログラム)は
正常には動いていますが、戻り値がオブジェクト
への参照だとすると、なんとなく気持ちが悪いです。
(寿命はメソッド内ですよね。)
それともオブジェクトの参照が返るのではなく
実体がコピーされるのでしょうか。

参照だとするとオブジェクトはstatic変数で宣言
させるべきでしょうか。
>>799
>(寿命はメソッド内ですよね。)
ちがう。

>それともオブジェクトの参照が返るのではなく
>実体がコピーされるのでしょうか。
ちがう。参照が返る。

メソッド内で定義した変数のスコープはメソッド内だが、
インスタンスそのものの寿命はガベージコレクトされるまで。
つまり、どの変数からも参照されなくなるまで、と考えてもよい。
>>799
Cから入ってきたのかな。
その辺りが、参照とポインタの
違いといっていい。
>>800-801
どうもです。そうです、Cからの者です。
Cだと、ローカルで宣言した領域のポインタを
返す場合、実体をstatic宣言やmallocを行わないと
ローカル変数のスコープから外れた場合
メモリ領域の確保は保証されないのですが、
Javaでは普通の変数と同じように扱え、
そこまで考えなくても良いということですね。
スコープ云々よりも スタックとヒープと静的領域に関して勉強したほうが…
>>803
>>802
はそのことをいっているんじゃないの?
Javaの範囲では
そんなことは勉強せんでもいい。
806デフォルトの名無しさん:02/11/13 18:34
今、JFrameの中でJTabbedPaneを配置して
その中にScrollPane配置してそこでPanel使って
Panelの中にあるコンポーネント(仮にAとでも)があるんですが
Aから処理(ダブルクリックの処理でAにMouseListenerもたせてます)で
JFrameのタイトル変えたいんですが、getParent()だと
JTabbedPaneから上が上手くもってこれないんですがイイアイデアありますか?
>>806
まず頭の中整理しろ。
そしてこの文章書き直せ。
書き直し終わったら多分解決している。
808806:02/11/13 20:27
>>807
ようはJFrameのgetContentPane()にaddしたJTabbedPaneの子の子の子ぐらいから
JFrameのメソッドを呼び出したいけどきれいにやる方法が知りたいんです。
子がいっぱいついてるから
コンストラクタにJFrameのオブジェクトをどんどん渡していく方法は
汚いのでしたくないんです。(関係ないクラスにオブジェクト持たせるのは嫌なので)
なんかいい方法ありますか?

あと描画中のPanel(↑で使ってるひ孫ぐらいのパネルです)の中にコンポーネントを後で加えて
Panelのオブジェクトに対してrepaint()を使ったら
上手く変更がされてないんです。
スクロールペインをスクロールさせたりFrameをサイズ変更させるとでてくるんですが
プログラム中でやる方法はありますか?
>>808
人の話聞いてたか?
どこをどう整理した?
810806:02/11/13 20:34
6行あるのを2行に整理しました。
そのあとに「きれににやる」について
自分で汚いと思ってるやりかたを加えました。
javax.swing.SwingUtilitiesつかえ >>806

repaintのほうは.paint(Graphics�g)をオーバライドしてないか?
悪いことは言わんからpaintComponents(Graphics�g)に書け。
追加したコンポーネントのrepaint()は呼んでる?

>>802
Javaでのオブジェクト参照変数はCでいうと「ヒープに動的領域確保し、
コンストラクタメソッドによって内部を初期化した構造体へのポインタ」
とほぼ同等です。
関数の引数で飛びかうのは、参照(ポインタ)の値のコピーです。
それ以外のプリミティブ値のintと、実行時のサイズは一緒ですお。
コレでスッキリします?

813デフォルトの名無しさん:02/11/13 23:23
日本 米国 英国 中国 印度(1971)
 1   1   1   1   91
 10   4  11   24  13

日本 米国 英国 中国 印度(1972)
  1  14   1  1  19
 10  21  11 24 14

これらが記述されているテキストファイルで
印度の欄のデータを抜き取って画面(プロンプト)に
91
13
19
14
って表示する事ってできますか?
テキストファイルなんで区切り位置とかも無いのでわかりません・・
814デフォルトの名無しさん:02/11/13 23:23
>>813
ずれまくり・・・
815806:02/11/13 23:27
>>811
ありがとうございます
両方とも上手くできました〜
javadocでSwingUtilities見ましたが結構便利ですね
GUIはこれから学ぼうと思ってるのでうれしかったです。
paintの方は追加したほうをrepaint()してなかったでした。
ご指摘ありがとございました
816x:02/11/13 23:28
in
817デフォルトの名無しさん:02/11/13 23:29
j
818デフォルトの名無しさん:02/11/13 23:29
>813
印度人に聞け!
>>813
常に5番目ということが決まっているなら
StringTokenizer なり Pattern&Matcher なりでできるでしょ
>>813
規則性があればなんとか
821デフォルトの名無しさん:02/11/13 23:57
>>820
規則性というか
1960〜2000年の41ブロックで
日本、米国、英国、中国、印度のみ

データとしては
行は2行の時もあれば100行の時もあります
>>821
一行が必ず5列目なら、Tokenizerで5こめのToken切り出して
Integer#parseInt()して加える、を行数文くり返すだけー。
823デフォルトの名無しさん:02/11/14 00:25
スレ違いでしたらごめんなさい。。

ブラウザからちょっと大きめのローカルにある
ファイルアップロードをしたいのですが、
javaアプレットを使ってサーバーへファイルアップロードをするサンプルが
Googleでjava アプレット ファイルアップロード 
で検索したのですが見あたりませんでした。
できれば、アップロード経過をプログレスバーなんかで表示できる
ものを考えてます。

似たようなサンプルでも構いませんのでご存じの方いましたら
おしえてください。よろしくおねがいいたします。
>>823
アプレットでそんなことすんな。セキュリティ調整難しいから。
>>823

探したらすぐ出てくるだろう。甘いね。

ttp://www.java-conf.gr.jp/wg_bof/servlet/docs/980403/FileUpload.doc.html

アプレットかどうかなど関係ないし。
826823:02/11/14 00:40
早速のレスありがとうございます"_m(_'_)m_"
>>824
そうですか、javaアプレットでは御法度な世界なんですか、、
>>825
HTMLのファイルアップロードは、参照押してファイル選択し、
Submitを押した際、大きめのファイルになると、
今どれくらいの容量をアップしているのか、が客観的に判る
GUIが実現できない、、ですよね。(プログレスバーみたいなもので
表示できれば利用者の混乱はかなり防げると思うのですが)
それを実現するにはjavaアプレットかなと思いまして探っていた
ところです。

827デフォルトの名無しさん:02/11/14 00:46
javaで ブロック崩しでも作ろうと思ったんですが
ほとんど初心者です。
ボールの動かし方とか詳しく解説しているサイトとかないですか?
>>826
テスト系のWebアプリケーションで、プログレスバーもどきを見たことがあるよ。
829823:02/11/14 00:52
>>828
たぶん、それはMetarefreshをつかったものだと思います。

がしかし、HTMLのファイルアップロードは、ファイルの全容量を
サーバーにアップしないとそのほかのことは出来ない(解放されない?)
仕組みなので、たとえば、アップロードをクリックしてスグに
別ページが表示され、そこにプログレスバーと進捗状況、そしてファイルの
アップロード処理を実現するのはHTMLレベルではムズカシイのではと
踏んでいます。。
830828:02/11/14 01:05
>>829
うむ。セッション管理とか、途中で中止する機能も考えたら面倒そうだの。
(上記のUnitTestツールはやってた。)
>>827
高校の物理の教科書
832デフォルトの名無しさん:02/11/14 09:21
文字列の長さが足りているのに
StringIndexOutOfBoundsExceptionが出てしまいます。

FileReader fileReader = new FileReader( "C:\\data.txt" );
BufferedReader bufferedReader = new BufferedReader( fileReader );
String line;
while ((line = bufferedReader.readLine()) != null){
  line = bufferedReader.readLine();
  System.out.println( "length = " + line.length() );
  System.out.println( line.substring( 0, 16 ) );
  System.out.println( "length = " + line.length() );
  System.out.println( line.substring( 737, 18 ) );
}
実行結果
java.lang.StringIndexOutOfBoundsException: String index out of range: -719
at java.lang.String.substring(String.java:1525)
at ReaderWriter.main(ReaderWriter.java:19)
2746
2001010506010102
2746

なんでなんでしょう?初歩的なことですいません。
>>832
while ((line = bufferedReader.readLine()) != null){
  line = bufferedReader.readLine();

なぁ、偶数行目しか読まないのか?
834832:02/11/14 09:31
>>833
失礼しました。元のソースは下記です。
(行数が多いのでテスト的に8行だけだしてました)
for ( int i=0; i<8; i++ )
{
  line = bufferedReader.readLine();
  System.out.println( line.length() );
  System.out.println( line.substring( 0, 16 ) );
  System.out.println( line.length() );
  System.out.println( line.substring( 737, 18 ) );
}
こちらに転記してwhile文に書き換えたとき
  line = bufferedReader.readLine();
を消去するのを忘れてしまいました。
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/lang/String.html#substring(int,%20int)

substring
public String substring(int beginIndex,int endIndex)

この文字列の部分文字列である新しい文字列を返します。部分文字列は、指定された beginIndex から始まり、インデックス endIndex - 1 にある文字までです。したがって、部分文字列の長さは endIndex-beginIndex になります。
>>832
String#substring(int beginIndex, int endIndex)
この文字列の部分文字列である新しい文字列を返します。
部分文字列は、指定された beginIndex から始まり、
インデックス endIndex - 1 にある文字までです。
したがって、部分文字列の長さは endIndex-beginIndex になります。
例:
 "hamburger".substring(4, 8) では "urge" が返される
 "smiles".substring(1, 5) では "mile" が返される
パラメータ:
 beginIndex - 開始インデックス (この値を含む)
 endIndex - 終了インデックス (この値を含まない)
戻り値:
 指定された部分文字列
例外:
 IndexOutOfBoundsException
  beginIndex が負の値である場合、
  endIndex がこの String オブジェクトの長さより大きい場合、
  あるいは beginIndex が endIndex より大きい場合
>>835
PerlとかPHPのそれとかとは仕様が違うみたいね。
やば、俺のプログラムもバギーなはずだ・・・。
838デフォルトの名無しさん:02/11/14 11:26
Java2 SDK 1_4_1_01の仕様について質問します。
Java2 SDK 1_3_1のアプレット機能では
音声ファイルはau,aiff,wav,midi
画像ファイルはjpg,gif
のみの対応でしたが、噂によるとバージョンアップにより
対応ファイルが増えたようです。しかしドキュメントを見ても明記
されておらず、困っております。
どなたかJava新バージョンのアプレット機能で新たに対応したファイルを
知っている方がいらっしゃいましたらご教授ください。
>>838
増えてないよ。
JMFを使ってください。
840デフォルトの名無しさん:02/11/14 11:31
>>839
即レスありがとうございました。
大変に助かりました。
841デフォルトの名無しさん:02/11/14 11:50
Stringをchar配列に変換する方法を教えてください。
>>841
ネタか?
char[] array = str.toCharArray();
843デフォルトの名無しさん:02/11/14 11:56
>>842
おお、それですよ。
Stringの頭一文字だけcharに変換したかったのです。
>>843
ネタだな。一応書いておくと
char top = str.charAt(0);
845デフォルトの名無しさん:02/11/14 12:03
>>844
すごい・・・感動しました。
846名前::02/11/14 13:03
SQLserverのdatetimeフィールドを更新する時、
 UPDATE ・・・ 年月='0001-12-31' ・・・
という文を送ると
 [Microsoft][SQLServer JDBC Driver][SQLServer]CHAR データ型から DATETIME データ型への変換の結果が日付/時刻の値の範囲外です。
というエラーが帰ってくる

どなたか解決方法知りませんか
このドライバでは、日付は現在+-2000年等の制限があるのかな?
update・・・・・・todate('0001-12-31','yyyy-mm-dd')・・・・・・
じゃないの?
俺oracleしか知らんけど。。。。。
>>846
スレ違い市ね。SQL Server の datetime は
1753 年 1 月 1 日から 9999 年 12 月 31 日までの日付と時刻データを格納するデータ型です。
初めてプログラミングをやるので、既出でしたらすいません。
参考書らしいのを買って勉強してるんですが
windows2000の環境変数がいまいち理解できず
javacはバッチファイルとして認識されていませんと表示されてここから先に
進めないんですが、pathとかはどのように設定したらよいのでしょうか

850名前::02/11/14 13:54
>>848
ありがとさん
0001年を格納できる日付型は無いみたいね
>>849
環境設定はもういいよ。。。。。少しは過去ログ読め。
この話は腐るほどでてる・・・・・・・・すでにタブーの領域。
これがでてくると必ず荒れる。
852849:02/11/14 14:05
そうでしたか、過去ログは一通り読んだつもりです。
出直してきます
>>852
Pathもとおせない君は向いてないと思われ
>>852
残念だけど、この話はjava以前の話だからね。
もうみんなこの手の質問には疲れてるんだよ。
がんばって設定できたら質問してきてください。

でも環境変数やpath程度のことがわからないんじゃUNIX系は無理でしょ。
なんのためのクロスプラットフォームなんだ????
まあ、初心者大歓迎とあるから俺が助け舟を出してやろう。

とりあえず、インストールしたJDKのバージョンとどこにインストールしたのかを書け!
>>853>>854>>855
既出な質問すいませんでした、環境変数はなんとかできました。

痛いところ突かれましたその辺は努力で補っていきたいと思いますので
笑いながら見てやって下さい(´Д`;)
そろそろ1000も近いことだし、つぎスレのテンプレには、
したのページをくわえてもいいかも。

Java開発用キットのインストールの仕方や
環境変数の設定・パスの通しかたについて。

Java(TM) 2 SDK インストールガイド
http://java.sun.com/j2se/1.4.1/ja/install.html


ところで、ずっと気になっていたのですが、
>>4にある
Q: 僕、サルなんですけど・・・。
A: サルにはわかるヒアリングJava入門(マルチランゲージ対応)
http://www.asahi-net.or.jp/~rc4t-ishr/Saru/index.html

が激しく役に立ちそうにないうえ、
全部よんでも、いっこうにJavaがわかるようになった気がしないのは、
初心者である俺を陥れようという>>1たんの仕掛けた罠ですか?
858デフォルトの名無しさん:02/11/14 16:02
TCP/IP で接続中のプログラムが起動した状態で Windows の休止やスタンバイから
戻ると、当然ながら TCP のセッションは切れてるんだが、Java の方で I/O 例外
上がんないな。ずっと無応答状態で I/O ブロックしたままだ。
859デフォルトの名無しさん:02/11/14 16:17
>>858
タイムアウトとか使えなかったっけ?
ほかには、

>>2
■■■ ダウンロードと API リファレンス ■■■
を1.4から1.4.1に。
http://java.sun.com/j2se/1.4.1/ja/download.html

>>4では
■■■ Javaの基礎と よくある質問 ■■■
Java 2 プラットフォーム API 仕様
Java(TM) 2 SDK ドキュメント
を1.3から1.4に。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/
http://java.sun.com/j2se/1.4/ja/docs/ja/

Java HouseURL変更、
http://java-house.jp/ml/topics/

関連スレに新しいものがあれば、それを追加、
あとは下のスレも一応、
過去スレの一覧に収めておいたほうがいいかも。

【初心者】Java質問・相談スレF【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1032944182/l50
最近javaを勉強し始めたんですけど、困った事になったので助けて頂きたいです。

最初にWindowsNT4でJDK1.3.0をインストールしたんですが、
統合環境が欲しくなってJBuilder5の無償配布版をインストールしました。

でもイマイチだったのでアンインストールして、
残ったJBuilderのフォルダを削除すると、
今まで使えていたJDK,JREが使えなくなりました。

レジストリの

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft

以下を修正して、コマンドラインからの実行と
エクスプローラからjarファイルの実行は出来るようになりましたが、
コントロールパネルの「Java plug-in」が
「cannot find the main class」というエラーで開かなくなり、
ブラウザからJREが起動できなくなりました。

JBuilderインストール前の設定に戻すためには、
他にどこを調べたらいいんでしょうか?
862J2EEチョーボー:02/11/14 17:39
Oracle Blob型のデータ挿入に 詰まっております。

Postgresでのサンプルが 見つかり、

〜〜〜 サンプル〜〜〜〜〜〜〜〜〜〜
> create table images (imgname name,imgoid oid);
>
> 画像を挿入する場合、次を行ないます。
>
> File file = new File("myimage.gif");
> FileInputStream fis = new FileInputStream(file);
> PreparedStatement ps = conn.prepareStatement("insert into images values (?,?)");
> ps.setString(1,file.getName());
> ps.setBinaryStream(2,fis,file.length());
> ps.executeUpdate();
> ps.close();
> fis.close();

試してみたのですが、挿入処理は正常に終了するのですが、検索して
書き出してみると、0byteのファイルが作成されるだけでした。

環境は Oracle8.1.6 JDK1.2.2です。
よろしくお願いいたします。
タスケテー
AWT で「コンポーネントの上にマウスカーソルが乗って 500 ミリ秒経過したら」
なんてイベントリスナないよな。スレッド作らなきゃだめか。
>>863
Thread使え
865名前: :02/11/14 20:52
ResultSetで取得したレコードをJTableで表示したいんだけれど、
レコード数が多いと時間、メモリがきつくなる

SQLServerのEnterpriseManagerやCBuilderのDBGridのように、表示分+αのレコードを保持し、
行がスクロールするたびに表示を更新したいんだけど、なんか難しそう

参考になるサイトやサンプルありません?
866デフォルトの名無しさん:02/11/14 21:32
JavaServletの話なのですが
HTMLで項目に文字を入力するフォームで
項目の中身が空の場合、エラーメッセージを出したいのですが
変数の中の文字列を判断するようなif文はかけるのでしょうか?
>>865
1回の問い合わせでResultSetに取るレコードの行数を一定数にするような
SQL発行すりゃいいじゃん。
>>866
書けない理由がある?
869866:02/11/14 21:36
すいません、かけるかどうかと言うか
どうやって書けばいいのか教えていただけませんか?
>>866
JavaScriptでonSubmitハンドラにそういうメソッド渡せ。
JavaScirptはいた違い。
871866:02/11/14 21:40
Scriptじゃなくて、Servletなんですが・・
>>871
サーバ側でチェックするのか。
フォームパラメータ取り出して、nullか文字列長0なら入力してないだろうな。
873名前::02/11/14 21:46
>>867
ResultSetから自分のほしい行数分取得して表示すればいいんだけど、
スクロールバーとの連携をどのようにしようかと
ああいったテーブルのスクロールってどうやって実現しているのか分からないよ
サーブレットなんて実質javaじゃないな。
>>873
スクロールバーの移動イベントのリスナはって、ある位置にきたら
次の〇〇件取得してテーブルのデータモデルに追加。
>>874
藁。アホカ
877名前::02/11/14 21:55
>>875
ありがとサン
試してみます
878871:02/11/14 21:59
なるほどnullっていうのがありましたね!!
さっそくチャレンジしてみます

nullじゃなくて、getBytesっていうので、数値に変換してから
if文でやろうとしてました・・ありがとうございます〜

それと、ServletってJavaApplicationと同じなんですよね?
>878
StrutsのActionForm使えばそーゆのは楽にできるが…
好き嫌いありそうなフレームワークだから、まー、学習コストに見合うと思ったら使うヨロシ。
880832:02/11/14 23:33
>>835
ありがとうございました。PHP漬けになっててわかりませんでした。
でもsubstringって全角1文字で考えるんだ。。。
また難問勃発だなぁ。
881デフォルトの名無しさん:02/11/14 23:41
全角も何も雲丹コードじゃないの?
882次スレテンプレ:02/11/14 23:47
>>860
JBuilderのバージョン上げたい。
【JBuilder 7 Personal】
http://www.borland.co.jp/jbuilder/jb7/download/
>>880
881のいうとおり半角も全角もUnicodeだとchar一つだろうね。
全角を区別したいならgetBytes()でbyte列にしないとダメだろうね。
普通はそんな必要はないと思うけど。
クラスパスとかいうのをいじってたら変な風になりました。
Appletが見れません。

同一フォルダ内にhtmlとclassファイルを置いても、
IEで見ようとすると「class 〜 not faund」と出ます。

おかしいと思い、C:/jdk1.4.1_01/demo/applet/から
いくつか試しましたがどれも同じ症状です。

治し方教えてください
>>884
なおってなかったのか…

>クラスパスとかいうのをいじってたら変な風になりました。
どういじったか教えてくれる?
かつてiアプリ製作のために入れたパスを軒並み削除しました。
そのとき何か消してはいけないものを消してしまったかもしれません。

autoexec.bat
SET PATH=C:\JUST\JSLIB32;C:\IBMTOOLS;C:j2sdk1.4.1_01\bin;D:jdk\project\;
@ECHO OFF
loadhigh c:\windows\command\nlsfunc.exe c:\windows\country.sys
PROMPT $P$G
LH DOSKEY

C:\essolo.com

dos窓からautoexec.batを実行したときのメッセージ
SET PATH=C:\JUST\JSLIB32;C:\IBMTOOLS;C:j2sdk1.4.1_01\bin;D:jdk\project\;
NLSFUNCはWindowsのdosコマンドプロンプトからは組みこめません.
ファイルが見つかりません.

Ess PCI Audio Dos Device Setup Utility, Version 2.11M
以下英語の文章


かなり困ってます。緊急に治療お願いします
887デフォルトの名無しさん:02/11/15 00:46
「C:/java/game/app」(仮)というフォルダに
アプレットhoge.htmlを作ったのですが、なぜか
getDocumentBase()で「C:/java/game/app/hoge.html」が、
getCodeBase()で「C:/java/game/app/」が返って来ました。

APIドキュメント(1.3)では、逆のような気がするんですが…
というか、JDK1.3を使っていた時は普通に返って来たんですが、
1.3.1_06をインストールしたとたんにひっくり返りました。

これってなんなんでしょうか?
888デフォルトの名無しさん:02/11/15 00:54
ブラウザの印刷機能で印刷すると、Appletの領域が印刷されません…
ランタイムのバージョンを変えていろいろ試したんですけど
真っ黒になったり、真っ白になったり、ワクと小さなアイコンだけ出てきたり…

Appletで描画した絵を見たまんま安定して印刷させるには
どんな準備をすればよいのでしょうか?
>>860
「Java的リンク」ってのも良さそう。
http://www.geocities.co.jp/SiliconValley/6064/java_link.html

調べるときに辞書がわり(?)に使ってる。
>>886
なんで、NLSFUNC.EXE がないんじゃーー
>>886
なんで、NLSFUNC.EXE が無いのかなー?
とりあえず、↓この行外しちゃえ(いいのか?)
loadhigh c:\windows\command\nlsfunc.exe c:\windows\country.sys
たぶん、英語のエラーメッセージは消える。
>>890
どういうことですか?詳しく教えてください
>>891
その行を消しましたが、同様にエラーメッセージが出ます。
C:\WINDOWS>REM [Header]
NLSFUNC は Windows の DOS コマンドプロンプトからは組み込めません.

うちも出るな…
autoexec.batの内容を一部消してはいけないものを消したかもしれません。

だれか、標準的なautoexec.batの内容をここにコピペしていただけませんでしょうか?
884=886ですか?
質問1. iアプリ製作をしていた時はAppletが見れましたか?
質問2. Appletは、どのVMで動いていますか?
884=886です。
iアプリを製作していた時期はAppletは見なかったのでわかりません。
しかし、iアプリ用に通したパスを削除する直前では、動作が不安定でしたが
見れました。
不安定な動作とは、ソースをいじってコンパイルしなおしても内容が更新されない、
しかし、htmlのファイル名、Appletタグのcode属性、およびソースファイルのファイル名、
クラス名を変更して見なおすと内容が更新されています。

VMってのはよくわかりませんが、現在Java 2 v1.4.1がインストールされており、
IEからツール→インターネットオプション→詳細設定で見てもjava 2 v1.4.1と
表記されております。
dos窓からjava -versionと入力しても同様に1.4.2です。
884=886です。
iアプリを製作していた時期はAppletは見なかったのでわかりません。
しかし、iアプリ用に通したパスを削除する直前では、動作が不安定でしたが
見れました。
不安定な動作とは、ソースをいじってコンパイルしなおしても内容が更新されない、
しかし、htmlのファイル名、Appletタグのcode属性、およびソースファイルのファイル名、
クラス名を変更して見なおすと内容が更新されています。

VMってのはよくわかりませんが、現在Java 2 v1.4.1がインストールされており、
IEからツール→インターネットオプション→詳細設定で見てもjava 2 v1.4.1と
表記されております。
dos窓からjava -versionと入力しても同様に1.4.2です。     
ぐわ!二重カキコすんません。
書きこみエラーが出て何度も書きこみ命令を出してたもので。
>>895
自己責任でどうぞ。

C:\>echo %path%
C:\Oracle\ora90\bin;C:\Oracle\ora90\Apache\Perl\5.00503\bin\mswin32-x86;C:\Progr
am Files\Oracle\jre\1.1.8\bin;C:\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WIND
OWS\System32\Wbem;C:\Program Files\Justsystem\JSLIB32;C:\mysql\bin;C:\Java\jdk1.
3.1_02\bin;C:\Java\jakarta-ant-1.4\bin;
>>900
ありがとうございます。がんがります!
>>899
プラグインは有効になっていますか?
Java Plug-in コントロールパネルで、Java Pluginが有効になっているかを
確認してください。
>>900
いいなぁ、Oracle。私はMySQLとMSAccessで我慢。
java plug-in は1.3になってました。今探してますが、
java plug-in 1.4でググっても見つかりません・・・(涙
905デフォルトの名無しさん:02/11/15 02:06
親切のつもりなのか知れないけど今後パスやクラスパスの質問は無視してください。特に
884の 治し方教えてください
886の かなり困ってます。緊急に治療お願いします
895の だれか、標準的なautoexec.batの内容をここにコピペしていただけませんでしょうか?
みたいなえらそうな態度のやつに対しては。つけあがらせるだけですから。
えらそうな態度でしょうか?
どう質問したらいいでしょうか?
本当に困ってます。
質問のしかたからでもいいですから教えていただけないでしょうか?
また、クラスパスについて質問するのがスレ違いでしたら、
どこで聞けばいいか教えていただけないでしょうか?
>>906
java-house MLで聞きなさい。
やさしい人たちが教えてくれるから。
複数のクラスにmain関数がある場合その扱いはどうなるのでしょうか
>>907
ありがとうございます。
そちらで質問をさせていただきます。

迷惑をおかけしました。
だからpathでおかしくなったり、設定できない香具師はどっか逝け。
上で荒れるって誰かが書いてあるだろ。
javaのコーディングなら質問OKだけど、pathは自分の環境の話だからな。
911887-888:02/11/15 02:37
すいませんが、なにとぞひとつ…(´∀`)
912900:02/11/15 02:39
PATHの質問はNG、CLATHPATHの質問はOKでよろしい?

関連リンク:
http://java-house.jp/ml/topics/topics.html#novice-basic

それとスレの流れを知らずにパスの内容を書き込んでしまい
すみませんでした。
「初心者大歓迎」のはずだったのに…
初心者っつーても限度はあるわなぁ。
まぁ無視するだけで叩く必要は感じないけど。
このスレから見始めたけど気が短いヤシはウンザリするかも。
>>913
pathなんて初心者以前の話でしょ?
ここはjavaプログラミングの初心者歓迎スレです。
916デフォルトの名無しさん:02/11/15 04:03
質問なんですが
xxx(変数)の中が空っぽのときは
yyyを実行するif文は

if(xxx == null){
yyy;
}

であってますか?
try{
  xxx.toString();
} catch(NullPointerException ex){
  yyy;
}
918デフォルトの名無しさん:02/11/15 04:32
常時起動のアプリで、オフスクリーンバッファ用に使った Image って
いらなくなったら flush() しなきゃだめ?
>>916
あっているともいえるし、あっているといえないともいえる。

javaでは型は2タイプに分けられる。
プリミティブ型(int, char, long, double等)
オブジェクト型(Objectの派生クラス)

オブジェクト型の時はそれで結構。
プリミティブ型をインスタンス変数で利用している時は型それぞれのデフォルトの値で初期化される。
お手元の参考書で確認してください。

ちなみにローカル宣言した空(?)の変数にアクセスすると、コンパイルエラーで落ちるぞ。
920デフォルトの名無しさん:02/11/15 05:17
JavaのStringはすべてinternされていると思ってよいでしょうか?
どうせ書き換えできないんだから、そのほうがメモリの節約になるし、
比較も1文字ずつ比較しないでよい(==でよい)ので速くなりますよね?
921デフォルトの名無しさん:02/11/15 05:19
>>919
なるほどっ、すごく分かりやすいです
922デフォルトの名無しさん:02/11/15 05:23
>>920
そのような前提はありません。同一クラス内の静的なリテラルに関しては
コンパイル時にマージされるようですが、そういった動きを期待すべきでは
ありません。

同一インスタンスであることを保証したいなら明示的に intern() でも
呼び出してやればいいでしょう。
>>920
そう922の言う通り。
大体そういう風に動くんだけど、期待してはいけないということです。
どこでnew String()ってやってるかわからないでしょ?
924デフォルトの名無しさん:02/11/15 09:28
いがぴょんの本をさっそく読んだ人いますか?
どうでしたか?
925デフォルトの名無しさん:02/11/15 09:38
Spriteって言うデータ型はJPGなんかの画像を入れる配列でいいんですかねぇ?
926デフォルトの名無しさん:02/11/15 10:55
1が囲まれている文字「@」
を UTF-8 で記述する場合、\u2460 と表記できますが
これを EUC-JP 的?に記述するにはどうすればよいでしょうか?
Javaの文字はUnicode(UTF-16)、だから、そんなことを考えること自体がナンセンス。
928おしえてください。:02/11/15 11:45
昨日の日付を出したいのですが、何か良い方法はないでしょうか?
今日から一日引け
930おしえてください。:02/11/15 11:53
OK!そうする!
931デフォルトの名無しさん:02/11/15 12:02
わかりました。>> 927
素直に byte 管理します
昨日の献立を出したいのですが、何か良い方法はないでしょうか?
出汁巻き卵+鯛茶漬け
>>917が無視されてるのにわらた
935デフォルトの名無しさん:02/11/15 16:37
質問です。
n次元配列の全要素に対して処理をしたいです。
はじめ、forのネストで書こうとしたのですが、
nが大きくなったときに対応できないです。
どう書けばいいかサンップル付きで教えてください。
>>935 再帰
>>935
配列の要素がプリミティブ型でなければこんな感じ。

recursive(Object obj){
 if( array instanceof java.lang.reflect.Array ){
  for( int i = 0 ; i < Array.getLength( obj ) ; i++ )
   recursive( Array.get( obj, i ) );
 }else{
  proc( obj );
 }
}

proc(Object obj){
 //要素に対して処理を行う
}

プリミティブ型の場合は これでも良いけど…
後は自分で考えてね。
あ、Object[] に 配列つっこんでる場合とかもこれじゃダメだ。
>>936-937様。
ありがとうございました。
質問です。
JDBCでSQLServerに繋ぎたいですが
DBの指定の方法がわかりません。

Connection conn = DriverManager.getConnection
("jdbc:microsoft:sqlserver://server1:1433","username","secret");
↑このタイミングでDBを指定するんですか?
それとも後々で設定するんでしょうか?

どなたかよろしくお願いします。
940デフォルトの名無しさん:02/11/15 17:32
7*7の魔方陣の作り方をおしえてください
『よくわかる黒魔術』参照
>>941
それは魔法陣
943デフォルトの名無しさん:02/11/15 18:29
最近JSPの勉強をはじめた。
JSP/servletのAPIの日本語版ドキュメントをダウンロードしたいのですが
HP等ありましたら教えてください。
>>943
shine
社員
Ja-Jakarta Projectってあんま有名じゃないのか…
948デフォルトの名無しさん:02/11/15 20:57
『Javaによる知能プログラミング入門』を立ち読みして,Javaのプログラミングをしてみたいです.
プログラミング歴は殆どありませんので,まずは本を読んでみようと思います.
推薦書を教えてください.また,本の活用方法についても合わせて教えてください.
4649
>>948
専用スレある。
後、取りあえず文法覚えたら自分なりに頭を使ってとにかく書け。
そうすれば嫌でも応用力は付く。
応用的な話を覚えるのはそれからでも十分だ。
jdk1.3.1_06を持ってるんですが、swingが動作しません
swingはバージョンいくつからですか?
951デフォルトの名無しさん:02/11/15 21:58
>>862
だいぶ前に書いたソースですけど。

//BLOB型挿入の際は一度BLOB列を初期化する(empty_blob())
sql = "insert into table(blobfile) values(empty_blob())";
stmt.executeUpdate(sql);
//画像挿入(BLOB型)
rs = stmt.executeQuery("select blobfile from table for update");  //for updateが必要
rs.next();
//BLOBロケータ取得
BLOB blob = ((OracleResultSet)rset).getBLOB(1);
File file = new File("blob.jpg");
FileInputStream fis = new FileInputStream(file);
OutputStream os = blob.getBinaryOutputStream();
int chunk = blob.getChunkSize();
byte buffer[] = new byte[chunk];
int length = -1;
while( (length = fis.read(buffer)) != -1 ){
    os.write(buffer,0,length);
}
fis.close();
os.close();

見にくかったらスマソ。
続いて質問です。
アプリケーションでウィンドウをタスクバーに入れる方法を教えてください。
JAVAコンソールはタスクバーに入るんで出来るはずですよね?
952デフォルトの名無しさん:02/11/15 22:02
>>951
BLOB blob = ((OracleResultSet)rset).getBLOB(1);

BLOB blob = ((OracleResultSet)rs).getBLOB(1);
953デフォルトの名無しさん:02/11/15 22:07
初心者の質問で恐縮ですが教えてください。
アプリケーションで、ウィンドウの左半分にグラフィック、
右半分にコンソールパネルっていうのを作りたいのです。

JFrameを継承したクラスを作ってコンストラクタでパネルやら
ボタンやらを配置して、その後paintメソッドでグラフィック
を描画という方法を試したのですが、実行してみるとpaint
メソッドがせっかく配置したパネルを塗りつぶしてしまうことが
分かりました。

パネルを残したまま左半分だけにグラフィックを描くには、
どうすればよいでしょうか?
よろしくお願いいたします。
>>953
パネルで分ける
>>950
いつのまにか06になってたのか。

> swingが動作しません
> swingはバージョンいくつからですか?

バージョンのせいではない。
956953:02/11/15 22:42
>>954
レスありがとうございます。

グラフィックを表示したい領域にパネルを配置して、
パネルの中にグラフィックを描くという意味ですか?

やってみます。
957デフォルトの名無しさん:02/11/15 22:49
同じフォルダ内の複数の同一拡張子のファイルを一括して変換したい
のですが、教えてください。フォルダ内のファイルを順番に読む事ってできますか?

txtファイルをhtmlファイルに変えたい場合は
aaa.txt
bbb.txt
ccc.java
ddd.txt

aaa.html
bbb.html
ccc.java
ddd.html
958デフォルトの名無しさん:02/11/15 22:57
>>957
javaでやりたいの?
コマンドラインでrenじゃダメかな。
File dir = new File("C:\\hoge\\hage");
File[] textFiles = dir.listFiles(new FilenameFilter(){
  public boolean accept(File dir, String name){
    return name.toLowerCase().endsWith(".txt");
  }
});
for(int i=0; i<textFiles.length; i++){
  String name = textFiles[i].getName();
  int index = name.lastIndexOf('.');
  name = name.substring(0, index) + ".html";
  File newName = new File(dir, name);
  textFiles[i].renameTo(newName);
}
960デフォルトの名無しさん:02/11/15 23:02
>>957
File#list()
961デフォルトの名無しさん:02/11/15 23:05
>>958
Javaでお願いします
962デフォルトの名無しさん:02/11/15 23:16
本読んでる時は、例外処理って???
って感じだったけど
try{
 testL = Integer.parseInt(test[0]);}
   catch (NumberFormatException e){
    test[0] = "Not Number";
    }
ふとひらめいたコレッ!!
例外処理?!すごい!!

(プログラムやってる人には、ハァ?アフォカだろうけど・・)

ハァ?アフォカ
964デフォルトの名無しさん:02/11/15 23:51
>>962
963は無視してその「ひらめいた!」という気持ちを大事にしてください
965デフォルトの名無しさん:02/11/15 23:57
ハァ?アフォカ
>>964
>>962のひらめきのグレードはともかくとして、それが
プログラマの楽しみだよね。
967962:02/11/16 00:21
あ、自分で書いといてなんですけど・・
catch (NumberFormatException e)
意味も分からずいつもつけてるんですが
の e ってなんでしょうか?
>>967
catch(NumberFormatException e){
 System.out.println(e.getMessage());
           ~~コレ
}
969962:02/11/16 00:25
あるサイトには変数って書いてたんですが
なんでそこに変数がくるのかわからないんです・・
ちなみに書いていた所にも説明がありませんでした
   /⌒~~~⌒\
 / ( ゚>t≡ )y─┛~~
(_ ノγ U  ∩_∩)   THANK YOU 2ch     ┌───────┐
  α___J _J         and          (|●        ● |
  / ̄ ̄ ̄ ̄\  GOOD-BYE 2ch WORLD! /.| ┌▽▽▽▽┐ |
 /     ●  ●                   ( ┤ |      |  |
 |Y  Y       \ またどこかで会おうね  \.  └△△△△┘   \
 | |   |       ▼ |                  | \あ\      |\ \
 | \/        _人| ∧∧∩゛    ∧_∧     |     \り\     | (_)
 |       _/)/)/( ゚Д゚)/     (´∀` )   __ n    \が\.  |
 \    / 〔/\〕 U  / ∩∩ (    )o/  \ ヽ    \と\ |
  | | | c(*・_・)  |  |ヽ(´ー`)ノ_|  |  | (__丿    |.  /\ \う | (-_-)
  (__)_) UUUU /∪∪ (___)(_(__) ⊆_    ヽ_┘  └──┘(∩∩)
971デフォルトの名無しさん:02/11/16 00:34
>>968
やってみたらわかりました!!
972887-888:02/11/16 00:53
>>969
普通のメソッドに(String s)みたいに引数とその型を書きますね
それと同じで、Exceptionクラス型の引数を受けると思ってください

誰か>>887>>888お願いします。素通り?
>>887 getDocumentBase()でファイル名が、
    getCodeBase()でディレクトリ名が返って来た
>>888 ブラウザからアプレットを見たまま印刷するには?
973887-888:02/11/16 00:58
クラス型ってへんだね
すいません

例外が発生すると、その例外に応じたExceptionクラスの
オブジェクトが勝手に生成されます。
イベント処理でも、イベントが発生すると生成されるので
(MouseEvent e)とかあるでしょ
>>888
[ALT]+[PrintScreen] ⇒ ペイントを起動 ⇒ ペースト ⇒ 印刷

または、アプレットの実行セキュリティを下げてもらって [印刷] ボタンを
つける。
例外処理の仕方で、実力がわかることが多いような気がする今日この頃。
ただし、初心者〜脱初心者限定
>>47 >>154 >>857 >>860 >>882 >>889
次スレ用のテンプレ案へリンクをはってみました。
>>972
試してみたよ。あなたの言うとーりだった。日本語APIの表記とは異なるかもね。

ところで、JAppletが、javax.swingパッケージに在るのは良いとして、
Appletが、java.appletパッケージに在るのは今日まで忘れてました。
java.awtパッケージじゃないんだねぇ。
そういえば、java.appletパッケージなんてのもあったなぁと。
978デフォルトの名無しさん:02/11/16 01:24
979デフォルトの名無しさん:02/11/16 01:38
>>972-973
なるほどっ
詳しい説明ありがとうございます
>>1
981887-888:02/11/16 01:57
>>974
ありがとう!
業務システムで作ってて、素人相手なので
スクリーンショットを取らせるわけにはいかんのです…

あくまで帳票として印刷させたい(ボタンは作る)んだけど、
セキュリティレベルを下げるとちゃんと印刷されて出てくるの?
プラグインのバージョンとかは調べたんですが、セキュリティは
知らなかった。
>>981
そーゆー意味ではない。ページの印刷気分ではアプレットを載せた印刷は
できない。
983誰か代わりに立ててくれ・・・1:02/11/16 08:49
【初心者】Java質問・相談スレ12【大歓迎】
  _、_
( , ノ` )
  \,;  シュボッ
    (),
    |E|

  _、_      Java質問相談スレ パート12だ…
( ,_ノ` )y━・~~~

関連情報は >>2-20 あたりにあります。

Google で検索 ⇒ http://www.google.co.jp/
JavaFAQ で探す ⇒ http://www.gimlay.org/~javafaq/javafaq.html
ご要望によりじゃばこサイト ⇒ http://www.javaco.org/

JavaScriptの質問はWeb製作板へどうぞ ⇒ http://pc3.2ch.net/hp/
パソコンの基本操作に関しては、PC初心者板で質問しましょう ⇒ http://pc.2ch.net/pcqa/

『コマンドまたはファイル名が違います』 >>2
『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』 >>2
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』 >>2

Java(TM) 2 SDK インストールガイド
http://java.sun.com/j2se/1.4.1/ja/install.html

基本的にsage進行でおねがいします。また煽り厨は放置でお願いします。
■■■ 最近多い質問とその答え ■■■
Q. javac コマンドを実行したときに、
『コマンドまたはファイル名が違います』や
『'javac' は、内部コマンドまたは外部コマンド、
  操作可能なプログラムまたはバッチ ファイルとして認識されていません。』と
  表示されてコンパイルできません。

A. javac.exeへのPATHが通っていません。
  http://java.sun.com/j2se/1.4.1/ja/install-windows.html
  を良く読んで、javac.exe のあるディレクトリ(例: C:\j2sdk1.4.1_01\bin )のパスを
  環境変数PATHに追加してください。
  その後、
   Windows98/MEの場合はOSを再起動、
   Windows2000/XPの場合はコマンドプロンプトを新たに立ち上げなおしてください。
  設定したパスが正しければ、javacが使えるようになります。
  それでも同じエラーが出る場合は、設定した値が間違っています。よく見直してください。

Q. javac Hello.java でコンパイルはできるのですが、
 java Hello を実行しようとすると
 『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
 と表示されて実行できません。

A. カレントディレクトリ(.)がクラスパス(classpath)に含まれていません。
 コマンドプロンプトで、
 set CLASSPATH=%CLASSPATH%;.
 と設定する。最後の「;」と「.」を見落とさないように!
 または、
 http://www.gimlay.org/~javafaq/S004.html#S004-02
 を読んでカレントディレクトリ「.」を環境変数CLASSPATHに追加してください。

JavaFAQ 基礎知識
http://www.gimlay.org/~javafaq/S004.html
1と2書いてくれたら残りのリンク追加します(整理済み)。
986ほいよ。:02/11/16 09:49
987XNap:02/11/16 12:09
以下のソースだと "WinMX v2.6" 相手にしかリモートキューができない。
Java に詳しい人いらっしゃいましたら、
"WinMX"の文字列を含む全てのクライアントに対応させる構文をご教授下さい。

String client = sr.getUser().getClientInfo();
if (client != null && client.equals("WinMX v2.6")) {
logger.debug("Sending //WantQueue to " + sr.getUser().getName()
+ " who uses client " + client);
MessageHandler.send(server,
new PrivateMessage(sr.getUser().getName(),
"//WantQueue"));
}
>>987
前後関係がよくわからんが、client.equals("WinMX v2.6") を client.startsWith("WinMX")
にするだけだと思われ
client.equals("WinMX v2.6")

client.matches(".*Win MX.*")
990ヴぁ:02/11/16 15:46
>>986 thanks

関連情報追加しますた
http://pc3.2ch.net/test/read.cgi/tech/1037407642/
1000
>>1
お疲れ〜
1000
994
995デフォルトの名無しさん:02/11/16 17:55
もらっちゃうよ?
ドキドキ。。キョロキョロ(T_T ))(( T_T)
そろそろかな?
献上奉りますです。ハイ。
1000とり合戦〜
1000とり〜
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。