ネタ心者歓迎!今更ながらにJavaを学ぼう! その弐
1000を越えたので新しく作っておきました^^;
3 :
デフォルトの名無しさん :2001/06/24(日) 13:58
おつかれさま ところで、なんでprivateな変数も継承されるの?
sarenaiYO!
5 :
デフォルトの名無しさん :2001/06/24(日) 14:12
private protectedは何でなくなったの?
7 :
デフォルトの名無しさん :2001/06/24(日) 14:29
14.(Sect. 6) What happened to "private protected"?
It first appeared in JDK 1.0 FCS (it had not been in the betas). Then it was removed in JDK 1.0.1. It was an ugly hack syntax-wise, and it didn't
fit consistently with the other access modifiers. It never worked properly: in the versions of the JDK before it was removed, calls to private
protected methods were not dynamically bound, as they should have been. It added very little capability to the language. It's always a bad idea to
reuse existing keywords with a different meaning. Using two of them together only compounds the sin.
The official story is that it was a bug. That's not the full story. Private protected was put in because it was championed by a strong advocate. It
was pulled out when he was overruled by popular acclamation.
http://java.sun.com/people/linden/faq_b.html
10 :
どこでも翻訳隊 :2001/06/24(日) 14:59
それは最初に JDK 1.0の FCS (それは(それまで)ベータで なかった)に現われました。それでそれは JDK 1.0.1で取り 去られました。それは構文論 - 賢明な醜いハックでした、そして それは首尾一貫して他のアクセス変換機と適合しませんでした。 それは正確に決して働きませんでした: JDK のバージョンで それが取り去られる前に、私的な保護された方法への呼び出しが、 (彼・それ)らがそうであるべきであった(時・から・につれて・ ように)、動的にバインドされませんでした。それは言語に極めて 少ししか能力を加えませんでした。それは異なった意味を持って いる常に既存のキーワードを再利用する良くない考えです。 一緒に(彼・それ)らの2を使うことはただ罪を倍加させるだけ です。公式の物語はそれが虫であったということです。それは 完全な話ではありません。守られた兵卒が、それが強い提唱者に よって擁護されたから、投入されました。それは、彼が人気が 高い喝采によってくつがえされた時、引き抜かれました。 要約: 上司がゼヒというので無理して入れてみたところ、非難 轟々だったので止めました。
14.(セクション. 6) "private protected" に何か起きたのか? JDK1.0 FCS で見かけたのが始まりだ(betaからじゃない)。 そしてJDK 1.0.1 ではいなくなった。 ハック野郎のための薄汚れたやり口で、他のアクセス修飾子との足並みがそろってなかったのさ。 そいつは決して真面目にやらんかったよ。 いなくなっちまう前の JDK では、そうすべきたっだのに private protected メソッドは動的に束縛されなかった。 シマにはスズメの涙ほどしか利益を与えんかったよ。 居場所が決まってた奴を違った仕事で再利用してやろうってのが馬鹿な考えなんだよ。 あの二人を一緒に使うってのは…つまり罪を作るってことよ。 表向きにはバグってことだがな。そりゃ本当の話じゃねえ。 private protected はボスのお達しだったが、 ファミリーの支持が得られず出て行ったというわけだ。
ところで、JavaHouseで奴にメールボムを送った人手を挙げて〜?
最近あそこ厨房が頑張っちゃってるよね・・
ServletとJSP使うだけしか出来ないノータリンJava技術者 (VB厨以下)のくせにデカイ顔している勘違い野郎は、どう にかして欲しい。
16 :
おいらもJava使いだけどね。 :2001/06/25(月) 00:08
Javaが「使える」程度でデカイ顔はできないでしょ。 Java使いには、OSの事とかネットワークの事とかの低レベルの仕組みや それに起因する注意事項を全く知らないやつが多い。 Javaで「とりあえず動くだけの」汚いコードを書いた後で人に押し 付けて、異なる環境ごとの動作の違いとかを○投げするようなカタワは 「でかい顔」しちゃいかん。普通はなるべく環境関係なしに動く ようなコードをつくらんといかんでしょ。 Java餓鬼ミーハーSEモドキと話していて困る事が多いのよ、ホント… (COBOLER→VBER→ミーハーベンチャーITでJavaって言うパターンが おおいみたいね、最近。)
17 :
デフォルトの名無しさん :2001/06/25(月) 00:42
サーブレットとかの通信プロトコルって 今後ずっと保証されるの? よくわかんない。
ハァ?
>>17 Servletと通信プロトコルは関係ないです。
ただ、今は大抵tomcatとかでhttpdの裏で動かす実装が多いので、
「Servletの通信プロトコルはHTTPが主流」といってよいでしょうか。
ところで、HTTPが廃れる事ってあるんですか?SOAPとか最近大騒ぎ
みたいですが。
静的なハイパーテキストコンテンツの一般公開には現行の仕様で 十分だし、シンプルで安定したインフラが整備されたわけだから 細かく仕様が変わっても HTTP 自体が廃れることは当分なさそう。 動的なコンテンツについては各団体・企業とも凌ぎあってるので 今後どうなるかわからん。
ん、RPC の話だったか。今 SOAP ってそんなに騒がれてるか? CORBA, Java-RMI, SOAP どれをとっても UNIX や Windows の標準ディストリビューションの範囲で作れるものでないと 一般普及は難しいのではなかろうか? 標準化実装部隊って ライブラリ固有の仕様に悩まされるの嫌うし。変なこと言っ てたらすまそ。
>>21 業務システム構築のケースとかならSOAPはともかく、
RMIくらい当たり前に使われてるでしょ。
>>16 >>Java使いには、OSの事とかネットワークの事とかの低レベルの仕組みや
>>それに起因する注意事項を全く知らないやつが多い。
あんたの周りだけの狭い世界でそんなこと公言してると顰蹙買うよ
24 :
デフォルトの名無しさん :2001/06/25(月) 10:16
かなりレベルが高そうな所申し訳ないんですけどアプレットを作ってアプレット ビューワで結果を見ますよね。なぜブラウザ上は範囲指定の灰色だけでで見る事が できないのですか。JLableに文字書いてあるだけなのに。もしかしてブラウザの 問題でしょうか。IE5.5を使っております。どなたかご教授ください。
26 :
デフォルトの名無しさん :2001/06/25(月) 10:35
waitとnotifyを使ってmutex変数みたいなのを実現してます。 mutex変数としてこういうの Object mutexObject = new Object(); をつくって、それをsynchronizedで囲ってwaitとかnotifyとか してるんだけど、邪道ですか?
27 :
デフォルトの名無しさん :2001/06/25(月) 10:40
>>24 IEに載ってるのは、Java 1.1相当であります。
Swingとか1.2以降の機能は使えませぬ。
28 :
:2001/06/25(月) 11:06
29 :
24 :2001/06/25(月) 11:40
>>25 これからはきちんとした日本語を使うでそうろう。
>>27 なるほど。たまにアプレットらしい画面を見るのはJava1.1相当なん
ですね。ってそんなのいまどきの本で載ってるの?Yahooゲームの
アプレットなんかもそういう事なんですかね。たまにやってるんで
気になりました。
>>28 激しくFAQとか言われそうな感じのレスですね。一応文字を書くテスト
をしてみただけですんで。
30 :
:2001/06/25(月) 12:34
>>29 いえ、単に自分が気に入ってるというだけなんです
>>25 実は「ご教授ください」でも誤りではない。
32 :
デフォルトの名無しさん :2001/06/25(月) 14:37
フレームを画面の中央に配置したいんですけど、 ディスプレイの縦・横のサイズを返せるメソッドとかってありますか? よろしくお願いします。
33 :
デフォルトの名無しさん :2001/06/25(月) 14:46
java.awt.Toolkit#getScreenSize()
34 :
デフォルトの名無しさん :2001/06/25(月) 15:14
>>33 即レス感謝します!!
ありがとうございました!!!
35 :
名無し :2001/06/25(月) 15:19
javaの逆コンパイラはどこで手に入れるんですか?
36 :
名無しさんWBS :2001/06/25(月) 15:25
37 :
名無し :2001/06/25(月) 15:28
アプレットで動くバナーなんぞ作ってみようと思うのですが、アプレットが実行できない 環境では、アプレットの変わりに画像ファイル(通常のバナー)を表示するようにすることは できますか? HTMLがらみなのでスレ違い or 既出っぽいですが、教えてください。
スイマセン。 とっても初心者な質問してよろしいでしょうか。 Javaってアクションゲーム作れますか? 「ガンスターヒーローズ」みたいなのを作りたいんですが。 作れるようなら今から勉強を始めたいと思います。 え? HSP? えーと…それは後々応用が利かないような気がするので… どうせ勉強するなら、少しでも将来性のある、 あるいは、各種プログラミング概念の理解に繋がる言語のほうがいいかなと…
40 :
デフォルトの名無しさん :2001/06/25(月) 18:20
>>40 え!? これってJavaなんですか。
うわスゴイ。こんなの出来るんだ…
ならば早速勉強を始めてみようと思います。
ありがとうございマッスル。頑張りマッスル。
42 :
デフォルトの名無しさん :2001/06/26(火) 10:19
>23 俺もそうだ ただ会社でIDEあたえれられてJavaってる人ならともかく、 一から勉強てる人なら少しはましだと思うけど 設定とか一通りこなしてるわけだし でも貴方ぐらいの人からみられちゃうとだめだめなんだろうね 精進します
43 :
デフォルトの名無しさん :2001/06/26(火) 10:28
>>42 そういう人は、Java使い ではなく Java使われ といいます。
よろしくどうぞ
44 :
デフォルトの名無しさん :2001/06/26(火) 10:35
初心者です。 appletviewerの最初ウインドウの座標を取りたいんですけど、 int x = getBounds().x; int y = getBounds().y; では x と y に座標は入らないのでしょうか? ゼロが入ってしまいます。 よろしくお願いします。
45 :
デフォルトの名無しさん :2001/06/26(火) 11:28
>>44 それは初期位置じゃないか?
幅と高さは別の変数じゃないか?
ちゃんとドキュソメントと見た?
46 :
デフォルトの名無しさん :2001/06/26(火) 11:41
>>45 幅と高さじゃなくて、今必要なのは座標なんです。
ボタンが押されたときの
appletviewerの最初のウインドウの座標を取りたいんです。
そして、そのボタンによって画面に出されるフレームの配置場所を
その座標を使って決定したいんですけど。
だから、初期位置が欲しいってことになるのかな?
説明がヘタクソですみません。
>>41 場所は忘れたがダンジョンマスターのJava版(英語だったが)もあったと思うぞ。
48 :
デフォルトの名無しさん :2001/06/26(火) 12:49
EJBのBeanとJSPで言うところのuse:BeanされるBeanは、 基本的にどう違うのでしょうか?
49 :
名無しさんWBS :2001/06/26(火) 13:56
>>38 APPLETタグの中に書けば大丈夫だよ。
51 :
デフォルトの名無しさん :2001/06/26(火) 19:47
getimageでゲットしたイメージの高さと幅を返り血として返すメソッドはありますか?getHeight()を使用しても−1を返すのみで拉致があきません。
52 :
デフォルトの名無しさん :2001/06/26(火) 20:43
簡単な同人ゲーム作りたいんですけど、JavaとCgiどっちが良いんでしょう? まったくの初心者なので何かおすすめの本とかあったら教えていただきたいです。
>>52 そのコンビネーションで問われた日にゃJavaって答えるしかないだろ
ゲームが目的なら「一歩先行くインターネットJava入門」しかないだろ
54 :
デフォルトの名無しさん :2001/06/26(火) 21:53
Forte2.0でswingを使ったアプリケーションを作っているのですが、 実行しても、ウインドウが小さく(最小化ではない)表示されます。 AbsoluteLayoutでGUI編集で作ったのと同じ大きさで ウインドウを開くにはどうしたらよいのですか?
同人でCGI使うってのはおもしろい発想だな。
56 :
デフォルトの名無しさん :2001/06/26(火) 21:57
>>54 フレームの表示する前にsetSizeしてるか?
57 :
54 :2001/06/26(火) 22:08
ありがとうございます。 自分でsetSizeするようにしたら、直りました。 しかしこのコードって自動で生成することはできないのでしょうか? JBuilderは自動的に作ってくれたのですが・・・
58 :
デフォルトの名無しさん :2001/06/26(火) 22:12
>>57 多分、バグ(というか、仕様の不備)じゃねえの?
BugParadeにVoteしたら?
59 :
デフォルトの名無しさん :2001/06/26(火) 22:41
>>58 まあバグというよりは、ただの手抜きですな
いっても直るかは怪しいと思うよ
60 :
54 :2001/06/26(火) 22:50
よく見直してみたところ フレームのコンストラクタから呼び出されている関数内で setSize(new java.awt.Dimension(300, 400)); setLocation((screenSize.width-300)/2,(screenSize.height-400)/2); というコードが生成されていました。 ここはプロパティーの値が反映されているのですが 実際表示した。ウインドウには反映されていません。 なにが違っているんでしょうか? ちなみにわたしが直した方法は mainメソッドで ooo apl = new ooo (); apl.setSize(300,400); apl.show (); とsetSizeすることで直したのですが やはりバグなのでしょうか?
61 :
デフォルトの名無しさん :2001/06/26(火) 23:05
>>60 自動生成コードがそれで、そのままコンパイル実行して画面が
そのサイズで出ないなら、バグですな。
そうでないなら仕様不備。
62 :
デフォルトの名無しさん :2001/06/26(火) 23:25
既出の質問で申し訳ないのですが、DOSプロンプトから Javacを実行してエラーメッセージをファイルに出力する 方法がイマイチわかりません。 javac Source.java -J-Djavac.pipe.output=true > error.txt としているのですが、空のファイルだけが作成されてエラーメッセージ が出力されません。 環境は Windows98SE JDK1.3 です。 皆さんはどうやっていますか?
64 :
54 :2001/06/26(火) 23:32
>>61 わかりました。
じゃあバグということで了解しました。
65 :
38 :2001/06/26(火) 23:35
>>50 <APPLET
codebase="."
CODE="bana.class"
WIDTH=480
HEIGHT=360
SRC="bana.gif"
>
とやってみたんですができませんでした。っつーか確認できません。
この分盲にもう少し詳しく教えてください(w
66 :
デフォルトの名無しさん :2001/06/26(火) 23:40
oldjavac 使っちまうぜ。 -Xstdout(stdoutにエラーを出力)オプション使えるから。
67 :
62 :2001/06/26(火) 23:46
>66 ありがとう。エラー情報をファイルに書き込めることができました。 oldjavacなんて初めて聞いた。。。
68 :
デフォルトの名無しさん :2001/06/26(火) 23:51
>>67 Sunの配布ドキュメントに書いてあるぞ。ちゃんと読めよ(藁)
69 :
52 :2001/06/27(水) 00:26
>>53 ありがとうございました。Javaの勉強から初めてみようと思います。
>>55 知り合いがCGIでゲームを作ったと言っていたのでどっちが良いのかと思って。
70 :
デフォルトの名無しさん :2001/06/27(水) 00:31
>>69 CGIでゲーム?えええ?
HIDDENパラメータに状態埋めまくるとか?
効率悪そう…
71 :
デフォルトの名無しさん :2001/06/27(水) 00:37
>>70 技術としてはおもしろいかもしれない。
それに、CGIといってもサーバしだいだからね。
BASICが使えるCGIサーバならゲームに向いてるかも。
パラメータもサーバ側で保持するとか。
72 :
デフォルトの名無しさん :2001/06/27(水) 00:57
>>71 BASIC???
へ???
んなことするなら、Servletでセッション管理した方が
楽だし、ましだと思うが。
73 :
デフォルトの名無しさん :2001/06/27(水) 01:14
>>72 CGIは単にアプリケーションを起動する為の手段だからね
perlだけじゃなくほかにもいろいろ選択肢があるってこと
74 :
73 :2001/06/27(水) 01:17
おっと。ここはjavaスレだった。 やっぱJavaサイコー!
75 :
51 :2001/06/27(水) 02:00
単なる勘違いだったようです。すいません。
76 :
75 :2001/06/27(水) 02:18
いや、そうでもなさげみたいな。 ロードした画像の大きさを整数値として返すメソッドってないですか?
77 :
デフォルトの名無しさん :2001/06/27(水) 02:20
>>70 HIDDENでなくてもクッキーとかサーバー側でファイル作ってそのファイル名だけでやりとりとか
いろいろ方法はある。
「Java言語で学ぶデザインパターン入門」はどうよ?
>>65 <APPLET CODE="bana.class" WIDTH="480" HEIGHT="360">
<IMG SRC="bana.gif" WIDTH=480 HEIGHT=360 >
</APPLET>
じゃダメですか?
一応IE5.5で確認しました、後は知らん、エヘ。
80 :
デフォルトの名無しさん :2001/06/27(水) 07:37
>>75 -76
ロードが終わってないだけと思われます。
imageUpdateを実装したクラスのオブジェクトを
drawImageの最後の引数に渡してやって
imageUpdateが
(infoflags & ALLBITS)!=0
で呼ばれるまで待つよろし。
81 :
デフォルトの名無しさん :2001/06/27(水) 10:44
public String getHoge() { String a = nanntoka.toString(); return a; } というメソッドがあったとき、これを呼び出して得た文字列は いつまで有効なの? String b = hoge.getHoge(); この b の賞味期限切れるまで? この b に別のものを上書きしたら参照が無くなって ちゃんと開放される?
82 :
デフォルトの名無しさん :2001/06/27(水) 11:50
>>81 …メモリ的にはすぐには解放されません。
なぜならガベージコレクションだから。
しかも解放のタイミングはJREの種類によってマチマチらしいんだな、
これが…。
83 :
デフォルトの名無しさん :2001/06/27(水) 15:53
>>81 JavaはC++と違ってスタックにオブジェクトを生成できないから
気にする必要ない。
bの他に有効な参照がなければそのうちGCが回収する。
84 :
81 :2001/06/27(水) 16:05
>>83 どもっす。ところで、何かの本で
もう使わなくなったインスタンス変数にはnullでも代入しとけば
ガベージコレクションがちょっと早くなるかもね
と書いてあったんだけど、実際どうでしょ?
メモリが極端に少ない環境でやってるので
ちょっと神経使わないとな〜と思ってます。
いま、どの参照がどのくらい生きてるかってのが
実際に実行中に確認しにくいってのも問題あるね。
85 :
デフォルトの名無しさん :2001/06/27(水) 17:01
たとえば、クラス変数 String a="aaa" を定義するとき、 そのオブジェクトはどの時点で生成したほうがよりベストか コンストラクタの中? それともクラス変数を定義したとき? Stringに限らず、一般的な作法ではどっちが正解なのか
86 :
デフォルトの名無しさん :2001/06/27(水) 18:49
そのインスタンスの生存期間によるんじゃないの?
>>84 クラス変数(static Object ....) のように
寿命のながい参照については有効。
逆にループの中の参照とかは露骨に無駄。
>>86 -87 あと保持するほうのインスタンスの数もな
89 :
75 :2001/06/27(水) 19:28
>80 なんだかよくわかりませんが、勉強不足と認識しつつ頑張って見ます。
90 :
81 :2001/06/27(水) 22:43
>>86 -87
どもっす。
これから積極的にnull埋めを使ってみようと思います。
ほとんどの場合それは不要だ
>>90 Javaヒープ内でのメモリの解放タイミングは、そんなに気にしないで
いい話。
一つ気をつけなければいけないのは、そのインスタンスがもし内部で
システムコールとかをしてカーネルリソースなどのJavaヒープ外の
リソースを使用していた時、そのリソースがいらなくなったらすぐ
明示的に解放してやらないと、GC起動時のfinalize()コール時
まで解放が遅延すること。
例:
ウインドゥハンドル(Winオンリーかな?java.awt.Frameとか)
IOバッファ(Stream関係、あとSocketとか)
JDBCのコネクション(RDBMSってコネクション上限あったりするよね)
93 :
デフォルトの名無しさん :2001/06/28(木) 01:52
>>92 その手のものは大抵 close()だとかdispose()だとかで
資源の実体を解放するので、
そっちを呼んだ方が良いって事はないですか?
94 :
デフォルトの名無しさん :2001/06/28(木) 03:55
すいません。Sunの資格について聞きたいことがあります。
Sunの試験(プログラマーの方)を受けようかと、今その対策本を片手に勉強中しています。
慣れた言語なので、プログラマー試験独特の引っかけに掛からないようにとしていて、
だいぶ正答率も高まってきたので、そろそろ試験を受けようかと考えています。
(\24、000-無駄にしたくない)
しかしプログラマー資格では、
とてもプログラミングの出来る人には思われない資格でしょうから、
ディベロッパーの方も取りたいなぁと思っています。
ディベロッパーの方は、プログラミング課題と記述式試験があるのですが、
http://sedap.sun.com/JPN/certification/devobj.html >プログラミング課題の内容
>・情報を表示するグラフィカルユーザーインタフェースと、
> より柔軟な検索とレコードロッキングをサポートするためのデータベースの拡張
>・データベースシステムに対するネットワークサーバー機能
>・ユーザーインタフェースとデータベースを接続する通信機能
なんか↑だけ見るとデータベースの拡張やら何か大がかりそうです。
試験を受けたことがある方がいたら、どんな感じのものか教えていただけると助かります。
95 :
HOE :2001/07/01(日) 11:50
> なんか↑だけ見るとデータベースの拡張やら何か大がかりそうです。 そう思うのであれば受からないよ
96 :
デフォルトの名無しさん :2001/07/01(日) 11:53
>>94 へ?
排他ロックや共有ロックの仕組みを自分で追加実装しろ
っていうだけの話じゃないの?
Javaにはポインタがそのものが存在しない事での利点はありますか? 実はJavaのほとんどがポインタであるとも聞きました。 それはどのようなことですか?教えてください
98 :
デフォルトの名無しさん :2001/07/01(日) 12:00
ようやっと日本語のテキストが発売されたのね^^;<<SCP
もっと巧妙な訊き方があるだろうにな。
101 :
名無しさん :2001/07/01(日) 13:50
>>94 俺今ちょうど受けてる。
心配する程の物でも無し、としか言えんな。
プログラマの試験も、対策の勉強なんてしなくても受かった。
中学生でも受かりそう。
>>97 逆に、ポインタ操作にはどういう利点と問題点があるのか
考えてみましょう。
>実はJavaのほとんどがポインタであるとも聞きました。
んー、Javaでは「参照(reference)」って言い方をしたと思いますが。
「ポインタ」と「参照」は微妙に違うので使い分けた方がいいかも。
>>102 単に言語仕様書上の用語の定義の問題
ちなみにもう一つ類似語にハンドルがある
これも取得後は破棄するまで変更できない点など
機能的にはJavaの参照(ポインタ?)とほとんど同じ概念。
ただしこれは言語とは独立した
OSや実行環境が管理しているものに使われることが多い。
たとえばファイルハンドルはストリームオブジェクトへの参照とも考えられる。
(ちなみにWin16の頃のメモリハンドルの煩雑さは地獄のようだった)
104 :
デフォルトの名無しさん :2001/07/02(月) 14:05
age まだこの板は死んでいないようね
105 :
デフォルトの名無しさん :2001/07/02(月) 15:20
いつだったか忘れたけどJavaスレの中で抽象クラスとインターフェイスの違いと言うか 特色みたいな意見があったけどどのスレか覚えている人いますか? いまさらかもしれないが興味が出てきたので。その時はJava始めたばかりで何も分からず だったけど(今も似たようなものだが)今なんとなく階段上れそうなので。 みんなこういう時ってあるよね?今なら大丈夫だ!だけど今を逃したら今度はいつになる か分からないって感じの時。あるよね?ってことでその時のスレ、またはもう一度解説 よろしくお願いします。
106 :
デフォルトの名無しさん :2001/07/02(月) 15:30
大人の階段 の〜ぼる〜 どのスレだか何の話だか良くわかんないから スレッドをさかのぼってここにリンクを貼り付けてみなよ (一部ダイジェストで内容コピペしたり) そうしたら教えてあげる、か、も
107 :
105 :2001/07/02(月) 15:50
抽象クラスとインターフェイスの違いとが分からないということです。 どのスレッドか全く忘れましたのでできればもう一回お願いします。 (激しくガイシュツでなければいいのだが) 2つとも定義だけである。抽象クラスでは継承してサブクラスで実装する。 インターフェイスではimplementsしたクラスでメソッドを実装(変数は定数) とここまでは分かりました。できれば区別の仕方と具体的な使い方について 教えてほしいです。 (hogeクラスがあってこういう場合は抽象クラスを使うもんだ、など) よろしくたのんます、か、も
108 :
デフォルトの名無しさん :2001/07/02(月) 16:44
109 :
デフォルトの名無しさん :2001/07/03(火) 06:44
>>95 ,96,101
サンキューです。
>96
>排他ロックや共有ロックの仕組みを自分で追加実装しろ
>っていうだけの話じゃないの?
それくらいなら範囲内だ、受けよう。
110 :
109 :2001/07/03(火) 06:45
109=94です
111 :
あらし :2001/07/03(火) 07:46
>>108 おめーもったいぶってないで教えてやれよ。
2、3行で済むことだろ、そんなの。
113 :
HOE :2001/07/03(火) 14:03
114 :
デフォルトの名無しさん :2001/07/03(火) 20:51
キャストについて質問です。 ダウンキャストは暗黙のキャストなのに、 アップキャスト(?)は明示しなくていけないのはなぜですか? 上のクラスにキャストすると下のメソッドなどが使えなくなる 危険があるからという解釈でよいでしょうか?
横やり質問。 アップキャスト、ダウンキャストの定義を教えて下さい。 はずれているのでsageます。
116 :
デフォルトの名無しさん :2001/07/03(火) 21:11
>>114 用語が逆。
アップキャストが暗黙的(普通キャストとは言わない)
ダウンキャストが明示的。
サブクラスしか持っていないメソッドをスーパークラスの
インスタンスでコールしたらどうなるかやってみろ。
118 :
デフォルトの名無しさん :2001/07/04(水) 10:23
初心者です。 よろしくお願いします。 appletviewerで開くと、まず座標(0,0)のところに、画面が出てきます。 その画面を移動させて、ボタンを押すごとに今の画面の座標を System.out.printlnで表示させたいんですけど、 どこでボタンを押しても、最初の(0,0)しか表示されません。 ちなみに、座標は getBounds().x; と getBounds().y; でとってます。 なぜでしょうか??
なぜだと思う?
なぜでしょうか??
なぜだと思う?
なぜなんでせう?
123 :
デフォルトの名無しさん :2001/07/04(水) 13:01
ほわ〜〜〜〜い?
なぜだと思う? 故に我あり。
126 :
デフォルトの名無しさん :2001/07/04(水) 14:10
127 :
118 :2001/07/04(水) 14:13
>>126 使い方が悪いとは?
getBounds().x; と getBounds().y; の使い方っスか?
128 :
デフォルトの名無しさん :2001/07/04(水) 14:14
129 :
118 :2001/07/04(水) 14:22
じゃあ、どうやればちゃんと座標は更新されるんスか?
130 :
デフォルトの名無しさん :2001/07/04(水) 14:28
どうすればいいんだろうね?
131 :
デフォルトの名無しさん :2001/07/04(水) 14:34
ドキュメントちゃんと読んだら答えが書いてあったよ。
132 :
デフォルトの名無しさん :2001/07/04(水) 14:44
ん? どこに?
133 :
デフォルトの名無しさん :2001/07/04(水) 15:15
>>116 JAVAなんてやめとけもう死んでるぞ。
このスレ見たらわかるだろ!
Perlにしとけ。
おいおい。やめとけはともかくPerlかよ(藁
135 :
デフォルトの名無しさん :2001/07/04(水) 15:22
perlもJavaも両方勉強しとけ。 それともおまえの脳みそは片方しか入らないほど小さいのか?
既にCOBOLが入ってるんだろ(w
137 :
HOE :2001/07/06(金) 12:04
JavaのライバルはPerlだったのか・・
138 :
デフォルトの名無しさん :2001/07/06(金) 14:47
?
139 :
デフォルトの名無しさん :2001/07/06(金) 14:51
質問なんですけどJAVAが他のプログラム言語より 優れている点やJAVAで何ができるか教えてください。
140 :
デフォルトの名無しさん :2001/07/06(金) 15:00
>>139 何が出来るって・・ んなの何でも出来るよ。
作る人次第だろ。
君が天才なら完全なAIだって出来るかもナ!
AI作って歴史に名を残してみろよ。
141 :
140 :2001/07/06(金) 15:04
一応言っておくけどネタじゃないぞ。
142 :
デフォルトの名無しさん :2001/07/06(金) 15:05
まずはJavaと表記するところから憶えたらいかがですか? ネタはそのあとききましょう。
JAVAの特徴 マルチプラットフォームなところ JAVAでしかできないこと ない
144 :
HOE :2001/07/06(金) 15:59
Javaをやって良かったこと オブジェクト指向というものを考える事が出来た WindowsにはVC++/VBが最適だなって再確認できた この世界・・MSに認められてなんぼの世界なんだなと実感できた プログラマである前にWinで生きていくか他OSで生きていくかを しっかりと見極める良い機会を与えてくれた 以上
誤解を恐れずに言うと Javaの特徴は ・シンプルな言語仕様と豊富なクラスライブラリ 要するに、必ず覚えなければいけないことが少なくて、標準でできることが多い。 (使える部品が揃っている) OSネイティブなツールでこれを満たしているのは、BorlandのDelphi. ただ、Javaの方がよりシンプルで、クラスライブラリも豊富。 (個人的に使いやすさ、即効性ではDelphiが勝っていると思うが。) たとえばC++だとコピーコンストラクタだの多重継承だの ポインタがどうのこうのだの「どーでもいいよメンドクサイ」なことを 考えないといけない。これらは「C++プログラミング」にとっては重要事項 で理解しているといないとでは全然違うのだが、 「プログラミング」の本質では全くない。
146 :
デフォルトの名無しさん :2001/07/06(金) 19:52
他スレでなんですけど・・Java相談室で this.hoe = hoe ; よりも m_hoe = hoe ; の方が綺麗とか汚いとか・・・どうですか?
147 :
HOE :2001/07/06(金) 19:56
なんだそのm_というのは^^ VC++メンバ変数じゃねーんだよ・・JDKのリファレンスにも thisつかえって書いてあるんだからthis.使えばいいじゃん 変数宣言しなくて済むし、this書くのめんどくさいか? <<そのJava相談室の人
その話題は相談室でやれよ。(藁
だってここにこいって書いてあったんだもん♪
そいつオブジェクト指向とかUMLとかを勉強したこと無いんだよ
こっちにもフレーム飛ばすなよ…
152 :
デフォルトの名無しさん :2001/07/07(土) 04:55
this.でいいじゃん。 ていうかjBuilder使ってると this.(変数名頭文字)で補完してくれるから それでいいんじゃねーの?
というか、thisで頼む ^^;
154 :
糞ソースメンテ専…鬱 :2001/07/07(土) 11:50
モジュール内で統一されてさえいればどうでもヨシ。 クラスごとにルールが違っているのは勘弁して欲しい。
thisの方が明確だね。
156 :
デフォルトの名無しさん :2001/07/10(火) 11:17
jarファイルのサイズ縮小に命かけてます! *.classファイルに jshrink かけて その後に jar -cvf ..*jar *.class してます。 ソースコードの最適化と ソースファイルの最適化について語りましょう!
最小化と最適化は別問題だぞ。
BDKをインストールしようとしたら、 実行可能ファイルを起動できません。 (Java VMの読み込み中に Windowsエラー1157が発生しました) Javaはjdk1.4がインストールされており、普通に使えます。
159 :
デフォルトの名無しさん :2001/07/10(火) 15:56
javaだけで物理メモリ量を取得するにはどうしたらよいですか?(マジレス求む)
>>159 Runtime.getRuntime().totalMemory()で
利用可能なメモリ量は取得できるけど
物理メモリ量は調べる方法ないと思うよ。
"-Xmx32m"みたいなオプションで
メモリ使用量制限できるけど、それじゃだめ?
161 :
159 :2001/07/10(火) 16:24
>160 レスありがとうございます。 単に物理メモリ量を取得したいだけなんです。 やっぱりJNI使うしかないでしょうか。
DLLが足りないかもしれないかもしれません。
>>156 定数をハードコードしない。
なるべく別ファイルから読み込むようにする。
ローカル変数は使用頻度の高いものを上から4つまでに持ってくる。
変数、メソッドはなるべくアクセスを厳しく(できればprivate)してfinalにする。
あとはjavapの出力とVM仕様をにらみながらこつこつと。
1割削れれば上々ってとこかな。
労力には見合わないと思うよ。楽しいけどね。
>ローカル変数は使用頻度の高いものを上から4つまでに持ってくる。 4つじゃなくて3つだね。鬱 あとアクセス修飾子もサイズには関係ないっけ? 逝ってきます。
165 :
デフォルトの名無しさん :2001/07/10(火) 19:05
やっぱ publicよりもprivateにする方がサイズが最小化されるのかな? synchlonizedするとサイズが大きくなるとか・・?
166 :
デフォルトの名無しさん :2001/07/10(火) 19:09
アプレットの場合はclassファイルの数を少なくすることでjarファイル のサイズも小さくなるよ。デザインパターンは悪くなるけど
>>165 あんまり変わらないんじゃないかな?
だってスタックに積んだりするわけじゃないしね。
168 :
デフォルトの名無しさん :2001/07/10(火) 19:22
エッセンシャルJava宮坂 雅揮とやさしいC++高橋 麻奈 の二冊今日買ってきました。 どちらからやるべきでしょうか? ちなみにC言語はある程度できますが、windowsプログラム いわゆるAPIで挫折しました。
>>168 その2冊じゃあ、どっちも挫折すると思うよ。
170 :
デフォルトの名無しさん :2001/07/10(火) 19:31
冷たいのね・・
171 :
デフォルトの名無しさん :2001/07/11(水) 10:15
ヘルプ見て勉強できる人ばかりじゃないからいいんじゃないかな・・? いざというときに色々調べることが出来るように、しっかりとした本を 数冊と、JavaHouseのブックマークがあればOKかも^^ ところでレトロガードってフリーウェアじゃないんだよね?
Appletで、auファイルをjarファイルから読みこんで 鳴らす事ってできます? IEでしか動作しないとかならできたんですが。 Java-House検索しても挫折した所しかでてこないんですよねえ。。 textファイルとかなら簡単に読みこめるんですが。。
173 :
デフォルトの名無しさん :2001/07/11(水) 16:45
昔検索したときあったと思ったけどな・・? jarにするとauも圧縮されるの?
>>172 アプレットのクラスファイルとauファイルを同じjarに入れて
AudioClip clip = getAudioClip(getClass().getResource("sound.au"));
clip.play();
でできると思うよ。
175 :
デフォルトの名無しさん :2001/07/16(月) 01:43
removeElementAt()などを用いたくて、 int型配列をVectorクラスに変更したのですが、 elementAt()などで、int型にキャストしてもしなくてもエラーを言い渡されるのは、 int型がObject型ではないから、という解釈でよろしいのでしょうか? それと、それを回避できそうな手段があるでしょうか? Java初心者ですみません。
176 :
デフォルトの名無しさん :2001/07/16(月) 02:29
>>175 その通り。intなど基本形はObjectでないので入れられない。
回避するにはintのラッパークラスIntegerを使う
aVector.add(new Integer(foo));
で追加し
int foo = ((Integer)aVector.elementAt(i)).intValue();
で取り出す。
Vectorから取り出す
→aVector.elementAt(i)
と、これはObject型として返されるので、まずIntegerにキャストする
→(Integer)aVector.elementAt(i)
Integerをintに直すためにintValue()を使い
→((Integer)aVector.elementAt(i)).intValue();
あと、Vectorは遅いので、ArrayListの方がいい(Applet環境でなければ)。
使い方はほとんど一緒だが、メソッド名の違いに気をつけてね。
elementAt(int i)はArrayListではget(i)。
177 :
175 :2001/07/16(月) 17:15
ありがとうございます。 どうにも、某オブジェクト指向スクリプト言語に慣れてしまったので、 このような所で躓いてしまいました。
178 :
デフォルトの名無しさん :2001/07/16(月) 17:25
>>177 つうか、そのオブジェクト指向スクリプト言語の方が美しくて
Javaのほうがダサイだけ。
shigeかこのやろ
180 :
デフォルトの名無しさん :2001/07/16(月) 17:49
>>178 intのようなプリミティブなデータ型をオブジェクトにしないってのは
現実的な譲歩ってやつだよ。
やはりC#の時代だな。とか言ってみるテスト
183 :
デフォルトの名無しさん :2001/07/16(月) 20:06
String a = "12345"; String b = "234"; でaとbを比較して、aにbの文字列が含まれていたら、 trueを返すようなメソッドありませんか? APIはJDK1.2に含まれるもののみでお願いします
184 :
デフォルトの名無しさん :2001/07/16(月) 20:19
>>183 (a.indexOf(b) != -1)
>>181 いや、美しさに関して言ったので。。。現実的にどちらがいいとは
言ってない。ただ、初心者にはRubyから入って欲しいというのはある。
あまり関係ないので、さげ。
186 :
デフォルトの名無しさん :2001/07/17(火) 11:16
DBから受け取った以下のような表を列1をキーにしてオブジェクトに格納する方法は どうするとよいでしょうか? Vector vc = new Vector while (rs.next()) { HashMap map = new HashMap(); map.put("0",rs.getString(0)); map.put("1",rs.getString(1)); map.put("2",rs.getString(2)); vct.add(map); } なんとも効率が悪そうなんですが・・・・ 列1 列2 列3 0 A あ 1 B い 2 C う 3 D え 4 E お 5 F か
1.ArrayListにする 1.HashMapの行とwhileの行を逆にする 2.putの行をfor文にする 僕は始めて間もない初心者ですがこんなのはどうですか?
Vector文の後ろに括弧をつけるとhappyですな
190 :
デフォルトの名無しさん :2001/07/17(火) 20:18
>>186 rsが何のインスタンスなのか不明だけど、
要はDBから受け取ったListがあって
そのListの要素Itemの列1をキーとして
HashMapにしたいってことなんだよね。
なら、大体の書き方は
List li;
//liのデータを受け取る
Map p = new HashMap();
Iterator iter = li.iterator();
while(iter.hasNext()){
Item it = (Item) iter.next();
p.add(it.get列1(),it);
}
って感じじゃない。
191 :
デフォルトの名無しさん :2001/07/17(火) 21:28
C:\jdk1.3.1\bin>javac Hello.java C:\jdk1.3.1\bin>java hello Exception in thread "main" java.lang.NoClassDefFoundError: hello (wrong name: Hello) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:486) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111) at java.net.URLClassLoader.defineClass(URLClassLoader.java:248) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:297) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286) at java.lang.ClassLoader.loadClass(ClassLoader.java:253) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313) C:\jdk1.3.1\bin>
192 :
デフォルトの名無しさん :2001/07/17(火) 21:42
190> その方法だと、一列しか格納できないですよね? 複数列格納するときは186みたいになっちゃいませんか?
193 :
デフォルトの名無しさん :2001/07/17(火) 23:15
rsって、その書き方だとjava.sql.ResultSetのインスタンスだよね? つうか、javax.swing.table.DefaultTableModel のサブクラス作ってそのまま放り込むのが、あとの扱いが楽だ と思う。そのままjavax.swing.JTableのテーブル画面作れるし。
194 :
193 :2001/07/17(火) 23:19
詰め替えはせざるを得ないので、そこのコードが効率悪そうなのは 諦めよう。インピーダンスミスマッチの残りカス(殆どはJDBCが吸収 してくれていて、Javaは楽でいいよね)はそこの間抜けなコードで吸収 という事で。
>>192 そうかも。
ていうか、出てきてくれ>186
196 :
ネ刀心者 :2001/07/18(水) 04:02
AppletでMIDI流したいです。 AudioClipで流せるって書いてあったのに流れません。 auは流せました。 AppletでMIDI再生は不可能なのですか?
197 :
192=186 :2001/07/18(水) 09:04
仕様が不明瞭で申し訳ありませんでした。 rsはDBの検索結果です。 表示はjspになんらかのオブジェクトでわたして行います。
198 :
デフォルトの名無しさん :2001/07/19(木) 00:31
>>196 VMのバージョン古いからじゃないけ?
MSのJVMじゃau以外できないとか、誰かいってなかったっけ?
199 :
196 :2001/07/19(木) 01:54
>>198 そうでしたか・・・
MSあたりは勝手にMIDI再生できるように仕様変更してそうな感じなのに…
200!
201 :
デフォルトの名無しさん :2001/07/20(金) 00:56
>>199 MSは事あるごとに、Javaの評判を下げよう下げようと努力しているので、
そんな気の利いたことを、するはずがないです。
202 :
196 :2001/07/20(金) 02:12
>>201 あそうか、MSはJAVA毛嫌いしてるんだっけ。
そのうちVBAppletとか作るのか?>MS
ネスケはあんな感じだからApplet強化は期待できなさそうだし。
Appletは光を浴びずに消えていくのか…
203 :
デフォルトの名無しさん :2001/07/20(金) 02:58
Appletはブラウザ上で実行されるタイプと、httpがトリガーになってプログラムをダウンロードして 通常のアプリケーションのように実行されるタイプの両方を作るべきだな。
>>204 ありゃ、もうやりかけだったのか
スマン
やりかけでなく、リリース。 まぁ、布教をちゃんとするかどうかだけど。
MSのVMはSunとの訴訟のことがあるから勝手に改変はできなくなってる。 それに、WindowsXPからはJVM外されるみたいだし。Java Applet も見れなくなるね。
208 :
デフォルトの名無しさん :2001/07/21(土) 11:39
ところでXPっていつでるの?
209 :
デフォルトの名無しさん :2001/07/21(土) 12:43
つまらない質問かもしれないけど・・ 参考書なんかでCalendarクラスのMONTHで取れる値は0から11である。 それは諸外国では月を数字で表す習慣が・・等よく書かれていますね。 しかしもちっと突っ込んだLocaleを説明している所では必ずと言って 良いほど他言語との比較で月を数字で表す個所にお目にかかります。 諸外国でも0〜11ではなく1〜12です。よって習慣うんぬんというのは おかしいと思うのですが皆さんどう思いますか?Cからの慣習とか言う ならまだ分かるけど。
210 :
デフォルトの名無しさん :2001/07/21(土) 12:48
>>209 日本では月を数字で表す習慣はそもそもないからね。
それはそれとして、「0から」って判ってるんだから便利に使おうぜ。
211 :
デフォルトの名無しさん :2001/07/22(日) 01:38
CLASSPATHっていうのは何ですか? あと、synchronizedの意味が良くわかりません。 良い参考書ないでしょうか? よろしくお願いします。
>>211 CLASSPATH:*.classファイルを参照する時のルートディレクトリの集合。
例えば、hoge.hageパッケージのPage.classを参照する為には、
CLASSPATH指定PATH/hoge/hageディレクトリにPage.classをおいておく必要がある。
CLASSPATHには、ZIP/JARファイル自身を指定する事が可能。この場合その圧縮ファイル
での記憶ディレクトリ構成のルートがCLASSPATHってことになる。
synchronized:マルチスレッドプログラミングの排他同期制御用のロック宣言。オブジェクトインスタンス
ごとに一個ずつロック用オブジェクトが自動的に存在するのよ。ソイツの使用権(モニタと呼んでいる)
を掴む宣言がsynchronized。マルチスレッドプログラミングの勉強しないと意味ワカランかもしれん。
213 :
デフォルトの名無しさん :2001/07/22(日) 08:08
ちょっとお伺いします。 今度JAVAを使ったWebアプリを開発することになったんですが、 うちの社員はそろいもそろって、誰もJAVAで何ができるのか判らないので、 アホな質問をさせてもらいます。 サーバーのOSはWinNT4.0、DBはOracle8(JDBC使用)、WebサーバーはTomcat、 クライアントにはブラウザだけを置く、サーブレットを作る予定です。 DBの詳細(レコードの中身)をブラウザに表示するとき、 「更新」などのボタンを押すと小さな別窓が立ち上がり、 そこで表示するレコードを選びます。 このとき、リロードなしで元の詳細を表示するブラウザの窓に 選んだレコードを表示させる方法はないでしょうか? (JAVAというより、httpの問題?) サーバーに負担をかけず、なおかつ、レスポンスが速いのなら、 リロードしてもいいと思います。
214 :
デフォルトの名無しさん :2001/07/22(日) 09:40
>213 >このとき、リロードなしで元の詳細を表示するブラウザの窓に >選んだレコードを表示させる方法はないでしょうか? アプレット等の力を借りずにリロードしないでサーバーのデータを表示するのは 無理。 HTTPってそういうもんだ。 (できるのなら2chだってそうするだろう) >サーバーに負担をかけず、なおかつ、レスポンスが速いのなら、 >リロードしてもいいと思います。 サーバーに負担をかけずにレスポンスを速くするように作ればよい。 少なくとも同じことをするならCGIよりサーブレットのほうが サーバプロセスをスレッドですませている分、速くて負担は少ないはず。
215 :
デフォルトの名無しさん :2001/07/22(日) 13:05
JavaScriptをつかえば?
216 :
213 :2001/07/22(日) 13:41
>>214 さん、215さん
ありがとうございます。
やっぱ、無理ですよね。
アプレットもしくはJavaScriptを使うか、スレッド処理させるかの
二者(三者?)択一になりそうですね。
素早いレスに感謝します。
>>213 自前プログラミングに自信があるなら、クライアントサイドを
アプリケーション(Appletでもいいけど)でにサーバソケット
開いておいて、サーバサイドで変更があるたびに変更分を
パブリッシュせよ。メッセンジャーの出来上がり。
218 :
デフォルトの名無しさん :2001/07/24(火) 01:57
すげー基本的な質問なんだけど。 VMってバイトコードを実行するインタプリンタなんだよね? じゃ、なぜJavaのソースファイルをバイトコードにコンパイルする必要があるの? VMが(Perlみたいに)直にソースファイルをインタプリントするわけにはいかないの?
219 :
デフォルトの名無しさん :2001/07/24(火) 02:10
>>219 おっ!TP2だ。ちょっとDLしてこよっと。
>>218 プログラミング言語の構文解析ってかなり重い処理なのよ。
ついでに Java はネットワーク上でやり取りされるから、コメント
等のいらん情報は極力省きたいよね。
222 :
218 :2001/07/24(火) 04:40
計算機科学のテキストのコンパイラの部分を読み返してみた。 字句解析、構文解析、意味解析まででできる中間言語ってのがバイトコード、 って理解でいいのかな。 Perlなんかはソースコードを一行づつ字句解析 → コード生成までやっていて、 Javaは中間言語を一行づつコード生成と最適化だけやっていく、ってこと?
>>222 俺は元物理屋なので計算機学のことはよくわからんが、ひょっ
としてバイトコードを特殊な構文テキストと勘違いしてないかい?
224 :
218 =222 :2001/07/24(火) 05:37
>>223 答えようがない。
字句や構文に誤りがないことが保証されたコードで、
その意味に沿って、おそらくは木構造で記述されているだろうと思っている。
例えば逆ポーランド記法で一行だけ計算式が書いてあるファイルがあったとして、
それを「特殊な構文テキスト」と呼ぶならば、答えはYes.
はじめからコンパイルを前提に作られた言語だと、 インタプリタに直すのは難しい気がする。 クラスを再定義(上書き)されたら既存のインスタンスは どう振る舞うか、とか。
すまん、説明が悪かったようだ。 Java のバイトコードは VM 用の実行コードだ。標準の javap で 逆アセンブルも出来る。Java で書いたコードを逆ポーランド法 みたいなテキストに置き換えるのが Java コンパイラだと思って るなら間違い。まぁ逆ポーランド法のように最適化されたバイナ リだと言えなくもないが、ちょっと調べればネイティブのマシン コードの方が近いということに気づくだろう。
227 :
1 :2001/07/24(火) 11:35
228 :
名無し :2001/07/24(火) 11:37
Javaのswing使ってテーブルを使ってるのですが、 マウスのホイールに合わせてスクロールさせること はできないのでしょうか? 何か参考になるホームページ等あればご教授ください。
1.4まで待とう
230 :
228 :2001/07/24(火) 12:49
>>229 ということは1.3ではできないのでしょうか?
age
あのさ、クラスに対するfinal修飾子の必要性がわからないんだけど。 いや、別にそういう修飾子が存在してるだけならいいんだけど、使う意味がわからない。 なんでわざわざ拡張性を否定するの?
233 :
デフォルトの名無しさん :2001/08/02(木) 02:53
下げながら聞くなよ 手持ちの本ではパフォーマンス的に有利になることがあるって書いてある C++のinlineみたいに最適化されるらしい
234 :
232 :2001/08/02(木) 03:49
>>232 サブクラスを作って振舞いをごまかすようなことを出来ないようにする
ためかな。何かのクラスライブラリ作って人に使ってもらうとき、変な
使い方されないようにするとか、あー、あまり良い説明が思いつかない
けど使いどころは月1くらいにある。
>>232 俺の経験だと
java.awt.image.DirectColorModel がfinalだったよ。
扱う画像フォーマットに合わせてRBBの並びを入れ替えたかっただけ
だったんだけど
仕方がないからjava.awt.image.ColorModelから1から作ったよ。
DirectColorModelは実行環境のグラフィック機構とネイティブメソッドで
がっちり結びついていて
サブクラスで勝手に置き換えることができないみたいだ。
238 :
デフォルトの名無しさん :2001/08/02(木) 17:24
Javaの開発はLinuxとWinでどちらが快適ですか? 同じくSwingはどうですか?
239 :
デフォルトの名無しさん :2001/08/02(木) 17:33
全く同じと言っていい 慣れてる方を使えばいい
>>236 月一くらいって・・・月にどれくらいコード書いてます?
>>237 一からクラスの作り直しデスカ。
漏れにはとてもそんな根性ないッス。
241 :
デフォルトさん :2001/08/03(金) 11:42
Microsoft Visual J++6.0 をインストールしたんですけど、実行したら unable to load development environment dll ってのがでて、動いてくれません。 どうすれヴぁいいか教えてください。
フォーマットしろ
243 :
デフォルトの名無しさん :2001/08/03(金) 12:06
Linux(CUIorGUI)でのJavac処理時間は、いくらLinuxが軽いとはいっても CPUに依存するんですよね。 少しでもCPUの早いWinの方がJavac処理は速いんですよね?
>>243 何が言いたいのかわからん。
CPU使用効率ならWinよりLinuxの方が良い。
245 :
デフォルトの名無しさん :2001/08/03(金) 12:24
JavaとCは似たような感じがしますが、どうちがうのですか
246 :
as :2001/08/03(金) 12:45
さあ?
247 :
お願いします :2001/08/03(金) 12:57
サブクラスをスーパークラスにキャストするときって どのようなときでしょうか?また、その逆(スーパー クラスをサブクラスにキャストする)ときってどのよ うなときでしょうか? どなたか教えてください。
248 :
デフォルトの名無しさん :2001/08/03(金) 14:34
>>247 言語の解説書読んだほうが早いと思うよ。
後者はあまり使わない(使いたくない)かな?
どうしても必要な時は、設計がまずい可能性あり。
249 :
デフォルトの名無しさん :2001/08/03(金) 15:12
>>247 必要になときにキャストすればいいだろ
そんな事気にする前にデザインパターンの勉強でもしとけば?
自然と必要な場面が分かるようになるよ。
251 :
デフォルトの名無しさん :2001/08/03(金) 16:00
>>247 「デザインパターン」だと難しすぎて手が出ないという人にも「Javaの格言」はお勧めだYO!
>>243 同じマシンにWinとLinuxをデュアルブートにしてコンパイルどっちが
高速か?という話かな? age
実行の場合も知りたいぞ
253 :
デフォルトの名無しさん :2001/08/03(金) 23:30
ウイルスもどきみたいなのは作れないの?
255 :
デフォルトの名無しさん :2001/08/03(金) 23:45
ウイルス完成! ↓ 攻撃対象がWinXP ↓ 鬱
256 :
Code Redなんとかしろ! :2001/08/03(金) 23:49
ああいうウィルスは作るなよ(怒
257 :
デフォルトの名無しさん :2001/08/04(土) 00:03
今日はコード赤が6回もアクセスしてる...ぅっ
259 :
デフォルトの名無しさん :2001/08/04(土) 12:27
パッチ作る会社がウイルス作ってるってことはないんでしょーか。
マックロソフトのことか?
IBMがコンシューマ向けのPCをもう作成しないとい噂だが・・マジ?
>>262 日コン連なんて見てるヴァカがまだいるのか?
ここにいまーす^^
265 :
デフォルトの名無しさん :2001/08/07(火) 12:12
age
世界のIBMがそれは・・・うーん コンシューマ向けというのはあり得るかも
age
268 :
デフォルトの名無しさん :2001/08/08(水) 20:26
ファイルのコピーって単純にできますか? Fileクラスにはそのようなメソッドはないみたいですけど、 1行1行出力するみたいな感じしかないのでしょうか?
>>245 どちらかというと、C++に似ているような気が・・・
違いは処理系によって違う。
言語の仕様に関してはC(C++)ライクな言語はいくらでもある。
Java で少し書いてみたんだけど、やたらと try / catch がたくさん出て来て コードが長くなったり、見にくくなったりする。 これは 1 つの try にまとめた方が良いんですか? それともちゃんと1個1個エラー処理を入れた方が良いんですか?
271 :
デフォルトの名無しさん :2001/08/09(木) 02:19
cでいうところの enum 型はどうやって実現しますか。 関数(メソッド?)へのポインタ型はどのように宣言しますか。
Java で enum みたいな値の自動割り振り機能はないので、手作業で 定数宣言する (enum は欲しかった機能の一つだな)。 関数ポインタはインターフェースと実装を分けることで実現できる。
>>270 逝ってることが良く分からんが君はきっと throws を使ってないな?
発生した例外は対処できるところまで投げっぱなしでよい。
お伺いしたいのですが、JAVAをコマンドプロンプトで実行しているのですが 結果を出力するとログが流れて画面から消えた出力結果が見れません。 WIN2000だとスクロールバーがついていて、上に上ることもできるのですが 現在WIN98の環境ではスクロールバーがなくて困っています。 どうしたらいいでしょうか?
C:\> java Unko | more
有り難うございます。それしかないですよね。。。 スクロールバーみたいなの出したりできると便利なのにな
tryの中に複数のthrowするメソッド入れてもいいよ ただし、どのメソッドがthrowするかちゃんと把握しておくこと。 どこでthrow起きても後処理に不整合が起きないようにしないと。
ならリダイレクトしてテキストエディタでみれば? C:\> java Unko > dechau.txt C:\> start dechau.txt
今日JAVA2SDK1.3.1をインストールしたけど、 実行したら次のメッセージが出て結果が見られない。 Exception in thread "main" java.lang.NoClassDefFoundError: FristProgram 鬱な質問ですまんが教えてたも。
282 :
デフォルトの名無しさん :2001/08/09(木) 23:37
>>281 実行できてねえよ。
JavaVMのユーザコード実行スレッドが、
コマンドライン指定のクラスファイルをロード
しようとして、見つけられないんだとさ。
>>282 クラスファイルのオプションつけたら実行できた。
サンクス。
>>273 >>277 どうも有難うございます。
try {
何とか var = new 何とか
}
catch (...){
}
みたいのが続いたので、1 つの try { に全部まとめても良いのか、
聞きたかったのです。わかりずらくてゴメン
class test { public static void main(String args[]) { int i = 1; byte b = 0; b = i; System.out.println(b); } } 当然これはエラーが出ますが、 b += i; だったらエラーが出ません。なぜでしょうか? b = b + i; これはエラーです。
ここで聞くことが悪いとは言わないけど本とかで調べるのも自分のためになるよ。
本を読むと、 b += i; と b = b + i; は同じ意味と書いてあったので???だったわけです. あまりにも初歩的なようなので、自力で頑張ってみます。
b += i は自動的にbyteにキャストされて代入される b = b + i は 値がIntegerの状態では代入できないからByteへキャストする 必要があるっつーことではないかな?
>>287 こっちはネタ心者用スレだから初歩的なことでもいいんだけど、
オヤ?っと感じたとこからキャストの規則を自分で把握するといいと思ったんだよ。
型変換の規則は一応知ってたのですが、
それをキャストと呼ぶことは知りませんでした。
ありがとうございます。
疑問に思った点は
>>288 さんの回答で解決のようです。
勉強になりました。
291 :
デフォルトの名無しさん :2001/08/12(日) 00:42
消えそうだったのでage
292 :
デフォルトの名無しさん :2001/08/12(日) 00:47
ジサクジエンミグルシイ
293 :
1 :2001/08/12(日) 11:53
>>290 多くのバグの原因になりうる問題だからちゃんと理解しておいた方がよいかもね。
javacは通るけど動作させたらバグがでた。という、典型的なパターンだね。
お互いに頑張りましょう!
あ。 1 != 291 ね^^
294 :
デフォルトの名無しさん :2001/08/13(月) 01:36
>>293 協同作業である仕事でのプログラミングでは、「暗黙の型変換は使用しない」
のが正しいと思われる。
つうか、byteにint足したり引いたりすんな。
ビット演算みたいなことがしたいなら、シフト演算と&、|だけにしようね。
295 :
デフォルトの名無しさん :2001/08/13(月) 16:12
ANSI C の strtol関数 のような感じで "0xa0" などの String を byte に変換したいのですが、どうするのが普通でしょうか? Byte.decode(...) とか Byte.parseByte(...) かと思ったのですが NumberFormatException でコケてしまいます。
296 :
295 :2001/08/13(月) 16:30
あれー Integer.parseInt("a0", 16); は問題ないのですね。 Byte.parseByte("a0", 16); は例外発生。 なぜ??おしえていただけませんか。
>>295 a0=160>127
だから、エラーが出てるんだよ。
byte b = Byte.parseByte("7f",16);
Byte b = Byte.decode("0x7f");
などByteの範囲内ならエラーは出なかったよ。
298 :
295 :2001/08/13(月) 16:48
あああ そうか。どうもです。
Javaでみんななにつくってるのさ?
300 :
デフォルトの名無しさん :2001/08/13(月) 17:30
テキストエディタ(ほんと簡単なヤツ) でもめっちゃ重いんだけどさー これで何すりゃいいんじゃあ
303 :
デフォルトの名無しさん :2001/08/13(月) 23:14
初心者ですが質問します。 BluetteというIDEを使おうと思ってるんですが・・・ 主観で良いのでコメント下さい。
>>305 これスゴいな
頑張ろうって気になった!有難う!!!
>>303 エディタ画面のあまりの格好悪さに、3秒でクローズ。
以後1回も起動せず。
308 :
デフォルトの名無しさん :2001/08/14(火) 05:57
JavaでEXEファイルってどうやって作ればいいの?
>>308 VisualCafeにその機能あるらしいよ。
ただし、その動作例が少ないところを見ると、あまりうまくいかないように思われ。
310 :
デフォルトの名無しさん :2001/08/14(火) 10:24
>>309 Thanks for your quick response!
VisualCafeみたいなソフト使わなきゃできないのかなあ。
Windowsで実行可能な(コマンドラインからじゃなくて)
実行可能にするには、EXEファイルにする以外に方法ってある?
>>310 バッチファイルにして、ショートカットを作成するのはどう?
VJ++ であっけなく作成する。 JDKがインストールされている環境であればjarのダブルクリックでよいだろう?
>>303 今イチ使えネーって感じ。
いいとこ狙ってると思うけど実用レベルに達していない。
アプレット作るならJDK1.1相当のVJ++ アプリケーション作成なら初心者は JDK + お気に入りのEditorがいいかも 金のない奴はJBuilder無料版でとことん頑張る。 Sunのふぇちは同じ無料でもForte2.0。最後にうけねらいでBluette ^^
315 :
デフォルトの名無しさん :2001/08/14(火) 22:30
jar のマニフェストでメモリ割り当ての最大サイズを変更する方法はありますか? java -Xmx と同じ事がしたいのです。
316 :
303; :2001/08/15(水) 00:38
>>307 ;
>>313 ;
>>314 ;
レスありがとうございます。
いまはTeraPadとJDKを使用ます;
BuilderとかForte2.0は重そうなので使いたくないです;
複雑な機能は要らないので、
「エディターは色分け+自動インデント、キーボードから手を放さずにコンパイル+実行」
なソフトを探しているんですが、Vecterではなかなか見つかりません;
そんなソフトはないでしょうか?
>>316 色分け+インデントはいくらでもある(と思う)から
あと、マクロでコンパイル/実行出来る物を探せばいい。
自分は秀丸でキーワードの太字・色付けして
コンパイル+実行は少し面倒だけどDOS窓でやっているけど、
マクロ作ればキーボードだけで出来ると思うよん。
318 :
デフォルトの名無しさん :2001/08/15(水) 10:07
ダウンキャスト、アップキャストが詳しくのってるページあったら教えてください。 まじでわかんないよ。
319 :
デフォルトの名無しさん :2001/08/15(水) 11:06
xyzzyも色分けできるぞ FrameやDialog系はIDEで作ってそれ以外のクラスは普通の エディタで作るのがええかも
321 :
デフォルトの名無しさん :2001/08/15(水) 13:06
>>318 継承や多態は理解しているの?
基本をしっかり押さえとかないと時間の無駄だよ
つかデバッガって必要か?
>>322 必要としたことないッス
324 :
デフォルトの名無しさん :2001/08/15(水) 20:51
ジャバとジャバスクリブトはどうちがうんですか
>>323 条件付きで同意
メモリ破壊がないから原因不明の妙な障害にあまり遭遇しない
スタックトレース見ればたいてい解決してしまう
ゆえに使用頻度が低いからjdbでも我慢できてしまう
326 :
デフォルトの名無しさん :2001/08/15(水) 21:54
>>316 キーボードから手を放さずにコンパイル出来る方法。
「スタートメニュー」→「p」→「m」→「ENTER」→「PATH C:\jdk1.*\bin」→「ENTER」→「cd \***\****」→「ENTER」→「java ***.java」→→→→「exit」→「ENTER」
327 :
デフォルトの名無しさん :2001/08/15(水) 21:55
>>324 同じだよ。仕様も全部同じ。
ただ、ブラウザで実行するかどうかの違い。
むむ 1)ネタにネタレス 2)ネタにマジレス 3)マジにネタレス 4)マジにマジレス 2だとイタイ
330 :
デフォルトの名無しさん :2001/08/15(水) 22:19
「j2sdk1_3_0-doc-ja.zip」って大事な所がほとんど英語のような気がするのですが、 邦訳のAPI仕様のみをダウンロードできる所ってありませんか?
>>329 おれはわかっていて1
ある意味ってのは、JavaScriptを実用言語にしようと考えるとわかる。
>>331 >実用言語にしようと
ごめ。訂正。
新しく機能を追加しようと
333 :
デフォルトの名無しさん :2001/08/15(水) 22:51
>>330 非常に残念ですがありません。参考図書を購入区d再
334 :
デフォルトの名無しさん :2001/08/15(水) 23:01
>>334 WebではJava2 API仕様は邦訳なんですね。
なんで俺のは英語なんだ? 鬱だ死のう
翻訳前の古いの持ってるだけじゃ。
ガーン、オレ未だにprintデバッグだ、、、、。
339 :
デフォルトの名無しさん :2001/08/16(木) 21:50
Runtime.traceInstractions()と Runtime.traceMethodCalls()は、 いつになったらちゃんと実装するんだ?
;llllllll :lllllllllii;;;,_ lllllllllll .'llllllllllllllllト .lllllllllllllト :llllllllllllllllト .llllllllllllllト lllllllllllllllllト .llllllllllllllレ lllllllllllllllllト .llllllllllllllll .llllllllllllllllレ .,;;;;;_ llllllllllllllllト .llllllllllllll llllllllll :illlllllllll;_ .lllllllllllllllト illlllllllll .lllllllllllllllll;_ ''llllllllll .lllllllllllll .llllllllllllllllllレ llllllllllllllト 'lllllllllllllllll 'llllllllllllllレ 'llllllllllllllll llllllllllllllllll_ 'llllllllllllllレ llllllllllllllllllll .''lllllllllllト .lllllllllllllllllllllllli; ''''''' .'lllllllllllllllllllllll ,,,;;;;;;_ ''llllllllllllllll .illllllllllllllllllll;;_ ゙゙''''''` .''lllllllllllllllllllllllll;;_ ゙''llllllllllllllllllllll( ________ .;lllllllllllllllllllllllllllllllllllllllllllllllllll;; ;lllllllllllllllllllllllllllllllllllllllllllllllllllllll .;lllllllllllllllllllllllllllllllllllllllllllllllllllll` .''''''''''''''''''''llllllllllllllllllllllllllll'` :,,;illlllllllllllllllllllllllllll_ :;;illllllllllllllllllllllllllllllllllllll| ,,,;;;;iiii ;;illlllllllllllllllllllllllllllllllllllllllllll!;;;;illllllllllllll 'lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllト ゙''llllllllllllllllllllllll'llllllllllllllllllllllllllllllllllレ
うんこかと思たよ
誤爆か?
343 :
デフォルトの名無しさん :2001/08/17(金) 21:47
厨房ですが質問です Javaのドキュメントをダウンロードするときって、ボタンをクリックして行いますが、 あれはIriaでダウンロードさせないための陰謀ですか? よろしければIriaでもダウンロードできる方法を教えてください。
344 :
デフォルトの名無しさん :2001/08/17(金) 22:16
陰部かゆい。
やっぱり陰謀ですか。sunはそこまでしてJavaを潰したいんですね
ネタにマジレスだが、ライセンス条項に同意してない奴がDLでき ないようにしてるだけとおもわれ。 広告ティッシュ並にばらばら配ってエンドユーザに浸透させるべき はずなのに、Sunは何を考えているのか分からんということなら、 同意。
349 :
デフォルトの名無しさん :2001/08/18(土) 22:48
jdk1.4とj2eeってどうなの? 今日サブマシンの方に入れたら This J2EE SDK release runs only on Java2(JDK1.2 or later) というエラー出て困ってます(J2EEがjdk1.4をjdk1.1とでも思ってるんか?) もちろんJDK1.3+J2EEの方はうまく動いてます。 jdk1.4とj2ee入ってる人こんなことない?(windows)
ウォ、J2MEも1.3じゃなきゃダメみたいだ サブマシンにJDK1.4にして環境組みなおそうと思ったけど ヤメダヤメダ
JDK1.4入れたらforteもまともに動かなくなったよ まだ待ちだね
352 :
デフォルトの名無しさん :2001/08/19(日) 17:04
class Gaikoku{ static String henkan(String c){ String x; if (c=="one") x="uno"; else if(c=="two") x="dos"; else if(c=="three") x="tres"; else if(c=="fwo") x="quatro"; else if(c=="five") x="cinco"; else x="(゚д゚)ウマー"; return x; } } class Kokugo{ public static void main(String args[]){ System.out.println(Gaikoku.henkan(args[0])); } } コマンドライン(?)にoneとかtwoとか打っても なぜか、(゚д゚)ウマーとしかでないYO− 教えてください。
353 :
デフォルトの名無しさん :2001/08/19(日) 17:08
>>352 文字列比較は==でやっちゃダメだぞ! じゃまた来週!
354 :
352 :2001/08/19(日) 17:42
>>353 来週と言わずに今すぐ教えてくださいYO−
あっ!わかったYO−
c.equalslgnoreCase("one")ってやればいいのかYO−
353ありがとYO−
355 :
デフォルトの名無しさん :2001/08/19(日) 17:47
>>354 リファレンスを見るときは、スーパークラスも参照しましょうね。
356 :
デフォルトの名無しさん :2001/08/19(日) 17:58
>>352 かわいいワラタ(w
普段は漏れは
x.equals("one")ってやってるが
357 :
デフォルトの名無しさん :2001/08/19(日) 18:01
最近Javaがおかしい。 アプリを会社で作って家で修正しようと思ってるんだけど GUI部品をポチッと押すだけで不正な処理落ちしてしまいます。 エラーの詳細見ると、JAVAWのページ違反・モジュールATOK12W… とかあるんだけど、どこが悪いのかわからんのです。 こないだ入れたJビルダーがなんか悪さしたのかなー。 アドバイスお願いします。
>else if(c=="five") x="cinco"; イタ語で5はちんこ…
359 :
デフォルトの名無しさん :2001/08/19(日) 18:16
>>357 ATOKをアンインストロールしてみる、というのも一つの手。
>>359 なるほど。やってみます。
それにしても、ATOKを入れたり消したり壊したり
したわけでもないのに、前は動いてたJavaが
最近動かなくなったのが解せない…。ウイルス??
361 :
352 :2001/08/19(日) 19:06
>>354 スーパークラスは、最近ならたから、しってるけどYO−
リファレンスは知らないYOー
よければ教えてください。
362 :
デフォルトの名無しさん :2001/08/19(日) 19:22
363 :
352 :2001/08/19(日) 21:15
>>362 ここにいる人たちが、「ドキュメントよめよ(゚д゚)ゴルァ」
て、言ってた意味がよくわかったYOー
独習JACAには、1部のインスタントメソッドしか乗ってなかったけど
そのHPにはいっぱいのってたYO−
362ありがとうYO−
365 :
デフォルトの名無しさん :2001/08/19(日) 21:43
アプリでオーディオクリップ鳴らせますか? アプレットクラスのメソッドでしか、ファイル取得や再生が出来ないっぽいのですが
366 :
352 :2001/08/19(日) 22:03
>>364 教えてくれて、ありがとYO−
いまからDLして、立派なJAVAプログラマーになるYOー
密かな疑問?
いつも2chの人は初歩的な質問したら、怒ってただす。
でも、なんでおらの質問には答えてくれたんだすか?
367 :
デフォルトの名無しさん :2001/08/19(日) 22:42
>>366 質問する場所と、質問する態度と、回答者のそのときの気分次第じゃない?
今回のは自分なりに頑張って勉強している姿が透けて見える質問だったからかもね。
教えてクソにならないように気を付けてね。
ややこしいがC#だと
>>352 の書き方でいいんだよねー
とりあえず両方やってる君
今日初めてStringTokenizerクラスを知ったよ。 こんなのがあるなんて知らなくて、いっつもルーチン書いてたオレって、、、。 そういう密かに役に立つクラスって、他に何かあります? (あいまいな聞き方スマソ)
今時ありそうなものはたいていある つうか普通の入門書でもそれくらい載ってないか?
374 :
352 :2001/08/20(月) 10:23
>>369 教えてくれて、ありがYO−
教えてクソにはならないように、きおつける。
>>370 C#と言う高名な言語は、習ってないYO−
JAVAを始めるまで、HSPをやってたから、あの書き方になったのかもYO−
375 :
名無し :2001/08/20(月) 11:03
Javaに、DirectXのカラーキーみたいな機能 ありましたっけ?
376 :
デフォルトの名無しさん :2001/08/20(月) 11:12
演算子オーバーロードを認めてないのにStringクラスはどうして ”+”とか使えるのでしょうか? 普通#concat()使うのが正当なのですか?
どうしてと言われても、、、、「そういう言語仕様だから」としか答えられない どうしてそういう仕様にしたかはジェームス・ゴスリングに聞いとくれ。
演算子オーバーロードをいっそのこと認めて欲しいなぁ。
379 :
デフォルトの名無しさん :2001/08/20(月) 12:54
>>378 これ以上デバッグしにくくなっても困るから
現状のままでいいと思う。
>>375 AWT限定なら
基本的にアルファでナントカする。
IndexColorModelには透明色あるけど、結局アルファにマップされる
#Java2は知らない→教えてJava2Dの偉い人
382 :
デフォルトの名無しさん :2001/08/20(月) 14:23
Javaでiアプリを作成することになったのですが教えて頂きたい事があります。 例えば選挙投票を行うといったアプリ @iアプリを立ち上げ、投票する。 A投票結果(グラフ)が返ってくる Bグラフを定期的に通信を行い表示する。 こういったものなのですがどうすれば良いのかさっぱりわかりません。 教えてください。 iアプリで通信を行うといったことが書いてあるサイトなどあればお教え下さい。
383 :
デフォルトの名無しさん :2001/08/20(月) 15:32
>>382 DoJaでサーバからのプッシュは無理と思われ。
たしか通信方法ってHttpURLConnectionしかないんでしょ?
定期的に携帯側からリロードするしかないんじゃない?
384 :
デフォルトの名無しさん :2001/08/20(月) 18:22
"12,345,678"のような文字列を数値に変換するにはどうするんですか?
java.text.NumberFormat つうか検索エンジンってしってる?
>>382 よし、じゃまずはアプレットでそれ作ってみよう!
それができたらiアプリいってみよう
387 :
デフォルトの名無しさん :2001/08/21(火) 13:33
やっとJavaスレが統一されたか・・・エガッタエガッタ さーて、台風もきてることだし2chの見回りでも行くか ところでiアプリってほんとに携帯端末の標準となるモノなのかな・・?
携帯端末の世界でひっそりと生きていくと思うZo!
>>387 >>390 電話やPDAを含め実行環境&ライブラリは
今後ともボコボコ増えていきそうな予感、、、
392 :
デフォルトの名無しさん :2001/08/21(火) 16:38
ところでNTTってimodeのライブラリ公開したの?
393 :
デフォルトの名無しさん :2001/08/22(水) 03:19
ageるよ
>>392 おれとしては、J-Phone が、Javaアプリの仕様公開してくれないのが痛い・・・
おれは、別"板"328です(;´Д`) 逝ってきます・・・・
396 :
デフォルトの名無しさん :2001/08/22(水) 04:16
いままでCを使っていて、Cである構造体の領域を確保するときmallocを使っていましたが、javaではどうすればよいのでしょうか?とりあえず構造体の部分はclass作って定義すればいいとおもうのですけどその後がわかりません。
397 :
デフォルトの名無しさん :2001/08/22(水) 04:50
new。 つうか、検索エンジンって知ってる?
というか一冊 Java の本を買って読め。
399 :
396 :2001/08/22(水) 14:00
言い方が悪かったです。Cでいうheapの動的確保を行うときはjavaではおそらくvectorクラスを使用すると思うのですけど、これの使い方が今ひとつわかりません。拡張してつかうのか、それともそのまま使う物なのか。
400 :
デフォルトの名無しさん :2001/08/22(水) 14:04
プッシュしてポップしたいんだけどどうするよ?
401 :
デフォルトの名無しさん :2001/08/22(水) 14:07
stackクラス?
402 :
400 :2001/08/22(水) 14:11
>>401 サンキュー!
ところでStackクラスって、
複数スレッドで同時に取り出したり入れたりしたら
おかしなことになるかな?
ちゃんとアトミックな動作保証されてる?
403 :
デフォルトの名無しさん :2001/08/22(水) 14:40
objectをかえすってどういうこと?ってかobjectってなににつかえるの?実用性とその存在意義が今ひとつわからん。
404 :
デフォルトの名無しさん :2001/08/22(水) 15:02
>>403 とりあえず分からないうちは
関数もメンバーにできる構造体 として理解してください。
ちきしょう、ただアプリケーションにgif読み込む だけで1時間もかかっちまったぜ。 屈辱だ
406 :
デフォルトの名無しさん :2001/08/22(水) 16:22
407 :
デフォルトの名無しさん :2001/08/22(水) 20:19
a[n] で初期化した配列にn番目の要素を加えたいのですが 効率のいい方法ってありますか? b[n+1]を新しく用意して、a[n]をループして入れていくのが 妥当でしょうか?
408 :
デフォルトの名無しさん :2001/08/22(水) 20:21
409 :
デフォルトの名無しさん :2001/08/22(水) 20:44
>>407 配列のコピーは、System.arraycopy()ね。
b[n+1]よりは、b[2*n]くらいの方がいいと思うけど。
410 :
デフォルトの名無しさん :2001/08/22(水) 20:50
if else if else の条件分岐にコメントをつけたいのですが、どれが妥当でしょうか? class Test { Test() { int a = 0; // pattern 0 if (a == 0) { } // comment else { } // pattern 1 if (a == 0) { }// comment else { } //pattern 2 if ( a == 0) { } else{ // comment } } }
411 :
デフォルトの名無しさん :2001/08/22(水) 20:55
あら?普通こうじゃないの? funcnameには、実際の処理の内容を簡潔に表す抽象名を与えれ。 public void func(){ //... if(a==0){funcname1();} else{funcname2();} //... } /* comment */ private void funcname1(){} /* comment */ private void funcname2(){}
>>410 最初の if の前にコメントをまとめて書く。それで完結に書けないほ
ど複雑な条件分岐なら、データ構造が腐ってないか考え直す。
413 :
デフォルトの名無しさん :2001/08/23(木) 01:27
docsを右クリックでダウンロードできる方法を知ってる人に100円あげる。
414 :
デフォルトの名無しさん :2001/08/23(木) 09:33
Javaで、画像を保存するコンポネーントってあります? 描いた円グラフをgifかjpegで残したいんだけど……。
415 :
デフォルトの名無しさん :2001/08/23(木) 10:24
>414 JPEGなら com.sun.image.codec.jpeg.JPEGCodec が使えるよ
416 :
メール :2001/08/23(木) 14:58
jdk1.1.8です。 net.*を使ってメールを送信するプログラムを作ったのですが、 相手先のメールアドレスが間違っている場合でも送信ができるみたいで、 結果的にSMTP鯖(か?)がエラーメールを返してきてから、あ、メアドが 間違っていたのねん。気づきます。 これを、Javaプログラム上で知る方法はないでしょうか。 (メールを送信するときの送信エラーをキャッチする??) SMTPの仕様上、どうやっても不可能なことなのでしょうか。 JavaハウスのMLは検索してみましたが、どうも満足できる回答はありませんでした。
>>416 普通のメールソフトになぜそういう機能が実装されていないのか考えれ。
つーかちっとは頭つかえ
Socketでホストマシンのアドレス解決ができるかどうか まではチェックできるかな?そんなことに意味があるのか どうか知らんけど。
419 :
414 :2001/08/23(木) 17:03
>>415 ありがとう♪
非推奨APIの中にあったのね〜。気付かんかった……。
いざ、デスマーチに逝ってきます!
sage忘れ……。 鬱だし脳……
421 :
デフォルトの名無しさん :2001/08/25(土) 12:09
>>416 メールアドレスチェック機能を付けてサイズの小さなダミーメールを送って
戻って来なかったら本文を送信できるようにしたい ということ?
それとも そういうAPIが用意されていないかどうか?ということ?
422 :
デフォルトの名無しさん :2001/08/25(土) 12:20
>>421 なんか、SPAM自動送信でもしたいような雰囲気を感じないか?
その質問、マトモに答えていいものやら…
>>416 はそもそもJavaに関する質問ではないよな。
424 :
デフォルトの名無しさん :2001/08/25(土) 13:37
今月のJavaWorld充実age
425 :
デフォルトの名無しさん :2001/08/25(土) 17:27
Javaの勉強をしようと考えているんですが、 メルマガでStep Up! Windows Java編というのを見つけました。 これっていいですか?
>>425 そんなの知らねぇよ・・・
一回、はいってみて、いやだったら抜けりゃいい。
427 :
デフォルトの名無しさん :2001/08/25(土) 18:13
javaで木構造を作りたいのですがどのようにすればいいのでしょうか?
428 :
デフォルトの名無しさん :2001/08/25(土) 18:19
429 :
デフォルトの名無しさん :2001/08/25(土) 18:19
430 :
デフォルトの名無しさん :01/08/26 11:46
>>427 っつーか、ちょっと気の利いた参考書買え。
んで、解らなかったらここで聞くべし
431 :
デフォルトの名無しさん :01/08/27 15:32 ID:/PoX2O.Y
リスナー(Listener) なるものの使いどころがわかりません。 他のオブジェクトとの通信用? ただのインターフェイス?
デザインパターンを勉強すれ!
433 :
デフォルトの名無しさん :01/08/27 16:01 ID:/PoX2O.Y
>>432 すごく勉強したいです。
お勧めの本またはWeb 紹介してください。
>>431 他のオブジェクトとの通信のための
受信用コールバックメソッドの仕様を一意に決定するための
ただのインターフェースだよ
436 :
デフォルトの名無しさん :01/08/28 00:09 ID:YyraRtmM
ちょっとはずれるが、ソフトバンクパブリッシングの 「Javaで学ぶアルゴリズムとデータ構造」という本はなかなかよいぞ。 全てのアルゴリズムを動くアプレットを使って目で確認できるのがGood だと思う。ツリーやグラフもちゃんとでてるぞ〜
437 :
デフォルトの名無しさん :01/08/28 16:37 ID:DkRrPUx2
age〜
438 :
デフォルトの名無しさん :01/08/28 17:21 ID:85p6L5aI
439 :
デフォルトの名無しさん :01/08/28 17:24 ID:HEhScOpA
OracleでChar型の項目って、Javaに読み込むと、 (DB側の項目で設定したバイト数)×2 の文字数(ちょっと違うかも…)になるように、 後ろに空白がついてきますよね? 根本的には、Char型をVarcharに変えるしか、回避策はない、みたいなことを 聞いたけど、他の方法って、何かありますか?
441 :
439 :01/08/28 18:19 ID:HEhScOpA
>>440 ありがとう。
でも、書き忘れ(^^;
Stringのtrim()を全部つけたんだけど(OracleへのSQLにも「rtrim」をつけた)、
これからの膨大な量のDBを考えると頭が痛いの。
だから、「一旦Shift_JISに変換したらOKになった!」(失敗したけど)とかっていう
裏技はないかなって思ったんだ。
スマソ。
442 :
デフォルトの名無しさん :01/08/28 18:39 ID:pDtM2kH2
JTextField等でIMEのON/OFFやかな/カナモードの変更なんかは簡単に出来るの? なんか小難しい解説しか出てこなかったよ。>google
java.awt.im.InputContext.InputContext setCompositionEnabled(boolean enable) でON/OFF出来る。 setCharacterSubsets(Character.Subset[] subsets) かなモード等はこれだが、使ったこと無い。
444 :
442 :01/08/29 11:52 ID:ivIngT8Q
>>443 import java.awt.im.InputSubset; を追加して
void jTextField1_focusGained(FocusEvent e) {
jTextField1.getInputContext().setCharacterSubsets(new Character.Subset[] {InputSubset.KANJI});
}
とやったらかなモードになった。ありがとう!
445 :
デフォルトの名無しさん :01/08/31 01:18 ID:xFqqAHeQ
アプリケーションでクリックした時とかに音ならしたいんだけど やりかたわからんです 検索かけまくるとアプレットだったり携帯ばっかでウツっすTT
うざいので鳴らさなくてよし
448 :
445 :01/08/31 01:46 ID:xFqqAHeQ
449 :
445 :01/08/31 01:48 ID:xFqqAHeQ
>>447 単なるお勉強プログラムなんだけど
まったく鳴らないと寂しいっすTT
450 :
デフォルトの名無しさん :01/08/31 15:02 ID:YayDFk/6
perlでかくとunpack("C*",str)ってのをやりたいんですが javaだとどう書いたらいいんでしょうか?
unpackが何かわからない
453 :
デフォルトの名無しさん :01/08/31 20:44 ID:Lfqk4wpg
>>450 もし、文字列をcharの配列に変換したい?ということなら、
String#getChars()だと思うけど、どう?
perlはすっかり忘れたので、自身ないけどね。
Cで言うとsprintfとsscanfみたいなもんか・・・ そのままずばりは無いと思うぞ、ただ、対象データがファイルなら オブジェクトのシリアライズが近いか。 けどやっぱしずばりは無いな。
455 :
452 :01/08/31 21:44 ID:YayDFk/6
>>453 -454
レスありがとうございます。
ええと、上のコードは入力されたString(入力されるのは半角英字のみ)を
10進数のascii文字コードに変換するのが目的だと思います。
(perlも囓った程度の中途半端な知識しかないので、すいません)
http://www.e-words.ne.jp/page.asp?p=r-ascii ここの表のAなら65といった具合です。
javaの内部はユニコードで処理されるんですよね?
そうだとjTextField.getText()で得た文字列はユニコードですよね。
それとも、クライアントマシン上のコードなんでしょうか。
文字コードについてもいまいちよくわかってないので
自前で関数書くにも取っ掛かりがつかめません。
よろしくおねがいします。
456 :
横やり男 :01/08/31 22:04 ID:SYzSjnws
>>455 そのとおりJTextFieldの入力はUNICODE。
入力が半角英字のみなら
>>453 で良いんじゃないか?
ユニコードはいわゆる半角英字はASCIIの上位バイトに0x00つけただけ
だからgetChars()でchar型の配列にすればいい。
charは16bitの整数型だからあとでintに代入したり計算もできる
でそれで何がしたいんだ?
すでにある機能の車輪の再発明してるってことはないか?
457 :
452 :01/08/31 22:16 ID:YayDFk/6
>>456 ありがとうございます。さっそくやってみます。
ところで車輪ってなんでしょうか?
いまやっているのは、特に何かを作ろうという目的ではなく
勉強の為にperlのプログラムを移植してjava慣れるとっかかりに
なればなと思っていました。(perlのほうが幾分なじみがあるので)
458 :
デフォルトの名無しさん :01/08/31 23:34 ID:l23fvLAE
scanfはちょっと分からんが、printf相当なら java.text.MessageFormatだろうなあ。
全然関係無いけどjavaの変数やメソッドの名前とかって日本語 使えないのかな? ジャヴァ.テキスト.書式出力
460 :
デフォルトの名無しさん :01/09/01 00:31 ID:FZv7KtfE
>>459 とりあえずやってみるのぢゃ!
import java.io.*;
class Text { static String 書式出力 = "逝ってよし"; }
class ジャヴァ { static Text テキスト = new Text(); }
public class Javanese {
public static void main(String[] args) { System.out.println(
ジャヴァ.テキスト.書式出力
);}}
Jiniで、自律型2chキャッシュサーバできないかな?
462 :
デフォルトの名無しさん :01/09/01 01:07 ID:A0JSwk9Y
jdk1.1.8で画像の上からn番目、左からn番目のピクセルの色を取得するようなクラスってあるでしょうか。
463 :
デフォルトの名無しさん :01/09/01 02:42 ID:ZapWNfO6
>>457 「車輪の再発明(Reinventing Wheel)」
既にあるものをわざわざ作ろうとすることのたとえです。
ソフトウェア業界でしばしば使われます。
Libraryでサポートされている機能を、自分で実装しようとするような行為に対して
使われます。
ただし、プログラミングの練習だったら、いいとは思いますが。
>>459 そんなのはVBAでのみやってくれ(涙
でもC#本でもそんなのを見かけて萎えた
>>464 はげどー
VBAで使って,とんでもない動きしてくれて3日かけて全部アルファベットに直した。
467 :
デフォルトの名無しさん :01/09/02 23:55 ID:1HD1sqVI
>>463 それでF1もう始まってるのに気が付いた。
あぶねー。
468 :
デフォルトの名無しさん :01/09/04 04:06 ID:e9TGzYaY
どなたか、技術評論社のスタートアップJAVAを 買って サンプルプログラムを使った方いませんか? なぜか、書いてあるとおりにやってるのにjavaが 動かないんですけど、しかも、知り合いのパソコンでも動かないし・・・ ほかにやらなくちゃいけない設定とかあるのかな?? javac以降がですが・・・cd c:¥javasampleまでは 受け付けるのですけど
JDK入れろバカ
public static void main(String[] args) ってどういう意味なんですか? 最近勉強し始めたんで初心者です。 すいません、誰かお願いします。
471 :
:01/09/04 13:53 ID:NkDwBzY2
何故本を読まない?
>>470 公的な静的な空のメイン(ストリング[] args)
473 :
デフォルトの名無しさん :01/09/04 14:20 ID:7hOGaXaI
独習Javaようやく読み終わったYO!! で、次に読む本を探してるんだけど「Javaの鉄則」と 「Javaパフォーマンス戦略」が良さそうだったYO! (本屋でちょっと立ち読みした程度だけど) この本どう?読んだ人いない?もしいたら感想きぼーぬ
474 :
デフォルトの名無しさん :01/09/04 14:31 ID:x6d7eKIA
文字列型の配列(String[] コマンドライン引数入り)を引数にとる mainていう関数からJavaアプリケーションは起動する仕様なんだよ public static void はそれぞれ入門書の索引でも引いてみな その一行はイディオムと思って分からないうちはコピペしとけ
475 :
デフォルトの名無しさん :01/09/04 21:01 ID:tRIYgGh2
>>473 「Javaの鉄則」読んだけど、
その前に同じピアソンの同じ大きさの本である「Javaの格言」を読んだほうが
分かり易くて良いかも。
パフォーマンス戦略は読んでないけど、順番的にはデザインパターン系のものを
先に読んだ方が良くはないかな?C++とかで勉強済みならいいけど。
476 :
デフォルトの名無しさん :01/09/06 01:28 ID:TPh1BZ/o
パフォーマンス戦略持ってるけど、まあまあ面白いかな。 細かいコーディングとかに凝りたい人には良いと思う。
>>473 他言語移籍組なら、
Javaの鉄則はいいと思うよ。
スレッド・コンストラクタ・例外処理・等値など
「Java」ならではの注意点を述べてあるよ。
478 :
デフォルトの名無しさん :01/09/07 00:56
Javaの逆アセンブラに最適なソフトって有料のやつしかないんですかね?? フリーソフトってありますか? このスレで外出のURLはどこかへお引越しされたみたいで・・・
479 :
優しいおにいさん :01/09/07 01:16
>>479 早速すいません。今翻訳ソフト使ってホームページ見ているところです。
ダウンロードして試してみますね。ありがとうございました。
481 :
デフォルトの名無しさん :01/09/07 01:54
△△△通信端末研究所 へいった人は、 面接時にノートとスピーカを持ち込み、 「これが私の作曲した曲です」といって レコンポーザで曲を再生したら即OKだったそうな。
レスどうもです。 「Java の格言」買って来て読むことにしました。パフォーマンス 戦略と鉄則はまた今度…。どんどん「読んどけリスト」が長く なってくる(鬱 デザインパターンの本は「Javaプログラムデザイン」を 読んでる、これ凄く良いと思ったよ。
>>482 読了するのにこだわるよりとにかく作りたいもの作ってみようYO
485 :
デフォルトの名無しさん :01/09/07 17:23
昔、JavaでかかれたOSが開発されているという記憶が・・ あれって結局どうなったんだろ?
487 :
デフォルトの名無しさん :01/09/08 11:38
age
今開発で使ってるけどね。 日本には情報が全然無くて困る。
491 :
デフォルトの名無しさん :01/09/09 12:04
さーて・・・Swingでもやるか
492 :
デフォルトの名無しさん :01/09/09 15:58
Swing楽しいです。 JTreeとJTableは萌えます。
AbstractTableModelのデータを変えてJTable.repaint()を呼び出したけど何も起こらない。 何だこれは。
495 :
優しいおにいさん :01/09/09 17:33
>>493 AbstractTableModel(又はユーザがそれを継承して作ったクラス)
のsetValueAt()は、実装が空なので、モデルデータ変更のビューへ
の通知がされません。
実装するのも面倒なので、素直にDefaultTableModel(又はその継承
クラス)を使用しましょう。このクラスには、ビューへの通知を行う
イベントインスタンスの生成と通知を行う実装が、setValueAt()に
なされているはずです。
1 class Test { 2 int main ( ) { 3 System.out.println ( "OK" ) ; 4 return 0 ; 5 } 6 } をコンパイルして実行すると Exception in thread "main" java.lang.NoSuchMethodError: main って出るんですけど何がいけないんでしょうか…
そう言わないで教えてくん♪
そのクラスを >java Test で起動しようとした場合、VM起動ののち、デフォルトの唯一 のユーザスレッドである"main"と言う名前のスレッドが Testクラスの static void main (String[] args); と言うメソッドをコールしようとします。 ところが、貴方のクラスには上記のメソッドが存在 しない(int main()は、オーバライドされた別の メソッドということです)ので、"main"スレッドは NoSuchMethodError(そんなメソッドありません エラー)を投げます。 と言う事で、mainの記述を static void main(String[] args) に変更してみましょう。
誤:オーバライド 正:オーバーロード すみません。間違えました。
1 class Test { 2 static void main ( String[] args ) 3 { 4 System.out.println ( "OK" ) ; 5 } 6 } 実行できました。あーりがとー優しいおにいさん。
1 class Main { 2 static void main ( String[] args ) { 3 Sub sub = new Sub ( ) ; 4 } 5 } 6 7 class Sub { 8 void Sub ( ) { 9 System.out.println ( "OK" ) ; 10 } 11 } サブルーチンにしたらOKが表示されないんですけど…(;_;) どうしたらいいんでしょうか…
>>502 void Sub()
↓
Sub()
これはどんな本にも載ってるはずだ…なぜ本を読まない?
ネタだからに3000点。
#include "ファイル名" やるとエラー出ます。 あと #if 0 #else #endif も駄目です。
Cのmemcpy()に対応する関数が見つかりません。
508 :
デフォルトの名無しさん :01/09/09 21:41
javax.swing.text.Highlighterは選択状態時の描画(例えば色の 反転など)のほかに、どのような利用方法があるのですか? 本を見るとJTextComponentで文字ごとの色分けができそうな ことが書いてあるのですが、それは可能なのでしょうか?
>>503 盲点でした…ありがとうございましたm(_ _)m
>>506 貴重な情報をありがとうございます…はまりかけてました
510 :
優しいおにいさん :01/09/09 22:18
以下を試してみてください。 DefaultHighlighter、DefaultHighlightPainterを適当に オーバライドすることで、いろいろ遊べると思います。 ハイライトは、addする以前にDocumentに存在する文字列の表示にのみ 有効なので、実際にはCaretListenerを併用する事になるでしょう。 こんなところでよいでしょうか。 import java.awt.*; import javax.swing.*; import javax.swing.text.*; public class TestTextComponent{ public static void main(String args[]){ try{ JFrame frame = new JFrame(); JTextArea area = new JTextArea(); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.getContentPane().add(area); frame.setSize(400,200); frame.show(); DefaultHighlighter highlighter = new DefaultHighlighter(); area.setHighlighter(highlighter); area.setText("012345678901234567890123456789"); highlighter.addHighlight(0,10, new DefaultHighlighter.DefaultHighlightPainter(Color.red)); highlighter.addHighlight(10,20, new DefaultHighlighter.DefaultHighlightPainter(Color.blue)); highlighter.addHighlight(20,30, new DefaultHighlighter.DefaultHighlightPainter(Color.green)); } catch(Exception e){e.printStackTrace();} } }
511 :
優しいおにいさん :01/09/10 00:08
>>507 1.オブジェクトのコピーが必要な場合:
Object implements Cloneable #clone()と言うメソッド
があります。
これは、オブジェクトインスタンスが所有するインスタンスフィールド
自身の値をコピーした、新しいオブジェクトを生成して返します。
但し、このメソッドはprotectedですので、複製を自由に行いたいクラス
がある場合は
class UserClass implements Cloneable{
public Object clone(){
try{return super.clone();}
catch(CloneNotSupportException e){/**not reachable**/}
}
}
を記述する必要があります。これで、インスタンスコピーは簡単に
UserClass a = new UserClass();
UserClass b = (UserClass)a.clone();
できます。
但し、一つ注意する事があります。clone()メソッドは、インスタンスフィールド
を単にコピーするだけですので、インスタンスフィールドがあるオブジェクト
インスタンスへの参照だった場合、その内容はコピーされません。単に参照が
コピーされるのみです。(シャローコピーと呼ばれます)
参照先のオブジェクトの内容のコピーが必要な場合は、例えば
public UserClass2 implements Cloneable{
public UserClass ref;
public Object clone(){
try{
UserClass2 obj = (UserClass2)super.clone();
obj.ref = ref.clone();//ディープコピー実装
return obj;
}
catch(CloneNotSupportException e){/**not reachable**/}
}
}
といった実装を自分で行う必要があります。
2.プリミティブアレイのコピーが必要な場合
System#arraycopy()を使用しましょう。
こんなところでよろしいでしょうか。
512 :
優しいおにいさん :01/09/10 00:11
誤:obj.ref = ref.clone();//ディープコピー実装 正:if(ref!=null)obj.ref =(UserClass)ref.clone();//ディープコピー実装 度々すみません。
>>510 まさにこんな感じです!これをいろいろといじって勉強したいと思います。
ありがとうございました。
514 :
デフォルトの名無しさん :01/09/10 00:22
JAVAで演算子をオーバーライドするにはどうすればよいのですか?
>>514 ごめんなさい。できませんので、メソッドでやってください。
1. Sun のサイトで Java のソースコードをダウンロードする 2. 演算子のオーバライドをサポートするように完全に書き直す 3. コンパイルして java のコンパイラを作る これで出来ると思うけど、…ダメか、これではもう Java とは違う 別の言語だ(w
ありがとうございます、
あとでやってみます
>>517
かなり分かりました。 ありがとう!優しいお兄さん!
>>507 ディープコピーの実装がめんどくさいときは、
コピーしたいクラス、及び、そのクラスメンバのクラスを
シリアライズ可能にしておいて、
コピー元をObjectOutputStream→ObjectInputStream
で読み込みんで、コピーを作成する、という裏技(?)もあるよ。
522 :
デフォルトの名無しさん :01/09/10 14:07
JEditorPaneでJTextAreaのsetTabSize(int)のようなことはできないでしょうか?
これでどうでしょうか。 ちなみに、JTextArea.setTabSize(int)の実装をそのまま もらってきただけです。 質問する前に、ソースを読んでみるというのは、良い選択肢 であるかと思われます。 import javax.swing.*; import javax.swing.text.*; import java.awt.*; public class TestPane{ public static void main(String args[]){ try{ JFrame frame = new JFrame(); JEditorPane area = new JEditorPane(); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.getContentPane().add(area); frame.setSize(400,200); frame.show(); Document doc = area.getDocument(); doc.putProperty(PlainDocument.tabSizeAttribute, new Integer(2)); } catch(Exception e){e.printStackTrace();} } }
>>523 すいません、質問文が簡単すぎました。
私もJTextAreaのソースを見て同じように実装してみました。
ContentTypeがtext/plainならOKですが、text/rtfにするとPlainDocumentを
使用せず、StyledDocumentを使用するので効果無しでした。
ContentTypeをrtf形式のままタブ幅を小さくすることはできないのでしょうか?
525 :
デフォルトの名無しさん :01/09/10 16:14
ASCIIのグラフィックスJava2 vol3 はいつでるのでしょうか?
class MyTableModel extends AbstractTableModel { protected int NUM_COLUMNS = 5; static final public String col0 = "名前"; static final public String col1 = "学年"; static final public String col2 = "パート"; static final public String col3 = "性別"; static final public String col4 = "前年度支払状況"; protected Vector data = null; public MyTableModel () { super(); data = new Vector(); } public String getColumnName (int col) { switch (col) { case 0: return col0; case 1: return col1; case 2: return col2; case 3: return col3; case 4: return col4; } return ""; } public synchronized int getColumnCount () { return NUM_COLUMNS; } public synchronized int getRowCount() { if (data.isEmpty()) { return 0; } else { return data.size(); } } public synchronized Object getValueAt (int row, int col) { if (data.isEmpty()) { return ""; } else { Buin buin = (Buin)data.elementAt(row); switch (col) { case 0: return buin.name; case 1: return buin.gradestring; case 2: return buin.part; case 3: return buin.gender; case 4: return buin.deptstring; } return ""; } } public synchronized void updateData (Vector buindata) { data = buindata; fireTableDataChanged(); } } おれはやっぱり頭が悪いんだな。
527 :
デフォルトの名無しさん :01/09/10 18:35
Java3DってOpenGLのラッパーなの?
Java3D FAQ (2000.12.25)
http://www.nk-exa.co.jp/~andoh/java/3d/j3faq.html [Q] OpenGL Java binding と Java 3D はどう違うのでしょう?
どういうときにどちらを選べばいいのでしょう?
OpenGL Java binding は OpenGL の各関数を wrapper でくるんで、
Java から利用できるようにしたものです。
OpenGL はハードウェアに密着した低レベル API であるのに比べ、
Java3D はシーングラフベースの高レベル API であるのが大きな違いです。
よりハードウェアに密着した高速のグラフィックスを求める場合には
OpenGL Java binding を用い、シーングラフベースでモデルデータを
扱いたい場合や、カリング等の機能をわざわざ自分で実装するのではなく、
API にまかせてしまいたい場合は Java3D を使うのが良いでしょう。
529 :
デフォルトの名無しさん :01/09/10 23:09
>>514 ゴメンゴメン、コンパイラを完全に書き直さなくても良かったんだ、
この方法ならたったの2ステップで演算子オーバーライドが実現できます!
1. 演算子オーバライドを適当なメソッドに直すようなプリプロセッサを作る
2. Java のコンパイラドライバの最初の部分にプリプロセッサの呼び出しを追加。
どっちの方法でも良いけど、もしできたら Sun に報告してあげるといいでしょう!
Swingのことです。Metal画面(Look&Feel)にはまっています。 プログラミングを補助するようなあるプログラム(検索系)を初心者ながら作って いるのですが、機能とは全く関係ないところで、少し疑問があります。 Swingで例えばメニュー項目(JMenuItem)やダイアログボックス(JDialog) などで表示される文章を日本語で表示したりすると、ゴシック体ではなく、消え かかった(? 私にはそう見えます)明朝体で表示されますよね。あとOKのとこ ろが「了解」とか。 今更ながら「了解」もないし、明朝体よりもゴシック体の方が見やすいし・・・ Metalのルック&フィールで、これらを操作するメソッドや他の方法ってあるんで しょうか? APIドキュソメントや書籍をみても記載されていないようですし。変えようとし たい俺がドキュソ? ちなみに環境は「Win98」「jdk1.3.1」です。
533 :
デフォルトの名無しさん :01/09/11 06:59
Java3DのCanvas3Dに描画したイメージを、画像ファイルとして保存したいのですが、 どのようにしたらいいのでしょうか? オフスクリーンに書き込むようにすれば可能だと思うのですが、その方法がわかりません。 よろしくお願いします。
534 :
デフォルトの名無しさん :01/09/11 07:41
JavaWebStart ってどうなのかな? Java系の技術の進化は早すぎてフォローしきれないね。
535 :
デフォルトの名無しさん :01/09/11 10:45
>>532 例えば、
LookAndFeel laf = UIManager.getLookAndFeel();
UIManager.put("fgc1", Color.red);
UIManager.put("bgc1",Color.green);
UIManager.put("font1",new Font("SansSerif",1,18));
で、JMenuのインスタンスjMenu1を持つmeというJFrameがあるとして、
laf.installColorsAndFont(me.jMenu1,"bgc1","fgc1","font1");
とすると、とりあえず、jMenu1の表示は、指定の色とフォントになる。
ダイアログのボタンの文字は、
Object[] options = { "いいよ", "やだね" };
JOptionPane.showOptionDialog(null, "ではでは", "ためし",
JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
null, options, options[0]);
なんてすればいい。
もっとも、LookAndFeelではなく、直接、メニューやボタンのsetFontなど
を使った方が簡単かも。
>>533 Java3D 1.2以上なら
Canvas3D.getOffScreenBuffer()かな。多分。
あるいはjava.awt.Robotで(ぷ
537 :
デフォルトの名無しさん :01/09/11 19:13
今、swingを使用してエディタを作ろうとしていて、 JInternalFrame にJTextAreaをadd してます。 (正確には、JInternalFrame <-- JScrollPane <-- JTextArea) フレームを最大化した時等に当然のように フレームそのもののサイズは変わるのですが add したJTextArea のサイズは変わってくれません。 何かを設定することにより、勝手にサイズが変わるように出来るのでしょうか? それとも、何かのリスナ、もしくはインタフェースをimplements して ロジックを入れなければいけないんでしょうか?
538 :
デフォルトの名無しさん :01/09/11 19:53
>>537 何にもしなくても、期待通りになると思うけどね。
以下、チュートリアルのコードを元に、JextAreaを加えてみた。
public class MyInternalFrame extends JInternalFrame {
static int openFrameCount = 0;
static final int xOffset = 30, yOffset = 30;
public MyInternalFrame() {
super("Document #" + (++openFrameCount),
true, //resizable
true, //closable
true, //maximizable
true);//iconifiable
JTextArea tA = new JTextArea();
tA.setLineWrap(true);
getContentPane().add(new JScrollPane(tA));
setSize(300,300);
setLocation(xOffset*openFrameCount, yOffset*openFrameCount);
}
}
540 :
Java3日目 :01/09/11 20:22
コンパイルにJUMPを使いたいんですが、 Could not import java/lang/Ovject とエラーが出てコンパイル出きません。 classes.zipはJDK1.1.8のを使っています。 これは何が原因なんでしょうか?
ヤンマガニシロ
では逆に、「これをやってしまうと、自動的にサイズの変更を しなくなってしまう」というようなことはありますか?
>>537 それは、あなたが何をやっているのか、自分で確認したほうが早いよ。
まあ、例えば、JInternalPaneのレイアウトがnullになっているとか。
指定しなければ、BorderLayoutのはずだから、問題ないんだけどね。
getContentPane().setLayout(new FlowLayout()); とやってたのが原因だったみたいです。 本のサンプル見ながらやってたんですが きちっと、レイアウトのことを理解してなかったのが まずかった。。 そんなわけで、逝ってきます
545 :
デフォルトの名無しさん :01/09/14 11:08
Swingも「やっぱりエディターで」という人はいますか〜?
546 :
デフォルトの名無しさん :01/09/14 18:47
くだらない質問ですみません。 前にSunのJavaのサイトでフレームを使った APIのライブラリみたいのがあったのですが 見当たらなくなってしまいました。 ご存知の方いらっしゃいますか?
>>545 いま、ソース総量2MBのSwingアプリケーションを、
仕事で、スクラッチで殆ど一人で書いています。
>>548 引き継ぎ手が居なくて当分面倒見ていかないといけない、
てなことにならないようにな
>>535 亀レスで恐縮です。ありがとうございました。
その後頂いたレスを参考にし、参考書をもう一度見なおしてみました。setFontで
色々やってみて以下の方法でできることを確認しました。
hoge.setFont(new Font("Dialog", Font.BOLD, 14));
Javaの文法になれないせいか、まだピンと来ないところもあるようです。またダイアログの方は
まだ手が付けられないですが、頑張ってみます。
551 :
デフォルトの名無しさん :01/09/15 12:18
Forte2は結構軽くて良いと思うよ〜 みんなどう? JBuilderとかと比べて・・
552 :
デフォルトの名無しさん :01/09/15 15:05
>>551 ダウンロードまで異常に面倒くさいんだよ・・・
Sunは何を考えてるんだろ。
使い勝手はわからん。今ダウンロード中。
553 :
デフォルトの名無しさん :01/09/15 16:32
Forte2 感想 気軽にjavadoc実行できるのはいい感じ。 最初に自動生成するソースのコメントとかも親切かも。 補完もまあ普通に使えるし。 フォントを変えても問題ないところはナイス。ってJBuilderがダサいだけか。 JBuilderのプロジェクトをどうやって持ってくればいいか不明。
技評の「スタートアップJava」っていうの買って初めてみたんだけど、 HelloWorldでつまっちまいました(汗 −−−−−HelloWorld.java−−−−− class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World"); } } −−−−−HelloWorld.java−−−−− 付録のsdk1.3.1インストして「javac HelloWorld.java」でコンパイルは 出来たんだけど、「java HelloWorld」で実行するとエラー。 Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld 本に書いてある通りやったつもりなんだけど全然わからん。 助けて(涙
JAVA_HOMEは設定してある?
ごめんなさい環境書いてませんでした。 WIN2000proです。 pathは「c:\jdk1.3.1\bin」で切りました。 JAVA_HOMEについての記述は、Linuxにインストールする場合、って 括りでありましたが、win2kでもあるんでしょうか?
557 :
デフォルトの名無しさん :01/09/16 02:30
>>554 コンパイルも実行もカレントディレクトリで行っているとして、多分、
classpathがカレントディレクトリを含まない形で設定されているのでは。
一度、set classpath= として、classpathを消してから、続けて
java HelloWorldをやってみれ。
558 :
デフォルトの名無しさん :01/09/16 02:51
Forte2の無料版でservletを使ったプログラムしたいんですが、できますか。 Iモードからサーブレットへ、そしてJSPを利用したソフトウェアを作りたいんですが。
559 :
デフォルトの名無しさん :01/09/16 03:05
「Javaサーバサイド プログラミング」原田洋子著 を読んだけど、ぜんぜんついていけない、初心者の私にちょうどよいJavaサーバーサイドの本ってありませんか?教えてください。
classpasth消したら動きました。 Jbuilder4を入れてたので、classpathが変なところにいってました。 Jbuikder4よく解らないので消しちゃいました(汗 ありがとうございました。
561 :
デフォルトの名無しさん :01/09/16 11:50
562 :
デフォルトの名無しさん :01/09/16 15:33
apache,tom-catで、jspを始めて触りました。 WEBサーバー上にファイルを作れというお達しです。 しかし、できたファイルは文字化けします。 何とかならないものでしょうか。 <%@page import="java.net.*" %> <%@page import="java.util.*" %> <%@page import="java.sql.*" %> <%@page import="javax.sql.*" %> <%@page import="oracle.jdbc.driver.*" %> <%@page import="oracle.jdbc.pool.*" %> <%@ page contentType="text/html;charaset=Shift_JIS" %> <% String sfname = ""; BufferedWriter outf = null; //------------------------ //処理開始 //------------------------ // try { sfname = "testtest.csv"; outf = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(sfname),"SJIS")); int i; String wrtb=""; for (i=1 ;i <= 1000 ; i ++){ wrtb = "こんばんわ![" + i + "]"; outf.write(wrtb); outf.newLine(); } outf.flush(); outf.close(); %> <HTML> <HEAD> <TITLE>できるかな</TITLE> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </HEAD> <BODY> <A HREF="testtest.csv">ダウンロード CLICK </A> </BODY> </HTML> <% } catch (Exception e) { System.err.println(e); System.exit(1); } %>
"SJIS"ってエンコード名あったっけ?
環境書いてないしなー SJISで駄目ならMS932にしたらどう
565 :
デフォルトの名無しさん :01/09/16 17:08
>>562 とりあえず、
<%@ page contentType="text/html;charaset=Shift_JIS" %>
を
<%@ page contentType="text/html;charset=Shift_JIS" %>
にしてみたらどう?
>>559 サーバーうんぬんより、Javaとコンピューターの基礎知識
が無いのでは?
あの本読めばサーブレットーアプリ作成開始まで二日でいけるぞ。
567 :
デフォルトの名無しさん :01/09/16 17:14
できたーーーー!!! 565さんありがとうです。感謝します。 情けないことでした。こんなことで時間を潰してしまったぁぁ。 ありがとうございました!!! みなさまもありがとうございました。
568 :
デフォルトの名無しさん :01/09/18 20:19
このスレは世の中の役に立っているようだね〜 age
569 :
デフォルトの名無しさん :01/09/21 10:46
あげとくね^^
570 :
デフォルトの名無しさん :01/09/24 02:54
javaを勉強しているのですが、APIドキュメントって言うんですか? あれを読みこなさないとだめですか?本買って勉強したほうが早いですか? あと、サーブレットAPIの日本語ドキュメントって何処にあるのでしょうか? よろしくお願いします。
571 :
デフォルトの名無しさん :01/09/24 03:00
ネタ歓迎なのに良スレ化してる・・・ なんてこった・・・
572 :
優しいおにいさん :01/09/24 17:01
>>570 <第1段階>
言語仕様や文法などを勉強するレベルでは、初心者本が有効です。
<第2段階>
文法について一通りが分かるようになりましたら、APIドキュメントと
にらめっこしながら、いろいろなAPIを叩いて遊んでみるのがいいと
思います。このあたりまでは、理論より実践優先が良いと思います。
<第2.5段階>
言語によらないプロトコル(ネットワークプログラミングの約束事、ファイル
システムなどOSの知識など)が必要になるプログラムを作りたいと思うように
なった場合、Java自体から離れて勉強する事も必要でしょう。
<第3段階>
JavaなどOOP言語での効率的な設計を勉強するために、そういった知識に
関する専門書が必要です。この場合、OOPに関する優良な古典本の多くは、
C++、SmallTalkなど別言語を例に用いている場合が多いので、そのあたり
の知識も必要かもしれません。
<第4段階>
第3段階の知識を応用しましょう。継承と委譲を使いこなせば、自由な世界が
目の前です。
例えば私は、Swingの自分専用LookAndFeelライブラリなどをもっています。
サーブレットはJ2EEに含まれます。SunのサイトでJ2EE日本語版ダウンロード
サイトを探せば、そこからドキュメントダウンロードが可能なはずです。
例えばJ2EESDK1.2.1版ならここから。
http://java.sun.com/j2ee/sdk_1.2.1/ja/index.html 但し、中を見ていないので、ドキュメントは英語かもしれませんが。
573 :
デフォルトの名無しさん :01/09/24 21:57
>>572 優しいお兄さんありがとうございます。
ようやく第1段階を抜け出そうともがいているところでした。
プロトコルやHTTPなど存在することは知っていたのですが、
JAVA以外は関係ないものだと思っていたので、
10ぐらいの勉強でできると思っていたら、
1000ぐらい必要だと知って打ちひしがれていたところです。
第2.5段階とは絶妙の分類ですね。
第2・2.5段階を頑張っていきます。
最近やたらブラクラ流行ってるね。なんで?
>>575 いや、ブラクラちゃうんですけど(笑)。
577 :
デフォルトの名無しさん :01/09/25 00:15
>>576 たしかに、ブラクラではなかったけど・・・
どうしたの??
それはそうと、ブラクラチェッカー、「403 Forbidden」ってなるんだけど・・・
どうしたんだろう?
578 :
デフォルトの名無しさん :01/09/25 00:45
JSP/サーブレットの勉強に最適な本を教えてください。 ちなみ現在持ってるJAVA関係の本は独習JAVAです。
579 :
デフォルトの名無しさん :01/09/25 12:39
age
580 :
デフォルトの名無しさん :01/09/25 12:51
>>578 「サーブレット&JSPではじめるJavaサーバサイドプログラミング」
原田洋子著 技術評論社刊 2980円+税
ISBN 4-7741-1165-1
581 :
デフォルトの名無しさん :01/09/25 15:24
>>574 呼び鈴に触ったら「ピンポーン」とか音鳴らないの?
582 :
デフォルトの名無しさん :01/09/25 15:58
今日から「初体験Java」を最初からやってみてるところです。 xxx.java を コンパイル → xxx.class → htmlで見て・・・ ソース微調整 → 再コンパイル → htmlを見る →ちっとも変わってない。 これはどうしてですか? マシンを再起動したり、クラス名を変えれば変更が反映されるのですが。
583 :
デフォルトの名無しさん :01/09/25 16:31
>>582 htmlを見るブラウザは、再コンパイル後に起動しなおしている?
ブラウザが生きたままだと、変更は反映されないみたいよ。
>>582 appletviewer hoge.html
コンパイル → 再読込み
たまにブラウザで確認
>>581 Zキー連打でピンポン鳴りまくる仕様ですよ。
>>584 便乗ですが、appletviewerではjava.util.Randomが動くのに
IEで動かすと死ぬのは他の方の所でも出ている現象なのでしょ
うか?
Javaって乱数一つでもなんであんなひねくれてるんだろ?
587 :
デフォルトの名無しさん :01/09/25 23:01
javaを勉強しようとjdk1.3.1_01-win.exeをダウンロードして インストールしてみました。 ところが、demo/applets/Animator/にあるアプレットが動作しません。 exeption: java.lang.ClassNotFoundException: java.util.List というエラーメッセージが出てしまいます。 どなたか対処法をご存知ないでしょうか。 Win2000+IE5SP2で稼動させています。
パスかなー?
590 :
デフォルトの名無しさん :01/09/25 23:38
>>587 cmd.exe から appletviewer を使って
アプレットのHTMLファイルを開くとデモを見られるよ。
IE4/5/6では、JDK1.2以降に付属しているデモ(アプレット)は動きません。
IE4/5/6のJava仮想マシンのバージョンが1.1だからです。
Java plug-inを使うとIEでもJDK1.2以降のアプレットを実行できるけど、
話がややこしくなるので置いておく。(^^;;;
591 :
デフォルトの名無しさん :01/09/26 00:12
592 :
デフォルトの名無しさん :01/09/26 00:40
>>590 ありがとうございます!
appletviewerを使用すると、動作しました。
ということは、IEでjdk1.2以降のアプレットを実行するには、
java plug-inをインストールする必要があるのでしょうか。
他に方法があれば、どなたか教えていただきたいのですが。
他にありません。
さっきJDK1.3.1_01をサンのページからDLしてインストールしてみたのだけど、 コンパイル時のメッセージが日本語でした。 日本語版のページには逝かずに英語版のつもりでDLしたのに、一体なぜ・・?
日本語版のページから行っても結局同じDLページに行き着くのですね。。 一体どうなってるんでしょうか。。
要はコンパイル時のメッセージを英語にしたいのです。 どうすればよいのでしょうか。
597 :
デフォルトの名無しさん :01/09/26 02:33
A〜Z、a〜zのように文字を変えていくにはどうしたらいいんでしょうか? 無理やり書くと for(str==A;str==Z;str=次の文字){ 処理 } こんな感じのことをしたいのです。 一旦文字コードに変換して1足して文字に戻せばいいのでしょうか? その場合どうコードを書いていいのかも教えてください。 ところで、関数の名前から使用法を書いた文献はあちこちに沢山あるのですが、 こんなことをしたいって内容からどの関数を使ったらよいのかということが 書いてある本はあるんでしょうか?あったら是非教えてください。
言葉足らずですいません A->B->C->D->...->Zという風にしたいのです。
599 :
>>597 :01/09/26 02:57
import java.io.*; class printAlphabet{ public static void main(String[] args){ for(int i=0; i<=25; i++){ System.out.print((char)('A'+i)); } System.out.println(""); } }
for(int i='A'; i<='Z'; i++) System.out.print((char)i); これのほうがいいかな
早速のレスありがとうございます。 文字に数値を足すと(charに変換後)文字になるというのがちょっと不思議なんですが 文字をシングルクォートで囲んでリテラルにすると 文字コードを意味するという認識でいいのでしょうか? それとも、基本的に文字は全て文字コードという数値であり 人間の便宜の為にABCDなどの文字で代用しているという考え方のほうが いいのでしょうか? ん〜複雑ですね。
602 :
デフォルトの名無しさん :01/09/26 11:24
>>594 Windows ならコントロールパネルの「地域」の設定を英語にする
UNIX系ならLANG環境変数にen_USとかCとか
最近のJDKって英語版にも日本語リソース入ってたっけ?
なんか実行環境に日本語版(またはリソースファイル)が紛れ混んでる?
もともと日本語の1.3のJDKとJREが入ってたんですが、 一応両方アンインストールしてから1.3.1にしてみたんですけどね。。 そもそもインストーラからして日本語表示でしたが(藁)。 とりあえず地域を英語にしたら英語メッセージになりました。 ありがとうございます>602。 1.1系で慣れていたのでJava2では日本語メッセージがどうにもわかりにくかったんです。。
>>585 こちらではjava.util.Random、IEで動きますよ。
>>604 そうなんですか、まだ5.0だからいけないのかもしれないので
今日5.5にバージョン上げてみます。どうもです。
606 :
助けてください :01/09/27 15:51
クラスだとか、オブジェクトだとか、メソッドだとかさっぱりわかりません。 わかりやすく解説してるホームページなどご存知の方 教えてください。
↑ 俺も、数年前に似たような質問をしてたっけな(・∀・)
608 :
デフォルトの名無しさん :01/09/27 20:34
>>606 ウェブサイトを見るよりも、本を買ったほうがいいよ。
大きい書店に行って、片っ端から読んでみるべし。
609 :
デフォルトの名無しさん :01/09/27 20:49
610 :
デフォルトの名無しさん :01/09/27 21:09
ObjectInputStreamでファイルを読み込むとファイルの終端ではどんな値が返されるのでしょうか?
バイト、Boolean int read() int read(byte[] b, int off, int len) の時はー1 それ以外は EOFException
バイト、Boolean ↑ゴミ
#define EOF -1
614 :
デフォルトの名無しさん :01/09/28 06:56
プログラム初心者です。今から勉強するのですが、 サーバー上でXMLを扱う場合に、Coccon?とJAXPのどちらを使っても良いのですか? Cocconはサーブレットですが、JAXPを使ってサーブレットを作っても良いのですか? 的を得た質問になっていないかもしれませんがよろしくお願いします。 両者の違いは何なんでしょう? HTMLからデーターを得て、 XMLは個人データーのデーターベースとして利用したいのです。 そして、JSPで一覧表示したいのですが。
616 :
デフォルトの名無しさん :01/09/29 00:09
>>615 ありがと!で
本文いついては、的を射たレスなしですか。おねがいします。
『初体験JAVA』という本に書いてあった方法で、ボタンを押すと画像が出る、 というのをつくったのですが、自分のパソコンでは動くのに、ホームページに UPすると、灰色の画面だけしか出ません。 I.E.の左下には error.java.lang.NoclassDefFounderror:Lesson12$1 とか出てます。 何か解決法はないでしょうか? 以下、ソースです。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Lesson12 extends Applet{ Button myBtn; Image myImg; int flag; public void init(){ add(myBtn = new Button("写真")); myBtn.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ flag = 1; repaint(); } }); myImg = getImage(getDocumentBase(),"photo1.JPG"); flag = 0; } public void paint(Graphics g){ if (flag == 0); else g.drawImage(myImg,20,20,this); } }
レス、サンキュー! I succeeded!
620 :
デフォルトの名無しさん :01/09/29 15:19
Write once, Run anywhere を実現する為のコツってなんでしょう? ブラウザやOS変えると動かない事が多くって・・
>620 "Hello World"なら動く
あの・・ 出来ればマジレス欲しかったんですが・・ 逝キソウ・・・
>620 世界を一つの環境で統一する。
>620 ていうか、今時webのクライアントサイドでjavaってなんか意味あんの?
626 :
デフォルトの名無しさん :01/09/29 17:37
.classファイルをjava.exeで実行するとき、 DOS画面が出ないようにするにはどうすれば良いでしょうか。
―――――――――――――――――――――― 臨時ニュースです。 「Rubyはクソです。ゴミ箱逝きです。 いじょ 」 この発言をコピペしていただければ幸いです。 ___________ __________ ‖ \|________ ‖ | ON AIR.| ‖  ̄ ̄ ̄ ̄ ./ ̄ ̄θ ∧_∧ .../ //(^∀^ )/| ./  ̄/⊂ ||_/ | ̄ ̄ ̄ ̄ ̄| ( ━┳┛ |_____| /ヽ」┘┻
628 :
デフォルトの名無しさん :01/09/29 18:08
JTextPaneでJTextAreaのように折り返しの制御をすることはできないんでしょうか?
× "javaw.exe Hoge.class" ○ "javaw.exe Hoge" すまねぇ .
632 :
デフォルトの名無しさん :01/09/30 01:41
>>628 ない。と思う。以前はなかった。いまも、多分ない。
詳しく調べたのはjdk1.2の時代だけど。
>>583 遅レスすいません、ありがとうございます。
634 :
デフォルトの名無しさん :01/09/30 14:49
インスタンスとオブジェクトの違いがわかりません。 教えてガッテン!
>>634 C++ではオブジェクトって言うね。
でも他の言語も含めて一般的にはインスタンスだよ。
>>634 オブジェクトとは違い、
インスタンスは、何かに所属する臭いがある。
〜のインスタンスって感じで。
これは個人的見解なので、参考にならないかも。
639 :
デフォルトの名無しさん :01/10/02 10:09
オブジェクトは、扱うべき対象=モノを抽象的に言い表したもの。 インスタンスは、「具体的に扱う事のできるもの」として具現化されたオブジェクト。
640 :
デフォルトの名無しさん :01/10/02 10:25
ストリングの == は、Deep Comparison ですか? それとも、Shallow Comparison ですか?? 分かる人教えて・・・
>>634 オブジェクトのインスタンスという言い方ができるわけだね。
たとえば、「コメント無しさん」というオブジェクトは、2chでたた
かれる分には、どこにいようがあまり問題にならない。
「デフォルトの名無しさん」としては、適当に「氏ね」メソッドなど
を発行するわけだ。
でも、もし、ネットオークションでさぎなんかやっちゃうと、実体
つまりインスタンスが問題になるのだね。
Deep/Shallow Comparisonて何?(・∀・)
本や言語仕様によって微妙にちがう。 そもそも片方だけで用語統一しているものも多い 総合すると結局「大差ない」という結論しか出ないような。
644 :
デフォルトの名無しさん :01/10/02 11:56
>>640 Deepが、文字列比較という意味で、Shallowが、同じオブジェクトか
どうかの比較という意味なら、javaでは == は、どんなクラスでも
同じオブジェクトかどうかの比較しかしない。
演算子のオーバーロードはできないから。(ストリングの + は例外)
>>641 >オブジェクトのインスタンスという言い方ができるわけだね。
この文脈でいけば、オブジェクト=クラスのインスタンス、でしょう。
インスタンスというのは何かを実体化したものを指すわけで、単にインスタンス
といっただけでは何を指すかはわかりません。例えばプロセス=プログラムの
インスタンス、ということもいえるわけです。
>プロセス=プログラムのインスタンス (・∀・)イイ
Conparison=比較だよね。 Deep Conparison=メンバフィールドの中身を追って比較 Shallow Comparison=メンバフィールド自身のみの比較 じゃねえかな。 つうことは、==比較はShallow Comparisonさえやってないよ。 単なる参照自身の比較。同じインスタンスでないとtrueにならない。 equals()がなにやっているのかは実装依存。 例えば、 Object#equals()の実装は==比較しかしていない。 String#equals()の実装は、メンバフィールドにある文字列データの比較。 (↑これがShallow Comparisonじゃないかな?まあ、委譲の階層がない からShallowもDeepもないけど) List#equals()の実装は、要素それぞれにたいしてequals()比較 して、全てtrueならtrue。 (↑これが、Deep Comparisonということになるかな?)
Shallow Comparison → Same Object? Deep Comparison → Equals? で良い?
>>648 equalsは実装しだいでDeepにもShallowにもできる
が正しい
>>647 の
>>つうことは、==比較はShallow Comparisonさえやってないよ。
をどう読むと
Shallow Comparison → Same Object?
になるんだ?
Javaより国語読解力をつけるのが先のようなきがする
651 :
デフォルトの名無しさん :01/10/02 22:47
いまgifやjpgを読みこめる画像ビューワを作りたいのですが 手っ取り早くgifやjpgを読みこむためにはappletクラスをわざわざ使わなければならないのでしょうか?
>651 うんにゃ Image image = Toolkit.getDefautToolkit.getImage("filename.jpg");
>>651 swingのImageIcon使うのはどう思う?
自分はいつもそうやっている。
654 :
inakamono :01/10/03 04:14
OSはWindows2000とJDK1.3を使ってて、「Java2セ キュリティプログラミング」っていう本にCryptix のダウンロードって言うのが書いてあったんで cryptix3.2をダウンロードしたんですがインスト ールがうまくいきません。どうやったらいいのか 教えてください。
655 :
デフォルトの名無しさん :01/10/03 20:30
Exception in thread "main" java.lang.NoClassDefFoundError: sample/class jarで固めたファイルを実行してもなぜか上のようなエラーが出てしまいます。 mainメソッドもちゃんと記述しているのになぜなんでしょうか、 ソースは↓です'(コンパイル可能)。 ----------------------------- import java.awt.*; import java.awt.event.*; public class sample extends Frame{ public static void main(String[] args){ //ウィンドウ開く Frame f=new sample(); f.show(); } public void sample(){ // 設定 setSize(500,500); setTitle("sample"); // メニューバー MenuBar mb=new MenuBar(); Menu m1=new Menu("ファイル"); MenuItem 開く,終了; m1.add(開く=new MenuItem("開く")); m1.addSeparator(); m1.add(終了=new MenuItem("終了")); mb.add(m1); setMenuBar(mb); // 終了が押された時 終了.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.exit(0); } }); // 右上の×押された時 addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } }
656 :
デフォルトの名無しさん :01/10/03 20:48
>>655 ネタじゃないよね。
そう仮定した上で、まず、コードがミス。
>public void sample(){
これはコンストラクタじゃない。だから、以下のコードは、mainでは実行されない。
次に、
>sample/class
が出ているのは、コマンドラインでjava sample.classとかやってるのでは。
.classはいらない。
イジョ
657 :
デフォルトの名無しさん :01/10/03 21:11
>>656 ネタじゃあないです。
voidを消してみても同様のエラーが出ます。
コマンドラインでは
java -jar app.jar
とやっています(app.jarはソースをコンパイルして固めておいたモノです)。
あの、ボタンを押せば写真が切り替わるというプログラムを見つけて 写真の名前だけ変えたのですが、自分のパソコンでは動くのに upすると、3枚目しか出ません。 なぜでしょう?
一度に書き込めないので、途中で分けます。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class simano3 extends Applet{ Button btn1; Button btn2; Button btn3; Panel myPanel1; Image[] myImg; int flag; public void init(){ //背景色の設定 //setBackground(Color.white); //画像のロード myImg = new Image[3]; myImg[0] = getImage(getDocumentBase(), "sima.JPG"); myImg[1] = getImage(getDocumentBase(), "minamino.JPG"); myImg[2] = getImage(getDocumentBase(), "funeno.JPG"); //レイアウト用パネルの作成 myPanel1 = new Panel(); //パネルのレイアウト方式を設定 myPanel1.setLayout(new GridLayout(1, 3));
//パネルの上にボタンを載せる myPanel1.add(btn1 = new Button("島へ")); myPanel1.add(btn2 = new Button("熱帯の木")); myPanel1.add(btn3 = new Button("船)); //ボーダーレイアウトを設定 setLayout(new BorderLayout()); //画像消去ボタンを作成 //add(btnClear = new Button("画像を消す")); //パネルをNorth(上部)に配置 add ("North", myPanel1); //ボタンのイベント処理メソッドを定義 btn1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){ flag = 1; repaint(); } }); btn2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){ flag = 2; repaint(); } }); btn3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){ flag = 3; repaint(); } }); flag = 0; } public void paint(Graphics g){ switch (flag) { case 0: break; case 1: g.drawImage(myImg[0], 140, 80, this); break; case 2: g.drawImage(myImg[1], 140, 80, this); break; case 3: g.drawImage(myImg[2], 140, 80, this); break; } } }
>>655 >voidを消してみても同様のエラーが出ます。
というのは当然で、これはプログラムが実行できてから問題になる部分だから。
まず、jarファイルのMANIFEST.MFのMain-Class属性の指定が、多分sample.class
となっている。ここは、.classは付けてはだめ。
これを直せば動くはず。
その前に
java -cp app.jar sample
とやってみて。これで動かなければ、まだ何か問題があるということ。
662 :
デフォルトの名無しさん :01/10/03 22:29
>>名無しでGO! 画像ファイルがちゃんと存在するとして、それが表示されないのは、 画像がダウンロードされない内に、表示しようとしているからでは? java.awt.MediaTrackerを使ってみれば。 詳細は、APIドキュメントとか、インターネットで検索するとかしてみて。
レス、サンキュー。 javaファイルの名前を変えて、やりなおすとどうにか動きました。 実は、それでも最初は3枚中2枚しか出ないとかあったのですが、 いろいろ変更しているとついに出るようになりました。 具体的には、 upするときに順序をsima$3.classからにする、 画像ファイルの名前を短いものに変える(これが どう改善に結びついたのか不明ですが。)、などした結果、 表示には成功しました。 原因が不明なのがいまひとつ気持ち悪いですが。 >java.awt.MediaTrackerを使ってみれば。 情報、ありがとうございます。 今日は眠いので、明日でも見てみます。
664 :
デフォルトの名無しさん :01/10/04 00:21
>>661 java -cp app.jar sampleではちゃんと実行できました。
665 :
デフォルトの名無しさん :01/10/05 20:19
ageとくね
666 :
デフォルトの名無しさん :01/10/05 23:24
....................................................
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
Del厨断末鬼の叫び!!!
拙い言いがかりからRubyを必死に煽ろうとしたDel厨が逆襲を受けて死亡!
理論的にDelphiはRubyの足元にも及ばないことが証明された!!!
「Ruby撲滅スレ」
http://piza2.2ch.net/test/read.cgi/tech/1001125342/ ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
InputStreamとOutputStreamって使いにくいんですが。 誰ですか?ストリームなんてお馬鹿な概念作り出したのは?
668 :
デフォルトの名無しさん :01/10/06 09:25
>>667 ストリームはとても便利な概念だとおもうけど、何が不満なの?
デコレーションに戸惑ってるんでしょ。
670 :
デフォルトの名無しさん :01/10/06 21:15
671 :
◆GpSwX8mo :01/10/06 21:20
test
愚問かとおもいますが、初心者なのでお聞きします。 変数の宣言の場所は、クラスの宣言のすぐあとの時とか そうでない場合とかあるようなのですが、 決まりがあるのでしょうか・・
あの、よくわからないエラーが出るので原因を教えて下さると助かります。 21:\12288は不正な文字です。 というのですが、\12288なんてつかってません。 ソースは、 import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Lesson14a extends Applet{ Button myBtn1; Button myBtn2; Panel myPanel; Label myLbl; int flag; public void init(){ flag = 0; setBackground(Color.blue); setLayout(new BorderLayout()); myBtn1 = new Button("押すな"); myBtn2 = new Button("押して");
673の最後の行が問題の行です。 その後は myPanel = new Panel(); myPanel.setLayout(new GridLayout(1,2)); myPanel.add(myBtn1); myPanel.add(myBtn2); myLbl = new Label("", Label.RIGHT); add ("North", myPanel); add("Center", myLbl); myBtn1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){ flag = 1; repaint(); } }); myBtn2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){ repaint(); flag = 2; } }); } public void paint(Graphics g){ if (flag == 1) myLbl.setText("逝ってよし"); if (flag == 2) myLbl.setText("O.K."); else if (flag == 0) myLbl.setText(""); } }
>>672 超インチキな技
必要に応じて
{
変数宣言
処理
}
caseの中で一時変数を使いたいときに良くやる。多分、外道。
676 :
>>673 :01/10/06 21:40
>>673 どっかに全角文字はいってんじゃないの?
>>676 全角空白使ってるからだ。
\なんとかってのはたぶん全角空白のUNICODEだろ
678 :
デフォルトの名無しさん :01/10/07 01:12
>>675 >caseの中で一時変数を使いたいときに良くやる。多分、外道。
javaでは、使いたいときに変数を宣言できるようになっている。
だから、これは外道でなく正統派の使い方。ローカル変数のス
コープは、宣言されたブロック内で、そのブロック内のどこで
宣言しても問題ない。
必要なローカル変数は、その場でどんどん宣言して使おう。
元の
>>672 の質問は、どうもクラスのメンバ変数についてみたいね。
これも、クラス内の、メソッドの外側(内側ではローカル変数になる)
ならどこでもいいんだけど、メンバ変数はクラスにとって重要なもの
だから、いいかげんに宣言して使うというのはまずい。
一般に、クラスの最初、または最後に置かれているのをよく見る。
自分で決めて一貫してそのスタイルで通せばいいんじゃない。
>>678 正統なのか・・・
でも、この書き方を繰り返していくとローカル変数名が
ダブったときにひとつ上のローカル変数とかの参照とか
出来るのか出来ないのか調べないとわからなくなるような
ことがあるから邪道だと思ってました。
{
int i;
i=1;
{
int i;
i=2;
★
}
}
★のとこで i が2通りあるけど両方参照しるには?
実際にこういうコードは書かないけど挙動は知りたい。
678で書いたものの修正。 >そのブロック内のどこで 宣言しても問題ない。 これは、 >その変数を使うコードより前なら、ブロック内のどこで >宣言しても問題ない。 という意味ね。
>>680 そのコードをコンパイルしてみれば分かるけど、エラーではねられる。
だから安心して大丈夫。
安心したよ・・・テヘッ
ちょっと質問です。 ある本に出ていた、ボタンを押すとラベルに字が出るようにするというのを やってみたけど、これって出る文章を途中で改行できないんですか?? ソースを改行すると、その行でカッコを閉じていないということでエラーが出るし。
686 :
デフォルトの名無しさん :01/10/07 12:26
>>685 SwingのJLabelならできるよ。htmlでテキストを記述すれば、そのように
表示される。ただし、Swing 1.1.1 Beta 1 or compatible releases.
だけどね。
687 :
デフォルトの名無しさん :01/10/07 15:09
>>686 jdk1.2.2以降は標準で入ってたと思ったけど。
688 :
デフォルトの名無しさん :01/10/08 02:31
質問です。 他の会社の開発したライブラリを使って開発しているんですが、 ライブラリがバージョンアップしたら、マニュアルに新しい パッケージが追加されていたんですよ。 で、早速使ってみようとしたらimportできない。調べたら確かに それらしいクラスが見当たらない。classpathを追加しなきゃ ならんのかと調べてみたけど、やはりそれらしいファイルが無い。 ライブラリの会社に質問したら「javadocに全て書いてある、 マニュアルを読め」と怒られた。ああ、どうせ俺はダメPGさ。 それで質問なんですが、パッケージの名前とディレクトリ名とが 一致しないことって有るんですか? もうひとつ質問です。実は先月末にまたライブラリがバージョン アップしたんですが、問題のパッケージ丸ごとマニュアルから 消えていました。それについて一言の説明も有りません。 納得いかないのですが、今度はこっちが怒っていい?
すいません、JAVA初心者です。 棒グラフなどを表示する際の fillRectとfill3DRectの違いを教えてください
690 :
デフォルトの名無しさん :01/10/08 03:47
八桁のint型整数があります。 その下二桁を「00」にしたint型数値を取得したいの ですが、どうやればいいのですか。 12345678 → 12345600
100で割って100かける。
693 :
デフォルトの名無しさん :01/10/08 04:49
>688
javadocをアップしてくれないかな?
>それについて一言の説明も有りません
を確認してあげるよ
>>689 使ってみればわかるよ
694 :
デフォルトの名無しさん :01/10/09 00:45
ageとくね。
すうgく
696 :
デフォルトの名無しさん :01/10/09 16:34
javaアプリケーションからメモ帳などを起動させるには どのようにしたら良いのでしょうか? 右も左もわからぬ憐れな初心者に是非、恵みをお与えくださいませ
697 :
デフォルトの名無しさん :01/10/09 16:57
>>696 Runtime#exec()を使用する。
698 :
デフォルトの名無しさん :01/10/09 19:42
JAVA Mail APIを使いたくないので mailを送信するプログラム書いてます。 でも、PASSコマンドを受け付けてくれないのです。 この辺に知ってる人いますか?
>>697 何とかできましたー!(遅
ありがとうございました、感謝感激雨霰♪
いやホント、ありがとうございました〜。
700 :
初心者―子猫 :01/10/09 19:57
数字を入力するとある規則に従った計算結果を 表示するiアプリを作りたいんですが、良い参考 書は何? 教えてください。 私はVBAが分かる程度の知識です。
701 :
デフォルトの名無しさん :01/10/09 20:31
702 :
初心者―子猫 :01/10/09 20:36
今度はアプレットからメモ帳を開きたいのですが、 セキュリティの外し方はどのようにしたらよいのでしょう? java.io.FilePermission java.lang.RuntimePermission に関して何かしら処理をしなければならないようなのですが・・・ どなたかご教示をお願いします
704 :
デフォルトの名無しさん :01/10/10 19:15
705 :
デフォルトの名無しさん :01/10/10 20:58
>でも、PASSコマンドを受け付けてくれないのです
JAVAの問題じゃないと思うけど
>セキュリティの外し方はどのようにしたらよいのでしょう?
アプレットがセキュリティの設定を変えられるとしたら、
それはバグです
目的がメモ帳なら
>>704 の言ってる事はかなり的確ですが
706 :
デフォルトの名無しさん :01/10/10 21:19
アプレットでURLからデータを読みこむ事は出来るんでしょうか。
707 :
デフォルトの名無しさん :01/10/10 21:50
できるんじゃない
>704-705 レスありがとうございます。 おおもとの目的はアプレットからメモ帳などの外部アプリケーションを 開くことなのでメモ帳にこだわっているわけではないんです。 セキュリティを緩めればそれが可能みたいなので その方法を模索しているのですがどうしてもわからなくて・・・ >708 はい、そのようにすれば良いらしいということはわかるのですが その方法がわからなくて・・・すみません
711 :
お願いします :01/10/11 14:27
最初から添付ファイルをくっつけて「mailto:」でメールソフトを立ち上げたいのですが、 誰かやり方を教えてください。
712 :
osiete :01/10/11 14:29
サーブレットで書き込んだテキストの内容をサーバ側で保存なんて出来るのですか?
714 :
デフォルトの名無しさん :01/10/11 17:14
>>712 書き込みたいディレクトリやファイルに
サーブレットエンジンプロセスの起動ユーザに対する
適切な書き込み許可権限が設定されていれば
問題なく保存できる。
98/meなどのセキュリティ概念のないOSでtomcat等でサーブレットを実行してるなら
そもそも書き込み制限すらできない。
716 :
デフォルトの名無しさん :01/10/11 23:20
ども。 Javaで、バイナリファイルの読み書きはできるのでしょうか。 アプレットとしてブラウザで動かす予定です。 できるか否かでいいのでご存じの方いませんか?
717 :
デフォルトの名無しさん :01/10/11 23:21
You'd can
>>715 違いますよ〜。
VBアプリ上から、OutlookExpressでメールを送りたいって言う要望があったんですけど
APIのShellExecuteでメールソフトが立ち上がる所までは分かったんですけど、件名や
本文の付け方までで、添付ファイルの付け方が分からないんです。
知ってたら教えてください。
お願いします。
>>719 どっちにしようか迷ったんですけど、「mailto:」を使ってるんで、こっちの
領域じゃないかと思ったんですけどね。
せめて、「mailto:」で添付ファイルも付けてメールソフトを立ち上げる事が
出来るかどうかだけでも教えて欲しい。
>>720 JAVAをもう少し知って欲しいな
出来るだろうけど、全く知らない
ShellExecuteってなんだよ?
>>721 JAVAやってる人ならHTMLも知っていますよね?
HTMLでメールを送る時に、
<P><A href="mailto:a.jp?Subject=b">サブジェクト</A></P>
を使うと、a.jpって言うメールアドレスを指定して、bって件名を付けたメール
ソフトが立ち上がるじゃないですか?
その時についでに添付ファイルの指定も出来ないか教えて欲しいんです。
ShellExecuteは、とりあえず忘れてください。
Java野郎共にちょっとした相談だァ。 ネットワークプログラムでバイトデータをバケットに乗せるときに、 文字エンコーディングは通例"x-euc-jp"or"shift_jis"のどっちでやるもんなんだァ? おせーて(100%日本語依存アプリ)
>>725 ゴルァ!その通りにやったら
NullPointer例外出して逝っちまったじゃねえか!
ネタかYO!
727 :
デフォルトの名無しさん :01/10/12 14:33
>>727 UTF-8だな?サンクスコ!
┌─┐
|も.|
|う |
│来│
│ね│
│え .|
│よ .|
バカ ゴルァ │ !!.│
└─┤ プンプン
ヽ(`Д´)ノ ヽ(`Д´)ノ (`Д´)ノ ( `Д)
| ̄ ̄ ̄|─| ̄ ̄ ̄|─| ̄ ̄ ̄|─□( ヽ┐U
〜 〜  ̄◎ ̄ . ̄◎ ̄  ̄◎ ̄ ◎−>┘◎
>>728 うわっ!UTF-8にしたらバイト長が変だ!本当に逝ってきます・・・
730 :
osiete :01/10/12 15:05
tomcat3.2.3でコンパイルの仕方(=クラスファイルの作成) 教えてください C:\jakarta\jakarta-tomcat-3.2.3\lib\servlet.jar xxxxx.java じゃ何も起こらない
732 :
osiete :01/10/12 15:34
tomcatでJDKみたいにDosプロンプトを使ってコンパイルって出来ん ていうか、サーブレットでインストール以降の設定の仕方が訳わかりません
最近JAVAを始めたんですけど、下のプログラムのように異なるメソッドを 呼び出す方法は何かないでしょうか? 知っている方がいたら教えていただけないでしょうか。 よろしくお願いします。 public class Test { private static String[] test = {"test1()", "test2()"}; public static void main(String[] args) { Test obj = new Test(); for(int i = 0; i < 2; i++) { obj.test[i]; } } public void test1(int i) { System.out.println("test1"); } public void test2(int i) { System.out.println("test2"); } }
>>732 CLASSPATHにservlet.jarとtools.jarを追加しろ。
こんなん検索エンジンで調べりゃすぐにわかるだろ。
バカチン
>>733 java.lang.reflect.Method
"tomcat サーブレット 設定" で Google 検索したら789件もヒットしたよ。
>>733 何でそうメタレベルで押し切ろうとするかなァ。
オブジェクト指向のクラス設計を勉強する方が先じゃァ?
>>733 なんつうかCの呪縛に縛られてる気がする。
>>736 お返事ありがとうございます。
申し訳ないですが、もう少し桑すく教えていただけませんか。
よろしくお願いします。
>>733 頑張れ。オレも先月まではそのレベルだったよ。
>>740 標準APIのjavadocを読め
読んでわからんようじゃ使えないから安心しろ
743 :
デフォルトの名無しさん :01/10/12 17:30
Windows2000でTomcat3.2.1のStart.batを実行しても何も起こらないんですが・・・
>>743 環境変数の設定やらserver.xmlいじりやらやることはいっぱいある・・・
つーかjdkすら入って無さそうだな(藁
746 :
デフォルトの名無しさん :01/10/12 20:10
747 :
デフォルトの名無しさん :01/10/13 13:05
>>733 常套手段は下記参照。
GUIその他のイベンド処理(一種のコールバック)でも似たようなことをやる。
>>736 を使うと遅くてめんどくさいよ
リフレクションは
コンパイル時に呼び出したいクラスやメソッドが決められない時に使う
最終手段と思ったほうが良い。
public class Test {
public static void main(String[] args) {
Test obj = new Test();
obj.callTest();
}
private testCall[] test = {new Test1(),new Test2()};
void callTest(){
for( int i=0; i < test.length; i++ ){
test[i].test( i );
}
}
public void test1(int i) {
System.out.println("test1");
}
public void test2(int i) {
System.out.println("test2");
}
interface testCall{
void test( int i );
}
public class Test1 implements testCall{
public void test( int i ){
test1( i );
}
}
public class Test2 implements testCall{
public void test( int i ){
test2( i );
}
}
}
748 :
デフォルトの名無しさん :01/10/14 01:06
フレームを常に前に出しておくような方法はありますか? 一定時間ごとに前に出す以外に。
749 :
デフォルトの名無しさん :01/10/14 01:52
750 :
デフォルトの名無しさん :01/10/14 03:02
>>749 もうちょっと具体的にいってくれませんでしょうか?
または参考になるサイトなどがあれば良いんですが…
>748 そんなことするなよ
752 :
デフォルトの名無しさん :01/10/14 03:46
>>751 いまランチャーが作りたくてしょうがないんです。
754 :
デフォルトの名無しさん :01/10/14 09:06
755 :
デフォルトの名無しさん :01/10/15 16:04
appletviewerではアプレットからnotepad開けたんだけど ブラウザでは出来ん・・・なんででしょか あーコマッタ
756 :
デフォルトの名無しさん :01/10/15 16:26
ポリフォルリズムって言語的に言うと ・オーバーロード ・オーバーライド ってこと? 「同じ名前だけど別物だよ」って意味だよね?
ポリモルフィズムでした
758 :
デフォルトの名無しさん :01/10/15 16:32
>>755 だーかーらーセキュリティ制限だってばよ
notepad.exeが起動できちまうようなら
format.exeだって起動できるだろが!
アプレットプログラム側から制限解除する方法はない。
あったとしたらそれはセキュリティホールと呼ばれることになるだろう。
ユーザーに手作業でブラウザ設定させてセキュリティー制限を
ゆるめてもらえ
759 :
デフォルトの名無しさん :01/10/15 17:08
>>756 オーバーロードは関係ない。
オーバーライドは関係が深い。
「同じ名前だけど別物だよ」って意味ではない。
760 :
デフォルトの名無しさん :01/10/15 17:14
あれ?別スレかと思った・・・ override overload だよね
>>759 あれれ。そうですか。。
ちょっと本を調べなおしてみます。
ってのも、本によって微妙に書いている内容が違う気がして
混乱してるんです。。>ポリモルフィズム
762 :
デフォルトの名無しさん :01/10/15 19:57
>>761 ポリモーフィズムは、そんなに特別なことじゃないよ。
例えば、以下のコードは、ポリモーフィズムの例。
public class TestPoly{
public static void main (String[] args) {
Object[] obj = new Object[3];
obj[0] = new Object();
obj[1] = new Integer(1);
obj[2] = new String("Hi, there.");
for (int i=0; i<3; i++) {
System.out.println(obj[i].toString());
}
}
}
配列objには、3つのオブジェクトの参照が入っている。どれも
Objectを継承したクラスのインスタンスで、当然、toString()
メソッドを持っている。
しかし、IntegerとStringのtoString()は、Objectクラスの定義の
ままでなくそれぞれオーバーライドされている。だから、それぞれに
ふさわしい内容が出力される。
ごく当たり前のことだけど、これもポリモーフィズム。
特定企業の宣伝に荷担する行為はご遠慮ください。 特定Webページの宣伝に荷担する行為はOKみたいですね。
764 :
デフォルトの名無しさん :01/10/15 21:52
そうか、763みたいに考えれば
オーバーライドは理解できそうだな
サンキュウ
>>763
765 :
デフォルトの名無しさん :01/10/16 04:50
クラス Ningen には Otoko,Onna というサブクラスがあります。 そして、Otokoクラスにのみ chinko というインスタンス変数があり getChinko というインスタンスメソッドで読み出せます。 このとき、あるメソッドがNingenオブジェクト(hito)を受け取って それが Otoko か Onna かを判断して Otokoなら chinkoを読みたい。 if ( hito.getClass.toString.IndexOf("Otoko") ) { System.out.println("Chinko "+((Otoko)hito).getChinko); } と、かなりまわりくどいことをしていますが、もう少しイイ方法ない?
766 :
デフォルトの名無しさん :01/10/16 07:11
>>765 そらダサいな。NingenにはgetASOKO()っていう抽象メソッド
があって、Otoko, OnnaクラスでgetASOKO()メソッドを実装する。
getASOKO()のかえりちはASOKOインスタンスで、っていうふうに
するだろ、普通。
>>766 当然そうすべきなのですが、諸般の事情(上司と部下の対立とか)により
その方法は却下されてしまいました。
というわけで、せめて判定のところだけでもスマートにしたいです・・・
instanceofってどうやってつかうの?
if ( hito instanceof Otoko ) { System.out.println("Chinko "+((Otoko)hito).getChinko); } って感じで使うんですかね。 こんな便利なのがあったなんて知らなかったですよ。ありがとう
770 :
ひげおやじ ★ :01/10/16 10:39
「Java相談室 Part4」スレッドでの質問だったのですが
どちらに書いて良いのか良く分からなくなったので、こちらにも書きます。
JBuilder4でホイールを使用できるようにするプラグインを探していたのですが
過去ログより見つけられました。
Java相談室2より
74 名前:壊れプログラマ〜 投稿日:2001/02/22(木) 06:00
ぐるぐるでけた! 便利すぎて涙でそう。
http://www.developpez.com/java/opentools/jbWheel.zip を展開して、
jarをJBuilderの/lib/extにコピー
dllをJBuilderの/jdk1.3/binにコピーしたら動いた。
早速試してみます。ありがとうございました。
んじゃ
MicrosoftからJ#のβ1がダウンロードできます
>758 たびたびすみません ブラウザのセキュリティーをいろいろいじってみたんですが notepad開いてくれません・・・プログラムに問題あるのかな。 アプレットビューアだと問題ないので大丈夫だと思うのですが。 具体的にセキュリティーのどの部分をいじれば良いのでしょうか?
773 :
758ではないが :01/10/16 16:29
>>772 ブラウザからクライアントのアプリケーションを起動できないのは
プログラムの問題ではなく
Javaの仕様で、どうにもならんのではなかったかな。
(758が言ってるのはそういうことだと思うが)
テキストファイルを表示させたいなら、
テキストファイルビューアを自前で作るとか、
ブラウザの別ウィンドウ開かせてURLを〜.txtにするとか、
別の方法を考えたほうがいいと思われ。
>773 えっと、>758は >ユーザーに手作業でブラウザ設定させてセキュリティー制限を >ゆるめてもらえ IEの場合、ツール→インターネットオプション→セキュリティ のあたりをいじるって事だと思ったんですが違いましたか。
775 :
デフォルトの名無しさん :01/10/16 17:40
とりあえずセキュリティの設定を1番低くしてみれば? レベルのカスタマイズ→JAVA→JAVAの許可→安全性-低 これで駄目なら無理だと思う
>775 それでダメなら無理・・・ですか。 わかりました。別の方法を考えます。 どうもお世話になりました。ありがとうございました。
>>713 にも、ちょこっと書いたけど、
とりあえずIE6.0の場合の設定方法。
まずブラウザのメニューバーから「ツール」をクリック。
つぎに「インターネットオプション」をクリックしてダイアログを開く。
開いたダイアログのタブから「セキュリティ」を選択して、
そのつぎに「レベルのカスタマイズ」をクリック。
「Javaの許可」からラジオボタン「カスタム」を選択し
「Java カスタム設定」をクリック。
「権限の編集」の「未署名のコンテンツの実行」のラジオボタンを
「サンドボックスで実行」から「有効」に。
これでブラウザ上の未署名のアプレットでも、
たいがいのことは実行できるようになります。
ただ、これをやるとブラウザのセキュリティが、
すさまじく低下するという危険も伴う諸刃の剣。
素人には、おすすめできない。
まあ
>>774 たんはアプレットに署名するなり、
Java Web Startをつかうなりしてみなさいってこった。
http://java.sun.com/products/javawebstart/ja/index_ja.html #たぷん上の設定でアプレットからnotepad開けるとおもう。
#もし、ひらけなかったら署名するなりJava Web Startつかうなりしてみてね。
あ。あと
>>777 に書いたブラウザの設定は、ほんとに危険なので、
「レベルのカスタマイズ」を実行するときは
「Webコンテンツのゾーンを選択してセキュリティのレベルを設定する(z)」から
「イントラネット」を選択して、それから「レベルのカスタマイズ」を設定してね。
#この設定だと、
#あくまでもイントラネット上のアプレットからしかnotepad開けないけど。
779 :
デフォルトの名無しさん :01/10/17 17:14
age
>777-778 丁寧に解説してくださってありがとうございます。 昨日の時点でそのように設定してもダメだったのであきらめモードだったのですが、 えーと、クラスパスを通してないのが原因だったようで それからはセキュリティを落とさなくてもnotepadを開くことが出来ました。 ただpolicyファイルをいじったのでjava全体に影響が出てしまうのですが。 で、外部アプリ起動専用のDLLというのがあるらしいので それを使って作業することにします。 がばろん@さん、その他意見を下さった方々には感謝申し上げます。
781 :
デフォルトの名無しさん :01/10/21 06:36
instanceof()(RTTI)が必要になる時って あまり無いけど どうなの? 設計で回避できる問題なのかな?
>>781 ポリモルフィズムが使いこなせない人には無縁の予約語ですな。
多態を多用すると、お世話になる事が増えます。
設計がすばらしいか、貴方がまだアホなのかのどちらかです。
前者であることを祈ります。
>>782 ポリモルフィズムを使いこなしてても無縁の予約語でしょ?フツー
equalsの実装とかにイディオム的に使うときも有るけど。
気取ってメタなことをしなければ、
ほとんど使わなくても多態は効果的に運用できるよ。
けど、昔のawtのイベントモデルみたいにincetanceofが
頻出しちゃう設計がタコかというと、
あれはあれでシンプルでいい気もする。
結局は趣味の問題だ。
突然なんだけどJava相談室がなくなって、なんかJava関連の話題が元気ないような気がするのは漏れだけ? ちなみに私は教えて君です。
786 :
デフォルトの名無しさん :01/10/21 23:50
FileDialogにFilenameFilterをimplementsしたクラスを設定(setFilenameFilter)したのですが。 acceptメソッドが呼ばれる気配がいっこうにありません。 使い方が根本的に間違っているのでしょうか?
785の質問は「ネタ心者歓迎! 今更ながらにJava相談室」 でさせて頂きました。
あぅ。↑786の質問、の間違いでした。 ・・鬱駄氏脳。
最近、プログラム経験ゼロなのにJAVAプログラマに廻された人間です。 うちの会社は、JAVAを3ヶ月で覚えろ と言います。 もうすぐ入社2ヶ月ですが、Jビルダーに使われてるだけの状態です。 J2EEをwindows98で動かすことも、2週間かけてもできてません。 こんな僕はプログラマ向いてないんでしょーか。 それとも、半年くらいかけて教えてくれるとこいったほーがいいんでしょーか。 人生ヤバイです(藁)
J2EEってNT系じゃないとうごかないんじゃなかったっけか?
>>789
>>790 基本的にはそうなんですよ
各BATファイルを書き換えたりすると動くらしいんですけど、
それを調べても、古いバージョンのことしか載ってなかったり。
で、上司にも(上司もJAVAプログラマ)報告したんですけど、
上司は「俺のでは動いてる」の一点張り。上司のOSはwin2000(--;
で、今も必死こいてBATファイルを書き直してます(^^;
まじでつらいっす(−−;
>>791 ドキュメントの記述にNT系でしかサポートしないの一文を
みつけてプリントアウトして突き返せばいいだけじゃん。
仕事で必要ならOS買って貰えよ
2週間分工数かけるくらいならWin2000買ったほうが安いぞ。
>>792 それやっても、だめだったんですよ(><)
OS買うお金がもったいないですよ(−−;;
794 :
デフォルトの名無しさん :01/10/22 11:42
スワップしている値を返してくれる、メソッドって何かない?
windows98で、j2ee、deploytoolとも、何とかうごきました(ほっ) ん〜〜すこしマタ〜リするか・・ でもなかなかにきびしいな(−−;<win98でj2ee
>>793 あのな。
おまえの給料と間接費とか考えると、
おまえみたいな初心者でも会社にとっては月50万とか
そのくらいの金はかかっとるのだよ。
(月というのは営業日数にすれば20日だ。)
2週間も悩むくらいなら、
つーか2日悩むくらいならOS買え。
>>796 語弊。
俺がos買うのがもったいないんじゃなくて、会社にもったいないっていわれたのです。
で、うちの場合、自分で買ってきたソフトとかはOS・アプリ問わずいれられないのです。(会社PCに)
>>797 コスト感覚ゼロのドキュソな上司か
修行のためにわざとやらせてるかのどちらかだな。
仕事でサポート害のwin98わざわざ使わせないだろうから
修行かな。聞いてみれば?
「コスト的・時間的には大損でしたけど、
漏れの教育費用なんですよね〜?」って。
「普通のやつなら半日でできる」という答が返ってくるのかも知らんが。
いや漏れはwin98でJ2EEって経験無いからワカランが。
まあ精進せいや。
799 :
デフォルトの名無しさん :01/10/23 11:18
質問なんですが、SunのLinux-jdk1.3.1_01では、 LabelwindowにKeyListenerをaddして、AWTのTextFieldで コーディングしなくてもテキストの入力ができていましたが Linux-jdk1.2.2_008や、Linux-jdk1.4.0b2では、まったく 入力ができないのですか、 というか、Keypressにも反応してません・・・。 普通のAWTのTextFieldって、コーディングしなくても テキスト入力(表示)ってできるんでしょうか?
800 :
デフォルトの名無しさん :01/10/23 23:44
細かいことで申し訳ない。 JavaでGUIを書くとき、main関数にframeを作って表示するけど、 表示した後なぜ、そのアプリは終了しないのでしょうか? win32apiでGUIを書くときはメッセージループを作ってwinmainを終わらせないんで わかりやすいんですが。。 frameが別スレッドで生成されていてmainが終了してもスレッドが終了するまで 待っているとか。。? 気になるんで教えてください!
801 :
デフォルトの名無しさん :01/10/23 23:58
>>800 そのとおり、GUIを使うとイベントを処理したりComponentのupdateを呼び出し
たりするスレッドが作られる。
802 :
デフォルトの名無しさん :01/10/24 00:33
>>800 以下の理屈は、漏れも詳細は確認してない。アバウトではあっ
てると思うけど。
javaでは、mainのスレッドも他のスレッドと同様の位置付け。
だから、GUIを表示したらmainのスレッドはそのまま終了して
しまうこともある。
で、そこで作られたGUIオブジェクトは、JVMが開始したイベント
ディスパッチングスレッドなどにその参照が登録されていて、
mainのスレッドが終了してもGUIオブジェクトへの参照がゼロに
ならず、ガベコレされない。
で、GUIが生きている限り、イベントディスパッチングスレッドなど
も生きているので、プログラムは終了しない。
付け加えれば、javaでは、デーモンでないスレッドがすべて終了した
ら、プログラムが終了することになっている。
803 :
デフォルトの名無しさん :01/10/24 02:44
いまさらなんですけど、JAVAの良書ってあります。 一般的に独習とか結城本とかがいいって聞きますが。 どうなんでしょう??
>>803 あとはSunで配ってる日本語のAPIドキュメントを
暇なときにサンデーマガジン代わりに読みまくる。
805 :
デフォルトの名無しさん :01/10/24 06:48
来月のJavaOne行く人いる? 自分は会社に金出してもらうように交渉中。
>>804 ういっす。やってみます。 あryがとうっす
809 :
デフォルトの名無しさん :01/10/24 10:47
Vectorを配列で持ってる場合、addElementは 使えないすかね? ↓って宣言してるっす。 Vector[] List_A = new Vector[]{};
List_A[0].addElement(...); List_A[1].addElement(...); ... では不満か?
>>810 809の宣言では、長さ0のVectorの配列になってしまっているが。
>>809 全く無意味な、極めてアホな宣言だと思われる。
Vector[] List_A = new Vector[5];
//↑Vectorを要素とする配列の配列長入れろよ。
List_A[0]=new Vector();
//↑まだ配列の中身が無いから、ちゃんとnewして作ってやれ。
List_A[0].addElement(...);
...
あるいは、
Vector List_A = new Vector();
List_A.addElement(...);
...
多分下がやりたいんだろ?二重の意味でアホな宣言じゃな。
説明不足ごめんです。 宣言の、 Vector[] List_A = new Vector[]{}; は、 共通使ってDBからでデータを持ってくる為、 こう宣言しなければいけないらしいっす。 で、同じ宣言をしている、もうひとつのList_Bを List_Aの最後から追加したいんですけど・・・。 むずい・・・TT
814 :
デフォルトの名無しさん :01/10/24 12:42
>>809 新しくサイズ決めたVector[]作って
List_Aの中身とList_Bの中身をコピーするしかないのでは?
>>813 悪いことは言わない。そんなプロジェクトからは足を洗え。
>>814 レスどもっ!
なんとかサイズ決めたほうに移してできました。
>>815 ひどいプロジェクトですよ〜
仕様書が無いらしくて、口頭やら画面印刷した紙に書いて来たり・・・
「仕様書くれ」っていったら「わかんないところあったら聞きに来い」
とか言うし・・・。こんな作り方してたら戻り発生しますよね〜。
817 :
デフォルトの名無しさん :01/10/24 18:09
818 :
デフォルトの名無しさん :01/10/24 18:25
JAVAを勉強するのに良い教本を教えてください。 まったくPG作成は初心者なのですが・・・。
819 :
デフォルトの名無しさん :01/10/24 18:26
Javaアプリを作ってるんですが、このアプリ、同一端末上で複数起動させたく ないんです。 ユーザに「複数立ち上げるな」って釘を刺すのも1つの手ですが、 それではあまりにもスマートではないので、アプリの方で複数起動を禁止する 手段を講じたいと思います。 Windowsであればミューテックスの仕組みを使えばできますが、Javaアプリでは そのような仕組みは用意されて無いんでしょうか?
書き込み排他ファイルにフラグかいとく。 最初に立ち上げたVMでソケット1個(ポート固定で) 開いとく。→立ち上げ時にそのソケットに何か投げて、 なんか帰ってきたら既に立ち上げ済みなのでそのVMコロス。 などなど、どうでしょうか。 まあ、共有データをどこに置くかという話になるわな。
821 :
デフォルトの名無しさん :01/10/24 20:54
>820 早速の御返答、ありがとうございます。 実は「アプリ立ち上げ証明ファイル案」も「ソケット蟻地獄案」も 既に出てたんですが、「新たにファイルを作ることも、ソケット等の 別プロセスを立てることも、まかりならん」ってなことになって しまったので、どうしたもんかなぁと思った次第なんです。 取り敢えず「みんな考えることは同じなんだなぁ」ってことが見えて 良かったです。(^^; あ、上記(819)解決案、まだまだお待ちしてます。
全くの初心者なんですけどチャットとかで使える面白いJAVAがあったら 是非教えてください☆ たとえばレスを一気に消せたりするあんな感じの物を教えてください☆ よろしくお願いします☆
JAVA初心者でAPPLETをつくりながら勉強しています。 コンパイルも上手くいって、いざVIEWERで見てみると 初期化されていません。となります。 ソースコードに間違いがあるという事でしょうか・・・ 教えてください。
824 :
デフォルトの名無しさん :01/10/24 22:35
>>821 外を見ずに昼か夜かを判定するのは無理。
ファイルとソケット以外で外を見る方法で、PC立ち上げに時に
イニシャライズされるものと言えば・・・。
とりあえずメモリ全部にnull書け。
>>823 エラーメッセージをちゃんと読みましょう。
何が初期化されてないかくらい出てるでしょ。
827 :
avaj真剣 :01/10/25 11:09
どうもです。 Win98でJ2EE+deploy動かすの成功しました(笑) BATファイルとポリシーファイル総書き換え。 そして、念願のペットストアをdeploy・・・・できません(−−; rmi compilation faild・・・とかなってます・・ どういうとこ見直せばいんでしょう・・・ エラーログ見てもサッパリです(><)
>>827 あんたにゃサッパリでも俺らにゃ貴重な情報なんだよ。
ホラ・・隠さずに全部見せてみなよ・・
829 :
avaj真剣 :01/10/25 15:19
>>828 行がでかすぎてのせられましぇん(;_;)
厨房でスマソ(マジ涙)
JAVA初心者であります。 ある配列を作成し、 その配列にオブジェクト(Hashtable)を格納した後、 その配列->オブジェクト内を参照しようと以下のようにコーディングしてみましたが、 思うように動作しません。 すみませんが、どのたか御教授願い無いでしょうか? お願いします。(;;) ArrayList l = new ArrayList(); Hashtable h = new Hashtable(); h.put( "A" , "a1" ); l.add( h ); h.clear(); h.put( "A" , "a2" ); h.put( "B" , "b2" ); l.add( h ); h.clear(); h.put( "A" , "a3" ); h.put( "B" , "b3" ); h.put( "C" , "c3" ); l.add( h ); for ( int i = 0 ; i < l.size() ; i ++ ) { Hashtable hh = new Hashtable((Hashtable)l.get(i)); Enumeration em = hh.keys(); while( em.hasMoreElements() ) { String s = (String)em.nextElement(); String v = (String)hh.get( s ); out.println( i + "/" + s + "/" + v ); } } ※思うように動いて欲しい動作 0 / A / a1 1 / A / a2 1 / B / b2 2 / A / a3 2 / B / b3 2 / C / c3 ※現状 0 / A / a3 0 / B / b3 0 / C / c3 1 / A / a3 1 / B / b3 1 / C / c3 2 / A / a3 2 / B / b3 2 / C / c3
>>830 あっちのスレに一言もなしか。
ヒントだけ言っておこう。実行結果から簡単に推測できることだとは思うが。
l.add( h ); したからといって ArrayList にデータがコピーされるわけではない(参照が保持される)。
そのプログラムではハッシュ表の中身は違うがオブジェクト自体は全く同じ HashTable を三度 ArrayList に追加しているだけだ。
C言語使いなら変数とオブジェクトの違いを理解してくれ。
>>831 さん
ヒント、ありがとうございました。
自分はC言語については、あまり知識が無いのですが、
おっしゃっている意味がわかり、対処できました。(^.^)
本当にありがとうです。
>830 どうでもいいはなしかもしれませんが ArrayList をつかってるなら HashMap を使わんとなんか気持ち悪いんですが?
835 :
デフォルトの名無しさん :01/10/27 01:13
■■質問■■ JBuilder5使って、アプレットを作ってるのですが、 アプレットビューアーでは動くのに、 HTMLブラウザでは動かなくなってしまいました。 いったいどんな原因がが考えられるでしょうか? JAppletは継承してはいません。ちゃんとAppletにしました。 ちなみに、Win98,IE6使ってます.
836 :
デフォルトの名無しさん :01/10/27 01:16
>>835 IE再インストールせよせよセヨ(エコー)
質問です。
Tomcat4.0をインストールし、Tomcat起動し
”
http://localhost:8080 ”でTomcatのsetup成功
画面が表示されるらしいのですが表示してくれません。
かつ、一度Windowsを終了すると、Tomcatが起動してくれません。
コマンドプロンプトには「LifecycleException」「BindException」
と表示されます。
@localhostの部分は自分のマシン名でいいのですよね?
Aなぜこれらの例外がでるか教えてください。
BなにかIEに設定は必要ですか?
よろしくお願いします。
なにげなくJAVAコンソールとかいうやつを開いたら、 エラーが起こってました つまらないこときいてすみません
>>835 マイクロソフトのサイトにいってJavaVMをダウンロードしろ
842 :
サーブレット :01/10/27 04:07
HTTPでファイルをアップロードする時、1つならできるのですが、 複数のファイルをアップロードすることができません。どうすれば良いか どなたか教えて下さい。
843 :
デフォルトの名無しさん :01/10/27 09:51
>>842 サーバー側にあらかじめ空のファイルを作っておく。
J2SDKは入ってます。1.3.1ですけど 一度はTomcatが起動するのに、二度目からは 起動しないし、原因を探すためにどうするべきか 教えてください。お願いします。
845 :
デフォルトの名無しさん :01/10/27 10:37
んー終了の仕方がわるいのかも
終了の仕方が悪いと具体的にどのような ことでしょうか。
TomcatをStratupで起動するとコマンドプロンプトに Catalina.start: LifecycleException: null.open: java.net.BindException: Address in use: JVM_Bind LifecycleException: null.open: java.net.BindException: Address in use: JVM_Bind java.net.BindException: Address in use: JVM_Bind とでます。
>>847 プログラマ板にも書いたけど・・・。
Address in useってのは、Tomcatが使おうとしているPortが既に
使われているってこと。
Tomcat 4.0.1では、デフォルトでPort8080, 8005, 8008を使う。
それらのPortを使ってるソフトが立ち上がってない?
Proxy系のソフトとか、Firewall系のソフトとか。
Tomcatを立ち上げる前にnetstat -a は試してみた?
で、既に使われてる場合は、Tomcatが使用するPort番号を
適当なものに変えればOK。8080を8090とかね。
ところでOSはなに使ってるの?
そうそう、 CATALINA_HOME/logs にログがはかれてるはずだから、中を見てみたら? 何かわかるかも。
>848さん 両方の板で、質問に答えていただいてありがとうございます netstat -a試しましたがPort8080のところはマシン名です。 問題ないんですよね?というよりも先ほどOS(Windows2000) インストールしてそこにJDKとTomcat4.0をインストールしたんです。 あとフレッツ接続ツール。Startupで例外はでるんですが、localhost:8080 でsetup成功の画面は表示されます。でJSPExaplesや自作jspも動きます。 しかし、例外がでます。 何か原因があるのでしょうが、わかりません。よろしくお願いします。
>>850 なんか
>>837 と内容が違うんですけど(汗
整理しましょう。
1. netstat -aをしたのはTomcat起動前?後?
2. Tomcatが起動しないという問題は解決したのか?
3. ログは出てるのか?
4. 例外が出るのはどこ?ブラウザ?コンソール?
5. 結局何が問題なの?
>>851 1.起動前、起動後どちらも試しましたが、結果は同じです。
こんな感じです。
Proto Local Address Foreign Address State
TCP マシン名:8080 マシン名:0 LISTENING
2.はい、解決しました。
3.ログはでています。しかしエラーらしきものはありありません。
4.例外が出るのはコンソールです。スタートメニューのStartTomcatで
「サービス・・・・」って表示されるはずが、されず例外が出ます。
5.なぜその例外がでるのか、が疑問なのです。
お願いします。
>>852 それって、Windows起動時にTomcatも起動してるってことでは。
だから、startup.batでTomcatを起動する必要が無い。
ApacheとTomcatを連動するように設定して、なおかつApacheを
サービスとして起動するように設定したとか。何か覚えない?
Windowsはそれほど詳しくないので、僕はこの辺でFade out...
854 :
デフォルトの名無しさん :01/10/29 03:20
基本的な質問ですいません・・・。 アプレットを製作しているんですが、appletviewerでは動いても、 ブラウザではアプレット領域に灰色の背景色がでるだけで反応がありません。 念のためJREをsunのサイトから落としてインストールしなおして見たんですが、 やっぱり反応がありません。 何を見落としているんでしょうか。 ブラウザはIE5.5で、SDKは1.4を使っています。
>>854 IEをインストールするときに、
VMをインストールしていますか?
標準でインストールしたからされていると思います。 インターネットのプロパティの詳細設定でも、 Microsoft VMの設定欄が表示されていて、 『Java JIT コンパイラの使用』のところにチェックも入っています。 このPCだけじゃなくて、もう一台のサブノートにも同じようにインストールしてみたんですが、 そっちでも同じようにアプレットが動作してくれません。(Applet Viewerでは表示される) ハードの問題じゃなくて俺の設定に問題があるってことですよね・・・。うーむ。
>856 確か、カスタムインストールでチェックしないと インストールしてくれなかったと思ったよ。
[ツール]-[インターネットオプション]-[詳細設定]-[Javaコンソールの使用] をチェックしとけ。再現して [表示]-[Javaコンソール] を見てみれ。 大方 APPLET タグ使って JDK 1.2 以降の機能を使用しているのだろう。
860 :
デフォルトの名無しさん :01/10/29 08:14
JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA AVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAV JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA AVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAV JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA AVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAV JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA AVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAV JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA AVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAV JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA AVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAV JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA AVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAV JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA AVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAV JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA AVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAV JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA AVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAV JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA
861 :
デフォルトの名無しさん :01/10/29 12:58
スキャナからの画像の読み込みとかJAVAでできますか?
JBuilder5(personal)でクラスを実行するときに 引数を与えるにはどうすれば良いのでしょうか?
ごめんなさい、わかりました。
すいませんお知恵をお貸しください。 テキストボックスで数字(STRING型)を手に入れました。 その数値から、integer valueof で変換しさらにsub String で、 数値を抜きyyyy,mm,dd,eeを表示します。 しかし出力先には、常に本日から7日間の月、日、曜日を表示させ なければなならず、どこにfou 文を絡めようか悩んでます。 カレンダークラスで取得すると、文字列はどうなりますか?
865 :
デフォルトの名無しさん :01/10/30 00:20
>>864 やってみたら?
取得した文字列を表示する方法なんていくらでもあるんだし。
>>865 忠告ありがとうございます。
(integer valueof())+iの様にしたら、OKでした。
iは変数
867 :
デフォルトの名無しさん :01/10/30 20:14
JavaMailでさ、センドする時、 送るポートを25以外に簡単にする方法無いの?
868 :
デフォルトの名無しさん :01/10/30 20:28
RandomAccessFile("sample.dat","r") でファイルを開こうとしても、 なぜかファイルノットファウンドの例外がでてしまうんです。 ファイルはclassファイルと同じフォルダに置いているんですけど、 何が間違っているんでしょう?
>>868 そのファイルに読み込み権限はある?
ファイルが存在しても、ファイルを開けなかったときに、
FileNotFoundExceptionを投げるみたいだよ。
JAVAのアップレットがすこ〜しできるようになりました。 マウスイベントとか・・・ まだまだ超初心者のため、簡単なアップレットで ソースコードを公開しているホームページがあれば 紹介願います。
>869 Win98なのでファイルの権限は問題ないと思うんです。 アプレットクラスの権限かなと思って、 policy toolでクラスの権限を設定したんですが、どうもちゃんと設定できてないらしく、 policyファイルを再び開こうとすると、 MalFormedURLExeptionといってエラーが出てしまいます。 エラー表示に設定したファイルパスが表示されているんですが、 それが文字化けしているようにも見えます。 解説書どおりにやっているんですが、プログラム以外のところでトラブル続きです。 なんでだろう・・・。(鬱
>>871 Win98でAppletだって事、最初に言って欲しかった、、、
まあ、十中八九Appletの権限不足でしょう、例外が出たのは。
文字化けと言うことから推測すると、URLの表記が間違っているのかも。
1.フォルダの区切りが\だと、エスケープ文字だと解釈される可能性があるから、/で区切ってみる。
2.日本語のフォルダや半角空白があるフォルダを使わない。
などをやってみると、うまく行くかも知れない。
>>872 何度も情報ありがとう。
\の後が文字化けしているようだから
files://c:\\My Documents\\sample.class
とやったらpolicy tool上では
files://c:/My Documents/sample.classという具合に表示されるようになって
エラーは出なくなりました。
ところが肝心のプログラムのほうは未だに反応なし・・・。
自分のプログラムが間違っているのかと思って
アプレットからアプリケーションに書き直してみたけど、
アプリケーションにした場合はすんなり読み書きできた。
ということはやっぱりアプレットの権限の問題なんでしょうね。
ふと思ったんですが、
アプレットを作ったとしてもいちいちユーザーの手で権限を与えなければいけないとなると、
複数のファイルを操作するアプレットを作るのは現実的ではないのかも知れません。
そこら辺はみなさんどうしているんでしょう。
ところで、policytoolで検索してみたらなぜか先行者のゲームを見つけました。(w
http://web12.freecom.ne.jp/~yanase/
例ではMy Documentとしていますが、半角空白があるフォルダ以外でもだめでした。
知恵を貸してください。 現在の環境 WIN98 JDK1.2 TOMCAT3.2.3 症状 PATHが通らない。TOMCATが利用できない PATHの設定での注意事項などありましたら教えてください。 よろしくお願いします。
877 :
デフォルトの名無しさん :01/10/31 10:37
超初心者質問ですいません。 a+bという文字列をgetParameterすると、 a bという感じに+が消えてしまいます。 なんでかわかりません。わかる方教えてください。お願いします。
878 :
デフォルトの名無しさん :01/10/31 16:44
>>877 java.security.Signature ?
getParameterは推奨されてないけど、使うのやめたら?
お助けください。 SQLサーバーから本日の日付を取得しました。これをJavaプログラムで表示させたいのですが、 SQL("SELECT CONVERT(VARCHAR(8), GETDATE(), 112)"); int year,month,day; year=Integer.valueOf((%%%.getTEXT).substring(0,4)).intValue(); month=Integer.valueOf((%%%.getTEXT).substring(4,6)).intValue(); day=Integer.valueOf((%%%.getTEXT).substring(6,8)).intValue(); %%%に収めることができません。 このSQL文でとってくる値をどのように宣言したら良いでしょうか? よろしくお願いいたします。
>>879 あのさ、
SQL("SELECT CONVERT(VARCHAR(8), GETDATE(), 112)");
って何のことかよく分からないんだけど、(なんかのライ
ブラリですか?コアAPIじゃないみたいだから、その仕様
なんかしらんぞ、こっちは。)
もしコレで何か問い合わせができているんだとしたら、
問い合わせの結果はどこの変数にしまったのよ?
それがわからなきゃしかたねえべさ。
881 :
デフォルトの名無しさん :01/10/31 23:24
超初心者なのですがどなたか教えてください。 ソースファイルを作って、MS-DOSプロンプトで ディレクトリの移動をしようとするとパラメータが多すぎます とでてしまうのですがどうしたらいいのでしょう? どなたかおしえてください。
>>880 ("SELECT CONVERT(VARCHAR(8), GETDATE(), 112)");
で本日の日付を取得出来ます。あまりにも長いソースになっていましたので
削除しました。書いた私も誰が見ても意味不明なソースです。
申し訳ありません。
SQL文のみを実行しDBから出力させると本日なら(20011031)がでます。
これを、Java.uti.calendar を用いて 曜日などを含め出力したいです。
でも、考えたら、Beanやservletで、getDate?などで日付を得た場合
この日付はクライアントのPCで無く鯖または、DB鯖側の日付になりますか?
>>883 あのさ…
「DBから出力させる」って、RDBMS付属のSQL実行用クライ
アントでSQL文入力して問い合わせすると、それが帰って
くるってだけの話でしょ?アンタCOBOLERさんですか???
(それにしても、なんでそんなSQL文にするのかよく分からんが)
RDBMSのデータをJavaのプログラム内に取り込むなら、まず
はJDBCの教本でも買って読みなさい。
いくらなんでも、ここで受け答えするだけでできるように
なることなら、飯の種なんかにはなんねえべさ。
>>884 様
分かりました。そのようにします。それで、ServletやJSPやBeanで、
Javaのみで現在の時刻を入手する方法の方が素直かなと思いまして。
方向を変えてやってみます。
>>877 サーブレットの話か?
URL にくっつけた '+' 記号は慣例的にスペースとして解釈される。
正しくは %20 だろう。つーか getParameter とだけ言われても
わからん。もうちょっと質問の仕方を勉強せれ。
また質問です。(低レベルで申し訳ありません) 本日の日付から、曜日を含む一週間を出力するプログラムを作りましたが、 int year,month,day; Calendar cal=Calendar.getInstance(); cal.set(year,month-1,day) DATE today=new DATE; for(i=0;i<7;i++){ year =Integer.valueOf((today.getText()).substring(0,4)).intValue(); month =Integer.valueOf((today.getText()).substring(4,6)).intValue(); day =Integer.valueOf((today.getText()).substring(6,8)).intValue()+i; SimpleDateFormat sdf=newSympleDateFormat("M月d日曜日"); system out println(sdf.format(c.gettime()));} では、もちろん出力できません。new DATE で得られる値をCalendarクラスに 取り込むには、なにか良い方法はございませんか?
888 :
デフォルトの名無しさん :01/11/01 18:28
JBuilder5でコンパイルしたら、 MS-DOSのプロンプト上からは 実行できないのでしょうか?
>>887 Calender#setTime(Date)
つうか、APIドキュメントくらい読んでから質問しろ。
妙なソース読まされるほうの身にもなれ。
891 :
デフォルトの名無しさん :01/11/01 22:47
クラスファイルは作れたのですが MS-DOSプロンプトで実行すると Exception in thread "main" java.long.NoclassDeFound Error:FirstProgram とでてしまうのですがどうしたらいいのでしょう? 初心者なのでわかりません。どなたかおしえてください
892 :
デフォルトの名無しさん :01/11/01 23:06
set CLASSPATH=.;%CLASSPATH%
IIOSSなんですが、なんでJDK1.3では動かないんでしょう? こういう問題があるとすると、今1.3で動いているものが、1.4で動かなく なる可能性もあるということなんでしょうか? それから、異なったバージョンのSDKって共存できるんですか? (@Windows, @Unix)
894 :
デファクトの名無しさん :01/11/02 00:21
URLクラスを使ってHTTP接続するときにUser-Agentや追加のヘッダーを 設定するにはどうすれば良いのでしょうか?
895 :
デフォルトの名無しさん :01/11/02 07:12
マウスイベントで質問なんですけど、
マウスのキャプチャに関するコマンドがないようなんですが、
マウスを動かさずにマウスボタンをずっと押しっぱなしの状態というのは
どうやればイベントを取得できるのでしょうか。
>>891 アプリなのにmainメソッドを作ってないとか。
896 :
デフォルトの名無しさん :01/11/02 08:45
>>894 URLConnection#setRequestProperty()
897 :
デフォルトの名無しさん :01/11/02 10:23
マルや四角や三角を描いて、それを座標の数値に変換する プログラムの作り方を導いてください。
899 :
デフォルトの名無しさん :01/11/02 11:49
>>895 ON_MOUSE_BUTTON_DOWNだっけ?
マウスボタンの二つのイベントで、状態フラグをon-off
900 :
デフォルトの名無しさん :01/11/02 11:50
Javaすれだったかw
902 :
デフォルトの名無しさん :01/11/02 13:42
>>897 意味不明。
書くときに座標の数値決めるのでは?
903 :
デフォルトの名無しさん :01/11/02 18:55
>>899 >>901 mousePressedでフラグをonにしてmouseReleasedでoffにして、
paintメソッド内でフラグがonであれば押されたときの処理をする。
とやってみてもやっぱりダメでした。
マウスをキャプチャできないとメッセージが送られてこないわけだから、
イベント処理できないような・・・・。
904 :
デフォルトの名無しさん :01/11/02 20:02
>>903 mousePressedとmouseReleasedのときに
フラグを変えるだけじゃなくて
表示クラスのrepaint()をちゃんと呼んでるか?
表示したいデータ(このばあいボタン押下フラグ)が変化したら
Viewに通知してやんないと
Viewが再描画できないだろ。
このへんMVCモデルの基本だからちゃんとやってみ?
905 :
デフォルトの名無しさん :01/11/02 21:33
>904 はい。やっています。>repaint() mousePressedはマウスが押された瞬間に一度だけ呼ばれるイベントですよね。 ということは1度だけ再描画されるだけのような気がします。 タイマー割り込みで定期的に呼び出すメソッドを作って、 そこでrepaintすれば上手くいく気がしますが、なんとなく不恰好のように思うしなぁ。
>>895 それ以外(ボタンを押したままでマウスが少しでも動く)は
イベント拾えるんだから、それで何とかできへん?
mouseMotionListener#mouseDragged
>>906 すでに現状でその状態なんです。(w
ただマウスをぐりぐり動かさないと処理できないっていうのはスマートじゃないし、
タイマー割り込み入れるのもなんか力技な気がしたので、
他にもっとストレートな方法があるのかなーと思ったんです。
もう少し調べてみます。ありがとう。
>>907 アプレットは作った事無いから良く分からんけど、
これじゃ駄目なの?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseTest extends JApplet {
boolean isPressed;
public MouseTest() {
addMouseListener(new TestListener());
}
public void paint(Graphics g) {
g.clearRect(0, 0, 100, 100);
Color c = Color.blue;
if(isPressed) c = Color.red;
g.setColor(c);
g.fillRect(0, 0, 100, 100);
}
private class TestListener extends MouseAdapter {
public void mousePressed(MouseEvent e) {
isPressed = true;
repaint();
}
public void mouseReleased(MouseEvent e) {
isPressed = false;
repaint();
}
}
}
>>908 マウスが押された場合の処理というのが、
画面に表示されている画像をスクロールすることなんです。
書いて頂いた例では
押されている状態→赤
押されていない状態→青
となりますが、
押されている状態で表示する画像が静的なものではなく、
押されている間中ずっと変化するものだった場合には、
やはりイベント処理が必要だと思うんです。
(例えば
押されている状態 → 画面の色がくるくる変わる
押されていない状態 → 変わらない
といったもの)
タイマー割り込みを調べてそっちでやってみることにします。
どうもでした。
>>902 マウスでCADで絵を描く感覚で、それを座標の数値に
変えるプログラムの作り方。
>>909 じゃあ、これじゃ駄目?
//<Applet code="MouseTest.class" height=100 width=200></Applet>
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseTest extends JApplet {
private boolean isPressed;
private Color c;
public MouseTest() {
addMouseListener(new TestListener());
new TestThread().start();
}
public void paint(Graphics g) {
g.setColor(c);
g.fillRect(0, 0, 100, 100);
}
private class TestListener extends MouseAdapter {
public void mousePressed(MouseEvent e) {
isPressed = true;
}
public void mouseReleased(MouseEvent e) {
isPressed = false;
}
}
private class TestThread extends Thread {
private final Color[] colors = {
Color.red, Color.yellow, Color.blue
};
public void run() {
int i = 0;
while(true) {
if(isPressed) {
int index = i % (colors.length);
c = colors[index];
i++;
if (i == 3) i = 0;
repaint();
try {
sleep(200);
} catch (Exception e) {}
}
}
}
}
}
>>909 イベントハンドリングに対するスレッドの割り当ては
1個しかなされていないし、その部分の変更もできない。
だから、そういった処理を行うためにはどこをどうやっ
たところで、最低1個スレッドを新しく作ることにならざ
るを得ないだろうねえ。(イベントハンドラスレッドに
wait()かけるのは禁止行為。)
>>911 はsleepの場所をifの外にずらさんと、負荷が多くなる(汗
>>911 >>912 Timer(swingじゃない方)を見てたんですけど、これもすんなり実装できそうにないですね。
アドバイスありがとうございます。
911を参考にさせていただいて、新しいスレッドで処理する方向でやってみます。
多謝多謝。
915 :
デフォルトの名無しさん :01/11/03 00:19
>>913 >sleepの場所をifの外にずらさんと、負荷が多くなる
というより、sleepはそのまま描画時だけにして、
elseで(synchronizedして)wait()した方が負荷が少ないはず。
MouseTestクラスでスレッドの参照を保持して、mousePressedで
その参照で(synchronizedして)notify()する。
918 :
デフォルトの名無しさん :01/11/03 13:10
>>910 >マウスでCADで絵を描く感覚で、それを座標の数値に
>変えるプログラムの作り方。
それは逆だよ。マウスで絵を描くには、座標の数値が必要なの。
マウスのクリックしたポイントの座標値は、プログラムで拾えるから
その座標値をもとに絵を描くんだよ。
898さんどうもありがとう♪
920 :
デフォルトの名無しさん :01/11/20 23:49
Javaを始めて1ヶ月にも満たない超ど素人です。 Win95のマシンにJDK1.3.1+Forteをインストールしたのですが、 JavaのVMがうまく起動できないようなのです。 Forteを起動したり、コンパネからJavaのPlug-Inの設定をしようとすると 必ずjavaw.exeのページ違反が起こってしまいます。 IMEの重複などは調べて対応したのですが、何が悪いのか分からず 戸惑っています。 javacやjavaなどのコマンドラインからプログラムを動かすことは できるのですが、何がいけないのかわかりません。 何か解決のヒントをいただけたらと思います。 よろしくお願いします。 ちなみにIEは5.5SP2ですが関係あるかはまだよく分からないです。
921 :
デフォルトの名無しさん :01/11/20 23:52
apacheとtomcatをwindowsMEに連携させてインストする方法 教えて下さい、説明してあるサイトをご存知でしたら教えて下さい。 お願いします。
>920 >Win95のマシンにJDK1.3.1+Forteをインストールしたのですが 今だにWin95を使っているところに問題があるのでは? 不具合の原因は知らんが、これを機会にOSをWin2000にでもしたら。
本当にネットとわーどとえくせるしかPC利用のない初心者です。 JAVAで検索プログラムの作成は可能ですか? 自分の勉強した事に関する簡単な辞書を作りたいのですが…。
そうしたいのはやまやまなのですが、会社のマシンということもあって OSに関しては全く自由が利かないのです。(涙
925 :
デフォルトの名無しさん :01/11/21 00:03
>>923 プログラミング言語ならPerlが向いていると思う。
>925 ありがとうございます。早速情報を集めなおしてみます
927 :
デフォルトの名無しさん :01/11/21 00:40
ボタンを上の方はgrid 下の方はflowみたいに レイアウト2つ併用できますか。
929 :
デフォルトの名無しさん :01/11/21 22:41
>>921 Meでも9x系だから、95/98向けのサイトでも同じじゃない?
起動するbatの設定に気をつければNT系解説サイトでもいけるかもね。
930 :
デフォルトの名無しさん :02/01/09 20:42
ms-dosプロンプトで javac chinko.java ってやるとエラーがいっぱい出て全部見えないで消えちゃうんですが 助けてください。
932 :
Java初心者 :02/02/04 20:53
933 :
誰か教えて、、、 :02/02/07 12:24
{10,5,7,22,25,13} を小さい順に並べるプログラム。 ならべく簡単なものを教えてください。
int[] array = {5,7,10,13,22,25};
935 :
誰か教えて、、、 :02/02/07 12:41
、、、 かなりの初心者なんで、 おてすうですが、全部おしえてもらえたら、、、 始めから終わりまでを
宿題くらい自分で考えろボケ これでもくらえ int[] a = {10,5,7,22,25,13}; int[] b = new int[a.length]; b[0] = a[1]; b[1] = a[2]; b[2] = a[0]; b[3] = a[5]; b[4] = a[3]; b[5] = a[4];
937 :
デフォルトの名無しさん :02/02/07 12:57
ByteArrayOutputStream bo なんてのを定義したら。 bo.write(int character); で文字を取得できるでしょう。 今度はboに入った内容をInputStreamとして使いたい。 つまりフィルタのようなプログラムを作りたいんだけど、 バイト配列出力ストリームを、入力用に転用できるか?
939 :
デフォルトの名無しさん :02/02/07 13:11
>>937 ByteArrayInputStreamを使えばOK
941 :
デフォルトの名無しさん :02/02/07 13:13
>>939 もう少し詳しく教えてください。InputStreamReaderに載せたい
InputStreamReader in = new InputStreamReader(bo, "EUC_JP");
どこを修正すればいい?
>>941 InputStreamReader in = new InputStreamReader(
new ByteArrayInputSteram(bo.toByteArray()), "EUC_JP");
>>941 >InputStreamReader in = new InputStreamReader(bo, "EUC_JP");
937をみると"bo"はOutputStreamだから、それではコンパイルエラーになるでしょう。
boからtoByteArray()かtoString()でboの中身を取りだし、
それからInputStreamを生成してInputStreamReaderに渡せば良いでしょう。
944 :
デフォルトの名無しさん :02/02/07 14:00
>>942-943 一回バイト配列に落としてしまうわけなんですね。
ファイルに落とすよりはマシだけど、
もう少し空中戦でできないものか?
>>944 空中戦やりたいなら
>>940 のように PipedOutputStream/PipedInputStream
使って、出力側か読み出し側ストリームを別のスレッドに担当させれ。
ちょっと作った。長文失礼 ----------------------------- import java.io.*; public class a{ public static void main(String[] args) throws Exception{ PipedOutputStream out = new PipedOutputStream(); PipedInputStream in = new PipedInputStream(out); Thread t = new DataGenerator(out); t.start(); while(true){ int ch = in.read(); if(ch < 0) break; System.out.write(ch); } return; } } class DataGenerator extends Thread{ private PrintWriter out = null; public DataGenerator(OutputStream o){ out = new PrintWriter(new OutputStreamWriter(o)); return; } public void run(){ for(int i=0; i<100; i++){ out.println("hello, world: " + i); } out.close(); return; } } ----------[結果]----------- hello, world: 0 hello, world: 1 hello, world: 2 … hello, world: 99
947 :
誰か教えて、、、 :02/02/07 14:51
{10,5,7,22,25,13} をifとforを使って小さい順に並べるプログラム。 ならべく簡単なものを教えてください。 全部、初心者なもんで、、、
>>947 貴方のパソコンのにSDKが入ってるなら
%JAVA_HOME%\demo\applets\SortDemoに、サンプルがあります。
いくらまで出せますか?
951 :
デフォルトの名無しさん :02/02/10 22:12
>>947 >>950 のURLにはアクセスしない方が賢明です。
もうアクセスしてしまったかもしれないが、念のため。
でも、「検索くらいしてから質問しましょう。」には同意。
初心者なら、まず本をきちんと読むとか、Yahoo!とかで検索してからに
しましょう。
あるいは
>>949 の言うように、金を払いましょう。
952 :
ひみつの検疫さん :2024/12/22(日) 20:21:21 ID:MarkedRes
汚染を除去しました。
あぼーん
荒らしですか?
955 :
デフォルトの名無しさん :02/02/11 11:43
嵐のせいかわからないが このスレを2chブラウザで読み込むと、ノートンアンチウィルスがウィルス警告をだすね(w ウィルス名:JS.Exception.Exploit
956 :
デフォルトの名無しさん :02/02/11 12:26
ところでJAVAを覚えたら、自然とJavaScriptも使えるように なったりしますか?まだどっちもやったこと無いんですが。
文法的に似てるけど挙動やお作法がかなり違うからなんとも…。 つうか JavaScript って名前やめてほすぃ。
Bluetteって開発終了したのかなぁ… 軽いから良かったのに…。
959 :
デフォルトの名無しさん :02/02/13 01:39
スレッドで無限ループさせてて、 ボタンを押したらループから抜けるようにしたいんですけど ボタンが押せなくなってるんですね。どうしたらボタン押せますか?
なぜ旧スレが上がってんだろ。
このスレいやだよぅ ノートン先生に怒られるよ。 datファイルにウイルス憑いてるって言われたよぅ…
953のをメモ帳にでもコピペして、保存したものをスキャンしたら ウィルスはけーんになるよ(w
953 の削除依頼、失敗! (藁
ウイルス感染するわけでもないからね。
完璧なPC作ったから、メルボム・ウィリー送ってみて!チェック用大量にキボンヌ!
ac.jp ってなんだっけ?
大学・研究機関なんじゃネーノ? といってみるテスト。
968 :
どなたか教えてください :02/05/03 00:04
はじめまして。 私、プログラミング自体全くの初心者の者です。 最近、プログラミングとは、どういうものか体験したくて、Javaの本等でトライして おります。 An EXCEPTION_ACCESS_VIOLATION exception has been detected in native code outside the VM Program counter=0x5f3b2fcd というメッセージがでて、上手くいかなくなるケースが多いのですが、原因、対処方 法をご存知の方はいらっしゃいますでしょうか?? 何卒、ご指導の程、よろしくお願い申し上げます。
>>959 スレッドを勉強しなさい
そうすればわかる
それがいやならSwingじゃなくてAWTにしときなさい
970 :
デフォルトの名無しさん :02/05/03 00:41
>>968 Linux とか Windows2000 とかを使うとうまくいくかもよ。
971 :
初心者です :02/05/06 01:59
私、初心者の者ですが、win98,JDK1.4,Tomcatの環境を構築をトライしております。 現在、Tomcatのインストールが終了し、Tomcatの起動を実施したところ、起動しません。 you must set JAVA_HOME to point at your java Development kit installation となっております。 Autoexec.batの環境設定内容を SET TOMCAT_HOME =C:\jakarta-tomcat-3.3.1 SET JAVA_HOME =C:\j2sdk1.4.0 としましたが、再起動後、なぜか、 SET TOMCAT_HOME =C:\jakarta-tomcat-3.3.1 SET JAVA_HOME =C:\j2sdk1.4.0 C:\essolo.com となっておりましたが、この辺がおかしいのでしょうか?? 何卒、よろしくお願いします。
972 :
デフォルトの名無しさん :02/05/06 02:01
ネタ心者って何? 初心者を装った上級者?
975 :
デフォルトの名無しさん :02/05/10 23:20
もうすぐ1000か…
もう、終わったスレだから、思い出にふけるよ。 最近やっとJScrollPaneという存在を知ったんだ。
swingだと、スクロールバーがなんでねーんだ!と文句言うところだったよ。
ほんと、世の中だんだん便利になる。 もう少しで、地道にスクロールバーを作るところだった。
でも、スクロールバーって結構使うから、もっと簡単にさらっと出来て欲しかった…。 まあ、なんにでもつけられるからいいんだけど…。
さてと・・・続きを練るか・・・。 んじゃ。
>>933 いまさらレスするのもなんですが色々勉強になりました。
Javaでプログラミングの勉強を始めて半年の初心者なんですが
簡単にできそうに思って試してみるとわけ分からず
調べてみるとこれは昔からある古典的なアルゴリズムなんですね。
ひとりでできれば自慢できたのに......
ここで1000取りやっていいのか?
さくっと1000がほしいものだ。
985
987 :
デフォルトの名無しさん :02/05/12 23:25
Exception in thread "main" java.lang.NoSuchMethodError: main とはどんなエラーですか?
mainなんてそんなメソッドないよーっていうエラーです。
2000 回は見た質問だな。
990!
>>988-
>>989 超がいしゅつですかw
混乱してると初歩的なルールさえ忘れてしまうようですね
過去ログ読んで勉強してきます、レスthk!
992
1000!
999!
1000get!! public class ArrayTest{ public static void main(String[]args){ int a[]=new int[10]; int min=0; for(int i=0;i<a.length;i++){ a[i]=(int)(Math.random()*100); System.out.print(a[i]+" "); } System.out.println(); for(int i=0;i<a.length-1;i++){ min=i; for(int j=i+1;j<a.length;j++){ if(a[min]>a[j]){min=j;} } int temp=a[min];a[min]=a[i];a[i]=temp; } for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } System.out.println(); } }
992!
999
999!!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。