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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
過去ログ、関連スレの一覧や、これからJavaでプログラミングを
始めたいが何をすればいいかわからない人は、下のリンクをクリック。
http://www.wikiroom.com/java/

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

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

前スレ。
【初心者】Java質問・相談スレ43【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1078935442/l50

すべてのクラス (Java 2 プラットフォーム SE v1.4.0)
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html
Java (TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.4/ja/docs/ja/index.html
Java言語規定 第2版 目次
http://www.y-adagio.com/public/standards/tr_javalang2/jTOC.doc.html
2デフォルトの名無しさん:04/04/11 01:51
追加:
世の趨勢に習い、今回からJ#関連の質問も受け付けることにしました。
1おむつ
>>2
専用スレ立てなさいよ、別言語、別処理系、別実行環境なんだから。
>>前スレ994
Color#getRGB()をInteger#toHexString()すべきではないのかね?
アルファ値イラナイならビット積とってマスクすれ。
>>5
申し訳ありませんがコード書いてくださいませんか?
7デフォルトの名無しさん:04/04/11 02:02
>>2
そんならCocoa+Javaも。
>>7
当然OKです。
今回から範囲を大幅に広げました。
return "#"+Integer.toHexString(color.getRGB()&0xFFFFFF)

かな?
すみません、最後にちょっとお邪魔します。
前スレでコードを下さった方、本当にありがとうございました。
素早くて驚きました^^
前スレ不具合を指摘された方、、、おっしゃるとおり、あのままでは
上手くいきませんでした、、ご指摘ありがとうございました。
>>9
String temp="00000"+Integer.toHexString(color.getRGB()&0xFFFFFF);
return "#"+temp.substring(temp.length()-6);
の方がヨサゲ。
ついでにC#の質問も受け付けることにしました。
気軽にご利用ください。
139:04/04/11 02:29
>>11

そういうことか、じゃあこんな感じでもいいか?
return "#"+Integer.toHexString(color.getRGB()&0x1FFFFFF).substring(1);
1411:04/04/11 02:35
>>13
ダメ。color.getRGB()=0のときを考えればわかる。
159:04/04/11 02:41
>>14
すまん、間違えた。
return "#"+Integer.toHexString((color.getRGB()|0x1000000)&0x1FFFFFF).substring(1);
あんまり変わらなくなっちゃったな。

机上デバッグ有難う〜。
使えねーな
179:04/04/11 02:49
>>16
ウルセーバカ
初心者スレは、馬鹿が偉そうに出しゃばるから困る。
ちゃんと答えてやらないと初心者に影響出るだろ。
19静子:04/04/11 03:03
コンパイルまではできるんですけど

その後『NoClassDefFoundError:』となり
プログラムが実行されません。

いろいろWebサイトを回っていると
Classpassの設定がうんたらかんたらと
書いてあるページがったのですが、
どのように設定すればよいのかイマイチわかりません。

どなた様かお返事お願いします。
>>19
Classpathです。あとは、ここにいる馬鹿に聞くよりググるが吉。
21静子:04/04/11 03:08
>>20
ぐぐっていたら
設定方法がわかりました
ありがとうございました。
229:04/04/11 03:13
>>18
だから恥かしいのをこらえて最後まで書いたんじゃないかぁ!
ウエーン>>18がイジメルヨゥ。
君ら、大阪府の>>9をどれだけイジメたら気が済むのか!
>>23
素直にC#はじめるまで。
Java厨がまともなコード書かないのは、
コンパイルが遅いことやまともなデバッガがないことと
無関係ではあるまい。
なんていうか、こう・・・
脳内○○が多いと思う。
しかし・・・
なんでJavaやってて、しかも人に教えようって立場のやつが
ドトネト厨の俺に指摘されるような間違いするんだ?
マッタクワケワカラン・・・
ネタナンダロウカ・・・
>>25
それは藻前の脳内Java厨。
そんなことよりスレ違い。死滅スレに逝け。

C#の話題もスレ違い。専用スレがあるからそっちへ行ってやって来い。

28デフォルトの名無しさん:04/04/11 12:41
>>19-20
そもそもいまどきクラスパスを定義する方が馬鹿。
Antくらい使え
>>21 >>28
Eclipseつかえ Anコよりはやいぞ。
>>27
>>9は実在する。
C#の話してませんが?
おまえにはいってない。前スレからC#の話をする馬鹿がいるからあっちへいけといっとる
32デフォルトの名無しさん:04/04/11 14:39
>>31
>>9のような馬鹿よりは良いでしょ。
初心者に変な影響与えないし。
C#厨は放置で
34デフォルトの名無しさん:04/04/11 14:53
>>33
>>18さんもこうおっしゃってる。
35デフォルトの名無しさん:04/04/11 14:54
>>28

Antでもクラスパスは定義するでしょ。

>>29

Anコって何。
おやおや・・・
馬鹿なJava厨をヲチするスレになりつつありますね・・・
先生!質問です!

64bit環境になっても、
intは4バイトで
long8バイトなんですか?
38デフォルトの名無しさん:04/04/11 15:54
>>37
へたに変ったら困ると思うが。
下手に変わるのがintじゃないの。
40デフォルトの名無しさん:04/04/11 16:26
>>37

とっくに64bitが出ているし、実際変わっていないのだけど。
大ざっぱに言ってCocoa+Javaは、
Java-(AWT+SWING)+Cocoa
だから、(pureではない)Javaだと思うけど、
J#は文法だけJavaっぽくしてるだけで、Javaとは全然関係ない代物。
数日前から勉強し始めた者です。
ある配列変数の要素を指定するときに、存在しないインデックスを
記入していてもコンパイルは出来て良いのですか?
実行時にはなにやらエラーが出るのですが。
>>42
文法的に間違ってなければコンパイルはできる。
ぬるぽコードも書き放題。
JEditorPaneでスクロールバーを自動的に最終行に持ってくる方法を、
どなたかご存じないでしょうか。

JTextAreaと同じように、
setCaretPosition( int 行数 )
とやってもスクロールしてくれません。
(そもそもJEditorPaneでの行数の取得方法がよくわからないのですが、、)

ご教授よろしくお願いいたします。
質問です。
なぜこのスレのリンクには某MLが入っていないのですか?
参考書を見て考えてもわかりませんでした。
よろしくお願いします。
>>35
> Antでもクラスパスは定義するでしょ。

定義はするがわざわざ環境変数を定義するという
効率の悪いやりかたをしなくて済むということ
>>45
スレを立てるときに限ってタイミングよくスレを荒らす馬鹿がいたので
仕方が無くこのスレではテンプレートを入れていない。

荒らし対策として仕方がなく
http://www.wikiroom.com/
にリンク集を置いている。
>>46
初心者お断りって感じだな。
>>28
>そもそもいまどきクラスパスを定義する方が馬鹿。

(´д)ヒソ(´д`)ヒソ(д`)
>>49
見てみぬ振りして上げられなかったの?
私はね、これからは黙って見過ごすことにしたよ。
心の中で嗤ってるくらいでちょうど良いんだよ。
ここの連中にはね・・・
5144:04/04/11 20:51
JEditorPane ep;

〜 〜 〜

ep.setCaretPosition( ep.getText().getLength() )
では、
bad position:

と出てしまいます。。どなたかご教授おねがいいたします。
>>51
JEditorPaneは使ったことないから知らんけど、
JTextAreaのときは、
JTextArea ta;
〜 〜 〜
ta.setCaretPosition(ta.getDocument().getLength());
でうまくいくよ。
53デフォルトの名無しさん:04/04/11 21:15
入門書片手に勉強中です。
JAVAのクラスやメソッドなどのドキュメント(ヘルプ)は、
日本語版のものってあるのでしょうか?

今までやってたVBのようにメソッドのヘルプがすぐ見られないと
すごく大変・・・
5551:04/04/11 22:08
>>52
上手くいきました。。
ありがとうございました。

textの長さとっても仕方なかったんですね。
勉強します。
String str = "abc";
は、次と同じです。
char data[] = {'a', 'b', 'c'};
String str = new String(data);

ってどういうことやねん。
new String(data);が"abc"なの???
>>56
そうですけど何か?
59デフォルトの名無しさん:04/04/11 22:25
>>56
そうじゃなかったらどうなってほしいんだ。
どうもありがとう。
Mapインターフェースを実装したオブジェクトから、保持している要素を
すべてリストアップする(String型を保持していると仮定)にはどういった
コードを書けばいいですか。
プログラミングとかやったことのないネットサーファーだったんですが
javeをこれからやってみよーと思うんだけど本ってどれがお勧めですか。
"jave"
64デフォルトの名無しさん:04/04/11 23:09
>>61

Map#entrySet()#toArray()

でObjectの配列がとれる。
6564:04/04/11 23:29
>>61

こっちの方がいいかも。

Map#values()#toArray(new String[0])
I Don't Know Lonliness 君のLonliness♪
みんなに愛を配る 天使なんていないから〜♪
>>64-65
ありがとうございました。
java.io.File.createTempFileを使って、指定したディレクトリにtest.txt
と言うファイルを作りたいのですが、、、

java.io.File.createTempFile("test", ".txt", dir);
で作ると、test02486.txtみたいな感じに拡張子の前に5桁の任意数字が入ってしまいます。
この5桁がファイル名に入るのはなぜなんでしょうか?
またどうやれば入らなくなるのでしょうか?
>>68
>この5桁がファイル名に入るのはなぜなんでしょうか?
仕様
>またどうやれば入らなくなるのでしょうか?
java.io.File#createNewFile
TempFileって意味分かる?
お探しのものはFile#deleteOnExit?
>>68
ろくにパソコン使わない奴が
プログラミングはじめていいのか? というゆえん
72デフォルトの名無しさん:04/04/12 10:36
Runtime.execを使って他アプリを起動させているのですが、他アプリが起動しきっているか確認したいのですがいい方法はありませんか。

あとProcess.destroy()で他アプリを終わらせているのですが、他にも方法あるんですか?
>>72
「アプリが起動しきっている」をプログラムによって測定可能な方法で定義できれば可能です。
ちなみにそんな方法は標準ライブラリにはありません。
>>66
Micro$oft曰く、
I Don't NET Lonliness 君のLonliness♪
>>66>>63にかけてんだよ!
76デフォルトの名無しさん:04/04/12 15:05
int x=3.14;
float i=x;
なぜjavaでは、これだとエラーになるんですか。
>>76
3.14はfloatだから、intの変数であるxに代入できない。
>>76
それってCとかだとコンパイル通るけど意図した動きにはほど遠いんじゃないか?
ワーニングレベルにもよるかもしれんが。
79デフォルトの名無しさん:04/04/12 15:29
そもそも、float x=3.14; ってできるの。
double x=3.14だったら、okだったような。
>>79
float x=3.14f;
にしないとだめだな。
何も付けない小数値はdouble扱いなのね。しらんかった。
8172:04/04/12 16:12
>>73
標準ライブラリーにないのは承知しておりますが、VBやVC等でやるような回避方法がないかなと思ったのですが。

タイマーで待たせるくらいしかないですかね。
>>72
漏れがやったときは、アプリが起動後に標準出力にメッセージ出してたので、
メッセージを読み終えるのを別スレッドで待ってた。
よろしくおねがいします。

J2EE 1.4 SDK のフルキット 130MB をダウンロードして実行すると、
インストールの途中、しばらくして以下のエラーダイアログがポップしてインストールが失敗してしまいます。

┌────────────────────────────────────────────────────┐
│彡田WindowsNativeToolkit_3.0.2_1.exe - エントリ ポイントが見つかりません [×] │
├────────────────────────────────────────────────────┤
│                                                                              │
│ (×)    プロシージャ エントリ ポイント GlobalMemoryStatusEx がダイナミックリンク ライブラリ KERNEL32.dll から見つかりません。    │
│                                                                              │
│                                                                              │
│                                   [ O K ]                                   │
│                                                                              │
└────────────────────────────────────────────────────┘
環境は、Windows NT 4.0 Server SP6a IE5.5 ( IE4のデスクトップ統合あり ) です。

DCOMCNFGでの見直し、Windows Installer 2.0 の再インストールなどもやってみましたが状況に変化ありません。

NT 4.0 はサポート内かとおもうのですが、Server は対象外なのでしょうか?
このエラーに対処し J2EE SDK をインストールすることはできるのでしょうか?

以上、どうぞよろしくご教示お願いいたします。
>>85

ありがとうございました。。 _| ̄|○
あのぅ

txtエリアに入力された文字を所得する方法を
教えていただけませんか?
TextAreaクラスが継承しているTextComponentクラスのgetText()メソッド
選択されている文字列の場合はgetSelectedText()メソッド
8987:04/04/12 21:35
>>88
そのメソッドの使い方は

JTextArea jta = new JTextarea( , 3, 20);

String str = jta.getText();
ってな感じでおk?
( ´-`)。。o(自分でやってみれば2分でできることをわざわざ質問する奴の精神はどうなっているんだろう?)
9188:04/04/12 22:19
おいらはSwingは知らないけれど、
それでいいんじゃないのかな。
92デフォルトの名無しさん:04/04/12 22:38
Windows で Runtime.exec() 使って外部コマンドを起動してるんだけど、
起動のたびに「ちらっ」とコマンドプロンプトウィンドウが出てしまう
環境があるみたい。これを消す方法はありますか? また「この環境では
出るよ」というような一覧情報はどこかにありませんか?
>>84
JBoss使え。
それかOSをLinuxとかに汁。
94デフォルトの名無しさん:04/04/13 00:20
あっ、外部コマンドのことが出てるので
僕も便乗して・・・

外部コマンドでバッチを起動して、
バッチの処理が終わったかどうかを
判断する必要がある場合、
みなさんはどのように対応されてますか?
Process#exitValue()を実行してIllegalThreadStateExceptionが起きたらまだ動いている、とか。
Javadoc読んだだけなのでこれでできるかどうかは知らない。
9694:04/04/13 01:00
java.lang.ProcessのwaitFor()っちゅうのは
外部コマンドで起動したプロセスを監視してくれるって
ことでっしゃろか?
「必要な場合に、この Process オブジェクトが表すプロセスが終了するまで
 現在のスレッドを待機させます。」
と、ありましたので・・・・。
9794:04/04/13 01:02
あっ
95番さんの方法もなんかよさげ・・・。
普通に標準入出力使って会話する、と言う話にならんのはなんででしょ。
9994:04/04/13 01:23
>>98
標準入出力で会話をするとなると、
外部プロセスの呼び出し元は
スレッドを利用して待機して、
呼び出しプロセスから
終了の通知がきたら、
処理を終了するって
感じでよろしいのでしょうか?
unix に慣れてる人だと
標準入出力 (というか一般にパイプ) を使った
通信ってのは当たり前にやってることなんだがなあ。

まあ外部コマンド使うなら Java なんか使わず
最初からシェルスクリプトでやっちゃうか。
終了タイキならWaitFor()でエエンチャウの。フォークして女陰みたいなもんです。

外部プロセスの途中の状態を逐一監視したい場合、外部プロセ側でなにかStdoutに文字列デモはかせるよう
にして、Process#getInputStraem()で取り出せるパイプからJava側にバッチのメッセージ読ませてどうに
かするといいんじゃないとか、そういう話。ソケット経由でもいいけどさ。
Javaからバッチ呼ぶときって、気をつけないと、バッチがstdout、stderrに
吐き出す出力が詰まることがあるから気をつけなよ。使うかどうかは別にして、
Process#getInputStream()が返すInputStreamへの書き込みは読み込んどいて
あげたほうが安全。
Windowsで動かした時は、このバッファはびっくりするほど小さかったよ。頭
抱えて悩んだ覚えがある。
10394:04/04/13 09:07
おはようございます。
どうもみなさん 貴重なアドバイス
ありがとうございました。

大変勉強になりました。
DOS窓からの実行でNoClassDefFoundErrorが出てしまいます
それがどうもSwingかAWT関係のようで、フレームを使わない物は実行できるんです
ぐーぐる先生に少し訊いてみたのですがSwingの命名関係でエラーが出る場合が、というものはあったのですが
それは1.2.0時代のものでして、確証が持てませんでした。
いつもはEclipseを使っていて、こちらではエラーが出ません、これは何故なんでしょうか?
環境はWinXP+JDK1.4.2_03です
>>104
stacktrace 全部コピペしろ。
106104:04/04/13 11:02
JDK入れなおしてもう一度一から設定しなおしたら動きました・・・
なんだったんだろう、すいません(つдT)
>>106
簡単に考え付くのでは、複数のJDKを新しい奴->古い奴の順で入れて
インストール時に C:\windows とかにコピーされる java.exe と javaw.exe を消してない、とか。
108デフォルトの名無しさん:04/04/13 18:51
ちょっこす教えてもらいたいんですけど。
DDE(Dynamic Data Exchange)コマンドを送信されたものを受信できますか?
そんなのは無理?

10987:04/04/13 19:25
すみません、ご迷惑をおかけして
>>90サン
そう思われても仕方ないですね
>>88サン
こんなくだらない質問にわざわざ答えていただき
ありがとうございます
DDEってWin16で使われていたヤツか
懐かしいな
ま、JNIで普通に使えるだろ
111デフォルトの名無しさん:04/04/13 20:56
質問ですが、US版のjavaはシングルバイト仕様なんですか?
日本語アプレットを使った後でキャスティングの切り捨てが
(バグ)あるような気がするんですが。
>>111
どんなコード?
113デフォルトの名無しさん:04/04/13 21:06
どなたか JavaMail つかって
charset=iso-2022-jp で、
ローマ数字とか、丸数字とか出せた方いますか?

機種依存文字使うなってのもわかっているんですが、
メーラー to メーラー で、
普通に機種依存文字の受け渡しできるから、
JavaMailでもできるんじゃないかと思って。

とりあえず、
s.replace('\u2160', '\u2d35');
とかやって、対比表作ってやってもだめでした。

>>108
http://www.softhema.de/jpa/
http://www.nevaobject.com/_docs/_javadde/JavaDde.htm
一応既存のものもあるみたい。そこだけJNIで自作が早いかと。
115デフォルトの名無しさん:04/04/13 21:18
質問よろしいでしょうか。
配列に要素を加えるのって
Hairetsu.add(nullpo);
とかですけど、逆に配列から要素を取り除く記述ってありますか?
戻り値って何ですか?
プログラムのmain()メソッドの戻り値がvoid、というのが、
さっぱりわかりません。
>>113
> charset=iso-2022-jp で、
> ローマ数字とか、丸数字とか出せた方いますか?
ISO-2022-JP にはそれらの文字は含まれない。

例えば MS932 とかの「ローマ数字とか、丸数字」が使えるエンコーダを使って、
その出力を SJIS -> JIS 変換するとか、似たような事する既存のコード探すとかしてください。
>>115
> 配列に要素を加えるのって
array[index] = val; //設定
val = array[index]; //取得

> Hairetsu.add(nullpo);
配列型 には add() なんてメソッドは無い。
配列型にあるのは public なメソッド clone() と public final int なフィールド length のみ。
>>118
あとは Object で定義されてるメソッドだけね。
120デフォルトの名無しさん:04/04/13 21:37
自分のサイトに来た人がどのサイトからきたってのをログに書きたいんだけど
そんなメソッドなかったっけ?教えてください。
>>116
> プログラムのmain()メソッドの戻り値がvoid、というのが、
void はメソッドの戻り値が無い事を示すマーカー。
122デフォルトの名無しさん:04/04/13 21:39
>>110
>>114
JNIでやってみまうす、センキューです。
123デフォルトの名無しさん:04/04/13 21:48
>>116
public static void main(String args[]){
int a = kakezan(6,8);
System.out.println(a);

}

//ユーザー定義メソッドkakezan();戻り値aになる
private int kakezan(int a,int b){
retrun a*b;
}
このプログラムで説明するとmainメソッドで戻り値指定してもコンパイルエラーになる。たとえmainメソッドでリターンできたとしても受け取るところがないので
voidになる。
124116:04/04/13 22:07
>>121 
>>123
さん、ありがとうございます。
125デフォルトの名無しさん:04/04/13 22:34
>>112
悪文スマソ。バグというのは言い過ぎでしょうね。むしろウィンドウズの
バグと呼ぶべきかも知れません。コードはわかりません。でも今までの
経験から言ってjava絡みのトラブルである事はほぼ間違いないのです。
日本語版と英語版の同じようなコードがあるとします。というか、
これ恐らく英語版を日本語版に拡張しただけだと思います。
日本語版を使用した後で英語版を使用し、その後さらにある特定のHPを
覗くとかなりの高確率でIEのプロパティがバグるのです。
>>125
具体的になにをしたらどーなったのか説明されないと
何がおきたのかサッパリわからん。
>>125
日本語版とか英語版って何の話?
> 経験から言ってjava絡みのトラブルである事はほぼ間違いないのです。
自力で解決できない問題に対しては自分の経験はそれほどアテにしないほうがいーぞ。
129デフォルトの名無しさん:04/04/13 22:56
javaのエディタはベクターに置いてる?
あるんじゃない?
131デフォルトの名無しさん:04/04/13 23:03
>>126
最終的にIEでブラウズする事が出来なくなります。これを解決するには
(少なくとも自分の技量では)再起動しかありません。
>>131
それは「どーなった」の部分だけど、具体的じゃない。
なんで IE でブラウズする事ができなくなるわけ?

あと日本語版とか英語版ってなんだ?
133デフォルトの名無しさん:04/04/13 23:07
んでさ、思ったんだけど、エディタとコンパイラだけでソフトって
ほんとにつくれると思いますか?
とりあえずJREのバージョンだけでも書いてくれないことには何とも言えないな。
脳内バグの可能性もあるし。
ソースが見えないというのなら、そのアプレットが置いてあるページのURLだけでも分からない?
135デフォルトの名無しさん:04/04/13 23:10
はい。ありがとうございます。見に行ってきます。
とりあえず、ぷよぷよとかみたいんでつが、、、。
136デフォルトの名無しさん:04/04/13 23:11
(訂正)
ぷよぷよとかつくってみたい
>>133
作れるかどーかは作る人による。
>>136
作れば?
>>133
作れる。とりあえずJavaスレなんでJavaに限定するが、
JavaのIDEが流行る前はみんなエディタ+JDKで作ってた。
それなりに苦労はあるが不可能ではない。
高性能なエディタとコマンドラインツールを組み合わせれば割と苦労は減る。
ちなみにこれは2年前の調査結果。
http://www.atmarkit.co.jp/fjava/survey/surbey0205/survey0205.html
で、これが去年。
http://www.atmarkit.co.jp/fjava/survey/survey0306/java0303.html
意外とエディタ使ってる人多いね。複数回答有りだからエディタのみという訳ではないと思うけど。
140デフォルトの名無しさん:04/04/13 23:17
そうなんだ、、、。

だれかフリーウエアでぷよぷよもどきつくったひとあてにメールしてみようか、、、
勉強しててもなんか霧の中を歩くようで・・・。

コマンドラインから「java Tes this is a test」と入力して次のプログラム
を実行すると、どのような出力が表示されるか。

class Test{
public static void main(String[]args){
System.out.println(args[1]);
}
}

A this
B is
C a
D test

すいません、どういうことか教えて下さい。
142デフォルトの名無しさん:04/04/13 23:21
139>>ありがとう。ページいてきたよ。
143141:04/04/13 23:22
コマンドラインから「java Test this is a test」でした。すんません。
144デフォルトの名無しさん:04/04/13 23:23
IDE
JDK

の意味がわかんないや。
情報処理用語辞典みてもきっとおいらには解らないはず
145デフォルトの名無しさん:04/04/13 23:25
>>132
それはyahooJapanのゲームです。ゲームは外国でもルールが同じ為に
コード的に本家の拡張版を作る可能性が大きいと思われます。
 
そして特定のHPとはHotWired Japanの科学ニュースのページです。
因みにNortonで広告はカットしてます。。
Java の実行環境英語版も日本語版もまったく同じ (リソースだけ違う) なんだけど。
147デフォルトの名無しさん:04/04/13 23:36
調べてきたらわかった。

ありあとう★

>>141
java クラス名 引数1 引数2 引数3 引数4
>>145
だからJREのバージョンを書けっての
150デフォルトの名無しさん:04/04/13 23:43
バージョンの調べ方がわかりません・・。
IEを使っているのなら、
「ツール」→「インターネット オプション」
「詳細設定」のタブを表示して、Java(Sun)の項目があればそこにバージョンが書いてある。
なければ、糞使えないMicrosoftVMを使っていることになる。
152デフォルトの名無しさん:04/04/14 00:03
>>151
java2 1.4.2_01 でした。
153デフォルトの名無しさん:04/04/14 00:49
自分のHPで公開しているJavaアプレットが
動作する人と動作しない人がいるようです。
どういった理由が考えられますか?
使っているJREのヴァージョンが古いと実行できないとかはあるんでしょうか?
>>111
この場合はJava Pluginの問題のような気もするが、JREのバージョンを上げてみると直ってるかも。
最新は1.4.2_04ね。

>>153
これを使って最新のJREをインストールさせれば大丈夫。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/guide/plugin/developer_guide/html_converter_more.html
Flash プラグインみたいなもんだ。
155デフォルトの名無しさん:04/04/14 01:12
>>154
http://java.sun.com/j2se/1.4.2/ja/download.html
ここのJ2SE v 1.4.2_04 JRE をインストールさせればOKですか?
すれ違い、ごめんなさい。
Javaプログラマの試験うけたことある人、教えて下さい。
試験は画面で解答していくみたいなんですけど、紙とえんぴつ
でメモとるのはダメなんでしょうか?
>>156
持ち込みはいっさいできませんが、会場で用意されているホワイトボードとペンが使えます。
詳しくはこちらのスレでどうぞ。
ttp://pc3.2ch.net/test/read.cgi/prog/1064349210/l50

>>155
最新のJREをインストールする方法という意味ではyes。
それで件の問題が直るかという意味ではしらない。
158156:04/04/14 01:32
>>157 さん、ありがとうございました。
159153:04/04/14 01:46
>>157
どうもです!
>>153
SunにはあるけどMicrosoftには無いメソッドがあったりする。
まず、自分がMicrosoft版の方で動くようにすべし。
161153:04/04/14 02:52
>>160
それはMicrosoftVMってやつですかね?
最新のJREを入れて貰えばそれで解決しますか?
162デフォルトの名無しさん:04/04/14 11:04
>>154
解決しませんでした。今のところIEは生きてますが根本的な問題は
未解決のままです。前述の操作でハンドらが死んだりとか異様にレスが
遅くなるとか正直これでは・・・という感じです。
M$はjavaでSunと裁判やってましたから細部の刷り合わせをやる気が
無いんでしょうか。実のところこのバグはjavaを外部インストールする
以前には発生しませんでした。
msの方で調整したからSUNのJavaVMで動かしたら(ネスケで)
文字が画面からはみ出した・・・
本家の方は起動も遅いし。提携する事になったらしいので
これからいろいろ改善されるのでしょうか。。。
165デフォルトの名無しさん:04/04/14 11:55
>>163
レスありがとうございます。ですがその修復では最後に再起動が
必要になりますよね。それでは意味が無いんです・・。スマソ
166デフォルトの名無しさん:04/04/14 16:09
すいませんが質問です
class Outer{
interface Inner1{
void meth1();
}
abstract class Inner2{
abstract void meth2();
}
}
class Test{
public static void main(String[] str){
Outer out = new Outer();
Outer.Inner1 in = out.new Inner1(){
public void meth1(){
}
};
Outer.Inner2 in = out.new Inner2(){
public void meth2(){
}
};
}
}
これをコンパイルしようとすると
"static クラスの new が修飾されています。Outer.Inner in = out.new Inner(){"
とエラーになります。抽象クラスを継承した無名クラスはいけるのに、
インターフェイスはだめなのでしょうか?
167166:04/04/14 16:18
ごめんなさい。in が2回でたり、エラーメッセージのInnerがなっかたり...orz
class Outer{
interface Inner1{
void meth1();
}
abstract class Inner2{
abstract void meth2();
}
}
class Test{
public static void main(String[] args){
Outer out = new Outer();
Outer.Inner1 in1 = out.new Inner1(){
public void meth1(){}
};
Outer.Inner2 in2 = out.new Inner2(){
public void meth2(){}
};
}
}
Test.java:14: static クラスの new が修飾されています。
Outer.Inner1 in1 = out.new Inner1(){
でした。
>>166
> これをコンパイルしようとすると
> "static クラスの new が修飾されています。Outer.Inner in = out.new Inner(){"

言語仕様読め。
http://www.y-adagio.com/public/standards/tr_javalang2/classes.doc.html#246853
> メンバインタフェースは,常に暗黙に staticとする。
> メンバインタフェースの宣言は,static 修飾子を明示的に並べてよいが,必要ではない。
169デフォルトの名無しさん:04/04/14 16:33
JFrame から JDialog をモードレスで開いていますが、
JFrame側にフォーカスを移しても、常に JDialogを JFrame の前面に置いておく
方法はないでしょうか?

ダイアログの方でこんなことをやってみましたが、フォーカスまでダイアログに
移ってしまい、所望の動作にはなりませんでした。

this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowDeactivated(WindowEvent e){
toFront();
}
});
170デフォルトの名無しさん:04/04/14 16:49
質問です。
変数Aがあり、配列にいくつか値が入っていて、
Aが配列の中に入っているかどうかを調べる書き方ってありますか?
>>170
Arrays#binarySearch
>>169
1.5 以降なら java.awt.Window#setAlwaysOnTop(boolean) で出来るかもしんないけど、
1.4 とかそれ以前だと無理だったと思う。
>>170
Arrays.asList(array).contains(val) とか。

>>171
binarySearch するには sort してある必要が…
>>173
おー、そうだ。
でも、それだとプリミティブ型の配列はダメだな。

プリミティブなら、sortしてbinarySearch
オブジェクトなら、Arrays.asList(array).contains(val)
かな
175166:04/04/14 17:06
>>168さん、早速のレスありがとうございます。
おぉ、そうなのね。
Outer.Inner1 in1 = new Outer.Inner1(){略};
コンパイルとおったー。
お世話になりました。
176デフォルトの名無しさん:04/04/14 17:07
>>172
どうもありがとうございます。これですね。
http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html#setAlwaysOnTop(boolean)

残念ながらウチは1.3を使わなければならないので
何かいい回避方法が見つかるまでは仕様ということで我慢してもらうことにします。
>>174
素直に org.apache.commons.lang.ArrayUtils#contains(int[],int) みたいのを使うか、作るかすればいーかと思われ。
http://jakarta.apache.org/commons/lang/api/org/apache/commons/lang/ArrayUtils.html
>>176
Windows 限定の話だけど、
http://www.freeml.com/message/[email protected]/0002364
みたいので HWND 奪って JNI で SetWindowPos するとか。
>>177
commonsはいろんなのがあるんだなぁ
InnerFrameならフレーム間の優先順位強制的に出来るけどね
181 :04/04/14 17:30
質問させてください。
WindowsでJavaをやっているのですが、
Javaで書いたプログラムを実行するには、コマンドプロンプトで
Java クラスファイル名 とやる以外に、EXE形式のように
実行ファイル形式にできませんか?
>>181
JAR にすればダブルクリックで起動しますが?
もしくは eclipse.exe とかでやってるのと同じように
java.exe(javaw.exe) をキックするだけの exe を作るとか。
実行ファイル作ってそいつがjavaをコールする
jreは実行ファイルと一緒のアーカイブに入れて配布

サイズは大きくなるものの、ユーザーから見て通常のバイナリとなんにも変わらない
184デフォルトの名無しさん:04/04/14 18:19
質問なのですが
Gifなどの画像ファイルを読み込んでソフトウェア的にスプライトで
アニメーションさせたいのですが、Win32APIのBitBlt関数のように
転送元の画像ファイルのx,y座標を指定させる方法は無いでしょうか?
実行環境ですがアプレットではなく、アプリケーションで実行したいです。
185 :04/04/14 18:21
>>182
調べたらできました。
ありがとうございます
>>169
なんでそれでモーダルにしないの?

>>184
BitBlt風に手動で書きたいなら、
java.awt.Graphics
drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
sx1, sy1がソースイメージのx,y。
>>186
大変助かりました。
ありがとうございます。
>>186
>なんでそれでモーダルにしないの?
多分 かちゅの書き込みダイアログとか
ワードのいるか(あれはregionとってあるけど)とか
あんな具合のがほしいのであろう
189デフォルトの名無しさん:04/04/14 22:33
質問です。お願いします。
SDKをインストールしようとしたら、
windowsインストーラのパッケージに問題があると出てきて、インストールできませんでした。
どうすればいいのでしょうか。
OSはwinXPです。
XPならWindowsインストーラの問題は無いと思うんだが
キャッシュ殺してダウンロードし直してみたら?
たしかSDK、netbeansとセット版のやつインストーラに
なんか問題あったよような。SDK単体版でやってみるといけるかも。
192デフォルトの名無しさん:04/04/14 23:45
189です。
何度もすいません。
>>190
用語がわかりません。
キャッシュを殺すというのはどういうことでしょうか?

>>191
インストールしたのはこれなんですが、
j2sdk-1_4_2_01-windows-i586.exe
これはSDK単体版ではないんでしょうか?
>>192
http://java.sun.com/j2se/1.4.2/download.html
ここから
j2sdk-1_4_2_04-windows-i586-p.exe
これをダウンロードしてやってみ。
キャッシュを消すという意味だろ。
ブラウザによっては再ダウンロードすればええだけで済むけど。

MD5でダウンロードしたファイルがサーバにあるものと違うものかどうかを
チェックもしてみなよ。

>>163
そんなもんがあるのか

久々にWindows処方箋でも見てみるかな。
新しいバグ修復情報がはいってるかもな
196デフォルトの名無しさん:04/04/15 00:05
public interface hoge{
//いろいろなメソッドの定義
}

というインタフェースを定義して
ほかのクラスで
hoge.class
って書いてある場合、これどういう意味があるんですか?

インタフェースをclass(オブジェクト?)と認識させるってことなのかしら?
197196:04/04/15 00:06
認識させるはちょっと言葉が悪いですよね・・・。

classに変換してるのでしょうか?
>>164
> msの方で調整したからSUNのJavaVMで動かしたら(ネスケで)
> 文字が画面からはみ出した・・・
Netscapeのほうが正しい表示をする。
IEは誤ったHTML記述を厳格にチェックしない。
W3CのサイトにいっておぬしのHTML妥当性をチェック汁。

> 本家の方は起動も遅いし。提携する事になったらしいので
> これからいろいろ改善されるのでしょうか。。。

M$向けに改造されることはないとみた。M$JVMなんてセキュリティホールは使うべきじゃない。
J2SE1.5でパフォーマンスがかなり上昇するのでそれに期待するとよろし。
>>196

> ほかのクラスで
> hoge.class
> って書いてある場合、これどういう意味があるんですか?
どう書いてあるんだよ。ソース見せろ。そのinterfaceがあるディレクトリを除いてみろ。
interfaceは何があってもinterface。

>>196
クラスおよびインターフェイスがクラスローダにロードされると、そのクラス
に間する情報を所有するjava.lang.Classクラスのインスタンスが生成されるの
でござる。ワケワカラン?

でもって、hoge.classは、インターフェイスhogeに対応するClassクラスのイン
スタンスへの参照を表現するのでござる。

内部的にはClass.forName("hoge.class")をよび出しているのとほぼ一緒。
(つうか、SunのJavacコンパイラは、この二つをほぼ同じバイトコードに変換する
んだけどね。)
201196:04/04/15 00:31
>>199
public Class unko(){
return hoge.class
}
って書いてあります。
Classを返してます。
どういうことなのでしょうか?

>>200
わけわかります!
そういうことだったんですか。
hoge.classって書かれてるところは
上に書いてあるようにClassを返していたので
納得できまました。
VK_F1等の仮想キーコードはどうやった使えるのでしょうか?
java.awt.event.KeyEventをインポートしても使えません・・・

また、これをインポートする事により、無駄に肥大するのでしょうか?
>>202
インポートしたら使えるんじゃないの。KeyEvent.VK_F1とか。

>また、これをインポートする事により、無駄に肥大するのでしょうか?
しない。インポート文は、単なるコンパイラへのヒントでしかない。
>>203
あ・・・KeyEvent,が必要だったんですね。thx
>>204
そういう書き方は、JDK1.5でのstatic import追加を待つべし。
String型をchar型に変換って出来ますか?
↑ charAtではなくて、 "u2212"という文字列(文字コード)をchar型に変換したいわけです。
208デフォルトの名無しさん:04/04/15 13:43
>>206
String str1 = new String("u2212");
char char1[] = str1.toCharArray();
System.out.println(char1);

これの事か?
>>207
char c = '\u2212';
210デフォルトの名無しさん:04/04/15 14:04
>>208-209
プロパティファイルからstring型で読み込んだ文字コード( "\u2212" )を
char型に変換してString#replace()で使用したいわけです。
早い話が、プロパティファイルで定義した \u2212(=全角ハイフン)を
別の文字に置き換えたいわけです。
何かいい方法はないものでしょうか?
>>210
自力でユニコードエスケープ展開すりゃいーじゃん。
212デフォルトの名無しさん:04/04/15 14:10
すいません。
doSomethingメソッドはどのような意味があるのでしょうか?
>>212
do something == なんかする
サンプルコードとかで頻出。
>>211
すみません、ユニコードエスケープ展開とは何でしょうか?
>>214
ユニコードエスケープを展開する事。
>>214
String str = "u86f8";
str = str.substring( 1 );
char ch = (char)Integer.parseInt( str, 16 );
>>216
ありがとうございます。出来ました。
int型を16進のstring型にするためにはどうしたらいいのでしょうか?
>>218
java.lang.Integer#toHexString(int) とか。
>>219-220
おおっ。何ていい人達なんだ!
executeQuery()で実行されたselectの結果をgetString()で取得すれば
必ずUnicodeですよね?
>>222
String は当然 Unicode でしかないが
DB の文字コードから変換するとき化けることもある
DB (EUC) から全角ハイフンを executeQuery()してgetString()して取得した文字コード見ると
ff0dなんですよ。これってシフトジスのコードであって、unicodeでは\u2212だと思うんですけど
これってどういう現象かわかります?
>>224
全角半角区別するなら \uFF0D のが正しい。
あと、ShiftJIS に FF0D は無い。

http://www.unicode.org/charts/PDF/U2200.pdf
2212 − MINUS SIGN

http://www.unicode.org/charts/PDF/UFF00.pdf
FF0D − FULLWIDTH HYPHEN-MINUS
>>224
Mac の匂いがするな。違ったらゴメン。

\ 〜 ‖ − ¢ £ ¬ ←この辺は転送中によく化ける。場合によりけり。
うしろ 6つは、301c 2016 2212 a2 a3 ac と
ff3c ff5e 2225 ff0d ffe0 ffe1 ffe2 と
2通りあって、GUI に表示されたり getBytes() で別コードになるとき、
? などになって損失したりする。
環境によって変換テーブルが違う。
SJIS の場合は実は MS932 なのでどうたらこうたらよく聞くが、EUC でもそういうのあんのかな?
それとも中間的に SJIS に変換してるのかな?俺は疎いので分からん。

環境を事細かに書けば、誰かが最適な対処法を教えてくれる。かもしれない。
>>225
主流は \u2212 だね。
\uFF0D 使ってるのは Microsoft の CP932(MS932) だけじゃないかと思われ。

詳しい事は以下を参照の事。
http://www.ingrid.org/java/i18n/encoding/ja-conv.html
質問です。
何秒間(0.01秒単位くらいで操作できると嬉しい)処理を停止するということは出来ますか?
出来るとしたらどうすればよいですか?
>>228
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Thread.html#sleep(long)
ただし、Thread.sleep(10)と実行したからといって必ず10ミリ秒後に再開するわけではない。
最低10ミリ秒だがそれより長くなる。
XP標準のVMだと抜き色付きdrawImageが壊滅的に遅いのは仕様ですか?
抜き色無しだと負荷率0〜5%なのに抜き色付けると一気に100%に迄
達してしまうのですが。。。
>>230
JDKのバージョンとImageをどうやって生成してるかが
分からないと確定的なことは言えないけれども、

抜き色ってことは1bit透明(BITMASK)だよな、
それを普通の透明、32bitRGBAかcreateCompatibleImage( .., TRANSLUCENT)とかにしてみ。
更に起動直後に
System.setProperty( "sun.java2d.translaccel", "true");
をつける。
232デフォルトの名無しさん:04/04/16 12:11
Long型の変数が 0ではなく、null の事はありますか?

ある場合は、それをどうやって判断しますか?
( a == null)

a.isNull()ですか?


プリミティブ型以外はnullがある
>>232
long型の場合はnullのことはないが、Longクラスの場合はある。
その場合、 a == nullで調べる。
235232:04/04/16 12:16
なるほど、ありがとうございました。

HTTPサーバが返すDateレスポンスの日時でDateクラスを
初期化したインスタンスを作るには、どうすればいいですか。
>>231
すみません。
JDSKは1.4.2_04-b05で、イメージはピクセルグラバーで指定色のαを0
にしてcreateImage(MemoryImageSource) で作ってました。

XP標準のVMでも2D関連使えるんでしょうか?
> XP標準のVM
って何だ? WindowsXP なら MSJVM は標準搭載されてないはずだし…
Sun の JRE 搭載してるなら発売時期によってどのバージョン持ってるか違うだろうし。
XP標準というか出荷時期によって
・MSVMあり
・MSVMなし
・sunVMあり
の3種類がメーカー品に存在する
240デフォルトの名無しさん:04/04/16 13:11
>>236
SimpleDateFormatクラスを使ってparseしろ。
WindowsUpdateでMSVMインストールされなかったっけ
242デフォルトの名無しさん:04/04/16 13:30
質問です。JAVA歴2週間ほど、VC歴は長いです。
javaで先入れ先出しのキュー構造をサポートするクラス名はなんですか?
なに?先っちょだけいれて(ry

List に add して get(0) すればそれでいいんでない?
必要に応じてスレッドセーフにして

順番だけ守って全部いっぺんに出すなら Iterator まわせばいい
244242:04/04/16 13:36
先頭の取得した物から消していくと詰めにいちいち時間がかかるので
イテレーターで回したいと思います。
>>242
JDK 1.5 以降なら java.util.Queue と実装クラス。
それ以前なら適当に拾ってくるか作るかすれ。
java.util.LinkedList
247デフォルトの名無しさん:04/04/16 14:17
BufferedImage buffer__
---
Graphics2D g = buffer__.createGraphics();
onPaint(g);
g = null;

onPaint関数内で描画を行い、
明示的にgを削除する場合ってこのようにnullでいいでしょうか?
スコープからはずれてほかのところからもリンクされてない場合
明示的にnullいれなくてもGCの対象になるからそんなことはこだわる必要ないかと
むしろイメージ関連などは使い終わったらdispose

これも必須ではないけどな
249デフォルトの名無しさん:04/04/16 14:35
onPaint直後にこの3行を含む関数を再帰処理にかける予定ですので、
スタックを積み重ねてGraphics2d gが膨大になってしまう可能性があり、
さっさと消したいと思っていました。

g.dispose();で行きたいと思います。
3行を含むってことは変数宣言箇所も含むんだから
null入れる必要はないよ
gcの対象になるタイミングがほんの少し違うだけ
>>237
そういう状況ならよほど何か深いことがなければ
単にJVMのバージョンを上げればよろし。
アプレットなら勝手に最新のVMで起動するタグができたはず。
>>236
java.net.HttpURLConnectionにはgetHeaderFieldDateがあるようだが。
252質問者@JAVA初心者 C++歴長い:04/04/16 14:54
>>250
でもjavaって宣言しただけではポインタしか出来てなくて、
BufferedImage::createGraphics()関数内部でnew Graphics2D;と作成され、
返されていると言う訳なのではないのでしょうか?

それとも単に宣言した時と、BufferedImage::createGraphics()を呼んだあとで
メモリー使用量はかわらないのでしょうか?
createGraphicsの実装部分俺は見てないからわからんが
Graphics2Dの取得をキャスト無しで使うだけの命令だから
別にメモリー多くくうとかそんなことはないはずだが

つーか、disposeいれてもいれなくても俺の作ったjavaのゲームは
そこがネックになることはなかったぞ

ゲームなんでもちろん毎フレームGraphicsガンガン取得してるぞ

>>249
> onPaint直後にこの3行を含む関数を再帰処理にかける予定ですので、
やめろ。
っつか、C++でも一定時間経過すればスタック使い切って暴走(普通はAccessViolation で落ちるとか)すんだろ。
255質問者@JAVA初心者 C++歴長い:04/04/16 15:12
>>253
なるほど、参考になりました。
でも律儀としてとりあえず入れておこうと思います。
256デフォルトの名無しさん:04/04/16 15:17
ちょっとお聞きします。
http://www.jaga.jpn.org/game/BTank3/
今このゲームやって思ったんですけど、
JAVAアプレットのプログラムって256色しか使えないのですか?
> JAVAアプレットのプログラムって256色しか使えないのですか?
いいえ。
258デフォルトの名無しさん:04/04/16 15:26
んじゃ単に軽くするため256色にしてるだけって事ですか?
そこのサイト以前もでてきたけど死ぬほど重いな
だからそのへんもあるのかと思われ

しかもそのゲームって速いマシンほど速く動くという設計がおかしいヤツだったような

javaは元々フルカラーしかなかった
今ではいろんな自由なbitの配置できる
ほとんどの場合標準で用意されているやつだけで十分だとおもうけどね
TYPE_INT_ARGBとかUSHORTとかそのへんでほとんど足りる
260デフォルトの名無しさん:04/04/16 17:13
将来JAVAアプレットがFLASH並に軽くなる可能性はありますか?
せめて今より少しでも軽くなってくれないものですかね
261デフォルトの名無しさん:04/04/16 17:33
アプレットも動作自体はそれほど重くはないが、起動に時間がかかるな。
将来的にはマシンパワーでなんとかなるんじゃ?
>>260
フラッシュみたいにアプレットがロード完了するまでJavaScriptで
てきとうにアニメーションでもしてやったらどうか。
JavaScriptとJavaアプレットの連携は簡単だからやってみたら?

JavaScriptからアプレット呼び出し。
ttp://milkyway.merseine.nu/JavaTips/tips011.html

その逆
ttp://java.sun.com/products/plugin/1.3/docs/ja/jsobject.html
263デフォルトの名無しさん:04/04/16 18:03
>>245
ついにQueueが実装されるのか。
というか、今までなぜQueueがなかったんだ?
 
>>263
誰でも List とかで簡単に Queue 作れるからじゃない?
もしくは Core API 内部では必要なかったとか。
List系あればとくにこまらんしな
266デフォルトの名無しさん:04/04/16 20:30
sex object = new manko
>>266
何をやってもコンパイルエラー
268デフォルトの名無しさん:04/04/16 21:33
勉強用にTomcatをインストールしたいのですが、
webアプリサーバの機能があるらしいので躊躇してます。

Tomcatをインストールしたら、危険なことってありますか?
(サバ板?)
>>268
セキュリティホールが見つかればその都度次バージョンが出てるし、
こまめにバージョン上げてれば大丈夫でしょう。
そんなに気になるならファイアウォール導入すれば、という話になりますが、
それは確かに板違いかな。
>>268
じゃあ、Tomcat入れて何の勉強をしたいんだよ。

一応、Webサーバとしての機能殺せるけど(mod_jk2とか使ってApacheとの連携する時とか)。
271デフォルトの名無しさん:04/04/16 22:03
javaでショッピングモールを構築したいんだけど、どれくらい工数で出来るの?
>>270
サーブレットとJSPです。
大学でJAVAやってるんですが、
どんどん先取りして勉強したいのです。
>>272
サーブレット公開するには、
HTTPD 動かさなきゃしょうがないだろうが。
>>272
ルータいれとけ
>>272
あなたには無理ですので、素直にHTMLでも勉強しててクダサイ。
>>272
勉強中はインターネットに接続しないことにすればOK
>>270
話が飛躍しますが、Tomcatを起動しなければ
ネットワークサービスを開始しないということでしょうか。

>>274
ルータとFWは入れてあります。

>>275
段落とかブロックの定義(?)は勉強中です。
>>277
お前には無理だよ。
無免許でいきなりF1マシン操縦するようなもんだよ。
少なくともあと一年は勉強してからまた来てくれ。
Q. Tomcatをインストールしたら、危険なことってありますか?
A. いいえ
tough boy
>ルータとFWは入れてあります。

FW というのは、
内側で動いている(あなた自身が動かす)サービスの詳細と
利用しているプロトコルを全て理解し、
それに基づく設定を行って初めて意味をなすことばです。

>話が飛躍しますが、Tomcatを起動しなければ
>ネットワークサービスを開始しないということでしょうか。

こんなこと人に聞く段階で、「入れてあります」なんていえねっつの。
わかんないならスタンドアロンにしたマシンで遊んでなさい。
ルータの中で遊んでる分にはぜんぜん大丈夫だよ。
>>240
ありがとうございました。
>>251
それだとテキストの日時しか得られないんですよ。
手で解析するのも何だし、そもそも解析するための
クラスが用意されてると思って質問しました。
>>284を訂正します。
すみません、それで正解でした。
286デフォルトの名無しさん:04/04/17 00:06
以下のような場面でBufferedWriterの内容を標準出力に
表示させたいんですが、何か良い手はありませんか?

(前略)
Socket     sock   = null;  //ソケット
BufferedWriter sockout  = null;

sockout = new BufferedWriter(
  new OutputStreamWriter(sock.getOutputStream()));

//以下のように様々な処理
sockout.write(method + " " + path + " HTTP/1.0\r\n");
sockout.write("Host: " + host + "\r\n");
sockout.write("Cookie: " + cookie + "\r\n");
sockout.write("\r\n");
sockout.write(query);

/** ここでBufferedWriter#flush()を呼び出す前に
* 標準出力にsockoutの内容を出力したい
*/

sockout.write("\r\n");
sockout.flush();
>>284-285はもっとシンプルな答えがありました。
HttpURLConnection#getDate()でDateクラスを初期化すれば
良かったという。

お騒がせしました。
>>286
Jakarta Commons-IOのorg.apache.commons.io.output.TeeOutputStreamを使うと吉。
289デフォルトの名無しさん:04/04/17 00:35
イメージ同士の転送方法教えて下さい。

BufferedImage dispbuff__;
BufferedImage childdisp__;
---
Graphics2D g = dispbuff__.createGraphics();
g.drawImage(childdisp__,10,10,???);

childdisp__をdispbuff__に転送したいです。
???の部分のImageObserverってわざわざ拡張クラス作らないといけないんですか?
簡単に転送する方法おしえてください。
>>289
そこ大概の使い方ならnullでいいよ
>>290
ありがとうございます。nullで行きたいと思います
292286:04/04/17 01:04
>>288
ぉおおっ!これはまさに求めていたクラスかも。
使用させていただきます。
ありがとうございます。
>>277
Tomcatは某企業が作ったIISとかいう脆弱なものとはちがって比較的安全です。
最近のLinuxディストリビューションにはインストールすると最初からTomcatが入っているものがよくあります。
294デフォルトの名無しさん:04/04/17 02:24
たすけてください。javaアプレットで
public void paint(Graphics g)
{
mainframe__.createDisplay(); //A
g.drawString("アプリケーション実行中",10,10);
}
Aの行を加えただけで、drawSringのメッセージが表示されなくなる
ばかりか、画面が更新されなくなってしまいます。
で、そのcreateDisplay関数ですが。
public final BufferedImage createDisplay()
{
 return null;
}
と、何にもしてないのです、にもかかわらずこのような現象が起きます。
これについて考えられる原因があったら教えて下さい。
すみませんmainframe__がnewされてないだけでした…
mainframe__がぬるぽになってるとか?
init()をInit()とうっかり書いてしまってオーバーライドで呼ばれなかったようです。
誰かガッとひっぱたいてください。
298デフォルトの名無しさん:04/04/17 13:08
スレ違いかもしれませんが、sunのjavaのsdkの旧バージョンが落とせる所ないでしょうか?
探しているのはj2sdk 1.3.1.05(Linux)です。

よろしくお願いします。
>>298
なぜ旧バージョンが必要なんですか?
最新版でいいんじゃないですか?
300デフォルトの名無しさん:04/04/17 13:22
    _, ,_  ガッ
  ( ‘д‘)
   ⊂彡☆))Д´) >>297
旧バージョンが必要になるってのはいろいろあるよ
たとえば1.4.2_04はNT未対応で1.4.2_03は対応してるとか
現行動いてるのが1.3だからとか

仕事してない人は常に最新版でいいだろうけどね
>>302
Javaにはバージョン間の互換性がないのですか?
Javaに限らず言語の仕様で無制限の下位互換はしてないわな。
>>304
だからこそ最新バージョンでいいんじゃないの?
上位互換してない言語ならクソだけど、
Javaに限ってそんなことないよね?
互換性が売りなんだし。
>>303
リリースノートを見れば分かるけど、ソースレベル、バイナリレベル、バグなどの非互換性はある。
最近じゃ、ISO2022-JPのデコードで無限ループになるなんていうひどいバグもあった。
1.4.2_04で直ったけど。(ttp://developer.java.sun.com/developer/bugParade/bugs/4879522.html)
>>305
たとえばすでに動いているシステムが1.3.1だったとする
それようのアプリ開発を依頼された時、君は1.4.2で開発するかい?
サーバーを1.4にあげるってのは無理だと思ってくれ

そこが分からないのならいつまでたっても平行線だ

win32だって完全な互換性はなかっただろ?
それと同じことだ
既に動いているのは1.3.1をそのまま使って
新しく作るのは1.4.2を使えば良いじゃん?
だめだこいつ・・・
>>309
なにかおかしい事言っていますか?
>>305
例えば APサーバが 1.3 以外はサポートしないとか、そういうの知らんのか?
数億円の損害が出た後、動くと思ってましたじゃすまないよ?
>>310
J2EE のようなシステムではなくてフリーの Java アプリケーションの
ようなものを言ってる?
>>312
どっちでもいっしょでしょ?
例えばサーブレット/JSPコンテナを提供してくれるフリーのレンタルサーバがあったとしよう。
君はそこを使って、自分で作ったWebアプリケーションを公開できる。
このときレンタルサーバで動くアプリケーションサーバが1.3.1_05で
動いていたとする。その場合君はどんな環境で開発する?

1. 絶対最新の1.4.2_0x。互換性?そんなもん問題になるわけねーだろ。
問題が出たらその時直せばいいや。
それにサーバの管理者が最新のSDK使わないのが悪いんだよ。

2. しょうがないので運用環境と同じ1.3.1_05。互換性の問題が気になるからな。
ホットコード置換とか便利な機能がある1.4.2系での開発をしてもいいが、
公開前にローカルの環境で互換性のテストができるよう運用環境と同じSDKは
確保しておきたい。
JREやAPIのバージョンが指定される理由は色々あるな。
>>311とか>>314のほか、既存システムが旧バージョンのJREやAPIで動いているが
互換性テストの工数を掛けたくないので古いバージョンを使うとか。
未だに1.1系 & サーブレットAPI2.0以前(JSDKとか言うんだっけ?)で動いているシステムを
サポートしている人もいるそうだし。
上位互換性あれば1.3をサポートするAPServerは1.4でも動くんじゃないの?
もしかして動かないの?
たとえ互換性が完璧であってもサポートしてない環境では動かさないもの
動かす場合は完全に自己責任

それくらいわからんか?
>>317
互換性が保障されてるなら、簡単にサポートできるはずでしょ?
サポートしないって事は何か問題あるんじゃないの?
極端な言い方すると、上位互換性が確保される限りJDKの将来のバージョンにわたって
全てサポートしますって言いきれるんじゃない?
サポートの手間とか検証とかいろんなところがからんでる

100%完全互換性がありますという発表を鵜呑みにして動くヤツはいない

どうやらちみはお子さまのようなんで社会に出てから同じ質問したほうがいいよ
鵜呑みに出来ない発表するのか!!
JAROに訴えてやる!!
>>320
今知りたいんだけど?
物知りの人はこの板にめったにいないんだから、
今聞いちゃだめかな?
別にバージョンごとの違いを完璧に把握していて、
下位互換のアプリを組むとき絶対に、上位バージョンで修正・付加されたものは組み込まない自信があるならそれでいいんでないの?

俺は開発環境自体を合わせるし、最低限運用バージョンでのテストもせず、
自分は絶対間違えないなんていってる香具師は信用すらしないが。
>>322
お前は最終的に何が聞きたいんだ。明確に言ってくれ。
物知りの人と同等とは云わずとも 相応の知識(常識)がないと
「話」ちうものは理解できないのよ
ここは初心者質問スレだよ? 質問の仕方は理解してるか?
327デフォルトの名無しさん:04/04/17 17:59
javaアプレットについて質問させていただきます。
---
abstract public class AppletMsgBase extends Applet implements MouseListener
abstract void onInitApplet(Frame mainframe);
このクラスをpackage test;に含め、.classファイルを作成しました。
---
その後
import test.*;
public class CrtEditApp extends AppletMsgBase
のクラスを作成し、仮想関数もしっかりオーバーライドしました。
---
その継承クラスをコンパイルしたら
> CrtEditApp.java:3: CrtEditApp は abstract として宣言する必要があります。
> onInitApplet(test.Frame) を test.AppletMsgBase で定義しません。
> public class CrtEditApp extends AppletMsgBase
^
となりコンパイル出来ません、基本クラスをパッケージに含めずに同じディレクトリで
同時にコンパイルした場合きちんとパスします。一体何がいけないのでしょうか?
>>326
機嫌を損なわないように丁寧な話し方をするように気を使うんだろ?
329デフォルトの名無しさん:04/04/17 18:11
>>324
見てなかった。
互換性ないのに互換性あるっていうのはどういうことなのかが知りたい。
矛盾してると思うけど、なんか理由があるに違いないとも思う。
>>329
毎度毎度のSDKのリリースノートを見れば分かるけど、非互換性は存在する。
例えばこの辺見てみ。
ttp://java.sun.com/j2se/1.4.2/ja/ReleaseNotes.html
でも、「基本的に」互換性があるので、「互換性がある」って謳っている。
まぁ、どの業界でも互換性なんてそんなもんだ。
>>327
エラーメッセージの通りだろ。
オーバーライドしたつもりが別名メソッドになったりとか、確認すれ。
>>372
> onInitApplet(test.Frame)
このFrameもちゃんとパッケージ移動したほうを子クラスで指してる?
スーパークラスのonInitAppletにパッケージの外からアクセスできないから、
派生したクラスのonInitAppletは別のメソッドとみなされる。
protectedにすれ。
334デフォルトの名無しさん:04/04/17 19:41
基本クラスに
abstract protected void onInitApplet(Frame mainframe);
と宣言したら通りました、ありがとうございます。
C++とは何かと使い勝手が違いますねー。
C++やってたくせにオブジェクト指向もろくに理解できんかおまえは。
コンパイラは1.4.2_04を使って、-sourceとか-targetで下位互換の
コードを生成するのは何か問題があるのか?
C++も微妙だけどな。
>>336
それで解決するならいいよ

開発環境と動作環境と合わせるのは割と普通
そこがクリティカルならなおさら

検証とって確実に完全互換の部分でも金がかかるところでは俺は躊躇するけどな
>>320
お子様…人の言うことを全部信じる人
大人…自分も含めて、人間なんて(特に企業に所属する人間なんて)ウソツキの
ロクデナシばかり(いやでもそう振舞わないといけない)だということを知って
いる人

永遠にお子様で生きられたらいいのにねえ…
340デフォルトの名無しさん:04/04/18 01:08
アプレットでちらつきを無くすため更新時の画面消去を無効化する方法を
教えて下さい。
VCではOnEraseGraund()をオーバーライドするだけでしたけど、
JAVAアプレットではどうやるんですか?
341デフォルトの名無しさん:04/04/18 01:12
>>340
Javaに対する挑戦ですか?
342デフォルトの名無しさん:04/04/18 01:18
>>340
「ダブルバッファ(リング)」でぐぐってみな。
343デフォルトの名無しさん:04/04/18 01:21
Java使う人はダブルバファリング好きですよね・・・
リソース食いまくるのに・・・
なぜなんだろう?
>>343
好き嫌いっていうか、それしか方法ないから。
345デフォルトの名無しさん:04/04/18 01:25
>>343
おまえは>>340か?
好きっていうか、それ以外にちらつきを無くす方法をオレは知らない。
ダブルバッファリングは簡単だし。
346デフォルトの名無しさん:04/04/18 01:26
あぁ
Windowしかないんでしたね・・・
ページフリップそのまま使いなさい。変な作り込み入らんし軽いから。
348デフォルトの名無しさん:04/04/18 01:31
ページフリップとはいったい何のことでしょうか?
349340:04/04/18 01:35
質問者です。
ダブルバッファリングとはいわゆる裏画面とかバックサーフェイスとか言われる
領域のことでしょうか、
それをpaint()でぴたっと貼り付けている訳なのですが、
一瞬灰色くなってしまうためそれをやめたいのですが…
350デフォルトの名無しさん:04/04/18 01:37
>>349
上にも書いてあるけど、ググるってことを身に付けろ。
なんでもWeb上に書いてある。英語わかればなおよし。

だいたいそんな感じだけど、直接画面に描画せずに、
Imageオブジェクトを作成してそこに描画する。
画面に描画するのはそのImageオブジェクト。
351デフォルトの名無しさん:04/04/18 01:39
>>350
ということは、単に文字を表示するだけのために
Imageオブジェクトが必要になるのでしょうか?
もう少し洗練させたいです。
352340:04/04/18 01:44
質問者です。
update()関数をオーバーライドすればできることがわかりました。
いろいろと失礼しました。
353デフォルトの名無しさん:04/04/18 01:56
質問者のほうが高度な技術を持っているようですね。
いったいどういうことなんでしょうか?
>353
質問者が自己紹介して質問するわけじゃないから、
普通にあって当然だと思うけど。

それから、やろうと思えばできるけれど、作り込みで
美しくなくなったりバージョンアップ時の手間を
考えて高度な作り込みは言及しないという場合も
ある。
>>352
できたんなら、まぁいいや。
ちなみに update() を上書きしても普通はちらつき解消したりしないので。

たぶん paint() でヘンな事やってんだろーと思われ。
356デフォルトの名無しさん:04/04/18 02:06
>>354
ご丁寧にどうも。
ところで、ページフリップとはいったい何のことでしょうか?
>>343
今時は Java に限らず、普通はバッファリングして切り替えるよね。
言うほどリソースも食わんし。

昔は走査線の動きを把握して垂直同期中に書き換えるとかもしてたみたいだけど。
358デフォルトの名無しさん:04/04/18 02:15
>>357
そうですか?
.NETでは数個のコンポーネントがダブルバッファを採用したことについて議論を呼びましたが・・・
普通にバファリングするのはJavaだけの常識ではないのですか?
>>356
「ダブルバッファリング フリップ」とかでググってみれば分かると思われ。
>>358
あー、なんだ。コンポーネントが勝手にダブルバッファリングするので、
コンポーネントユーザはダブルバッファリング使わんで良いのが普通、
とかそーゆー話か?
361デフォルトの名無しさん:04/04/18 02:19
>>359
ページフリップそのまま使いなさいと書いてあるのですが?
362デフォルトの名無しさん:04/04/18 02:20
>>360
そうではありません。
今までのコンポーネントはダブルバファリングを採用していませんでした。
.NETで突然採用されたので議論を呼びました。
363デフォルトの名無しさん:04/04/18 02:24
>>360
ダブルバファリングはコストがが高いので長い間禁じ手とされてきたのです。
.NETでついに解禁されたという驚きがありました。
>>363
> ダブルバファリングはコストがが高いので長い間禁じ手とされてきたのです。
はぁ。DirectX SDK が GameSDK とか呼ばれてた頃には既に一般的な手法だったな。10年前の話だ。
365デフォルトの名無しさん:04/04/18 02:41
>>364
ゲームの画面とGUIコンポーネントはまったく別のものです。
366デフォルトの名無しさん:04/04/18 02:46
Java使いの実力が良くわかりました。
本日はどうもありがとうございました。

追伸
余計なことかもしれませんが、もう少し基本を学んだほうがいいですよ。
>>365
詭弁だな。問題はダブルバッファリングが禁じ手だったかどうか、だろ。
ダブルバッファリングは長い間一般的な手法だった。

っつか、ダブルバッファリングなんてゲーム以外ではメディアプレイヤーや、
もしくはハデなユーザインターフェイスが必要なアプリとかぐらいでしか使わんと思うが。
ダブルバッファリングよりフリップを使ったほうが良いの?
369デフォルトの名無しさん:04/04/18 03:44
BufferedReaderクラスについて教えて下さい。
・・・とその前になんで
java.io っていうやつがいるのかよくわからん。

APIには・・・文字、配列、行をバッファリングすることによって、文字型入力ストリームからテキストを効率良く読み込みます。
ってあるんだけど「バッファリング」って何のことですか?
370デフォルトの名無しさん:04/04/18 04:12
>>369
Rubyスレで聞いたほうがいいですよ。
少なくとも嘘教えられる事はないですから。
>>369
> java.io っていうやつがいるのかよくわからん。
パッケージ名ね。import java.io.BufferedReader しておけば付けなくても良い。

> ってあるんだけど「バッファリング」って何のことですか?
この場合はメモリ領域を用意しておいて、そこにあらかじめデータを読み込んでおくことで
BufferedReader のユーザがデータを小出しに読み込むときに
いちいち大元のストリームの read() を呼ばなくても良くするので効率がよくなる。
372デフォルトの名無しさん:04/04/18 04:25
>>370 さん、
>>371 さん、ありがとうございました。
ダブルバッファを知らない厨が知ったかぶりするスレはここですか?
374デフォルトの名無しさん:04/04/18 04:35
>>373
>>367とか嗤えますよね。

>もしくはハデなユーザインターフェイスが必要なアプリとかぐらいでしか使わんと思うが。
本当に何もわかっていないらしいです。
ダブルバッファってのは画面の描画が遅いときに
見えない画面に書いて一気に転送することで
書いている途中を見せないようするテクニック。
画面の描画が遅いJavaにとってはどこであれ必須のテクニック
>>375
うけるけど、言いすぎw
377デフォルトの名無しさん:04/04/18 07:46
Javaってすげーなw
378デフォルトの名無しさん:04/04/18 09:42
劣った言語だよ。
379デフォルトの名無しさん:04/04/18 09:43
一応書き直しとくか、劣った環境だよ。
380デフォルトの名無しさん:04/04/18 10:40
こんばんわ。

SunのNetBeans IDE 3.5.1に、
ドコモのiAppli開発環境のモジュール(下記)を入れたいと思います。

"iαppli Development Kit for DoJa 3.5"
http://www.nttdocomo.co.jp/p_s/imode/java/tool_foma2.html
をインストールしたいのですが、

しかし、インストールする際、ドコモのインストーラが、「NetBeans IDE 3.5.1」を認識しないので、
モジュールをインストールできません。
一応、取り扱い説明書には、「Sun One Studio4にインストールする」とかかれておりますが、
NetBeansとの違いはないので、インストールできると思うんですが…。

この辺の処理に関して、詳しい人は居ますか?
いましたら、どうやったらNetBeansにドコモのSunONE Studio4,CEモジュールがインストールできるのでしょうか?
>>380
こちらでどうぞ

NetBeans / Sun One Studio
http://pc5.2ch.net/test/read.cgi/tech/1056116495/
【Java】NetBeans vs Eclipse【IDE】
http://pc5.2ch.net/test/read.cgi/tech/1029407008/
ところでNetBeansとSun One Studioって同じものじゃないよね

一応目的は同じだけど

出来るとすればSunOneStudioを入れてから
モジュールを入れてそれを取り出してNetBeansに入れるとか

>>380
Eclipseのプラグインをつかって開発することをお勧めするよ
384382:04/04/18 11:08
同じじゃないってのは間違いでした

でもinstallされるフォルダも違うし
登録されるレジストリの違うから認識されない

と言い訳してみるw
385380:04/04/18 11:15
すんませんw
スレ違いでした。

とにかく、SunOne4をインストールしてみます。
古いっぽいですが。
たかがGUIごときで鬼の首をとったように喜んでいる厨はドトネト厨か
なんか口調がダブルバッファ君とお子さま君と似ているような気がする
たぶん釣り

388380:04/04/18 11:32
釣りじゃないよ。
マジだよ

スマン、sageます。
「GUIごとき」とかいたからってそう反応するのもオコチャマ
なんにせよここにきている人が神様とは限らない
得意分野はそれぞれあるだろうしそこからはずれるとまずダメ
今までの傾向からguiまわりとかsoundまわりは弱いね

んで、自己解決したようだけどpaintを使おうと思ったこと自体が間違い
マニュアル読めばこれもすぐに解決できるし検索すればすぐに分かる
ここはダブルバッファがどうのこうのとは別の問題
1.4からはダブルバッファが標準になったけど>Swing

まず質問者が元の環境からしてちゃんと書いてないのも問題
アプレットといっても大きく分けるとAppletとJAppletとにわかれるし
描画したいコンポーネントがどこかすら書いてない

あとよくサンプルでpaint系イベント部分で
いろいろと処理するコード書いてるのみるけどあれはやめたほうがいい
レスポンスが悪いguiになる
つーかあんまりJavaでシコシコやることでもないからな
392デフォルトの名無しさん:04/04/18 13:42
RedHat9にTelnet接続して、以下のプログラムをコンパイルして
実行すると文字化けしてしまうのですが、どうすればいいでしょうか?
----------------------------
public class HelloWorld {
 public static void main( String args[] ) {
  System.out.println("日本語出力テスト");
 }
}
----------------------------

$ java HelloWorld
?????e??
クライアントと接続先との文字コードが一致していない
これはjavaの問題じゃないぞ

こういったのは接続ソフトの方の文字コードの設定しなされ
>>393
ありがとー、ズバリですた。
FTP送信時にEUCに変換したらいけますた
395デフォルトの名無しさん:04/04/18 14:30
すんません、また質問です。

RedHat9にTelnet接続して、以下のようなプログラムをコンパイルして
実行すると文字化けしてしまうのですが、どうすればいいでしょうか?
Sjisページのソースを読み込んで表示したいのです。

--------------------------
URL sjisPage = null;
BufferedReader bufr = null;

sjisPage = new URL("http://www.msn.co.jp/home.armx");

bufr = new BufferedReader(new InputStreamReader(sjisPage.openStream()));

String line = bufr.readLine();
System.out.println(line);
--------------------------
つまりWindowsでMS932で開発してそのコードをFTPで変換して持っていった訳か
FTPクライアントソフトを信頼してない訳じゃないがあまりオススメできないな

どのマシンでも同じようにしたいのならUTF8をデフォにしたほうがいいような

そもそもtelnetで接続コンパイル(コード送ると言うことはそういうことだよね?)
ということからしてあまりいい開発環境ではない

思い切ってWindowsですべてコンパイルしてclassファイルだけ転送ってのはどうだ?
jniや細かい環境依存コード書かない限り問題になることはほとんど無いだろう
>>395
> bufr = new BufferedReader(new InputStreamReader(sjisPage.openStream()));
bufr = new BufferedReader(new InputStreamReader(sjisPage.openStream(),"SJIS"));
>>395
それはredhatとか環境に関係なく文字コード依存するために危険なコードだ
必ずsjisというのならsjisに変換すればいいだけ

ブラウザで文字コードの完全な判定が出来ないのと同じ

ちなみにこれもjavaに限った話ではなくてCだろうが.netだろうがperlだろうが同じこと

仕様(やりたいこと)を細かくあげてみそ
399デフォルトの名無しさん:04/04/18 14:56
>>398
嘘教えないって約束してくれますか?
400395:04/04/18 15:02
みなさん、レスどうもです。

>>396
Win2Kでソース書いたのをFTPで鯖に転送して
コンパイルして実行してます。
Win側でコンパイルしてからやってみますたがダメですた。

>>397
変えてみましたが、ダメですた。

>>398
最終的にはあるページのhtmlソースを取得・解析して必要部分を
テキストファイルに出力したいと思ってます。

今は、↓こんな感じで標準出力にだしてます
$java testProgram > test.log
>399
人の特定ができないのにそんな約束意味ないよ。

スターリンとヒトラーとルーズベルトの3人の話を
思い出して対応してくれ。
>>400
つまり文字コードは分かっていないってことでしょ?
自動判別も完璧じゃないし結局人の手が入ることになるよ?
ブラウザと同じ原理

servlet/jsp使っているようなところならまずcharsetがちゃんと入っているから何とかなるんだけどね


>今は、↓こんな感じで標準出力にだしてます
>$java testProgram > test.log
これ標準出力だと大丈夫でテキスト出力が化けるってこといってるの?
その書き出す文字コードが何か分かってる?
そしてそのテキストを見るのは誰?

ftpクライアントで文字コード変換して送るのはやめなされ
ms932のままで送ってコンパイル指定でms932をいれるのがいい

まずWindowsでちゃんと動いているのがLinuxではおかしくなってるのかどうかはっきりしてくだされ
Windowsで問題なく動くのがLinuxでダメという状況以前のお話な気がする
403395:04/04/18 15:21
>>402

取得先の文字コードは今回はsjis固定っす。

>これ標準出力だと大丈夫でテキスト出力が化けるってこといってるの?
標準出力も化けてます。

>その書き出す文字コードが何か分かってる?
eucですよね

>そしてそのテキストを見るのは誰?
とりあえずは私がlinux上でみれればOKです。

>ms932のままで送ってコンパイル指定でms932をいれるのがいい
了解っす。けどダメですた。

>まずWindowsでちゃんと動いているのがLinuxではおかしくなってるのかどうかはっきりしてくだされ
Winでは文字化けせず表示されます。
404デフォルトの名無しさん:04/04/18 15:40
>>403
あなたのほうが>>402より詳しいようです。
ご自分で解決されてはどうでしょう?
405395:04/04/18 16:02
>>404
がんばっていろいろ試してはいるんですけど、
なかなか直らなくて・・・お手数かけます。<m(_)m>
>>404
自分で解決できないから書き込んでるんじゃないの?
俺は402だがこの程度の問題ではさすがにつまずかないよ


文字コードはSJIS固定ならまずはバイナリ取得してみてそれ表示してみそ
それが真にSJISなのかどうか
Winで問題ないと言うところからして取得後のデータがデフォルトキャラクタセットだから
問題ないだけというように見えるな

デフォルトキャラクタセットを使っているところをよーくみてみそ
javaアプレットで鎖線の円を描きたいのですが
どうしたらよいでしょうか、ご教授願いたいのですが
408395:04/04/18 16:23
>>406
???
んーよくわからないことばかりですけどやってみます。
>>407
java.awt.BasicStrokeってのみてみそ
410デフォルトの名無しさん:04/04/18 16:28
>>406
Javaには良いデバッガがないのでしょうか?
NetBeans、Eclipse、JBuilderあたりがデフォ
もしかしてコマンドラインベースで開発していた?
>>409
わかりました、どうもありがとうございます
413デフォルトの名無しさん:04/04/18 16:42
>>411
スレッドのデバッグがしたいのですが、ちょっと困っています。
統合ツール使えばステップ実行とか変数の中身とかみれるし
そうでなくてもlogつかってトレースというのも手
415デフォルトの名無しさん:04/04/18 16:59
>>414
あのぉ・・・
初心者なので、もうちょっとわかりやすく教えていただけないでしょうか?
スレッドをデバッグしたいのですが・・・
416395:04/04/18 17:10
デキタ━━(゚∀゚)━━!
>>397さんに教えてもらったところを"shift_jis"に変えたら
いけますた。
回答くださった皆様、どうもですた。<m(_)m>

大文字小文字がサイトによって案外いい加減に書かれてましたが
一応きまってるんすね。↓

エンコーディング名別名一覧
http://www2s.biglobe.ne.jp/~katsum/java/encoding.html
417デフォルトの名無しさん:04/04/18 17:11
>>416
自己解決ですか。
すごいなぁ・・・
>>416
やっぱりただのエンコーディング問題だけだったか
ついでにいえばその取得コードは一部のコードポイントの違い「〜」とか(1)とか機種依存部分はいってる?
そのへん詳しく分かってないのならほとんどの場合MS932指定した方がいいよ
正確に言えばwindows-31jとか

注意しなきゃいけないのがSift_JISは1.4.0と1.4.1以降で扱いが違うってところかな
その参照しているページはShift_JISがms932になってるけど今は違う
419395:04/04/18 17:27
>>417
どもです。これだけレスもらって自己解決なんていえませんけどね。(^^;

>>418
もちろんしてません(ヲイ
MS932指定に変えました。

1.4.1は↓この辺ですかね。
Javaエンコーディング名別名一覧
http://www.simeji.com/wiki/pukiwiki.php?Java%A5%A8%A5%F3%A5%B3%A1%BC%A5%C7%A5%A3%A5%F3%A5%B0%CC%BE%CA%CC%CC%BE%B0%EC%CD%F7

いろいろ難しいですねーがんばります。
420デフォルトの名無しさん:04/04/18 17:28
>>418
スレッドのデバッグについて教えていただけないでしょうか?
とても困っています。
環境は?
422デフォルトの名無しさん:04/04/18 17:33
>>421
Eclipse使っていますが、他の方法でもかまいません。
スレッドのデバッグって何だろう、
と言ってみるテスツ。
NetBeansならなんの設定しなくてもブレークポイント指定すれば
そこで自動的に止まってスレッド、スタック、すべての変数が画面に出るから追いかけれると思う

正直初心者はNetBeansのほうが何も設定しなくていい分向いている気がする

Eclipse固有のデバッグ方法ならEclipseスレいったほうがたくさん答えが返ってくるかもね
425デフォルトの名無しさん:04/04/18 17:43
>>423
ブレークの条件式にスレッドを加えたいです。
インプレースリプレイスメントが使えるとなおいいのですが・・
426デフォルトの名無しさん:04/04/18 18:21
>>423
あのぉ・・・
よろしくお願いします。
そのスレッドの見たいところにブレークポイント設定すればいいんじゃ?
428デフォルトの名無しさん:04/04/18 19:18
>>427
は?
>>422
Eclipse スレ行って聞いた方が早くないか?
430デフォルトの名無しさん:04/04/18 19:32
>>429
Eclipseは、標準構成で出来ないようなのです。
たぶん、プラグインもないみたいです。
それで、別のほうほうでもしかたがないかと・・・
ブレークポイントでとめて追うのが普通のデバッグじゃないの?
432デフォルトの名無しさん:04/04/18 19:53
>>431
は?
今日も釣りがいる
ミョーな雰囲気になってきますた。
435デフォルトの名無しさん:04/04/18 20:00
>>431
特定の場所を実行するときに変数の中身を表示するだけなら、
通称printfデバッグといわれているものでも良いんですが・・・
printfサポートされるらしいですしw
>>431さんは普段printfデバッグと同じことをするために
デバッガを使われるのですか?
あほな質問だと思われるでしょうが、
初心者ですのでなにとぞよろしくお願いします。

別にデバッグできるならprintデバッグでもかまわんよ。

ただ、あらゆる変数のデータがみれる時点でデバッガのほうが便利だろ。
ステップで関しすることもできるけど、同じようなことをprintでやろうと思ったら
printをすべての行に入れなきゃならん。

どっちにしろprintデバッグがまず基本なんでデバッガがIDEでも使えないのなら
そっちでやったら?デバッガ使うことに興味ないようだし。

437デフォルトの名無しさん:04/04/18 20:04
>>436
使えるデバッガを探しています。
条件式は必須なんですけど・・・
釣りは放置で。
439デフォルトの名無しさん:04/04/18 20:26
>>438
釣りじゃ有りません。
だいぶ探したのですが見つからなくて困っています。
それで質問しました。
じゃあ、お前には無理だな
441デフォルトの名無しさん:04/04/18 20:51
>>440
使えるデバッガないですか?
>439
watchの条件式でスレッドの変数使いたいのか?

なんか話が通じてないようだよ。オレもわからん。
スレッドのデバッグがしたいって、具体的に何がしたいのか・・・・

441自身はわかってるんだろうけれど、他の人に伝わってないとこに
気づいてくれ。
横から失礼。
条件式付きブレークはできるだろ?
http://www-6.ibm.com/jp/developerworks/opensource/030711/j_os-ecbug.html
式にスレッドも書けるでしょ?そういうことではないの?
445デフォルトの名無しさん:04/04/18 21:09
>>444
これです。
どうもありがとうございました。
条件付きブレークなら最初からいってくれ
Eclipse、NetBeansともに問題なくできるぞ
たぶんJBuilderも大丈夫だろうな
447デフォルトの名無しさん:04/04/19 02:45
すいません、よくわかんないので教えて下さい。
プログラムというよりサーバー側の技術なんですけど、サーブレットで作った
HPがうまく表示されません。プロバイダはOCNのページONです。
TOMCATを自分のパソコンのCドライブの直下にいれてやるとうまくいく。(これは
ローカルの話なので関係はないのですが。。。、)
448447:04/04/19 02:48
エラーメッセージは
Method Not Allowed
The requested method POST is not allowed for the URL〜 です。
サーブレットはサーバー側で実行されるプログラムだから
サーバー側が実行出来る環境でないとムリ、
ましてはサーブレットはかなり限られていると思われ。
http://homepage3.nifty.com/uzblend/servlet/#e4
450447:04/04/19 02:54
あ、早急、レスありがとうございます。
よくわかってないのに偶然できたのを進めていったらやっぱり・・・・。
ってとりあえず、勉強不足のものにありがとうございました。
char型の値からそのUnicode表現を文字列として取得するようなAPIはありますでしょうか?
つまり'a'から"0061"を、'j'から"006A"(または006a)を得たいのです。

Cならsprintfを使うところですが、Java1.4ではどうすればいいのでしょうか?
>>451
そのものズバリはないので

String hex = Integer.toHexString(c);
String code = "0000".substring(0,4-hex.length()) + hex;

とかするなり適当にやってくれ。
 はじめまして、よろしくお願いします

 今、Java勉強しているのですが、難問にぶつかっております
@Javaで学校の時間割表をつくる
A管理者は(テキストの)Webページで入力ができる
B生徒がブラウザ上で閲覧できる

 なんですが、@のHTML(form.html)からBへの行こうがうまくできません、
jspを使って普通の掲示板の縮小(国語 など、2文字しか入力させない)から
なんどプログラムの変更をしてもTomcatが503エラーを起こします、、、

 なんかよい方法がありましたらお力添えください。。。 
454451:04/04/19 03:51
うお、Integerの中にtoHexStringがあったんですね。
Characterのメソッド調べてIntegerはスルーしてました(汗

多謝です。
基本情報処理のjavaを勉強しようと思うのですがJBuilder,Eclipseどちらがいいでしょうか?
C#しかやってないのでjavaの開発環境のことがよくわから知らないので困っています。
増えるときは急に増えるもんだね。
荒らしかこいつら
457デフォルトの名無しさん:04/04/19 10:04
>>453
Javaにこだわらず、本気でやりたい事を実現するというのなら、
現実的な解法はJavaでなくて、C#.netを使うことです。
ASP.netでは簡単にできますが、
http://www.atmarkit.co.jp/fdotnet/webmatrix/index/index.html
http://www.microsoft.com/japan/users/recipe/
フリーでもこの辺りのことは簡単にできます。
マジレスですが、どうしてもJavaにこだわらなければならない理由が
あるのなら、この便利な道具は放棄せざるを得ないでしょう。
>>411
Emacs + Amtをなめとんのかい
459デフォルトの名無しさん:04/04/19 10:35
一通り入門書を終えたんだが、次になにを勉強したら良いか
悩んでいます。
個人的にはswing、サーブレットなどが面白そうと思うんですが
仕事の需要、将来性を含めて考えると
何がお勧めですか?
自演?
>>453==>>455==>>457
>>459
仕事でするならサーブレット/JSPやEJBあたり。
サーブレット/JSPならこの本を推しておく。
ttp://www.amazon.co.jp/exec/obidos/ASIN/4844315838
これ以上は推薦図書スレのログを見るべし。
462デフォルトの名無しさん:04/04/19 10:44
>>461

参考になりました。ありがとうです。
463デフォルトの名無しさん:04/04/19 13:27
アプレットで何とかデータを保存する方法を検討しています
cgi(perl)をアプレットから呼び出して保存するという方法があることを知ってやっています。
保存処理用cgiの開発は完了しています(正常動作はブラウザから確認済み)。
しかしどうしてもアプレットからcgiをよび出すことができません。

URL url = new URL("http://hpcgi3.nifty.com/************/postsaving.cgi");
URLConnection urlconnect = url.openConnection();
urlconnect.setDoOutput(true);
OutputStream os = urlconnect.getOutputStream(); //(A)
//PrintStream pout = new PrintStream(os);
//pout.print(poststr);
//pout.close();

(A)の部分でException例外が投げられます。Exception.getMessage()で調べてみると
> access denied (java.net.SocketPermission hpcgi3.nifty.com resolve)
となっていました、サーバーから何か拒否られているのでしょうか?
なんとかサーバーにファイルを保存する手だてがありましたら教えて下さい。
ちなみにクラスファイルがあるパスは
http://homepage3.nifty.com/************/aaa.class です。
464463:04/04/19 13:28
一行目の「データを保存」は「データをサーバーに保存」の間違いです。
サンドボックス内ではアプレットと同じ鯖にしか接続できないぞ
>>463
http://hpcgi3.nifty.com/ にアプレットを置きなさい
467463:04/04/19 13:45
niftyでは
http://homepage3.nifty.com/にはcgiを置いても起動しないし
http://hpcgi3.nifty.com/に置いた物はすべてcgi(perl)と見なされてしまうようで
ためしにhtmlを置いてブラウザから見てもcgiエラーと表示されます。
ここではどう頑張ってもできないということですね。
通常のディレクトリでcgiも起動するホームページスペースを探したいと思います。
どうもありがとうございました。
>>467
cgi からアプレット渡すよーにすればいーんで無いの?
469463:04/04/19 14:02
アプレット呼び出しページ送信cgiを作って
http://hpcgi3.nifty.com/(cgiサーバー)に
print "<BODY><APPLET code='CrtEditApp.class' width='800' height='600'></APPLET></BODY>";
としてクラスファイルをカレントディレクトリに置いてみましたが、やはりclassファイルがcgiと見なされてしまうのかダメでした。
print "<BODY><APPLET code='http://homepage3.nifty.com/**********/CrtEditApp.class' width='800' height='600'></APPLET></BODY>";
としてみましたところ、やはり読み込みに失敗します、カレントディレクトリじゃないとダメなのでしょうか?
カレントディレクトリというか、ホスト名が違う
(homepage3.nifty.comとhpcgi3.nifty.com)ので
セキュリティマネージャに怒られている予感。
niftyはよく知らないんだが、「classファイルがcgiと見なされてしまう」
という問題が起きない場所でないと無理か。
>>469
使うクラスファイルを全部jarで固めて、
固めたjarの内容を返すcgiを http://hpcgi3.nifty.com/ に置いて、
print "<BODY><APPLET archive='applet.cgi' code='CrtEditApp.class' width='800' height='600'></APPLET></BODY>";
するんじゃダメかな?
472デフォルトの名無しさん:04/04/19 15:08
linuxでコマンドラインからjavaプログラムを実行しようと
してるのですが、カレントディレクトリ以外にあるプログラムを
実行しようとするとエラーになってしまいます。
クラスパスが適切でないのかと思ってはいるんですが、
Webで調べてもカレントのを実行している例しかなくて
困ってます。
最終的にはcrontabを使って定期的に動かしたいのですが
どうすればいいでしょうか?

↓現在こんな感じです。ルートから実行してます。
---------------
$ java /home/hogehoge/javaClass
Exception in thread "main" java.lang.NoClassDefFoundError: /home/hogehoge/javaClass
---------------
javaはクラス階層がディレクトリそのもの
そしてクラスパスはそのルート階層を表すもの
>>472
java -cp %CLASSPATH%:/home/hogehoge javaClass
475デフォルトの名無しさん:04/04/19 15:55
>>473-474
いけますた。ありがとうございますた。
476453:04/04/19 21:09
>>457
マジレスありがとうございました!!
 C#というもの自体今日知りました。。。
 今回はJavaの課題ということもあり、JavaとJspとHTMLだけで作業を
言われているので残念ながら、使うことはなさそうですが、
 C#の話を学校でしているとわたしが住んでいる九州ではあまりやっている人
がいないので出来ることにはこしたことないといわれましたので、
 来月あたり勉強したいとおもいます!!

 しかし、Javaって難しいですね、、、
 空白作って30ッコもコンパイルエラーるつくりました。。。。

 ありがとうございました
DBに接続する事について聞きたいのですが、接続し、その後、接続をクローズして、
また接続しようとした時、JDBCのロードや、接続をしないといけないのですか?
プーリングしろ。
479デフォルトの名無しさん:04/04/19 21:56
>>477
良くわからんが、普通DBにアクセスするときは毎回接続なんてしないと思うけど。
接続をクローズするってのはどういう状況で?
ドライバのロードは1度で十分だが、前に使ったコネクションを破棄したのなら
DriverManager.getConnection()はもう一度呼び出さないとな。
481477:04/04/19 22:31
JAVAアプリケーションの起動時にDBにアクセスして、接続をクローズしてました。
そのあと、ユーザが何か(Select)等をした時、またDBにアクセスする為に
接続をしないといけないのかなと思ってました・・・
480氏のレスで何となく分かりますた・・・
>>478、479、480
thxです
C/Sのようなアプリは接続しっぱなしってのがおおいよ
483477:04/04/19 22:45
>>482
なるほど〜、今やってるのがC/Sなんで、接続・切断を繰り返すよりも、
接続しっぱなしの方向で考えてみます。
>>483
たまに気がつかないうちに切れてることとか、なんかの拍子で切れちゃった
ようなことにも対応した方が良いかも〜。DBシンデルかもしれないし、そうでな
いかもしれないし。
485デフォルトの名無しさん:04/04/20 00:33
>>471
すばらしいヒントありがとうございます。
ためしてみるのに時間がかかってお返事遅くなりましたが、
アプレット起動htmlとjarバイナリーを送出するcgiを作成し、
全てcgiで送ってみたところサーバーセーブ用cgiにみごとアクセスすることができました。
しかしPOSTデータを送ることがまだできていません。できたら報告します。
>>484
そのへんは業務アプリだとまず作り込まない部分だな
ネットワークの切断などが起きる場合ネットワークの方をあわせるというか
サーバーが死ぬのを前提にはまずつくらんしそのへんは環境が悪いとか
ソフト開発とマシンメンテ部隊がまずべつなので縦割りのすばらしい押し付け合いが

ま、javaの場合かならずDBアクセスに例外処理書かないといけないので
スタックトレースさえ書き出していればなんとでもなるからいいが

487デフォルトの名無しさん:04/04/20 00:58
ejbのjarで、内部に依存するjarを格納させる方法ってないの?
manifest.mfのClass-Path: じゃjarの外部になっちゃうし。

earにするなり、jarに展開して格納させればいいんだけど、
できれば個々のejbのアーカイブ毎にうまく完結させたいと思って。
個別にearにして、後で複数のearをマージして一個にすべきかな。

何でWEB-INF/libがあってEJBに相当するものがないんだよ!
WebLogicだとAPP-INFなるものもあるらしいんだけど・・・
このスレに来ると自分の勉強不足を思い知らされる・・・
489484:04/04/20 01:26
>ソフト開発とマシンメンテ部隊がまずべつなので縦割りのすばらしい押し付け合いが

もうウンザリしますですよ。
企業での開発って、物自身が実現する機能の良し悪しより「責任の擦りあい」
が先にいくのですよね…
作りたくないんだったら作るな!いやいや作った挙句にゴミができるなんて、
貴重な人材資源の浪費だと思うんだよねぇ。
490デフォルトの名無しさん:04/04/20 02:18
>>487
Jar 内部に入れた Jar を読み込むクラスローダを自作すればよい。
Runnableアプレットのinitの中で、強制終了か例外を発生させるには
どうしたら良いのでしょか。
>>487
ear と application.xml
493デフォルトの名無しさん:04/04/20 11:15
JVMについて調べています。

javaアプリケーション、 javaアプレットはクライアント側でJVMが稼動している
というのは何となく解りました。
ではサーブレットの場合JVMはサーバー側かクライアント側のどちらで稼動してい
るのでしょうか?

サーバー側でネイティブコードに変換してから、クライアントにデータを送っているのか、
Javaバイトコードをクライアント側でネイティブコードに変換しているのかが解りません。

ご存知の方お願いいたします。
>>493
サーブレットはサーバ側で動く。
クライアントはサーブレットが生成するHTMLを見てるだけ。
495493:04/04/20 11:46
>>494
と言う事は、サーブレットの場合クライアント側にJVMが無くてもOKということですよね?
ありがとうございます。助かりました!
"Swing は使えないんですか?" などと追加質問してくる悪寒
ここは初心者質問相談スレですが?
498493:04/04/20 14:51
>>496
なるほど!そういう問題もありますね。
で、実際そのあたりはどうなんでしょう?

>>497
私に対してですか?
ひょっとしてこれは初心者以前の問題なのですか?
本当にJava初心者なんで、ここ以外には頼るすべが無く・・・。
>>496のことは気にしなくていいぞ
かえって混乱させるはずだ

JSP/Servletは鯖でのみ完結するからユーザーにはjavaが動いてるとかまったくわからない
というか意識させたらだめ

cgiと同じって言えばいいかな
phpやperlなどの環境はクライアントにはいれてないよね?ってこと

webなんて携帯電話でも見るわけだし
500493:04/04/20 15:07
>>499
確かにネットしている時は、そのあたりを意識した事がありませんでした。

私にも理解できる素敵な説明ありがとうございます!
501デフォルトの名無しさん:04/04/20 15:54
漏の学校に「じゃばお」っていうアダ名の奴がいた。
なぜ、そんなヘンテコなアダ名なんだ?
yoyoyoyoyoyoyoyoyoyoyoyoy
yoyoyoyoyoyoy
ジャバウォック

ジャバウォ

ジャバオ

じゃばお
503487:04/04/21 00:35
やっぱないのか・・。

>>490
それだとEJBが依存するクラスを解決できないから却下だね。
アプリ鯖によっては使えるかもしれないけど、汎用的じゃない。

>>491
現実的にそれしかない気がします。
504デフォルトの名無しさん:04/04/21 00:42
.java と ,class のアイコンがほしいんですが、
何かいいのありませんか?
Macのアイコンがかっこよかった
おれは紙に duke 君のついたアイコンを自作した
507デフォルトの名無しさん:04/04/21 15:32
VisualAgeとか、VisualCafeって、落ち目なの?
数年前の記事しか、見つからないけど。

あと、無償版か、体験版をどこかで、落とせないかなぁ。
Java IDEのトレンドは1年単位で変わります。
それらは商用製品で確かに落ち目というか絶滅危惧種

現在進行形で落ちかかってるのがJBuilder
9,10で少しまともにしようとしたが7,8での儲け主義に走って
ユーザーをかなり手放してしまった

商用系IDEはきつい時代になってると思うよ
SunやIBMみたいにベースがオープン系でそれに付加価値つけて商用にしないと
きついような気がする

JBuilderが一番GUIエディットとコードとの切り替えが楽だと思うけどね
とりあえずJSFの実装で後1年はなんとでもなるかもしれんが、その後は
フリーの実装がでてきそうだ

510507:04/04/21 16:07
>>509
サンクス、えろい人。

Eclipseとか、Forteについてのコメントもキボンヌ
FleeのIDEとしてはEclipseとNetBeansは自由に選んでいいと思う

Forte(名前が2度変わって今はJavaStudio)は一時期無料だったのが
それはもうなしなので商用版としてみるといい
こちらはIBMのWebSphereとボーランドのJBuilderと同じターゲット

経費とかの問題で10万以下の製品ということであればJBuilderかJavaStudioしか
選べないと思うけど、これらもターゲットがまた微妙に違う
JBuilderのうりは激安Togetherだと思うのでUMLまわりにポイントおきたいならそっち
JBuilderはEJBは高い方にしかないのに対して、sunのは10万きってるやつにはいってる

普通にスタンドアロンアプリ、アプレット、jdbcならそれぞれ無料の環境で出来る
どうせならfleaのIDEの方がいいなぁw
513507:04/04/21 17:02
たしかにForeeのが、いいw
ROやってるんで癖でFleeとかいちまった
'⌒ (・_・ ) ノミ
Appleはかなりクオリティ高いIDEを無償で配布してるね
サードパーティにケンカ売ってるのだろうか
簡単にGUI作れるのはいいが、JBuilderの自動生成するコードはうんこのようだ。
EclipseプラグインのVisualEditorは比較的まともなコードを吐くが重い。
かくしてJavaアプリはGUIが糞と言われるようになる。
519デフォルトの名無しさん:04/04/21 22:08
アプレットでVCのMFCのCWndのようなクラスってありますか?
JBuilderのどこがよくないの?
個人的にはデフォルトコンストラクタ必須でjbcl埋め込むのがだいっきらいで
netbeansへ逃げたけど、そこくらいしか問題ないような

イベント部分はバージョンによってはき出すコード大きく異なる
521デフォルトの名無しさん:04/04/22 00:49
>>519
FrameやJFrame使えばウィンドウは作れる。
アプレット本体は単なるコンポーネント。
ただし、アプレットの生存期間に依存しているのでページの移動すると
独立したウインドウに見えていても消える

アプレットのまま独立させたいのならwebstartが楽
あれはアプレットとアプリに対応しているから
ところで{}のブロックは
main(String[] args){
}

main(String[] args)
{
}
のどっちが正式なんですか?
>>523
言語仕様としてはどちらも正しい。
Sunの推奨は前者の方法で、{の前にスペースが入る。

main(String[] args) {
}
525523:04/04/22 11:47
>>524
サンクス
覚えときます。
526デフォルトの名無しさん:04/04/22 13:33
すいません、言語そのものの質問とは少し違うんですけど、
boolean
ってどう読めばいいんですか?
英和辞書など引けば発音がのっとるがな
>>526
ブーリアンかな?
boolはブールって読んでるけど、、、
booleanって英語じゃなかったのか・・・英和辞典に載ってなかった。
530デフォルトの名無しさん:04/04/22 14:19
>>530
おぉ!
でもここにもなかったでつよ
ttp://dictionary.cambridge.org/
>>531
Advanced Learner's はあくまでも英語学習者用辞書なので、
booleanみたいに専門用語だと載ってない場合もある。
ブールいやん
534デフォルトの名無しさん:04/04/22 20:25
ユーザに割り当てた java.seruciry.PublicKey と PrivateKey を認証情報と
一緒にファイルか DB に保存しておきたいんだけどどうするのがお作法なんでしょ?
シリアライズしてバイナリで格納で良いのかな (クラスバージョンの問題も
あるのでシリアライズしたのは恒久ストレージに入れときたくないんですが)。
>>534
java.beans.XMLEncoderなんでどうでしょう?
とんでboolean
>>534 素直にKeyStoreでしょ。
いまだとやはり>>535のいうようにXMLだろうね
log4jのログレベルを変えるためには
設定ファイルに何と記述すればよいのでしょうか?
>>539
boolean
>>476
>>457のどこがマジレスなんだ?
釣りだろ。
542デフォルトの名無しさん:04/04/23 07:32
AWTのComponentを継承して、自分でjava.awt.Buttonみたいな
部品を作りたいのですが、どこかにいいサンプルありますか?
JDKのButtonのソースを追ってみたのですが、ちょっと複雑そうなので
どこかにサンプルがあればと思いました。
543おしえてください:04/04/23 08:24
import java.awt.*;
import javax.swing.*;
public class Sample2 extends JApplet
{private JLabel lb;
public void init(){
Container cnt = getContentPane();
lb = new JLabel();
lb.setText("ようこそアプレットへ");
cnt.add(lb);}
JAVA初心者なんですけど、Container cnt = getContentPane();
のインスタンスはどこで作られるんですか?
Container cnt=new Container
cnt=getContentPane();っていうふうにしなくていいんですか?
よろしかったら教えてください。getContentPaneはオブジェクトを返すって
なってたからですか?
>>543
> JAVA初心者なんですけど、Container cnt = getContentPane();
> のインスタンスはどこで作られるんですか?
JApplet のコンストラクタかその辺。

> Container cnt=new Container
> cnt=getContentPane();っていうふうにしなくていいんですか?
しなくていい。
545デフォルトの名無しさん:04/04/23 09:59
>>542
JButton じゃなくて Button ってことはネイティブの GUI を使うって事か?
それとも JComponent でもなんでもいいから、外観を好きなようにしたいってことか?
はっきりしなさい
546おしえてください:04/04/23 10:03
>>544
その辺って、どのへん?
547デフォルトの名無しさん:04/04/23 11:52
writeint ((a+b)/cd); を字句解析したらどうなるのですか?
>>547
どこまで字句解析でやるかは人それぞれだと思うけど、
言語仕様の「字句構造」の要素に分けるとこんな感じ。

identifier : writeint
separator : (
separator : (
identifier : a
operator : +
identifier : b
separator : )
operator : /
identifier : cd
separator : )
separator : ;
PCMを再生するにはAudioClip以外ではどんな方法があるんでしょうか?

ゲームのSEを鳴らしたいのですが、AudioClipでは遅延が凄くて
タイミングが全く合いませんでした。
>549
Java Soundを使うという手があるけど。


サンプルどこにあったかな・・・・・
> ゲームのSEを鳴らしたいのですが、AudioClipでは遅延が凄くて
> タイミングが全く合いませんでした。
Javaで作る以上それは避けられない。
>>551
自分のスキルのなさ棚に上げてよく言うよ。
>>551
JavaSoundしらない人間か
Jvasounddemoでもたちあげてみろ

>>549,550
JDK1.5のJavaSoundにいくのが楽。
JavaSoundが完全にハードウェアアクセラレーションがかかるのが1.5から。
Windowsの場合、JMF使えば低遅延の音出力はずっと前から出来てたんだけど
専用APIだからねえ。
あとlinuxの場合は1.4くらいのときからエロいひとが
ALSAかなんかを使った爆速なJavaSound実装作成してる。
555ども。:04/04/23 17:05
j2sdk1.4でじゃjavax.mailはサポートしていないのですか?
Sessionでjava.lang.NoClassDefFoundErrorがでてしまいます。
ご教授願います。
556デフォルトの名無しさん:04/04/23 17:10
J2EEを入れるというのもあり。
http://java.sun.com/j2ee/1.4/download.html
>>557
あふぉー
559デフォルトの名無しさん:04/04/23 17:38
テキストコンポーネントに画像入れられないですかね?
テキストコンポーネントのDocumentオブジェクトに。
どれのことを言ってるのかわからんが
Swing だったらほとんどあらゆるコンポーネントに画像を入れられる。
でも例えばスクロールバーに入れてどうするんだって話もあるがな。
Swing遅いから嫌だな〜。
>>562
自分のスキルのなさを棚に上げてよく言うよ。
マシンスペックの低さを棚に上げてよく言うよ。
565デフォルトの名無しさん :04/04/23 21:44
JAVAでMP3とかのオンデマンド配信はどうやってやればいいですか?使用した方がいい言語・システムあれば教えてください。
JAVAでと書いてあって使用した方がいい言語を聞くのはギャグですか?
Java/RTP/RTSPとかの単語でぐぐってみる。
>>565
意味が分からない。オンデマンドならウェブサーバに置くだけじゃないの。
アンチ?
571デフォルトの名無しさん:04/04/23 22:45
アプレットで文字を入力するエディットボックスを使うにはどうすればいいのでしょうか?
また独自のエディット機能を作りたいため、それを使わず、
IMEのウインドウ(日本語入力途中に出てくるヤツ)を指定の位置で出し、
またその結果を受け取ることはアプレットでは可能でしょうか?
>>571
Javaには不可能
>>571
> アプレットで文字を入力するエディットボックスを使うにはどうすればいいのでしょうか?
java.awt.TextField(一行) java.awt.TextArea(複数行)
Swing 使う場合は javax.swing.JTextField(一行)
javax.swing.JTextArea(複数行) javax.swing.JTextPane(HTMLも描画できたり)

> また独自のエディット機能を作りたいため、それを使わず、
> IMEのウインドウ(日本語入力途中に出てくるヤツ)を指定の位置で出し、
> またその結果を受け取ることはアプレットでは可能でしょうか?
JRE 1.2 以降が必要。詳しくは java.awt.im パッケージをみてください。
>>571
この辺読んで頑張れ。

インプットメソッドクライアント API リファレンス
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/imf/api-reference.html

インプットメソッドクライアント API チュートリアル
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/imf/api-tutorial.html
>>572
自分のスキルのなさを棚に上げてよく言うよ。
俺のケツ毛の剛毛さも知らずによく言うよ。
>>575
よしよし。
釣られてるのはお前だってのにわかってないようだな>>577
>>578
そうなんですか?w
>>579
自分のスキルのなさを棚に上げてよく言うよ。
>>580
口だけは達者だな。
582571:04/04/24 00:30
>>573-574
参考になります。どうもありがとうございます。
>>548
激しくdクスです
584ぐち:04/04/24 07:27
GZIP で圧縮転送するサーブレットフィルタ作ろうと思ったけど、
Tomcat の JSP プロセッサってオリジナルの HttpServletResponse#getWriter()
で返ったやつにしか書き込めないのな。

public ServletOutputStream getOutputStream(){
  return new GZIPServletOutputStream(super.getOutputStream());
}
public PrintWriter getWriter(){
  return super.getWriter();
  // 以下だとダメらしい
// return new PrintWriter(
//   new OutputStreamWriter(this.getOutputStream(), response.getCharacterEncoding())
// );
}

下層が Writer じゃ圧縮しようがねーよ。
585デフォルトの名無しさん:04/04/24 08:49
tomcatを起動したら、環境変数の領域が足りません
ってでて、起動できません。どうしたらいいですか?
Head First Java
http://www.oreilly.co.jp/BOOK/hfjava/
これでJAVAの勉強を始めようと思うのですが
この本を買われた方はいますか?感想が知りたいです
587デフォルトの名無しさん:04/04/24 11:45
独習JAVAが最強、この一冊でJAVAのスペシャリストになれます
javaで作ったアプリケーションを、ダブルクリックで
開けるようにするにはどうすればいいんですか?

jarファイルを作っても開こうとしても、
「このファイルを開けません」としかでません。

jarを使う方法でなくてもいいので教えてください。
本一冊でスペシャリストになってしまうJAVAっていったい・・・
だいたいあれってSWINGとか扱ってないでしょ
jarファイルならWindowsかMacならダブルクリックで開くよ
環境とかかいてもらわんと
jarファイルなのに開かないんですが・・・。
環境ってこんな感じでいいですか?
Windows XP
java 2 SDK SE V1.4.0_01
Main-Class: hoge.Fuga
を指定してないんじゃ?
593デフォルトの名無しさん:04/04/24 13:33
manifestファイルで
Main-Class: mainメソッドを持つクラスのファイル名
を指定するってので合ってますか?
あってる、やってみ。
やっぱりjarファイルは作れるけど開けません・・・。
そもそもサンプルのjarとか開けるのか?SDK最新を入れ直せ。
サンプルの開けなかったので入れ直します。
お手数かけました。>>596
598デフォルトの名無しさん:04/04/24 23:12
質問があります
一度起動して処理が終了したスレッドのrunメソッド(start)をもう一度呼びたいのですが
runメソッドが起動しません何ででしょうか?

public class Test{
public static void main(String[] args){
MyThread mythread=new MyThread();
try{
for(int i;i<10;i++){
mythread.start();
mythread.join();
}
}
catch(Exception e){}
}
}

calss MyThread extends Thread{
private int count=0;
public void run(){
System.out.println("G+"+count);
count++;
}

}
>>598
一度処理が終わったスレッドを再利用することはできません。
>>598
public class Test{
public static void main(String[] args){
MyThread mythread;

try{
for(int i=0;i<10;i++){
mythread=new MyThread();
mythread.start();
mythread.join();
}
}
catch(Exception e){}
}
}

class MyThread extends Thread{
static private int count=0;
public void run(){
System.out.println("G+"+count);
count++;
}

}

で、どーよ。
>>599
そうなのですか
なんかプーリングしろといわれてどうしていいのかわからなせんでした

>>600
ええ、そういうことをスレド生成一回で済むようにしたかったんです

ありがとうございました
http://www.pandora.nu/tv/src/img20040425011147.txt
うえので、二個目のウィンドウで、メニューからやり直しを選ぶと、
固まってしまいます。
WinQuizboxのactionPerformedのAlgorithm a=new Algorithm(list);
のところにブレイクポイントを設けても、なぜか固まってしまいます。
なぜなのでしょうか。
そしてどうすればいいのでしょうか。
>>601
プーリングするなら一つ無限ループするスレッドを作っておいて
それに runnable オブジェクトを与えるようにする。
今日からJava始めましたが、サッパリ分かりません。
コンパイルできたのに、実行出来ないって、何処がいけないのでしょう?
あと↓のタグを使って作りたいんですけど、やり方わかりますか?
http://www.durius.com/
>604
おまいは数あるJava初心者向けのサイトとかを見たり、
ぐーぐる様にお願いしてみたりしたのかと
>605
初心者サイトややり方を、ぜひ教えて下さい。
御願いします
607 :04/04/25 04:29
すごい初心者で申し訳ないんですけど、
MySQLデータベースから時間を表示させたいんですけど、どうしたらいいでしょうか?
ブラウザからサーブレットを使い、データベースに時間を記録させ、再びデーターベースからその時間を取りだし、ブラウザに表示させる
っていうのを作りたい。 (要は掲示板のことです。投稿時間を表示させたい。)
で、サーブレット内で、 Date currentDate = new Date()等の時間を得るコードを使おうとするエラーが出ちゃうんですね
>606
おまいは数あるJava初心者向けのサイトとかを見たり、
ぐーぐる様にお願いしてみたりしたのかと
>>605
だからGoogleで検索したのかと、小一時間(ry
>サーブレット内で、 Date currentDate = new Date()等の時間を得るコードを使おうとするエラーが出ちゃう
import java.util.Date できてるか?

>データベースに時間を記録させ、再びデーターベースからその時間を取りだし
MySQL だけでなくたいていの DB にある日付型を使って保存、読み出しをすればいい。
java.sql パッケージの使い方を調べればだいたいわかるとおもうが
DB 自体についての質問はスレ違いなので自分で勉強しろ。
>>607
>サーブレット内で、 Date currentDate = new Date()等の時間を得るコードを使おうとするエラーが出ちゃう
実行時にエラーになるのか、コンパイル時にエラーになるのか、エラーの内容は・・・
等々、何も情報を与えようとしないで回答を求めるな。
Javaの初心者じゃなくて、質問の初心者だな、こりゃ。
Tomcatの4.1.27バージョンが欲しいんですが、Jakartaのホームページには
ありません。手に入れられる所があったら教えてください。お願いします。
613デフォルトの名無しさん:04/04/25 11:21
今日からJavaの勉強を始める入門者です
よろしくお願いいたします

高橋麻奈の「やさしいJava」って本を買ってきたのですが
その本の最初に、JDKをダウンロードしてインストールしろと書いてありました

そこでJDKのダウンロードサイトに行ったら
http://java.sun.com/j2se/1.4.2/download.html
『J2EE 1.4』と『J2SE v 1.4.2_04 SDK』と2つあったのですが
どっちをダウンロードすればよいのですか?

またこのJ2EEとJ2SEの違いは何がありますか?
(J2EEは有料とかそういうのがありますか?
無料だったら Enterprise Editionの方がいいような気がするのですが
そのあたりも教えてください)
>>613
J2SE v 1.4.2_04 SDK
>>613
JDKって表記はjava1時代のものだからその本はものすごく古いかも
今はJ2SDKだーね
>>613
君はサーバー用のソフトでも作るのかい?

J2EE はEnterprise Editionでサーバーとかデータベースとか用の機能
がついている
Javaの勉強だったらJ2SE 
617デフォルトの名無しさん:04/04/25 12:21
J2EE  サンプルムービー1.5M
J2SDK サンプルムービー300k
618デフォルトの名無しさん:04/04/25 12:22

 ――――――――――――
|  Get Real Player    |
 ――――――――――――
619デフォルトの名無しさん:04/04/25 13:23
すみません。識者の方お答え願います。

カンマ区切りのテキストファイルからデータを
読み込みたいのですが、どうやって良いものかわかりません。

123,112,223,122,241,241,241,241,2,1,21,41,241,....

見たいなファイルを読み込んで、数値毎に配列に取り込みたいんです。
とりあえず、InputStreamReaderや、DataInputStream,
InputStreamなどのAPIの詳細を調べたところ、DataInputStream
を使うのが良いのかなと思ったのですが、DataInputStreamを
使ってもEOFExceptionが出てしまってファイルの内容を
読み込む事すら出来ません。

最初の段階から躓いているようなのですが、何をどうすれば
良いのやら分からなくなってしまいました。

上記のようなファイルを一文字ずつ読み込む事は出来ました。
その1文字ずつ読み込んでいる状態を数値毎に読み込むように
するにはどうすればいいのでしょうか?

使用すべきAPIや、決まりがあるならお約束を教えてください。
>>619
java.lang.String#split
621貧乏紙:04/04/25 13:39
やれやれだ。。。
Javaだと何でもかんでもクラスやメソッドがあると思っているのか?
Cで文字操作をしたことがないのか?
もしくは、もしくはプログラムの初心者なのか?
Servletにかかわらず、Dateクラスのほとんどのメソッドは推奨されてないから
カレンダークラスを使えば。俺いつもカレンダークラスのインスタンス使って
時間を管理してるけど。
622貧乏紙:04/04/25 13:42
splitだと。こんなのあったのか?
なんでもかんでもメソッドになってるじゃん。
623620:04/04/25 13:45
new BufferedReader(new FileReader("hoge.txt"))
でBufferedReaderオブジェクトを作り、
java.io.BufferedReader#readLine
で行を読み込み、それを
java.lang.String#split
で分割ってことね。
624619:04/04/25 13:48
>>620
ありがとうございます。
splitつかってやってみます。

>>621
Cで文字操作はした事有りますけどあまり
詳しくはやったことないです。はい。
Dateクラスは使った事ないのでわからないです。
626607:04/04/25 14:17
>>610
すみません、DBで利いたらjavaで聞けと言われちゃったので。
java.sql パッケージのやり方を見ていろいろやってみます。

>>611
コンパイル時にエラーです。(シンボルは解決できません)


627デフォルトの名無しさん:04/04/25 14:27

Javaは独習Javaをやった程度の初心者です。

仕事ではVB+ADO/OO4O+Databaseでやってるんですが、
自宅でもデータベースにMSDEを使ったソフトを作りたいと
思ってます。

それでVBの将来はないので、練習も兼ねて言語にJava
使おうかと思ってるんですが、JavaからMSDEを操作する
ことのできるコンポーネント/クラスライブラリみたいなのは
あるんでしょうか?

関連する良書なんかもあれば紹介いただけると
ありがたいです。


・・・と思ったら、なんかDBの話題進行中ですね。
すんません。スレタイしか見てなかったので。
進行中かどうかは関係ないぞ

MS方面とつなげるならODBCが一番手っ取り早いかと

でもjavaでやるんだからこの際大規模にも耐えれてマルチプラットフォームな
mysqとかを勉強するのも手
インストーラで次へ次へで終わるので難しいことは特にない
ありがとうございます。

sun.jdbc.odbc
http://java.sun.com/j2se/1.3/ja/docs/ja/guide/jdbc/getstart/bridge.doc.html

この辺のコンポーネントを使えばいいのかな。
今度勉強してみます。

DBの選択ですが条件としては
・配布する際に、ユーザーが導入の敷居が低いこと
・バイナリデータ(bmp,jpeg,etc)を扱えること
を考えております。

MySQLはまったく触ったことがないのですが
調べてみたいと思います。

631602:04/04/25 15:03
誰か602の質問に答えていただけないでしょうか
ブレークポイントをその方マルメソッドの中に設定してみたら?
FEPでへんに補完されてしまった

ブレークポイントをそのメソッドの中に設定してみたら?

634602:04/04/25 15:20
やってみます
635602:04/04/25 15:29
やってみたのですが、どこでとめてやっても、どうしても固まってしまいます。
それに、起動した後に一回やるときにはまったく問題なく作動するのに、
メニューバーからやったときだけ固まってしまいます
どうしてでしょうか
その止まる場所は特定できたの?
>>602
コードを呼び出してるスレッドが違うからなんじゃない?
スレッド表示部で確認してみろ。
638602:04/04/25 15:55
>>636
できないんです
というより、問題の場所の最初の処理にブレイクポイントをつけても、固まってしまうんです。
ちなみに、ほかの場所はちゃんと動きます。

>>637
すみません、スレッド表示部って何ですか。
ググってもヘルプ見てもわからなかったんですが、
ちなみに、言い忘れましたが、環境はEclipse2.1.2です
デバッグモードデフォルトで左上のビュー
640602:04/04/25 16:07
そこにスレッド表示しかないんですが…
>>615
> 今はJ2SDKだーね
それをいうと、JSDK, JWSDKと勘違いする悪寒
642デフォルトの名無しさん:04/04/25 16:14
javaの1.4.2_04をダウンロードしてインストールしたんですが、
binフォルダにjavac.exeがありません。
また、DOS窓でjavac -helpを打っても
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
使えるようにするにはどうすればいいでしょうか?
よろしくお願いします。
>>602

とりあえずあげてあるソースを、全部持ってきて、各ファイルにばらして実行してみた。

File Not Found(manifest.txt)

と言って落ちた。
manifest.txt はどんな内容のものがあればいいのだ?
>>642
J2SE SDK のダウンロード
646ウンコマン:04/04/25 16:26
MySQLとJDBCを用いたプログラムで文字化けが発生します。

「ョ」「」「怐v「ア」「宦vなどが全て「?」でDBに保存されるのです。
以下のようにしてJavaファイルにベタ書きしても、他のファイルから
読み込んでも同じように「?」に変化してしまいます。
//───────────────────
  PreparedStatement stmt = null;
  String sql = "Insert into CUSTOMER " +
    "values(?,?,?,?,?,?,?,?,?,?,?,?,?)";
  stmt = con.prepareStatement(sql);
  int result = stmt.executeUpdate();
  stmt.setString(4, "松均");
//───────────────────
(try-catchや他の項目は省略)

このプログラムを実行した後にDBの中身を見てみると
「?松均」となってしまいます。

コマンドプロンプトで
mysql > update CUSTOMER set cName='松均' where cId=20040009312;
とするとキチンと「松均」で更新されています。

一体何が問題でしょうか?どなたかアドバイスよろしくお願いします <(_ _)>

OS:Windows2000
MySQL:mysql-4.0.18
   default-character-set=sjis
647642:04/04/25 16:26
>>643
ユーザー環境変数、システム環境変数には
それぞれ必要な変数、値は追加しておきました。
binフォルダにjavac.exeがなくてもいいのでしょうか?
>>646
外してるかも知れませんがJavaは内部コードがユニコードだから、
その辺の関係ということはないんですかね?
649602:04/04/25 16:33
http://www.pandora.nu/tv/src/img20040425163252.txt
上のような感じで。
また、ほかにも必要なファイルがあって、それも上に入れてあるので、
それをつかってください。
>>642
>javaの1.4.2_04をダウンロードしてインストールしたんですが

そのダウンロードしてインストールしたjavaは、次のうちどちらですか?

「J2SE v 1.4.2_04 SDK JVM テクノロジを含む」
「J2SE v 1.4.2_04 JRE JVM テクノロジを含む」

この質問の意味がわからない場合は、ダウンロードしたファイルの名前を教えてください。
特にファイル名の最初が、j2sdk なのか、それとも j2re なのかが重要です。
651ウンコマン:04/04/25 16:36
>>648
うーん、まさしくその絡みだとは思うんですが、
どうにもこうにも原因がよくわかりません・・・
コマンドプロンプトではうまくいくのにぃ。。。
どなたかわかる方よろしくお願いしますぅ。。
>>646
jdbc接続部分のコードあげてみそ
たぶんキャラクタセット設定がおかしいだけの気がする
653642:04/04/25 16:51
>>650
質問したときはj2reでした。
j2sdkをDLしたところうまくいきました。
お手数かけました。
ありがとうございました。
654ウンコマン:04/04/25 16:58
>>652
JDBC接続部では明示的なキャラクタセットは行っていません。。。
なんか明示的な設定が必要でしたっけ?
ConnectionManagerの中身は著作権もカラムためあんまりお店できません。。

//DBに接続
cm = ConnectionManager.getConnectionManager();
con = cm.getConnection();

//ConnectionManagerの中身の一部
con = DriverManager.getConnection(URL, USER, PASSWORD);

ちなみに、ちょっと出かけなければならなくなったので、
また夜に来ます。ほんとすいません。。。。
mysqlはURL部分に設定が必要です
これだけだとアレなので

こんな感じ
jdbc:mysql://localhost/DBName?useUnicode=true;characterEncoding=MS932
657644:04/04/25 17:11
>>602

MakeRandomNumbers() の中で、無限ループしてるっぽい。

void で、かつ引数も無いメソッドなので、これ以上デバッグしたくないな。
何が in で 何が out のメソッドなのか、ぱっと見わからん。
658デフォルトの名無しさん:04/04/25 17:48
すいません教えてください
java.net.URLConnectionで接続タイムアウト時間を指定したいのですが
どうすればよいですか?

>>658
自分でやらないと無理だと思う。
それか jakarta commons の http client でも使え。
>>658
ありがとうございます
やはり、そういうのは標準では無いのですね
Socket使うかhttp client使うかします。
661デフォルトの名無しさん:04/04/25 18:05
webappをダウンロードしたけどmod_webapp.soが無くてmod_jk2って言うのしかなかった
んだけどどうしたらいいの?
環境
WIN2000
Tomcat 5.0.19
Apache 2.0.49
J2SDK1.4.2_04
webappコネクタはもう無視していいよ
あれは使わないし、特にWin版は安定した試しがない

今はmod_jk2だけでいい
663613:04/04/25 18:20
ご回答ありがとうございます。

例えば、サーバサイトプログラムやJSPをやる場合は、
J2EEをインストールする必要があるということでしょうか?
それともJ2SEでもサーバサイトプログラムやJSPは出来るのでしょうか?

まだ勉強中なので、J2SEでOKだと思いますが
将来的にはそちら方面も勉強していこうと思っています。

つうか最近のApache2ってTomcatも一緒に入ってない?
ためしてないけど あれそのまま動くんじゃないの?
>>663
Tomcat入れればとりあえず
それ関連のJarがそろうので
J2EEをわざわざ入れる必要ない
>>660
自分でやるといっても Socket みたいな低レベルまで行く必要はなくて
URLConnection からデータを読み出す部分をスレッド化して
ある時間経っても完了しなかったら中止するようにすればいいだけ。
>>666
ありがとうございます
以前それを試したのですが
IllegalThreadStateException(だったか?)
みたいなエラーがでてしまったので
強制的に終了するのはダメなのかなと思って
あきらめてしまいました
多分僕の作り方がまずいのだとは思いますが・・・
668ウンコマン:04/04/25 21:21
>>656
どうもありがとうございます!!!
その設定で文字化けせずに全部登録することができました!!!

今までは下記のように「SJIS」と設定してました。
「MS932」とすべきだったんですねぇ・・・
これはわからなかった。

jdbc:mysql://localhost/DBName?useUnicode=true;characterEncoding=SJIS

非常に感謝感謝です。ありがとうございました。
669デフォルトの名無しさん:04/04/25 22:24
独習JAVAすげーーまじすげーよ。
JAVAを極めたまじで・・
JAVAエンジニアに転職します。
>>669
ぜひ我が社へ
極めたと思ってしまう本は糞本
>>669
デジドカになるのはやめとけ。
もっと他の職種に転職した方がいいぞ。
>>627,629
ODBCはあんまり良くないよ。MSDEはSQLServerのサブセットで機能は
ほぼ互換だからSQLServer用のJDBCドライバ使えたはず。
>>658
1.5のURLConnectionだとsetConnectTimeoutが追加されてる。
MSSQLサーバー用のJDBCはMSKKは発表してないし
あとはサードパーティの有償の物だけ

ということを考えればとりあえず動けばいいと言うのならODBCでいいかと
sdk1.3ってあたりが激しくネックになる
677デフォルトの名無しさん:04/04/26 12:38
アプレットで、動作させるときに、アプレットは初期化されてませんとでます。
コンパイルは、正常にとおっているのに
java.lang.NULLponterEXception
ってでます、ドスじょうに、なんでしょうか
678デフォルトの名無しさん:04/04/26 12:54
>>677ですが、これがソースです。イベント処理はまだやってません。
一応レイアウトだけをアプレットでだしたいのですが。
mport java.awt.*;import javax.swing.*;
public class test extends JApplet
{private JButton jb[] = new JButton[3];private JLabel jl[] = new JLabel[2];
private JTextField tf[] = new JTextField[2];private JPanel pn[] = new JPanel[2];
private JRadioButton rb[]= new JRadioButton[2];private ButtonGroup bg;
public void init(){
Container cnt = getContentPane();
jb[0]=new JButton("登録");jb[0]=new JButton("修正");
jb[0]=new JButton("完了");jl[0]=new JLabel("名前");
l[1]=new JLabel("メールアドレス");
rb[0]=new JRadioButton("男");rb[1]=new JRadioButton("女");
for(int i=0; i<tf.length;i++){
tf[i]=new JTextField();}
for(int i=0; i<pn.length;i++){
pn[i]=new JPanel();}
bg.add(rb[0]);bg.add(rb[1]);
pn[1].setLayout(new FlowLayout());
for(int i=0;i<jb.length;i++){
pn[0].add(jb[i]);}pn[0].add(rb[0]);pn[0].add(rb[1]);
cnt.add(jl[0],BorderLayout.NORTH);cnt.add(tf[0],BorderLayout.NORTH);
cnt.add(jl[1],BorderLayout.CENTER);cnt.add(tf[1],BorderLayout.CENTER);
cnt.add(pn[0],BorderLayout.SOUTH);cnt.add(pn[1],BorderLayout.SOUTH);}}
java.lang.NULLponterEXception
      ~~~~~~~~
答え:ブラウザが 1.2以上に対応してない

しかし
 コピペできない
 DOS がなんだかわかってない
 机上でデバッグできない

前途多難ですな。
あ、答えを直すの忘れた
俺も前途多難で砂 プラーン
682バカ:04/04/26 13:39
超ド級の質問します。
J2SDKをインストールしてないと、javaプログラムはwindowsで作れない?
>>682
そんなことない。他のコンパイラ使ってもいいし、
バイナリエディタで直接classファイルを書いてもいいよw
684デフォルトの名無しさん:04/04/26 13:52
質問です。
socketを使ってクライアント同士のチャットプログラムを組みたいのですが、
socketの使い方がよくわかりません。
どこかにいいサンプルとかないでしょうか?
いろんなサンプルがあるサイトといえば
http://www.hellohiro.com/
あたりかな
多少古いのもあるけどヒントになるんじゃない?
686デフォルトの名無しさん:04/04/26 14:44
配列ですけど、

String[] args;

String args[];

どっちが綺麗なんですか?
>>686
好みの問題だと思うけど、個人的には宣言するときはString[] argsのほうが
いいと思う。
>>686
>String args[];

なんでこんな書き方をJavaが認めてるんだろ。
>>686
後者はバカC++使いの保護のため
正直、そんなの無いほうがわかりやすいのにな
690デフォ:04/04/26 15:34
なぜ?みんなが推奨する書き方だと
型がたくさんあるみたいじゃん。

配列なのはargsなんだからargs[]
「String[]」で型なんだよ
[]が付いてるだけで型がいっぱいあると考えるのはバカC++使い
>>690
引数argsがString配列型なんだよ。だから

String[] args
String[] args;
-> String型の配列をargsという名前で宣言するぞ

String args[];
-> String型のargsという変数は配列だぞ

どっちでもいいんだけど、統一した方がいいとは思うな
String型なのは
args[0],args[1],args[2],...
であって、argsじゃない。
>>693
あのな、Javaでは「配列」という型があるんだよ。
C/C++みたいな、「型」の配列とは意味合いが違うの。
だから、本来は「String[] args」。どっちでもいいわけじゃない。
「String args[]」なんて書き方は689の言うとおり、
C/C++使い保護のためだけに残されているにすぎない。
>>691-693
藻前ら三角結婚汁!
どうでもいいがjdkについてくるデモ見ればどっちも使われているのが分かる
まぁ、どっちでもいいってこった


俺は変数の後ろにつけてる方を推奨するかな
Cしかしらんやつに説明するのが楽


この話題前にも出てきたな
俺は >>697 のような奴をアホと呼ぶことを推奨しよう
>>698
賛成!
>695
あのな、そんなことは百も承知なんだよ。
その上で書き方を無理矢理日本語にしてみただけだ。
いちいち噛み付く暇があったら、勉強や仕事で頑張りなさい。
[Java]
String[] args, String args[]と書いた場合、argsは配列でもなんでもない。
String配列型への参照を保持するための型。
[C/C++]
String args[]と書いた場合、argsそのものがString配列オブジェクト。

というように、扱い方が決定的に異なる。この差をはっきり明示するには、上で
示されてるように、String[] argsの方がいいと思う。
が、何をもってわかりやすいとするかは微妙な話。C/C++から移行してくる人が
実際多いんであれば、両方認める方がわかりやすいかもしれない。
初学者は混乱するかもしれないが、この辺は現状のJava利用者全体からの意見が
ないとはっきりは言えない。
>>700
どうにも反論できなくなって個人攻撃か。こいつダメだな
出来るだけユーザーの多いCのシンタックスが通じるようにと
出来たのがjavaの文法だからな

どちらでも出来る以上間違いではないし、sunのコードでも
どっちも使われているってことで別に好きなように汁

どっちかだけが正義ってことはないのさ
>>686

String[] args;

のほうが、綺麗だと私は感じる。
宣言されてる変数の型を、宣言されてる変数の名前の左側に全部書いてあるから。
たぶん私は、似たような情報は近くにまとめて書いておくほうが綺麗だと感じる性格なのだろうと思う。

String[][] args[][][];

なんていうサイケな宣言も、これはこれで面白いとは思うけど。

でも、「どっちが綺麗なんですか?」っていう質問は、なかなかイイ釣りだね。
「どっちが正しいか」「どっちがわかりやすいか」、はたまた、「どっちが正義か」などをという
元の質問の意味を読み取れない人々の下らない議論を見れて、満足した?w
釣られるものか。
706684:04/04/26 19:29
>>685
ありがとうございました。出来ました。
質問です。 よろしく、お願いします
 OS2000serverにapacheをインストールしてはいけないのですか???
 
 
>>707
そんなことはない。Apache2ならOK。
ここで聞くよりもドキュメント嫁。
読んでわからないならおまいには無理。
709デフォルトの名無しさん:04/04/26 23:46
break文とcontinue文(特にラベルつき)はソースコードが読みづらくなるから
使わない方が良いと入門書に書いてあったのですが、実際はどうなんですか?
初心者向けの本だからなんでしょうか?
>>709
誰が書いた何ていう本?
>>710
という事はそんな訳ねーだろって事でしょうか。
本屋で色々ぱらぱらめくってたら二冊ほどに書いてあったんです。
なのでタイトルとかは詳しく覚えてません。
他の書き方で代用できるから使わない方が良いとか書いてありました。
712デフォルトの名無しさん:04/04/27 00:02
初心者なモノで、頓珍漢な質問をしていたらごめんなさい

JSPやサーブレットを動かすには、WebサービスはApacheでないとダメなのですか?
IISではダメなのでしょうか?
IISの設定をいじくれば、IISでもJSPやサーブレットを動かすことは可能なのでしょうか?
ご教示ください
>>712
ApacheでもIISでもダメ。
Servlet/JSPコンテナが必要。
714デフォルトの名無しさん:04/04/27 00:05
質問です。
GoogleとかでURLがこんな感じに→%E3%81%93%E3%82%8C
変換されてますよね?
これと同じ事をJavaでやるにはどうするのですか?
ちなみにURLEncodeはバージョンが古くて使えません。
breakはswitch文には欠かせない。
でもオブジェクト指向を進めていくとswitchを使う場面はかなり限定される。

ラベルつきbreakは多重ループからの脱出に重宝する。
でも多重ループ自体を関数にわければreturnで済む。

continueもやっぱり関数にわければreturnで済む。

読みづらくなるから使わないほうがいいのではなく
読みやすく書こうとするとあまり使わなくなるというのが正解。
breakやcontinueを使うことで読みやすくなるのなら別に構わない。
>>714
> ちなみにURLEncodeはバージョンが古くて使えません。
java.net.URLEncoder.encode() じゃダメなの?
717デフォルトの名無しさん:04/04/27 00:10
>713
Servlet/JSPコンテナってのは
ここでよく言われている、TOMCATってやつですか?
718デフォルトの名無しさん:04/04/27 00:13
>>716
エンコーディング名が指定できない
continueなんて、存在さえ知らんかったw
2つ目の引数ってエンコーディング名じゃなかったっけ?
おいおいw
古いバージョンでつかえないとしても
自作もたいしたことないんだから別に作ってみてもいいのでは?
わざわざエンコードの仕方もかいてあるんだし
>722は>719へのレスざます
725デフォルトの名無しさん:04/04/27 00:20
>>720-721
JDK1.2なので1.4のAPIは使用できないのです。
>>715
よく分かりました。
どうもありがとう。
>>723
それが出来ればこんな質問しないですんでます・・・
>>727
ならしっかり
「わけあって1.2しか使えず、自作しなければいけないのですがスキルがないのです」
と書けや、ボケ。
729デフォルトの名無しさん:04/04/27 02:23
>>728
バージョンが古いって最初っから書いてあるじゃん。
自分のミスで逆切れか?
それを読んでないのは >>716, >>720, >>721 です。

>自作しなければいけないのですがスキルがないのです
私の指摘の肝はここです。これを含めて、問題点を全部かけ、と。
>>714 では言及しておらず、「標準ライブラリ以外にありませんか?」の可能性を含んでいます。
しかし自分で組めないことがわかれば、そこで初めて、
「多分クラスパス指定も覚束ないであろう」ということが推測されるわけです。
>>730
いいわけすんなよw
腐りきったやつだなw
一匹粘着がいる

 間 違 い な い !
> ちなみにURLEncodeはバージョンが古くて使えません。
・URLEncode なんてクラスもメソッドも存在しない
 →正しく書くべき
・何のバージョンが古いかわからない
 →JVMの、とはっきり記述し、どのバージョンかも明記するべき

質 問 の 仕 方 が 悪 い ん だ よ
>>733
はじめからそう言えよ
カルシウム不足なのかな?
それともキレやすい今時の日本人なのかな?
>>735

>>728は、傍目に見てもひどすぎるだろう。
むしろ叱ってる人達はえらいと思う。
737542:04/04/27 08:48
>545
たとえば
・複数行を表示できるラベル
・イメージを表示できるボタン
・「前頁」「後頁」ボタンで頁送りできるテキストエリア
みたいなものをAWTで作りたいのです。
(組み込みなのでJDKは1.1相当になります)

自分で一からつくってもいいのですが、
このあたりは誰かしらつくってそうなので、
それを使えればとおもって
738デフォルトの名無しさん:04/04/27 09:59
ひまわりスレは?
739ぉん:04/04/27 11:59
すいません この人の投稿パスを知りたいんです
http://i.z-z.jp/?yukimasa-school
いけないことかもしれませんが・・・
どうしても知りたいんです

わかっても、投稿はしないで下さいまし
740デフォルトの名無しさん:04/04/27 12:12
appletviewerでは実行できるけど、ブラウザでは実行できなくなりました。以前はでき
たのですが。ほかの場所からホームページを開くと、実行できます。
どんな問題が考えられるでしょうか? 家の環境は、javaはj2sdk1.4.1_02で、IEは
最新バージョンです。
>>740
1.4.1_02 使ってるなら、-target 1.1 付けないでコンパイルしてるので
MSJVM が読み込めないバージョンのクラスファイル吐いてる、とかじゃなくて?
WAVから着うたに変換するアルゴリズムとかって
どこで聞いたらいいですかね?
ここはなんでもありの受付スレですか
じゃあ教えてください。
.mldファイルの基本フォーマットみたいなのって公開されてないらしいんですけど、
wavを.mldに変換するにはまず何から始めればいいのでしょうか?
その辺が詳しく載ってるサイトってないですかね?
>>744
激しくすれ違いなのがわからんのか?ウセロ!
つーか、どこからこのスレに辿り着いたんだ・・・
なぜC#スレに辿り着かないんだろうか
またへんなの湧いた
749デフォルトの名無しさん:04/04/27 14:57
>>738
>わかっても、投稿はしないで下さいまし

はあああああああああああああああああああああああああああああああああああ???????????????????
今度は誤爆か?
751デフォルトの名無しさん:04/04/27 15:10
>>739のって・・・・?
まさか?
752749:04/04/27 15:30
素で誤爆してた(´・ω・`)
754デフォルトの名無しさん:04/04/27 18:00
Java3Dの話もここでいいのですか?
衝突判定を WakeupOnCollisionEntry()で行ってますが、
「衝突した」ということはイベントが発生するので察知できますが、
「衝突していない」ということを知りたいのですが、どうすればいいのかわかりません。
何かいいアイデアがあったらおしえていただけないでしょうか。
よろしくお願いします。
755デフォルトの名無しさん:04/04/27 20:24
質問ですが、
「Javaの質問箱」って本に、
アプリケーション向けのJ2SE、サーバサイドの向けJ2EEって書いてありました。
サーブレットやJSPを作るには、J2EEが必要ってことですか?
上の方見たら、TOMCATがいるとか書いてありましたが、
J2EEをインストしたら、TOMCATはいらないんですか?

J2SEがまずjavaの基本

J2EEはいわばエンタープライズ向けのライブラリだと思ってくれ

そしてそのJ2EEの一部がServlet/JSP技術なんだが
それのリファレンス実装がTomcat

Tomcatさえ入れればServlet/Jspは開発できる

そして統合環境使っているならこの辺知らないで作れる

これで分かるかな?
> そして統合環境使っているならこの辺知らないで作れる
ならいいや。
コラー!
759755:04/04/27 23:25
逆にJ2SEでなくJ2EEを入れれば
TOMCATはなくても実装できるってことですか?

あと統合環境ってのはEclipseとかのことですか?
760デフォルトの名無しさん:04/04/27 23:28
2chのサーバー運営者、夜勤こと中尾嘉宏。
サーバー屋の株式会社ゼロの社長。
「bbspink」「pink-TV」などアダルト関係のサイトの運営者。
出資法違反の前科あり(1997.05.06 共同通信記事に記載)
その他、■児童買春斡旋■、pnik-tvのログ販売などの前科あり。
怪しい( ̄ー ̄)限りなく怪しい( ̄ー ̄)
某宗教団体や某ねずみ講マルチと同じくらい怪しい( ̄ー ̄)
充分に怪しいホモっ子よりも更に数倍プロ級に怪しい( ̄ー ̄)
んで既に「北」のように怪しいタコCHと怪しい出資法違反な鯖屋の
素晴らしい組み合わせ。完璧です。120%です。精子が通り抜ける隙間も
無い完璧さです。もう誰も文句は言えません。敵はいないのです。
そのまま突き進んで空中爆発しちまいましょうヽ(´ー`)ノ
http://jbbs.shitaraba.com/computer/2095/
http://blog.livedoor.jp/hirox1492/archives/398543.html
>>759

>J2EEはいわばエンタープライズ向けのライブラリだと思ってくれ
と書いてあるとおりSEの上に積み上げる物
SEが必要なくなる訳じゃない

サーブレットコンテナを標準内蔵している統合環境というと
JBuilder、NetBeans、JavaStudio、WebSphereってところか
これらはすぐに使えるのでTomcatがどうのこうのとか考える必要はない
>>759
何をやるにしてもJ2SEは必須。
加えて、J2EE SDKやTomcat等が必要。

> あと統合環境ってのはEclipseとかのことですか?
ま、だいたいそんなところ。
OracleのインストーラーってJavaで出来てるって聞いたことがあるんですが
PCにJREがインストールされていなくても起動しますよね。
これはCD-ROM上にあるJVMを使って動作させることが可能ってことなのでしょうか?
764デフォルトの名無しさん:04/04/28 00:07
質問です。
JSPからwindow.shouModalDialog(・・・)でモーダルダイアログをたちあげ、
たちあがったモーダルダイアログからsubmitすると、
別ウィンドウが開いちゃうんですけど、
なんとか同じダイアログ上で画面遷移できないもんですかねぇ。
Win版しか知らないと変におもうかもしれんが
jre、sdkともにたんなる1ディレクトリに展開するだけ
win版以外はたんなるアーカイブのものもある

そこのbinの中のjava、もしくはjavawを実行すればすぐに使える
少しでもサイズを小さくしたいときとかreadmeなどの配布のライセンスを
見ながらケチればランタイムのサイズは多少は縮む
実際のところwebstartくらいしかけちれないと思うけどね

winのインストーラはバージョンをレジストリに登録して検索できるようにしたり
パスの通っているところに実行ファイルをおいたりしているだけ
あとはブラウザのプラグインの設定とか

つまり、そのbin/javaをコールするようなネイティブな実行形式作っておけば
ユーザーにはjavaと分からないで実行させることが出来る
もちろんautorunで実行させればoracleのようになる
>>764
まずはhtmlの動作で勉強しよう
javaとは全く関係ない部分だ
それにブラウザ依存コードだな

webアプリならスクリプトが動かない場合も想定した方がいいぞ
>>764
モーダルにiframe入れてその中にフォームを表示させろ。

そういうオスいコーディング術を身につけてどんどん糞になってくれ。
768デフォルトの名無しさん:04/04/28 00:16
>>766
ありがとうございます。そうすか。。
僕も普通の画面遷移でいいと思うんですけどね。。
ダイアログが必要な場合ってのは割と多いが
window.showModalDialog〜はIE以外はまともに動かなかった気がした

そういうときはレイヤーで処理すべき
Mozilla系でも動作確認とれていればだいたい大丈夫だろう
770デフォルトの名無しさん:04/04/28 00:19
>>767
どうもです!そうか。そういうやり方もあるのですね。
参考にさせていただきます!
771763:04/04/28 00:25
>>765
ありがとうございます、よくわかりました。
ユーザの環境に関係なく指定したバージョンのJVMで動作させることが可能ってことですね
>1-771
スレ違い
そういうこと
たとえばユーザーの環境にすでに1.3が入っていてこれをかえたくないときとか
ユーザーにjavaを意識させないとか便利に使えるよ

ランタイムのサイズとして15Mくらいあるけど、これを同梱させることによって
ネイティブアプリと同じ動きができるんだからこれは知っておいた方がいい
SwingでLAFをSystemのやつを使えばさらによし
Windowsに初めてJRE入れた。(普段はMacを使ってまつ。)
デフォルトのLAFがMetalなのに、ビクーリ。
>>774
ちなみに、デフォルトのLAFは設定で変えられる。
コネクションプールについてわかりやすい解説のあるサイトか書籍教えていただけないでしょうか
さくっと使えてざっくり拡張できて
それなりに頻度ありありのライブラリの寄せ集め
そこのご両人知りあせんか?ありあせんか??
antみたいなのは無い??
>>777
ant
>>775
あんがと。さっさと変えます。
>>777
JakartaなどのApacheサブプロジェクトを漁るべし。
>>777
jakarta-commons 配下のプロジェクト群。
ステップカウンタ「JavaNCSS」が欲しいんだが、
どっかDownloadできるトコない?

本家がさっぱり繋がらない(;´Д`)
J2SDK+QuickTime JAVA for Winでapple配布のサンプルを元に動画変換をやろうとしています。
QT6.5Proとか新しいバージョンに実装されているファイル形式でExportしたいのですが…。

MovieExporter theMovieExp = new MovieExporter (exportType);
上記変数exportTypeに直接数値をブチこんでやればよさげなのですが、
肝心の数値を探せずに煮詰まっています。どうにかコレを得る方法はないですかね…?
>780>781
すさまじい量ありました
いやーなんかjava最高、jakartaのソースってなんでこんな
おっとこ前なんですか、これ見た後、
自分の書いたソース見ると汚らしくて臭いそうですよ
こんぐらいのレベルで書きてー!!!これやばい、のめり込む
ありがとう
Commonsは誰もが何度もプロジェクトごとに書く作業を減らすってところからきてるからな

非常にシンプルでサイズが小さいのでおいやすく改良もしやすい

javaの生命線になってると思われ>Apacheの各プロジェクト
apache-ant-1.6.1 を j2sdk1.4.2_04 を入れた Windows98 で動かそうとすると、

Unable to locate tools.jar. Expected to find it in C:\J2SDK1.4.2_04\JRE\lib\tools.jar

って言われてしまいました。
そこを見ると確かに tools.jar が無いんだけど、これってふつうでしょうか?
C:\j2sdk1.4.2_04\lib の中にはちゃんと tools.jar があるのだけど、そっちを見に行ってくれてない模様。

Antが探しに行く場所が変なのか、SDKのインストールがうまくいってなかったのか、
それとも私がなんか間違ってるのか・・・。

1.4.2_04 を使ってる方、それ以外のバージョンの方、JAVA_HOME\JRE\lib\ の中に tools.jar って
入ってますか?
環境変数
JAVA_HOMEはちゃんとC:\j2sdk1.4.2_04を指している?
はい。正しくC:\j2sdk1.4.2_04を指しています。

コマンドラインで SET コマンド打ってみて、目で確認し、さらに、次のようにしてみました。

C:\>%JAVA_HOME%\bin\java -version
java version "1.4.2_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)

これだと、フルパス指定なので、間違ってれば動かないはず。。
ant1.6.1のソース見てみた。>>786のメッセージが正しいとすると
antがバグってるように見えるな。
org/apache/tools/ant/launch/Locator.java, 175行目から
String javaHome = System.getProperty("java.home");
if (javaHome.endsWith("jre")) {
javaHome = javaHome.substring(0, javaHome.length() - 4);
}
この2行目は
if (javaHome.toLowerCase().endsWith("jre")) {
だろうな。
ant.apache.orgにパッチ送ってやれ。
eclipseでデバッグするときコンソールに何を表示されなくなっちゃたのですが
どうすれば表示するようになりますか?
eclipseは最新版です。
>791
Eclipseのスレで尋ねた方が早いと思うが?

【Java/C/他】統合開発環境Eclipse M11
http://pc5.2ch.net/test/read.cgi/tech/1076074293/l50


ただし、意味不明だぞ。もう少し具体的に言った方が良いと思う。

「コンソールに何を表示されなく」はタイプミスで「コンソールに何も表示されなく」
だと思うが、もともと、コンソールに「何」が表示されるプログラムを走らせて
いたのか?
もしくはデバッグを初めてしたのだが、手順がわかってなくて、コンソールの
表示が消えてしまった際に、再度表示させる手順がわからないのか?
>>791
最新版っても「安定版の最新版」とか「開発版の最新版」とかイロイロあるし、
実はもっと新しいのが出てるとかって事もあるので、
ちゃんとバージョンナンバーを書いた方が良いぞ。
質問です。

RedHat9 に JRE 1.4.2_04 をインストールしました。
インストール先は /usr/java/j2re1.4.2_04/ です。
.bash_profileに、以下の二行を追加。

export JAVA_HOME=/usr/java/j2re1.4.2_04/
export PATH=$PATH:$JAVA_HOME/bin

ここまで一旦チェックすると

$ pwd
/home/hogehoge
$ java -version
java version "1.4.2_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)
$ echo $JAVA_HOME
/usr/java/j2re1.4.2_04/

となり、パスは通ったようです。で、Tomcat 4.1.30 をインストールしました。
インストール先は /usr/local/tomcat/ です。
で、startup.shを起動しようとしたところ

$ /usr/local/tomcat/bin/startup.sh
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program

と出て起動できません。しかし上記の通りJAVA_HOMEは設定してあります。
JAVA_HOME を /usr/java/j2re1.4.2_04 (末尾のスラッシュ削除)にしても同じ状態です。

何が悪いのかさっぱりわかりません。どなたか原因のわかる方はいらっしゃいますか?
↑自己レス:
jreじゃなくてsdk入れたらこのエラーは出なくなりました。

ランタイムだけじゃ動かないのかyp
ランタイムだけでも問題なく動くよ

もちろん追加のオプションが必要でjavacとかtoolsとか
手取ばやいのがsdk入れるってだけ
797デフォルトの名無しさん:04/04/29 14:25
質問なんですけどdllを配布する時どうやってます?

jarに含めれるんですか?検索しましたけどみつからなくって、
検索の仕方が悪い?
798デフォルトの名無しさん:04/04/29 14:52
開発環境って、どれが一番初心者に優しいですか?
>798
メモ帳などのテキストエディタ
本屋行って、開発環境の使い方の説明のある本を探して
その中で一番わかりやすく解説してる本を買って、
その本で解説してる開発環境を選ぶ。
つまり、メモ帳
802デフォルトの名無しさん:04/04/29 15:24
いや、viに決まっている。
マカならXcode
家のマシンはショボショボなので、
秀丸でマクロやら強調表示やらでコツコツ。

会社では Eclipse かな。
クラスパスに含まれていないJarを読み込んで
そのクラスを使うにはどうしたら良いんでしょうか?
クラスパスに含める
URLClassLoaderかな。
808デフォルトの名無しさん:04/04/29 18:01
みなさんは、Javaでソフト開発するとき
何か統合環境をお使いでしょうか?

EclipseとかJBuilderとかお使いなのでしょうか?

どれを使おうか今検討中です。
>>798
初心者にsdk+テキストエディタは優しくないものの
ディレクトリとパッケージの関係とかjarがどうなってるか、
classがどうなっているかを知るにはやらせておきたい

が、実際のところ仕事でもOJTという名の下に
いきあたりばったりの開発もあるからな

とりあえず成果物ができあがればいいというのであれば
初心者に優しいのはJBuilder、NetBeans、Eclipseの順かな

Eclipseはいろいろとやれる人じゃないと厳しいし、JBuilderは
いろんなところが親切でやはりNetBeansやEclipseと段違い

>>805
URLClassLoaderで好きなjarをロードできる
810デフォルトの名無しさん:04/04/29 18:11
フリーもしくは低額な金額(シェアウェア程度)で使えるなにか手ごろな、統合環境がありましたら
ご教示していただけますでしょうか?

ちなみに、VBとVC++はソフト作成の経験があります。
>>808
オフラインで教えてくれる人が普段使ってるものを選ぶのが無難。
まずはフリーのやつ試してみたら?
EclipseとNetBeansはすぐに落とせて使えるし
>>810
VBやMFCメインみたいな感じならJBuilder
VC++でロジックやコマンドラインがメインみたいな感じならEclipse
>>797
含めることは可能なんだけど、Windows自体がdll単体のファイルになっているものしか
ロードできないのでSystem.loadとかする前にどこかにdllのイメージを単体ファイルとして
書くしかないはず。
元からばらしておくほうが楽かも。
815797:04/04/29 18:51
>>814

そうですか、ちょっと気になったもので今まで通り配布することにします。
ありがとうござました。
816デフォルトの名無しさん:04/04/29 19:48
質問です。ちょっと板違いかもしれませんが。

Java アプレット を製作してます。
時折サーバにアップロードしてテストをしているのですが、
ブラウザ(Opera で確認)が勝手にアプレットをキャッシュしてしまい困ってます。
キャッシュ機能をオフ、メモリキャッシュをクリアしてもアプレットのキャッシュは消えません。

ブラウザを再起動して読み込むとアプレットがやっと更新されます。

なにかの設定(サーバ、アプレット、HTMLなど)を変更することで、こうならないようにできるのでしょうか?
アプレットは常にキャッシュされる
キャッシュの設定は各クライアントのプラグインで行う
基本的にサーバーにアップするものが頻繁に更新されるとは
思われないのでさほど問題にならない

問題になるのは開発時のみ
そこはアプレットbッユーアやコンソールでXをおせばいいのでこれも問題にならない

Webstartだとアプリだろうがアプレットだろうが
常にバージョンチェックちゃんとやってくれるので気にしなくていい
818デフォルトの名無しさん:04/04/29 23:30
JComboBoxで、アイコンも一緒に表示してるんだけど
アプリ立ち上げたときに、最初にコンボボックスに表示される文字列には
アイコンがどうしても表示されないんだけど、どうしたら良いですか?
そのアイコンのロードと設定のコードあげてから聞こうな
820786,789:04/04/30 08:27
>>790
お返事ありがとうございます。
ご指摘の変更を加えたら、ちゃんと正しい場所にある tools.jar を認識してくれました。
これで、C:\j2sdk1.4.2_04\jre\lib に投げ込んでおいた tools.jar が消せます。

> ant.apache.orgにパッチ送ってやれ。

既に、バグデータベースに入ってました。
http://issues.apache.org/bugzilla/show_bug.cgi?id=28300

リポジトリの最新のところにも取り込まれてました。
821デフォルトの名無しさん:04/04/30 12:51
久しぶりにJavaCCをいじってみようとおもってでぐぐったら
JavaCCのサイトが消えてる。

JavaCCはいまどこで扱っているのか、
どこでダウンロードできるのか知っている人いますか?

おしっこCC
>>821
https://javacc.dev.java.net/
JavaCC でぐぐればトップにでて来ると思うが。
824821:04/04/30 14:49
>>823

>ページを表示できません
>
>(中略)
>
>サーバーが見つからないか、DNS エラーです。
>Internet Explorer

ただのメンテ?
うちの環境が悪いのか?
>>824
お前の環境が悪いだけっぽい。
こっちでは正常に表示される。
>>824
https が禁止になってるとかじゃないの?
827821,824:04/04/30 15:59
>>825-826
今確認できないけど
もしそうだったら
お騒がせしてスマソ
828デフォルトの名無しさん:04/04/30 17:06
ここでいいのかわかるませんが、教えてください。

Javaアプレット内で生成したImageをPNGファイルとして保存したいのです。
独立したブラウザウィンドウを開いて、そこに一旦画像を出せば、(ユーザーが)
ブラウザのメニューから保存できると思うのです。
別のウィンドウを出すのは、getAppletContext().showDocument()でできるのですが、
そこにはURLしか渡せません。
開いたウィンドウに直にデータを書き出して、画像を表示させることはできますか?

あるいは、そもそも見当違いの方針を立てているのでしょうか?

>>828
アプレットだと、PNGとして出力・ローカルに保存するのは無理だな。
830828:04/04/30 17:31
>>829
どうもです。ナマで保存するのは無理ですが、一旦ブラウザに単独でその
PNGを表示させれば、ユーザーは「名前をつけて保存…」で保存できると
思ったのですが、だめですか?
>>830
ブラウザってのはサーバと会話するのよ。
アプレットってのはサーバになれないのよ。
なので、アプレットからブラウザに対して「PNGとして」画像を出力することはできないのよ。
CGIやServletなどのサーバサイドを絡めれば絵板みたいにしてできるけどな。
832828:04/04/30 17:46
>>831
なるほどー。目からウロコがちょっと落ちました。ありがとうございます。
一瞬「ブラウザにはファイルを表示させることもできるのでは?」と思ったけど、
それだと結局「鶏と卵」ですよね。

うーん、ユーザーに簡単な操作をさせるのはアリなので、何とかImageを
ローカルファイルに保存する手はないでしょうか?
画像をサーバー側で完全に作るというのは、できれば避けたいのです。
>>832
Alt+PrintScreenでするしか
>>828
JavaWebStartでしる!ローカルファイルにアクセスできるよ。
この辺とか面白いな。
ttp://kazaninfo.bosai.go.jp/kazan/kansoku/jisin/IzuOshima/indexI.shtml
ttp://kazaninfo.bosai.go.jp/kazan/kansoku/jisin/IzuOshima/jisinwave.jnlp
835828:04/04/30 18:06
ありがとうございます。
>>833
PNG形式の完全に制御されたbinary fileが作りたいので、パソコンに慣れて
いないユーザーということも考えると、ちょっと難しいと思います。

>>834
JavaWebStartですか。ちょっと調べてみたですが、クライアント側のインストール
が必要だとすれば、「パソコンに詳しくない人に、個々にImageを作ってあげて、
PNGでローカルに保存してもらう」という目的からいうと、イマイチみたいです。

そんなに特異なことがやりたいわけではないと思ってたんですが、サーバー側
でCGIでやるしかないのかな、と思い始めています。
>>832
>> うーん、ユーザーに簡単な操作をさせるのはアリなので、何とかImageを
>> ローカルファイルに保存する手はないでしょうか?

アプレットに署名する(signed applet)のについて調べてみ、
目的に合うかも。署名されたアプレットはファイルを書けるのでそれで普通に保存。

ユーザ画面にはアプレットがファイル書こうとしてるぞ、って表示がでるけどね。
>>835
webstartがインストール別っていつの時代だ
838デフォルトの名無しさん:04/05/01 00:21
@ITでJAVAの勉強をはじめました。
サンプルでコンパイル時にエラーが出てしまうのでどこが悪いのか
ヒントを教えて下さい。

エラーメッセージ
GeographicInfo.java:6: クラス UsingGeographicInfo は public であり、ファイル Usi
ngGeographicInfo.java で宣言しなければなりません。
public class UsingGeographicInfo {
^
エラー 1 個

コンパイルしたサンプルプログラム
class GeographicInfo {
double latitude;
double longitude;
}

class UsingGeographicInfo {
public static void main( String args[] ) {
GeographicInfo g;
g = new GeographicInfo();
g.latitude = 35.66;
g.longitude = 139.75;

System.out.println(g.latitude);
System.out.println(g.longitude);
}
}
840838:04/05/01 00:49
解決しました。
ずばりFAQの通りでした。
ありがとうございました。
まあ@ITもアレだけどな…
@ITの記事話半分で見た方がいい
まー@ITなら掲示板だけウォッチしていたほうがいいかも
@ITがアレなんじゃなくて、Y田某がアレなのだと思うのだが・・・
まあ、そのY田某に執筆を依頼し続ける編集部もアレか・・・
会社で読めない表紙はヤメレ
裏返したらシックな感じになるハイブリッドSwing本だったらいいのにね
登録っと
849デフォルトの名無しさん:04/05/01 22:03
Boland C++で作ったダイアログが結構あるので、
Swingに変換してみましたが、(nullレイアウトで)
そのままの座標だと、半分くらいの大きさになってしまいました。
具体的にはC++ダイアログの各コンポーネントの座標を
setBounds( x, y, width, height);
に入れていっただけだけど。

1.7〜1.8倍くらいに拡大したら同じぐらいになったけど、
小数点以下の端数のせいで、ズレが発生しますた。

まぁ、それはいいとして、Javaの画面上の座標って、どんな風にきめられてるの?
おすぃえてください。
>>849
>まぁ、それはいいとして、Javaの画面上の座標って、どんな風にきめられてるの?
普通にピクセル単位だろ?

しかしマルチプラットフォーム対応という観点からは null レイアウト使うのは邪道。
>>850
自分でサイズ変化に対応できるようにしとけばnullでもいいと思うよ。
ウインドウサイズに連動して絶対座標が変化するの。
>>851
nullレイアウトが推奨されないのはウィンドウサイズの問題でなくて、
フォントが変わったら文字がちゃんと表示されなくなったりするから。
SwingでIEと同じようにHTMLを表示したいんですが、
どうすればよいのでしょうか?
表示はできるけど、IEと同じ表示は期待しない方がいい。
とりあえずこの辺でもどうぞ。
ttp://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JEditorPane.html
ttp://www.apl.jhu.edu/~hall/java/Swing-Tutorial/SimpleExamples/Browser/Browser.java
「Java Swing HTML」でググればいくらでも出てくると思うが。
855デフォルトの名無しさん:04/05/02 01:38
System.out.println(" "+5/3+1);とSystem.out.println(5/3+1);
ってなんで答えちがくなるの??
>>855
引数が違うから。
>>855
" "+5/3+1=" "+1+1=" 1"+1+" 11"
5/3+1=1+1=2
まちがえた
" "+5/3+1=" "+1+1=" 1"+1=" 11"
5/3+1=1+1=2
int型の6桁の数字をshort型の配列に一桁づつうつす
クラスや方法はあるのでしょうか?
こういうこと?

public class Main {
  public static void main(String[] args) {
    short[] sa = Q860(123456);
    for (int i=0; i<sa.length; i++) {
      System.out.println(sa[i]);
    }
  }
  public static short[] Q860(int val) {
    String str = Integer.toString(val);  //入ってきた int を String に変換
    byte[] ba = str.getBytes();  //Stringを byte 配列にバラす
    short[] sa = new short[ba.length];  //byte 配列と同じ長さの short 配列を用意
    byte zero = "0".getBytes()[0];  //"0"のバイト表現を準備
    for (int i=0; i<ba.length; i++) {  //byte 配列の要素それぞれについて
      sa[i] = (short)(ba[i] - zero);  //バイト表現同士の引き算で、元の数を short 配列の要素として格納
    }
    return sa;  //出来上がったものを返す
  }
}

マイナスの数が入ってきたときのことは考えてません。
これでいける?
汚いソースだけど、誰か採点してください。

short[] foo = new short[6];
int bar = 123456;

String str = Integer.toString(bar);
char[] tmp = new char[str.length()];
str.getChars(0,str.length(),tmp,0);

int MAX;
if(str.length()>6){
MAX=6;
}else{
MAX=str.length();
}

for(i=0;i<MAX;i++){
foo[6-1-i] = Short.parseShort(new String(tmp[str.length()-1-i]));
}
863860:04/05/02 12:40
>>861>>862

とても参考になりました
一旦string型などにするのですね
どうも有り難うございました
Javaでウィンドウ上にボタンやらを載せられるようになりたいんですが
本何かったらいいですかね? >>1に載ってるWikiに紹介されてるJavaまるかじり って本は買いましたが…
なんか広く浅くって感じではずれだった…
Java Server Faces とかどうかな
(String[] args) と(String args[])は同じ意味ですか?
多分同じ
868860:04/05/02 14:46
(ノД`) やっと出来たと思ったら
また質問です

int型の2桁の数字が2つとint型の6桁の数字を1桁ずつ写して
10桁のintにすることはできませんか

全てプラスの数です
ほんとたびたび失礼します
>>868
質問の意味がわからないので例を使って説明して
870860:04/05/02 14:59
>>868

ハイ

要するに

int型の12と34と567890という三つの変数があります(変数名は適当に決めるとして

それをint型で1234567890にしたいんですが

ちなみに必ず1234567890となるとは限りませんよ
a=12
b=34
c=567890
で、
d=1234567890
ってことかな?
>>870
int i,j,k,l;
i = 12;
j = 34;
k = 567890;
l = i * 100000000 + j * 1000000 + k;
。・゚・(ノД`)・゚・。 リロードしろ俺
874860:04/05/02 15:02
そのとうりです
875872:04/05/02 15:12
int型の範囲超えるね。最後はlong型で。
文字列結合でしたほうが楽かな。
足し算でするときはキャスト忘れずに。

文字列を経由させるなんて Coboler みたいですね。普通にやれよ。
860で作った関数なりクラスを868で利用するわけやね。
>>861,862
普通こうだろ。

short[] foo = new short[6];
int bar = 123456;

for (int i = 0; i < 6; i++) {
  foo[5 - i] = (short) (bar % 10);
bar /= 10;
}

それに6桁未満の数値が来たときに詰めたいってんなら
桁数は対数で計算しろよ。
879オッサンの主張:04/05/02 16:48
会社で仕事してるとさ、オブジェクトでも何でも一旦文字化して計算して復号
するという馬鹿なコードを見かけることが多いね。
そういうやつは
1.低レベルUnixオタ(Perl厨とか)
2.Coboler崩れ
3.ド素人VB使い
のどれか。
SOAPだのHttpだのでそれをやるのは、プロトコルだから仕方がないだけ。
本来強い型制約言語がもたらす型安全性をぶち壊しにするこういうコード
は、いい加減にしてほしい。
880862:04/05/02 17:18
>>878
ウホッ!いいコード
参考になりました。
881860:04/05/02 18:01
ウゲっ

intの範囲超えてたんだ…
きずかなかった
すみません
long型の10桁の(ry
前に(たしかここで)聞いて回答が得られなかったので・・・もう一度だけ

Batik で ECMAScript を含んだ文書を表示/印刷しようと思うのですが、
スクリプト内で Attribute の変更や、TextNode の追加は出来るものの、
Element (具体的には <g> や <text>) の追加ができません。

印刷のときはスクリプトが動きすらしなかったのですが、
Transcoder に KEY_EXECUTE_ONLOAD を true 設定することで実現できました。
上記の問題も似たような方法で解決できるような気がするのですが・・・
誰かご教授願います
883デフォルトの名無しさん:04/05/03 04:09
質問です。

void getName(String n) {
//文
}

このメソッドが呼び出された場合、新しくStringオブジェクトが作られますか?
884デフォルトの名無しさん:04/05/03 04:55
883は罠ですか?
再利用可能なインスタンスがあれば作られないこともあるし、
つくられることもある。
それ以外の場合は作られる。
という認識でいるけど、あんま自信ない。スタックのメモリ管理が
云々とか話?
>>883
そのメソッドの中の実装次第です。

#戻り値 void で getなんちゃらというメソッド・・・・
886デフォルトの名無しさん:04/05/03 12:26
>>870
変数をa,b,cとして
String hoge = Integer.toString(a) + Integer.toString(b) + Integer.toString(c);
とかして、intに戻したら駄目なの?
>>884-885 そういう話じゃないと思う。

>>883
試してごらん。
import java.awt.Point;

void setZero(Point p) {
 p.x = 0; p.y = 0;
}

Point p = new Point(10, 10);
setZero(p);
System.out.println(p.x);

新しいオブジェクトが作られてるだろうか。
void getName(String n) {
  String str1 = new String("unko");
  String str2 = new String("kuso");
  String str3 = new String("baka");
  String str4 = new String("sine");
  String str5 = new String("geri");
  String str6 = new String("hage");
}

作られてるな
>>887
void setOrigin(Point p) {
 origin = p.clone()
}
さて、新しいオブジェクトが作られてるだろうか。

やっぱ実装次第だよなぁ。
>>889
キャスト忘れてやんの。
891デフォルトの名無しさん:04/05/03 14:24
BorderLayoutのレイアウト時に、CENTERにあるオブジェクトのsetSizeは呼ばれないんですか?

http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/awt/BorderLayout.html
>CENTER コンポーネントは、スペースを残さないように、水平および垂直の両方向に引き伸ばされます。
これを読む限りsetSizeが呼ばれそうなもんなんですが。

下のコードを実行したところ
--------ここから--------
NORTH
SOUTH
EAST
WEST
--------ここまで--------
と表示されます。(CENTERも表示されるようにしたい)
892891の続き:04/05/03 14:25
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class TestResize{
public static void main(String[] args) {
Frame frame = new Frame();

frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

frame.setLayout(new BorderLayout());

frame.add(new MyLabel("CENTER",SwingConstants.CENTER),BorderLayout.CENTER);
frame.add(new MyLabel("NORTH",SwingConstants.CENTER),BorderLayout.NORTH);
frame.add(new MyLabel("SOUTH",SwingConstants.CENTER),BorderLayout.SOUTH);
frame.add(new MyLabel("WEST",SwingConstants.CENTER),BorderLayout.WEST);
frame.add(new MyLabel("EAST",SwingConstants.CENTER),BorderLayout.EAST);

frame.setSize(new Dimension(300,300));
frame.show();
}
}
内部の事じゃなくて、
引数に指定した型の新しいインスタンスが作られているかどうか、じゃないの?
894891の続き:04/05/03 14:26
class MyLabel extends JLabel{
String text;
public MyLabel(String str,int align){
super(str,align);
this.text = str;
}
public void setSize(int width,int height){
System.out.println(this.text);
super.setSize(width,height);
}
public void setSize(Dimension d) {
System.out.println(this.text);
super.setSize(d);
}
public void setPreferredSize(Dimension preferredSize) {
System.out.println(this.text);
super.setPreferredSize(preferredSize);
}
}
>>883
>void getName(String n) {
>//文
>}
getName(str);
という感じで呼び出されたら、まず、
String型のローカル変数nが作られて、
変数strの値(Stringオブジェクトへの参照)
がnに代入される。(n==strってこと。)
>>894
JDK1.4.2のソース見たけど Component#setBounds(int,int,int,int) 呼んでる。

BorderLayout が何を呼んでサイズ調整するかは仕様で決まってないみたいなので
確実にやりたいなら setXxxxx でサイズや位置変更するメソッドを全部トラップするしか無いと思われ。
>>891
awtとswingまぜるのやめれ
『毒臭JAVA』あの本は酷かった。
春ダネエ…
900891:04/05/03 14:51
>>896
回答ありがとうございます。
とりあえずテストコードでは確かにうまく呼ばれました。
これから実際のコードに適用してみたいと思います。

>>897
やっぱりそこ突っ込まれたか…
混ぜちゃだめな理由を知らないからずっと混ぜっぱなしなんだけど…
901883:04/05/03 15:00
ごめんなさい。質問が不足していました。
勉強し始めたばかりの初心者でメモリの話とかではないです。

>>883の場合、変数nの値をメソッド内で書き換えても呼び出し側で
指定した引数には影響ないと本にありました。
で、それは引数とは別のオブジェクトを参照している為らしいの
ですが、メソッドパラメータがString型でない場合にはメソッド内で
n = new A();
の様にしなければ同じオブジェクトを参照したままだ、ともありました。
String型だけはnew演算子をつかわなくても初期化できるから、
String nの所で新しいオブジェクトが出来てるのかなぁー?
と思ったのです。
わかりづらくてすいません。
>>901
String a = "abc";
のとき
String b = a;
とやっても新しいオブジェクトが作られるわけではないのと同じ。
>>900

なんのための推奨サイズか
JFrameの上にコンポーネントを載せていってそのコンポーネントの各推奨サイズをセットして
JFrameでpackを呼ぶ

環境が異なるとwindowの境界サイズ変わるのを防ぐために必須
setsizeは自分専用アプリだとしても使っちゃいけないと思うぞ
2000とXPでもデフォルトの境界サイズ大きく違うし

ピクセル指定ではなくてこの推奨サイズを積み重ねていくのがswingの基本だ
推奨サイズ以外が使われることはまずないしな
nullレイアウトのようなピクセル指定で配置したくてもまずはjpanelをのせて
その推奨サイズを設定するべし
>>901
その本に本当にそのまま書いてあったなら、もう焚いてしまった方がいい。
君の勘違いであって欲しいが、
「String型でない場合には」なんて書いてあれば多分もう×
905初期不良:04/05/03 15:39
>>901
メソッドも代入もすべて参照渡し。
String でいじっても問題ないのは String が
内容を変更することができない immutable (不変)なクラスだから。
>>883 は作られないと言うのが答え。
その本の言い分は何かおかしい。
不変クラスだから同じクラスを参照していても問題ない。

>String nの所で新しいオブジェクトが出来てるのかなぁー?

>>902 の通り単なる代入なので参照が渡されるだけですな。
ろくでもない本を読んでるからこそ
こんなスレに行き着くのかもしれぬ
>>901
そもそも、String型はオブジェクトの内容を変更するメソッドがないので、
>>883のメソッドは意味のないものになっている。

参考 StringBuffer
void getName(StringBuffer n) {
  if(n == null){
    // エラー処理
  }

  n.setLength(0); // サイズを0で初期化
  n.append("abc"); // ここで名前を設定
}
>>905
揚げ足取るようで悪いけど参照渡しではないよ。

C++なんかの「いわゆる」参照渡しでは
void hoge(Foo &foo) {
  foo = bar;
}
とやると呼び出しもとのオブジェクト自体が変わっちゃうけどJavaで
void hoge(Foo foo) {
  foo = bar;
}
とやっても呼び出しもとには影響しない。
>>907
getName という名前のメソッドで set するあなたの良識を疑う
>>909
そもそも元投稿の803がvoid getName(String s)なんて書いてたから
それで説明しているのでしょう
英小文字「a」はアスキーコードでは10進数の97ですが、
ではint型の値97からString型の値aに変換するには
どうしたら良いでしょうか?
どなたかお知恵を貸して下さいませ。
「参照渡し」かどうかをこのスレで話すときは、
それが何なのかを定義してからじゃないとだめかも。

「Cで言うところの参照渡し」、とか、
「オブジェクトへの参照がコピーされて渡される、という意味での参照渡し」とか。。

(ポインタあるなし議論も同じ。)
↑ですが解決しました。
char c = 97;
String.valueOf(c);
くだらない質問してすみません。
914初期不良:04/05/03 16:49
>>908
ああ、確かにそういう意味では参照渡しじゃないね。
参照をコピーしているのは参照渡しとは言わない方がいいのかも?
参照を値渡し。
なんか過去mlで見た流れだな
917891:04/05/03 18:27
>>903
903さんがSwingのレイアウト手法を学んだページor本を紹介してもらえませんか?
ふつーにSwing触っていればわかるようなもんだが?

まぁswingさわり始めたときは1.1のころでオプションのときだったから
地道にやっていればわかるだけ

pack使っていないコードみたらまず糞だと思えばいい
919デフォルトの名無しさん:04/05/03 22:01
URLエンコードのことなんだけど。
googleでShift_JISだと「日付」は「%93%FA%95t」になってるんだけど、
 URLDecoder.decode("%93%FA%95t","Shift_JIS");
で文字化けしてしまう。
どうしたらうまくデコードできるんだろうか。
>>898 なんでよ?
UTF-8じゃねーの?
googleはデフォutf8だぞ
923デフォルトの名無しさん:04/05/03 22:12
 URLDecoder.decode("%93%FA%95%74","Shift_JIS");
はちゃんと「日付」になる。
924デフォルトの名無しさん:04/05/03 22:18
参考までに
ttp://www.google.com/search?q=%93%FA%95t&ie=shift_jis

ようするに最後の%74がtになってるのが問題のようだ。
結局tとかを%74に変換するような処理を書いた。
スマートな方法ってないのかなぁ
URLEncoderとセットで使うものかと
つまりRefererの解析なんかには使えない、ということ?
Refererは偽装してナンボ
どこに責任があるのでせう?
930デフォルトの名無しさん:04/05/04 00:14
java3Dで作った3Dポリゴンをブラウザで表示してHPに載せたいんですが
そんなことってできますか?
キャプチャーしてJPEGにでもすれば?
932デフォルトの名無しさん:04/05/04 00:18
いきなりですが、ポリモーフィズムを実現するためにプログラムつくってるんですが。
プログラム自体をつくるのに手間取っています。どうか語慈悲を・・。

エラー文
FoodCaller.java:9: 変数 f は初期化されていない可能性があります。
String name = f.getName();
^

FoodCaller.java
public class FoodCaller {
public static void main (String args[]) {
Food f;
if (args[0].equals("banana")) {
f = new Banana();
} else if(args[0].equals("apple")) {
f = new Apple();
}
String name = f.getName();
}
}

Food.java
public class Food {
public String getName(){
return "Food";
}
}

933デフォルトの名無しさん:04/05/04 00:18
追加

Apple.java
public class Apple extends Food{
public String getName() {
return "Apple";
}
}

Banana.java
public class Banana extends Food{
public String getName() {
return "Banana";
}
}
>>929
URLエンコードって仕様決まってるでしょう?
javadocからもリンクがある。http://www.w3.org/TR/html4/
どっちが間違ってるかは、、知らん。

>>930
クライアントサイドにjava3Dがないと無理。
webstartにまるごとぶちこむとか。
https://jogl-demos.dev.java.net/
ここのページがJOGLでそういうかんじのことをやってる。
>>932
こういう場合は
Food f;
のところ
Food f = null;
じゃない?
936930:04/05/04 00:37
>>934
やっぱだめですか・・・
前どっかのサイトでジャバで作られたゲームがブラウザ上で
遊べるサイトがあったのを見てjava3Dと勘違いしちゃったみたいです・・・。
あれはjava3Dじゃなくてjavaアプレットとかいうやつですか?
>>932
args[0] が "orange" だった場合を考えてみよう。
>>935
それは最悪のやり方。
>>932
コンパイラは、
「args[0]が"banana"でも"apple"でも無い場合fに値が入らないのでまずいよ」
と怒っているのです。選択肢は3つ。

1. Food f = nullとして、nullで初期化。
とりあえずコンパイルエラーは消えますが、当然ながら実行時にぬるぽが起きます。

2. Food f = new Food()として、Foodオブジェクトで初期化。
コンパイルエラーは消え、実行時にぬるぽも起きません。
Foodオブジェクトが1つ無駄になるのがいやーんな感じですが。

3. else を追加し、そこでFoodオブジェクトを生成。
コンパイルエラーは消え、実行時にぬるぽも起きず、
Foodオブジェクトが無駄になることもありません。

エラーとは関係ないですが、抽象クラスになりそうなFoodクラスを
インスタンス化できるのが変な感じですね。
Null Objectパターンを適用してNullFoodクラスを定義したらどうでしょう?
abstract public class Food{
 abstract public String getName();
}

public class NullFood extends Food{
 public String getName(){
  return "";
 }
}
if (args[0].equals("banana")) {
f = new Banana();
} else if(args[0].equals("apple")) {
f = new Apple();
} else return;
941デフォルトの名無しさん:04/05/04 01:02
939さんの3で解決させてもらいました。
しかし、この自分が持ってるテキストの説明のプログラム・・・。
嘘ばっかりだな。
>>941
次の被害者を出さないためにそのテキストのタイトル晒しキボン。
>>934
ぐぐってみた。
ASCII以外は知ったこっちゃない、って仕様みたい。
問題の箇所が decode 側だけなら融通が利くように自作して後は見なかった事にする、べきかな?

http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#h-17.13.4.1
http://www.mars.dti.ne.jp/~torao/rfc/rfc1738-ja.txt
>>940
それだったら throw new IllegalArgumentException(args[0]); とかしたほーが。
>>944
漏れも例外投げるのが一番普通かと思ってしまったが。