ネタ心者歓迎!今更ながらにJava相談室 その4

このエントリーをはてなブックマークに追加
1
                        
 || ̄ ̄|   ∧_∧
 ||Java|  (     )   ∧∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ||__|  ( ○  )  (   ) < 俺達の旅はここから始まる。
   ||    │ |  │   /  |    \___________
((二二)) .(_(__)〜(___ノ

( ゚Д゚) < カキコする前に>>2-10をチェックしとけゴルァ!!
>>2 過去スレの一覧
>>3 Javaの基礎と よくある質問 (初心者はここをチェック!)
>>4 Java関連スレいろいろ
>>5 Javaを撲滅させたい方、死滅を心配してる方、Cとの違いを知りたい方はこちらへ
* 諸般の事情により、リンクがずれる事もあります。
2:02/01/09 12:03
■■■ 過去スレの一覧 ■■■

↓JAVA厨房
http://piza.2ch.net/tech/kako/966/966391052.html
↓Java相談室
http://piza.2ch.net/tech/kako/971/971960169.html
↓Java相談室 Part2
http://piza.2ch.net/tech/kako/980/980858322.html
↓Java相談室 Part3
http://piza2.2ch.net/tech/kako/994/994150280.html
↓Java相談室 Part4
http://pc.2ch.net/test/read.cgi/tech/997791189/
↓Java相談室part5
http://pc.2ch.net/test/read.cgi/tech/1003567552/
↓ネタ心者歓迎!今更ながらにJavaを学ぼう!
http://piza.2ch.net/tech/kako/981/981424252.html
↓ネタ心者歓迎!今更ながらにJavaを学ぼう! その弐
http://pc.2ch.net/test/read.cgi/tech/993358225/
↓ネタ心者歓迎! 今更ながらにJava相談室
http://pc.2ch.net/test/read.cgi/tech/1003569074/
↓ネタ心者歓迎! 今更ながらにJava相談室 その2
http://pc.2ch.net/test/read.cgi/tech/1006408230/
↓ネタ心者歓迎!今更ながらにJava相談室 その3
http://pc.2ch.net/test/read.cgi/tech/1007802486/
3:02/01/09 12:04
■■■ Javaの基礎と よくある質問 ■■■

Q: クラスの使い方が分かりません。
A: ↓Java 2 プラットフォーム API 仕様
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html

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

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

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

Q: 僕、サルなんですけど・・・。
A: ↓サルにはわかるヒアリングJava入門(マルチランゲージ対応)
http://www.asahi-net.or.jp/~rc4t-ishr/Saru/index.html
4:02/01/09 12:04
■■■ Java関連スレいろいろ ■■■

↓JAVAサーブレットQ&A
http://pc.2ch.net/test/read.cgi/tech/972229341/
↓サーバーサイドJAVAをまたーり語るスレ
http://pc.2ch.net/test/read.cgi/tech/1004972840/
↓iアプリ
http://pc.2ch.net/test/read.cgi/tech/1000723476/
↓i‐MODEのJAVA
http://piza2.2ch.net/tech/kako/975/975428633.html
↓iアプリでゲーム
http://game.2ch.net/test/read.cgi/gamedev/1005042631/
↓[Java]JBuilder5[Java]
http://pc.2ch.net/test/read.cgi/tech/995044723/l50
↓Pure Java Mail Server
http://pc.2ch.net/test/read.cgi/tech/1009991622/l50
↓クライアントサイドJavaどうよ?
http://pc.2ch.net/test/read.cgi/tech/1002160815/l50
↓【JAVA】 255名言集 【JAVA】
http://pc.2ch.net/test/read.cgi/tech/1005448620/l50
↓【祝】 JDK 1.4 βリリース
http://pc.2ch.net/test/read.cgi/tech/990949654/l50
↓IBM VisualAge for JAVA
http://pc.2ch.net/test/read.cgi/tech/989931658/l50
5:02/01/09 12:05
■■■ 撲滅させたいかた、死滅を心配してるかた ■■■

↓Java撲滅委員会
http://pc.2ch.net/test/read.cgi/tech/996848309/
↓●●JAVAって死滅しちゃうの????●●
http://pc.2ch.net/test/read.cgi/tech/1005159122/
↓●●JAVAって死滅しちゃうの???? PART2●●
http://pc.2ch.net/test/read.cgi/tech/1006053686/
↓●●JAVAって死滅しちゃうの???? PART3●●
http://pc.2ch.net/test/read.cgi/tech/1008162230/l50
↓CとJavaを比較した場合Cの良いとこと悪いとこ
http://pc.2ch.net/test/read.cgi/tech/1009707596/l50
6:02/01/09 12:13
さ、語ってくだされ。
とりあえず、ご苦労様 >>1
8デフォルトの名無しさん:02/01/09 14:18
質問させてください。

TextAreaの文字をファイルへ保存したいのですが、
保存したファイルでは改行が行われていません。

どなたかアドバイスをよろしくお願いします。
9デフォルトの名無しさん:02/01/09 14:34
>>8
何文字で改行とかって決まってるの?
TextAreaで改行はしたの?
改行コードは出力してるの?
10デフォルトの名無しさん:02/01/09 15:19
>>9
拡張子を.txtではなくて.dataにしたら改行してくれました。
なぜでしょうか?
>>10
とりあえず 問題点を絞り込む努力をしましょう。
12バイク並みの自転車:02/01/09 16:09
JAVAに java.*
とかで使うワイルドカードじゃなくて

short[] hoge = {0,1,0,1,0,0};
の中身を0に変えるような命令ってありますでしょうか?
前半と後半はどうつながってるんだ?
人工無能ですか?
14バイク並みの自転車:02/01/09 16:33
説明不足でした。
short[] hoge = {0,1,0,1,0,0,0};
とかを
short[] hoge = {0,0,0,0,0,0,0};

にするような命令はあるのでしょうか?
要はフィルタリングやりたいってことなんだろ。
ブビ厨か?
>>14
便利な命令一発でやりたいんだろうけど、
自分でロジックを考える努力をせよ。
>>14
そーゆー事してくれるユーティリティメソッドはありません。
static void memset( short[] array, short val ){
 for(int i = 0; i < array.length; i++)
  array[i] = val;
}
みたいなメソッド(っつーか関数)自作するとか。
18バイク並みの自転車:02/01/09 16:45
>>17
ありがとさん。
やはり存在しないのですか。
もっとリファレンス見直してきます。
19デフォルトの名無しさん:02/01/09 16:47
カレントディレクトリを取得するにはどうしたらいいですか?
2017:02/01/09 16:52
>>18
良く探したらありました。ゴメン。
J2SE 1.2以降
java.util.Arrays の fill( short[] a, short val );
がそうです。

詳しくはこちら
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/util/Arrays.html#fill(short[], short)
>>19
java.lang.System の getProperty( "user.dir" );
で出来ます。

詳しくはこちら
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/lang/System.html#getProperties()
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/lang/System.html#getProperty(java.lang.String)
22デフォルトの名無しさん:02/01/09 16:58
すみません。前スレの976で質問したものです。
swingで、固定幅のボタンは作れないのでしょうか?
よろしくお願いします。
23バイク並みの自転車:02/01/09 17:06
>>17
Thanks!
うまくできました。
2419:02/01/09 17:08
>>21
試してみたところ見事できました。
ありがとうございました。
>>22
俺もちゃんと知らんので、ハズしてるかもしれんけど、
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/awt/Component.html#setPreferredSize()(java.awt.Dimension)
してみるとか、
あとは LayoutManagerのソースコードとニラメっこするとか。
LayoutManagerの変更とか自作とかも視野に入れて考えてみては?
>>25
そんなメソッドないぢゃん(笑
http://java.sun.com/j2se/1.3/ja/docs/ja/api/javax/swing/JComponent.html#setPreferredSize(java.awt.Dimension)
これの間違いだろ。
>>26
ありゃ、間違い…
ところで、俺良く知らないんだけど
それって 22のお望みのものなの? >>26
28消防。:02/01/09 17:57
すいませんけど、教えて下さい。
エディターにひらがなを書くにはどうしたら良いんですか?   
つうかマニフェストが追加できない。なぜじゃ…
app.class と app2.classがあってmainメソッドがあるのはapp.classのほう。
Main-Class: appとだけ書いた拡張子なしのファイルaiueoを作り
DOSプロンプトでjar cfm app.jar aiueo *.classを実行。
jar tf app.jarで見てもMain-Classがない。なぜ?
3022:02/01/09 21:13
>>25 >>26 >>27
レスありがとうございます。
まだよくわかりませんが、WEBを見て試して、結果を報告します。
>>29
>>DOSプロンプトでjar cfm app.jar aiueo *.classを実行。
これが書き間違えでなければ
>>jar [ options ] [manifest] destination input-file [input-files]
が書式なので マニフェストと出力ファイルの名前が逆です。

詳しくはこちらで
http://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs/win32/jar.html
3225:02/01/09 21:22
GridLayoutのソース見てみたけどハズしてたみたい。
layoutContainer()では PreferredSize 見てないや。
33 :02/01/09 21:30
>>29
ここを読みなされ。

http://java.sun.com/j2se/1.3/ja/docs/ja/guide/jar/jar.html#Manifest%20Specification
>>「メインセクションは、空白行で終わります。」
34 :02/01/09 21:37
>>31
あなたの書いたリンク先を良く読みなされ。

>>「cmf」ではなく「cfm」を指定したとき (「m」オプションと「f」オプションを逆に指定したとき) は、
>>jar アーカイブの名前のあとにマニフェストファイルの名前を指定する必要があります。
3529:02/01/09 21:38
cfmは逆にするから文法は間違ってない。
Main-Class: appを一行だけなんだけどコレが間違い?
Main-Classを指定すればWクリックで起動できるんだよね…
36 :02/01/09 21:41
>>33のリンクより
>>31の↓の方が分かりやすかった。

>>使用する既存のマニフェストファイルが改行で終わっていることを確認してください。
>>マニフェストファイルの末尾が改行文字でない場合、ファイルの最後の行は構文解析されません。

改行いれなされ。
3731:02/01/09 21:44
私、しったかぶりしておりました。
3829:02/01/09 22:10
てかどうせできません…
なんでだろ。
39なんでだろ:02/01/09 22:45
>>38
(´-`).。oO(なんで状況を正確に説明できないんだろ?)

昔、技術者達を相手にするサポート窓口みたいな仕事をしてた事があるんだけど
そこに寄せられる相談の大半が

「うごかねえ!」「わからねぇ!」「動作がオカシイ!」「助けて!」

などといった、漠然かつあいまいな表現ばかりで、
具体的な状況を説明できる人が極めて少ない事にとても衝撃を受けた。

「できません」とか言われても「へぇ〜」としか言い様がないYO!
>>39
1.どうなれば"正しい"のかと言う事を、ソイツがちゃんと把握してないから。
2.デバッグの仕方、デバッガの使い方を知らないから。
3.そもそも"相手に意思を伝える為に言語を用いる"と言う事を理解していないから。
4.プライドが高くて、自分が恥を晒す可能性があることを自然に回避しようとして、
 肝心な事を誤魔化すから。
5.基本的に根性がお客さんだから。

うちの会社や出先には、3.4.5.が結構いるので笑…えない。
本当は何がしたいのか、いいたいのかを調査する為に何時間も掛かる。無駄だ。
41デフォルトの名無しさん:02/01/09 23:41
ms-dosプロンプトで
javac chinko.java
とやるとエラーがいっぱい出ます。
でもエラーが多くていっきに全部表示されずに流れてしまいます。
全部見るにはどうしたらいいですか?

例えるなら「|more」と同じ事がしたいのです。助けてください。
4229:02/01/09 23:45
・・・・
マニフェストが追加できない。なぜじゃ…
app.class と app2.classがあってmainメソッドがあるのはapp.classのほう。
1:Main-Class: app
2:          (:は行番号)
とだけ書いたファイルaiueoを作り
DOSプロンプトでjar cfm app.jar aiueo *.classを実行。
jar tf app.jarで見てもMain-Classがない。なぜ?
一応cfmでエラーはでない。
>>41
|moreは無理。ファイルに保存して読むべし。
ところがWin9Xは、STDERRをリダイレクトできない。

仕方がないので、
1.出力先をSTDOUTに変更して>でリダイレクトする。
 javac(JDKのバージョンによってはoldjavac)のパラメータを調べよ。
2.適当なエディタの画面にSTDERRをリダイレクトする。
 そういう機能があるエディタがいっぱいあるから。
>>43
よくわからないけど、そのキーワードがあれば調べられそうです。
ありがとうございます。
>>jar tf app.jarで見てもMain-Classがない。なぜ?
って意味がわからん。
jar tf app.jar って
jar 内のファイルの列挙じゃないの?
46なんでだろ:02/01/09 23:55
>>jar tf app.jarで見てもMain-Classがない。なぜ?

1. "jar tf app.jar"を実行すると、こういう結果になると期待しているのに
2. 実際にはどうなった。

のかがその説明では分からない。
これは推測だが、もしかすると"Main-Class"というファイルがJarの中に生成されると思ってるのだろうか?

↓こういう結果を期待したのに、Main-Classがリストアップされないと言う事??

C:\XX>jar tf app.jar
META-INF/
META-INF/Main-Class
app.class
app2.class
>>42
まだ巧く言ってなかったのね。
とりあえず固める時に、jar cvfm …(vパラメータを追加)として、
マニフェストファイルをちゃんととりこんでるかどうかみてみたら?
4847:02/01/10 00:06
自作マニフェストファイルは、jarに取り込むと
Sunが自動生成するマニフェストファイルMETA-INF/MANIFEST.MF
の内部に取り込まれるだけだから、気をつけてね。
49106:02/01/10 01:53
誰か教えてくれ〜。

最近リフレクションによるメタプログラミングとやらを勉強し始めたんだが、
JDK1.3でサポートされたDynamicProxyAPIって、物凄いカッコいいことが
出来そうな気がするんだけど、どんな場合に使い道があるのか今ひとつ分からない。

何かいい例(こんなシステムで使ったYO!)とかあったら教えてくだされ。
…JDK1.3でシステムなんかまだ作ってないか?
50デフォルトの名無しさん:02/01/10 02:19
自立型RMIoverIIOPによる並列プログラムに


いい例があります。と言ってみるテスト。
5149:02/01/10 02:29
>>50
自立型っていうのは、jiniみたいな話?
どこでつかうの?リモートオブジェクトのクライアントスタブって、
普通にクラスファイル作るよね?つくらないの?

…「overIIOP」は、何か特別な意味があるのか?
「overIIOP」でないと必要ないの?ネタ?
>>41
JDK のバージョンにもよるが Sun JDK 1.3 使ってるなら -Xstdout 付けてコンパイルしてみ。
エラーが標準出力に出るのでパイプもリダイレクトもできるようになる。
どちらかというと折れは Win2k を使うことを薦めるが…。
1.3 だと oldjavac じゃないと -Xstdout 効かないような…?
>>39
この間医者に行ったんだけど、医者の問診ってプログラマの障害解析に似てると思ったよ。
「今日はどうしましたか?」「腹が痛いです」「どのようにですか?」「キリキリ痛みます」「いつ頃からですか?」「二日前からです」…
医者も「人体」という巨大なシステムのメンテナンスやってるんだなと思ったよ。

ネット上で話していると相手がプロなのか素人なのかわからないからねー。いくら医者
でも医者同士で「患者が体調悪いと言っていますけどどうしたらよいですか」なんて間抜け
なことは言わないだろうし、かといって素人だと問診してやらないと原因突き止められないし。

俺は最初の「どうしましたか」で技術屋としての状況解析能力を試されているような気がして
のーみそフル駆動でムキになって状況説明してしまった。

つうか、独り言なので sage
>>53
うお、ホンマや。
鬱だ…
56デフォルトの名無しさん:02/01/10 06:43
JPopupMenuで困っております。

自分の作ったアプリでJPopupMenuがポップアップ表示されないんです。
で、OSがWindowsなので右クリックでポップアップされるはずなんですが、
自分のコードが駄目なんで他人の正常なコードで試したら、それでもやっぱり
駄目でした。
ので、これはコードが原因ではなく、自分が使っているPCが悪いと思うんですが。
ちなみに普段はWindows98で右クリックは正常に動作しています。
解決策を教えてください。
57デフォルトの名無しさん:02/01/10 09:33
TurboLinux7.0で、Sun Java 2 SDK1.3.1_02使ってます。
AWTで、LabelとTextFieldとButtonをGridbagLayoutつかって
Frame上に配置。setSize()とsetLocation()で位置合わせ。
このパターンで、画面を作成し、javacでコンパイルしたら、
他のフレームはokだったんだけど、一つだけ、
Frameの一番下に背景色で、Layoutしていないはずなのに
背景色の物体(見た目Frameに区切り線入れただけ)が
ついて来るんですけど、同じソースでWindow98SE+JDK1.3.1だと
出ないんですけど、Bugでしょうか?
58 :02/01/10 09:36
>>49
プラグイン。
59デフォルトの名無しさん:02/01/10 15:24
IEでアプレットを表示したときに、
マウスのホイールでスクロールさせた場合に表示がボロボロになるのは何とかならないの?
>56
mousePressedとmouseReleasedの両方で
チェックしてる?
public void mousePressed(MouseEvent e) {
 if(e.isPopupTrigger()) {
  hoge();
 }
}
public void mouseReleased(MouseEvent e) {
 if(e.isPopupTrigger()) {
  hoge();
 }
}

マウスイベント自体はちゃんと受け取れてる?
JDKのバージョンは?
>59
IEのバージョンを変えてみるとか、
Java Plug-inを試してみるとか、
ブラウザを替えてみるとか。
ビデオカードのドライバは・・・関係ないか。
6259:02/01/10 17:31
>61
NC4.75だと、問題なく動いた。素晴らしい!
でも個人的に動けばOKという話でなく、JAVA1.1のアプレットで作っったのでグローバルに動きます…
みたいなことがしたいので、環境変えて対応ってのは問題解決にならなかった。
残念!
Javaの資格って持ってる?
問題集を探しています。
64デッドロックの質問です:02/01/10 17:48
改行が多いとのエラーが出て書き込めなかったのでリンクを貼ります。
ご指導よろしくお願いします。
ttp://maebashi.cool.ne.jp/l654/2ch/deadlock.txt
その部分はただの代入文だしょ
aのフィールドbにローカル変数bの値を代入。
bのフィールドaにローカル変数aの値を代入。
こう書き換えたほうがわかりやすい?

A a1 = new A();
B b1 = new B();

a1.b = b1;
b1.a = a1;


a1とb1が互いに参照しあっていて
2つのスレッドがそれぞれをロックしたまま
もう一方にアクセスしようとしてるから、
デッドロックが起こる、と。
66sys:02/01/10 18:28
>>22
getContentPane().setLayout(null);
してから
button_hogehoge.setBounds(int left, int bottom, int width, int height);
な感じじゃだめ?
widthだけ固定でheightはレイアウトにあわせて可変にしたいってこと?
6764です:02/01/10 18:33
>>65さん有難うございます。
なんとなくわかりましたが、
a1.b = b1;
b1.a = a1;
↑これのフィールドaとbの指しているものが
まだよくわかりません。
お手数ですが再度ご教授お願いします。
class A {
 B b;
}
class B {
 A a;
}
class Hoge {
 public static void main(String args[]) {
  A a1 = new A();
  B b1 = new B();
  a1.b = b1;
  b1.a = a1;
 }
}

これの意味がわからないってこと?
まぁ、入門書の一冊でも買って
じっくりがんばってください。
6964です:02/01/10 19:06
>>68さん有難うございます。
その書き込みでさらにわかりました。
その代入文は今まで勉強してきて、
初めてでてきたので....
aやbの部分はメソッドだけだと思ってました。
お手数をお掛けしました。
>>41
漏れはこれを使っている。
ttp://member.nifty.ne.jp/k-takata/mysoft/rderr.html
レッドハット7.2ってJDKのバージョンなんですか?
調べるコマンドありましたっけ?
>>71
パスがとおっているなら
java -version
で、JVMのバージョンが表示されると思うけど…
RHってJDKバンドルされてたのね。知らんかったYO。
>>72
7.2から?
うちのRedHat7.1では見かけてなくてSunから落としたよ。
単に漏れがよくみなかっただけか?
7456:02/01/11 00:37
>>60
>mousePressedとmouseReleasedの両方で
>チェックしてる?

してます

>マウスイベント自体はちゃんと受け取れてる?

受け取れてます

>JDKのバージョンは?

1.3です。
75デフォルトの名無しさん:02/01/11 00:52
あるパネルの上に張り付けたパネルに対してマウスのドラッグ操作で
そのパネルのサイズを変更したいんですけど、どうやってやるのが
一般的なんでしょう?
javax.swing.JInternalFrame
みたいに使えるパネルを作りたいんです。
JInternalFrameのソースみてみたんですけど、JInternalFrameでは
マウスイベントとか取ってないんですよね。
良かったら誰か教えて下さい。
>74
isPopupTrigger()がtrueを返してくれないってこと?
それとも、その後のポップアップの表示がうまくいかない?

あとmouseClickedでもチェックした方がいいみたい。
7756=74:02/01/11 04:55
>>76
isPopupTrigger()がtrueでSystem.out.println("aaa")としてだめだったので
trueは返していないと思いました。
ところが、ためしに!isPopupTrigger()にしてみても、これまただめでした。
うんともすんともいいません。
ちなみにチェックをしているのはmousePressed, mouseReleased, mouseClickedです。
>77
if(!e.isPopupTrigger()) System.out.println("aaa");
で試してもaaaと表示されなかった、ってことだよね?
やっぱりマウスイベント自体が受け取れてないんでわ。。
とりあえず問題が再現する最小限のコードを書いてみてほしいす
79デフォルトの名無しさん:02/01/11 05:23
取り敢えず,
component.enableEvents( AWTEvent.MOUSE_EVENT_MASK )
して
component.processMouseEvent( MouseEvent event )
上書きでやってみて、isPopupTrigger() な
イベント捕まえられるか試してみるとか。
8056=74=77:02/01/11 05:30
>>78
そのとおりです。
これがそのコードです。どこかおかしいでしょうか?

public void checkPopup(MouseEvent e) {
if (e.isPopupTrigger()) {
popup.show(this, e.getX(), e.getY());
}
}

public void mousePressed(MouseEvent e) { checkPopup(e); }
public void mouseClicked(MouseEvent e) { checkPopup(e); }
public void mouseEntered(MouseEvent e) {}
public void mouseExited (MouseEvent e) {}
public void mouseReleased(MouseEvent e){ checkPopup(e); }
一応聞くけど addMouseListener 登録してないとかないよね?
8256=74=77=80:02/01/11 05:45
>>81
あ、それは大丈夫です。登録してます。
83デフォルトの名無しさん:02/01/11 05:59
最近Javaを始めたのですが、
変数の扱い(基本型以外は参照になる)など
いろいろとC++の違いに戸惑いながら勉強中。

時間をかければいずれ習得できるとは思いますが、
C++がわかる人向けのJava解説本とか
解説ページはご存じないでしょうか。

解説ページ:C++ vs Java(そこそこ参考になりました)
http://www.njk.co.jp/otg/Study/comp-language/cpp-java/
import java.awt.*;
import java.awt.event.*;

public class test extends Frame implements MouseListener{
 public test7( String title ){
  super( title );
  super.addMouseListener( this );
 }

 public void checkPopup(MouseEvent e) {
  if (e.isPopupTrigger())
   System.out.println( "PopupTrigger event" );
 }
 public void mousePressed(MouseEvent e) { checkPopup(e); }
 public void mouseClicked(MouseEvent e) { checkPopup(e); }
 public void mouseEntered(MouseEvent e) {}
 public void mouseExited (MouseEvent e) {}
 public void mouseReleased(MouseEvent e){ checkPopup(e); }

 public static void main( String[] args ){
  test window = new test( "test" );
  window.setSize( 100, 100 );
  window.setVisible( true );
 }
}

む、PopupTrigger event って表示されたけど。
環境疑うとか、自前のコンポーネントに
マウスイベント全部取られてないか疑ってみるとか。
あ、コンストラクタ修正し忘れた。
8680:02/01/11 06:29
>>84
ありがとう。
自前のコンポーネントにマウスイベント全部取られるって、どういう状態でしょうか?
いまやっているのは、Frameの上にボタンとかキャンバスとかがあって、
キャンバスの上で右クリックを押したときにポップアップが出てくるっていうふうに
したいんですが、この辺りが怪しいんでしょうか?
8780:02/01/11 06:50
>>84
さきほどif(!isPopupTrigger())でもaaaが表示されないと言いましたが、
あれは間違いで、aaaが表示されています。だから、trueを返していないようです。
一回クリックすると2回表示されます。PressとReleaseですかね。
サンプルコード試しても駄目だったんで、やっぱり環境がおかしいんでしょうか?
そこらへんを調べるにはどうしたらいいんですか?
isPopupTrigger がtrueになる マウスイベントは
Windowsの場合
WmMouseUp時、
SendMouseEvent(
 java_awt_event_MouseEvent_MOUSE_RELEASED,
 nowMillis(),
x, y,
 GetJavaModifiers(flags, button),
 clickCount,
 (button == RIGHT_BUTTON? 1 : 0), //これが PopupTrigger
 msg
);
ぐらいみたいなので(ちゃんと調べてないけど)、
VisualC とか持ってたら
マウスイベント出力させて調べてみるとか。
ぐらいしか思い浮かばない。

マウスのドライバが ボタン離された方の
イベント送らない、なんてことは無いと思うけど…
8971:02/01/11 10:24
バージョン1.1かよ!
最新のいれろや・・・
90デフォルトの名無しさん:02/01/11 15:05
ゲイツ君とこのVMがいつまで経っても1.1だから、
作る側も上げにくいよな
それはSunが自分でやったことだからしかたない。
92デフォルトの名無しさん:02/01/11 19:39
public class JP extends JPanel{
  pbulic JP(){
    JButton JB = new JButton("button") ;
    JB.addActionListener( new JBListener() ) ;
    add( JB ) ;
  }
  class JBListener implements ActionListener{
    public void actionPerformed(ActionEvent e){
    }
  }
  public static void main(String args[]){
   JFrame frm = new JFrame("frame") ;
   Container cont = frm.getContentPane() ;
   JP jp = new JP() ;
   cont.add(jp) ;
}

のようなプログラムで、ボタンJBを押したときにパネルjpが
隠れるようにしたいのですが、setVisibleを使うのでしょうか?
93 :02/01/11 20:01
>>92
なんで自分で試さないわけ?
94デフォルトの名無しさん:02/01/11 21:36
>>93
すいません。どこでどう使うのかわからないんです。
jp.setVisible(false)
ってやってもだめですよね
>>94
どこでどう使うのか分からないのに、なんでアクションリスナーが
しかもインナークラスであるのか教えてくれ…
9629:02/01/11 22:24
やっぱjarできない汗
jarをWクリックすると
MainClassを見つけられなかった。と英語で出ます。
app.classにmainメソッドがあって
jarに圧縮するときはMain-Class: appとしました。
物分り悪くて鬱…
>>29
うへ、まだやってたのか…
jar -xf して解凍して、
META-INF/MANIFEST.MFがどうなってるか晒してくれ。
>>29
あと、app.classのパッケージとjar内部のパス位置はどうなってる?
パッケージまでのフル名じゃないとダメで、jar(zip)内部のパスが
パッケージと一致してないとダメだよ。
99 :02/01/11 23:35
正直、jarファイルでそこまで悩むなんて凄いよ。
こういうところで徹底的に調べておくと
あとあと役に立つから無駄にはならないよ。
頑張れ!jarが理解できない人!
10129:02/01/11 23:42
Manifest-Version: 1.0
Main-Class: app
Created-By: 1.3.1 (Sun Microsystems Inc.)
こういう風になってます。
パッケージ云々はよくわからないんだけど
同じフォルダに入ってます。
102 :02/01/11 23:51
パッケージは?
10329:02/01/11 23:58
パッケージってなんでしょう?(^^;
ちなみにソース。適当です。
import java.awt.*;

public class app{
public static void main(String args[]){
app1 a = new app1("TITLE");
a.setSize(500,500);
a.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){System.exit(0);}});

a.show();
}
}

class app1 extends Frame{
Label label;
app1(String title){
super(title);
setLayout(new FlowLayout());
label1 = new Label("aa");
add(label1);}
}
10429:02/01/12 00:02
表示を簡潔にするために削ったら、labelに1がついてませんね。
あとeventもimportしてないし(^^;
105 :02/01/12 00:05
よくわからんが
>>104の修正をすれば
jarのダブルクリックで起動できたけどね。

とりあえず、トラブルの再現方法を克明且つ正確に書いてみなよ。
10629:02/01/12 00:18
マヂですか…
じゃぁ書く。
>>103-104のファイルを用意。
Main-Class:appと空行の2行のファイルaiueoを用意。
そのファイルを同じフォルダに入れる。
jar cvfm app.jar aiueo *.class
を実行し、Wクリック。何も起こらない。
jar -xf app.jarを実行。
Manifest-Version: 1.0
Main-Class: app
Created-By: 1.3.1 (Sun Microsystems Inc.)
こういう風になってます。
WクリックしてもCould not find main class..(うろ覚え)さえ出ない。
#Ctrl+Alt+Deleteやってみるとjavawが待機してるではありませんか…
#これは開かれるはずだったやつだと思うけど関係ない?
107 :02/01/12 00:30
>>106
それで動くはずだけどね。

ちなみに、
java app と普通にコマンド入力して起動するの?

あと関係無いけど、クラス名の先頭文字は大文字にしなよ。
Javaの慣例だから。
108デフォルトの名無しさん:02/01/12 02:54
>>106

jarからの起動は今までやったこと無かったので勉強がてらやってみたけど出来たぞ。。
以下手順。
1.下のソース(App.java)を作成してコンパイル。
2.Main-Class: appと記述して改行しただけのファイルaiueoを作成。
3.jar cvfm App.jar aiueo *.class を実行
4.App.jarをWクリック→フレームが起動→(゚д゚)ウマー

-------App.java---------
import java.awt.*;
import java.awt.event.*;
public class App {
public static void main(String args[]){
App1 a = new App1("TITLE");
a.setSize(500,500);
a.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){System.exit(0);}});
a.show();
}
}
class App1 extends Frame {
Label label1;
App1(String title) {
super(title);
setLayout(new FlowLayout());
label1 = new Label("aa");
add(label1);
}
}
-------App.java ここまで---------
>>106では
Main-Class:app
とかいてあるけど
Main-Class: app
では?
110109:02/01/12 03:04
でもそしたらjarでエラーがでるはずか・・。
>>106
ダブルクリック起動だと例外発生してもどこにも何も
表示されないから、コンソールから起動トライしてみそ。

java -jar app.jar
11229:02/01/12 09:47
出かけるから帰ってきたらやってみる。
113デフォルトの名無しさん:02/01/12 09:52
ant の javadoc タスクで質問なんだけど

<target name="apidocs" depends="compile">
<mkdir dir="${apidocs.dir}"/>
<javadoc sourcepath="${src.dir}" destdir="${apidocs.dir}"
link="http://java.sun.com/products/jdk/1.3/docs/api"
Locale="en_US"
packagenames="${package_name}" />
</target>


というふうに Locale を指定しても、相も変わらず日本語が混じった javadoc
が出力されます。

これってバグ?
ちなみに、私の環境は windows98 + cygwin でございます。


`javadoc\
-locale en_US\
-link http://java.sun.com/products/jdk/1.3/docs/api\
-sourcepath ../../src/ com.narucy.util`

とすると、英語で出力されます。
(ただし、Locale オプションを最期に指定するとダメだったりしますが・・・)
>>113
Ant使ったことないけど、"L"ocaleじゃ属性が違うとかじゃないの?
115デフォルトの名無しさん:02/01/12 13:44
http://jakarta.apache.org/ant/manual/CoreTasks/javadoc.html

"Locale" です。


(ant ってあんまり、ね。これで JUnit 自動テストとかいっても、それなら
Ruby で build スクリプト書いたほうが全然いいし、みんな大抵 Ruby くらい
はインストールしてるだろうから、Write once,run anywhere が崩れること
ないだろうし自由度高いから。なんで ant がこんなに流行っているかが分からん)
>>115
JavaHouseで 今年の1月3日に同じ質問でてるよ。

以下はそのときの解決法。
http://java-house.jp/ml/archive/j-h-b/048034.html#body
11729:02/01/12 16:37
java -jar app.jarの結果
Exception in thread "main" java.lang.NoClassDefFoundError: app
とでます。メインメソッドあるのになぜじゃ…
118デフォルトの名無しさん:02/01/12 17:25
GUI中のボタンからファイルログを出し、入出力ファイルを指定するとこまでは出来
たのですが、それを利用してボタンを押したらソフトを動かすコマンドをJavaのGUI
で作りたいのですが・・・(ソフト名<入力ファイル>出力ファイル)
120クソみたいな質問ですまん:02/01/12 18:41
WindowsでJAVAの開発ツールって何を使ってます?
VJ++とJBuilderしか知らないんですが、他にもあるんですか?
ForteとかVisualCafeとかVisualAgeとかEclipseとかCodeWarriorとか
>>120
Forte
VAJ
VCafe
123121:02/01/12 18:50
勝った!
124デフォルトの名無しさん:02/01/12 19:07
JavaでできてるIDEは遅いから嫌いだ。
VAJはWebアプリ作るのがWebSphereを前提としてるから嫌いだ。
だからJDKを使うのだ。
Java開発ツールってなんでクソばっかりなの?
126デフォルトの名無しさん:02/01/12 19:14
return;
の意味って、Perlでいうところの"exit;"と同じなの?
12729:02/01/12 19:42
jarでででできました。
皆さん助言ありがとうございました。
理由は何でなのかわかりませんが…(^^;
でもありがとうございました。
これからは教える立場に回ろうと思います…
128デフォルトの名無しさん:02/01/12 20:28
System.out.printlnっすか?
129デフォルトの名無しさん:02/01/12 21:50
すみませんが、javaでフラクタル(コッホ曲線=雪片曲線)を描きたいんです。
でも再帰的な処理のところがよくわかりません。
とりあえず最小単位の

_/\_

は作れたのですが、これを繰り返すことができません。
詳しい方お願いします。
130デフォルトの名無しさん:02/01/12 22:11
>>129
CでもPASCALでもやり方はいっしょだよ。
13129:02/01/12 22:15
あぁできたのに違うやつやったらまたエラーだ…
java.io.IOException: 既存 jar ファイルの書き込み中にエラーが発生しました。
at sun.tools.jar.Main.run(Main.java:179)
at sun.tools.jar.Main.main(Main.java:904)
これはどういう意味でしょう…
132デフォルトの名無しさん:02/01/12 22:24
見てのとおり書き込みエラーじゃ
テンポラリの容量とか書き込み許可属性とか見れ
133デフォルトの名無しさん:02/01/12 22:46
>>127
こらこら。色々助言受けといてそれで終わりかい?

もし次に同じ事で悩む厨房が出たらどうする?全く同じ事の繰り返すじゃないか。
一連のコメント達が、君の役だけにしか立たない事になる。
それは2chサーバ資源や、質問に答えてくれた親切な人達の厚意を無駄にする事だ。

何故上手くいったのかを書き残せば、未来の厨房の役にも立つかもしれないだろう。
君にはその責任がある!!
13429:02/01/12 22:54
>>133
理由はわかりません…
Appの人のをコピペしたらできたんで。
>>131はbbb b = new bbb();のbをbbbに直したらできました。
Jpanel上にあるコンポーネントをおいて表示させたいのですが
実行するとパネルはでるのですが灰色のままなにもおこりません。
プログラムがおかしいの?
>>134
コピペって、それで 127 みたいな発言できるとは…
キミ将来大物になれるかもよ。
失敗したらズタボロの人生歩むかもしれないけど。
>>135
それだけじゃわからん。
>>127
つーかさ、jarで悩むとか以前の問題な、きっと。
コピペして動いたって何も理解してないじゃん。

こういうやつがあぼーんしたくなるソースを量産するのだな・・・
13929:02/01/13 00:15
コピペのやつのとおりに
自分で作りなおしてもできましたし、やり方は理解できました。
問題は$1を移動するのを忘れてただけかもしれない…
140 :02/01/13 00:42
なんか、実りが無いね。フゥ。
141デフォルトの名無しさん:02/01/13 08:40
あるアニメーションを正典、逆転ボタンをおすことにより動かしたいんですが
ボタン無しで動かすことはできました。
ボタンを追加しようとすると、これはイベントリスナーの知識がいりますか?
javacでコンパイルするとき、そのソースの中で使われてるクラスどもは
いっしょにコンパイルされちまいますね
>>120-125
teikadeの開発って、もうまったくやってない(進まない)のかな?

teikade無しではまともに開発できないカラダになってしまったのだけど。
>>143
もうだめぽ
145デフォルトの名無しさん:02/01/13 13:27
キーとインデックスの両方で要素を特定できるコレクションAPIって、
Javaのデフォルトパッケージにはあるのでしょうか?
HashtableやHashmapはキーは指定できてもインデックスでの指定は出来ないみたいだし。

自分でその機能を持つクラスを作るしかないのでしょうか?
146109:02/01/13 13:33
>>145
1.1.xの頃そういうのが見つからなくて、取得したEnumerationの順番を
保証するようなHashtableを作った覚えがある。
>>145
JDK1.3までなら、自作しかないです。
JDK1.4ならLinkedHashMapというクラスが追加になってますので
それを使いましょう。
148145:02/01/13 13:41
まあ、HashMapと、keyによるLinkedListをdelgeteeにした
Mapのコンクリートクラス一個自作すればいいだけだけど。
149147:02/01/13 13:43
145じゃないや、メンゴ。
150デフォルトの名無しさん:02/01/13 14:56
if(resources[i].allocated == false) {
resources[i].allocated = true; }
以下の中で、なぜ上記の部分を削除してコンパイル実行するとResourceが0だけになるんでしょうか?
class Resource {
boolean allocated;
int rid;
Resource(int rid) {
allocated = false;
this.rid = rid; }
void use(int uid) { try {
System.out.println("User " + uid + " uses resource " + rid);
Thread.sleep((int)(5000 + 5000 * Math.random())); }
catch(Exception e) { e.printStackTrace(); } } }
class ResourceCoordinator {
private final static int NUMRESOURCES = 3;
private int totalAllocated;
private Resource resources[];
ResourceCoordinator() {
totalAllocated = 0;
resources = new Resource[NUMRESOURCES];
for(int rid = 0; rid < NUMRESOURCES; rid++) {
resources[rid] = new Resource(rid); } }
synchronized Resource get() {
while(totalAllocated == NUMRESOURCES) {
try { wait(); }
catch(InterruptedException ie) {
ie.printStackTrace();
System.exit(0); } }
Resource r = null;
for(int i = 0; i < NUMRESOURCES; i++) {
if(resources[i].allocated == false) {
resources[i].allocated = true;
r = resources[i]; break; } }
++totalAllocated;
notifyAll();
return r; }
synchronized void put(Resource r) {
r.allocated = false;
--totalAllocated;
notifyAll(); } }
class User extends Thread {
ResourceCoordinator rc;
int uid;
User(ResourceCoordinator rc, int uid) {
this.rc = rc;
this.uid = uid; }
public void run() {
try { while(true) {
Resource r = rc.get();
r.use(uid);
rc.put(r);
sleep(3000); } }
catch(Exception e) {
e.printStackTrace(); } } }
class Zero { private final static int NUMUSERS = 10;
public static void main(String args[]) {
ResourceCoordinator rc = new ResourceCoordinator();
for(int uid = 0; uid < NUMUSERS; uid++) {
new User(rc, uid).start(); } } }
151 :02/01/13 15:30
丸投げすんなボケ。
152デフォルトの名無しさん:02/01/13 19:52
クラスパスについて質問。

時々 jre/lib/ext/ に入れるのではダメで、任意のディレクトリに
置いて、クラスパスを設定しないといけない JAR ライブラリとか
あるけど、これはどうして?

jre/lib/ext/ に置くのと、クラスパスを設定するのとの違いは
何なのですか? 解説しているWebサイトなどご存知でしたら
ご教授ください。
153152:02/01/13 20:07
ここに説明があった。
http://java.sun.com/products/jdk/1.2/ja/docs/ja/guide/extensions/

なんとなく分かったような。つまり、分かってない。
単にJDK側のjre/lib/ext/にJARおいて
JRE側のjavaコマンド呼んじゃってる、とかじゃないの?
155152:02/01/13 20:39
>>154
"JRE側のjavaコマンド" ってどういうこと?
156デフォルトの名無しさん:02/01/13 20:42
157デフォルトの名無しさん:02/01/13 20:48
イメージアイコンが出ないんですが何がいけないと思いますか?
>>157の頭
>>157
そんな質問の仕方なら>>158が正解
Javaの勉強は一通り以上したつもりだけど、
いざちょっと大きいアプリケーションを作ろうと思ったら
どう作ったら良いのかかなりとまどったりしてます。

デザパタ本も一通り読んだしちょっとしたクラス設計位はなんとかできそうに
思うんだけど、大きなアプリケーションになるとパッケージ構成やクラス構成
とかってどーいう風にするのが良いのかサパーリわからん。

とか思っている漏れにお薦めな本とかサイトってなんかないですか?
とりあえず他人のプログラム読むのが一番早いんでねーの?
1万行くらいの簡単なアプリとか。

あとはJDKのソースとか見てると、それなりにパケージの作り方とか
分かってくっぺ。
162 :02/01/13 23:38
>1万行くらいの簡単なアプリとか。

1万行が簡単なのか? と煽りに乗って見る。
163日下部圭子 ◆ib749tYo :02/01/14 00:04
In article >>162, /162 wrote:

> 1万行が簡単なのか?

力自慢のプログラマのなら、一日数千行くらいは珍しくありませんよ。
陽一さんも5000行とか書いてましたし。

----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
164デフォルトの名無しさん:02/01/14 00:31
Javaに限ったことじゃないんだけど、訊いていいスか?
「同期」と「非同期」の意味が分からないんだけど、
やさしーく説明してもらえないでしょうか?
JAVAの通信ってIPがわかればできますか?
サーバー行為禁止されてるプロバイダなんです。
この場合、通信できませんか?NetMeeting等はIPで接続できるけど…
コードの価値?を行数換算してる時点でイタイ。
たった数行でも美しいコードもあれば、数百万行費やしてもクソなコードもある。
要は「思想」だ。
何万行にもなるコードはクソである事が多い?
HelloWorld.class というファイルを
java HelloWorld
として実行しても、
Exception in thread "main"java.lang.NoClassDefFoundError:HelloWorld
というエラーが出てしまいます。
CLASSPATH環境変数の設定に . がないのが原因らしく、
java -classpath . HelloWorld
とすればうまくいきます。
CLASSPATH環境変数の設定をどうやって、どのようになおしたらよいでのでしょう?
教えてください。よろしくお願いします。
age
>>168
環境変数の設定方法はOSによって違う。
171168:02/01/14 03:01
すいません。Windows98です。
>>164
例えばあるメソッドがある処理を担当している時、
その処理が終わったらメソッドコールから帰ってくるのが「同期」
「処理しておいてね」「あいよー」でメソッドコールから返ってきて、
いつ実際に処理されるかは保証しない(多分、いつかは処理されるけど)
のが「非同期」。

普通のメソッドコール=同期。
非同期で依頼した場合、処理終了を通知してもらうメカニズムが、
普通は必要。「コールバック」とか呼ばれるやつ。
非同期処理は、普通マルチスレッドまたはプロセス間通信などの機構に
よって実現されるので、やろうと思ったらちょっと勉強が必要。
173 :02/01/14 05:06
SET CLASSPATH= ライブラリのフォルダの絶対パス
だったかな?
174 :02/01/14 05:27
>>160
だから暗記から入るなと・・・。
その上、一万行もの他人のコードをサンプルにしたら挫折するってば。
>>160
リファクタリング本片手に作っては直すを1000回くらいやると吉。
>>160
まず、「イベントドリブン」から勉強すべし。
177164:02/01/14 07:57
>>172
Thanks, 非常に分かりやすかった。
>>168
CLASSPATHに.を追加したらいいだけ。
179165:02/01/14 12:20
IPがわかれば通信ってできます?
>>179
防火壁とかないなら。
181160:02/01/14 12:56
レスどうも。勉強不足と経験不足は全然違うと痛感した・・。

>>161
行数多そうで、参考になりそうなソースコードってそんないろいろ見つかるものすか?。
クライアントサイドなアプリで。

>>175
丸暗記で勉強したわけでもなくて、ちっこいプログラムなら結構たくさん書いたけど意味無いのかな・・・。

>>175>>176
リファクタリング、イベントドリブン、どっちもなんとなくのイメージはあるけど
具体的に取り組むとなるとどうするのかはわからない・・、今度調べてみます。
>>181
JDK添付demoのSwingSet2でどうよ。
183デフォルトの名無しさん:02/01/14 13:07
変数を初期化するとき
class hoge {
 Foo foo = new Foo();
 hoge() {}//コンストラクタ
}

class hoge {
 Foo foo;
 hoge() {
  foo = new Foo();
 }
}
どっちが良いっていうのはあるんですか?
>>183
フィールド初期化は、コンストラクタメソッド起動より前に初期化されるということ、
それからコンストラクタは、サブクラスでオーバーライドが掛かる可能性があると
いう考慮をせよ。それが望ましいことならコンストラクタで、望ましくないなら
フィールド初期化=コンストラクタメソッド起動以前の初期化にせよ。

OK?
185183:02/01/14 13:26
>>サブクラスでオーバーライドが掛かる可能性があると
>>いう考慮をせよ。
ああ、これは納得です。たしかにそうですね。即レスどうも。
プロパンティsage

いまだに使い方が判らん。というかサンプルが動かない。
コンパイルにコツがいるのか実行にコツがいるのか。
ポイントはクラスパス?
187184:02/01/14 13:29
初期化で思い出したが、インスタンスフィールドは初期化しないと
デフォルト値で必ず初期化される。
オブジェクト参照ならnull、プリミティブ値なら0(false)。

…ねえ、だからいちいちnull突っ込むのやめましょうよ、リーダ。
188184:02/01/14 13:33
>>186
java.util.Propertiesなら、newして、プロパティファイルの
フルパス名でload()すればいいだけじゃないか?

あとの使い方はMapみたいなもんでしょ。
>>187
わかっててインスタンスフィールドをnull等で初期化してる人も多いみたいだけど、
そういう人は敢えて代入しないと気持ち悪いんじゃないかな。
感覚的な問題だと思う。別に害はないのでほっとけばいいのでは?

>java.util.Properties
日本語通らないんだったっけ?
190184:02/01/14 13:41
>>189
ASCIIフォーマットオンリーです。マルチバイト文字は\uエスケープ。
日本語使いたいならnative2asciiコマンドを通すべし。
191 :02/01/14 13:43
>>184
オーバーライドも何も、そもそもコンストラクタは継承されないし、
子クラスのコンストラクタは、親クラスのコンストラクタを
必ず呼ぶのでは??
192184:02/01/14 13:43
>>189
>わかっててインスタンスフィールドをnull等で初期化してる人も多いみたいだけど、

言語仕様で保証されていても、それを知らないボケプログラマに揚げ足取られて
面倒な思いをするような隙を与えないようにするという意味があるのかもねー。
同僚や外注がどうやら口煩いだけのアホらしい時は、おいらもやるさ。
193184:02/01/14 13:44
>>191
ちゃんと勉強した方がいいよ。super(hoge)って知ってる?
194 :02/01/14 13:49
>>193
知ってるけど?
君は何かコンストラクタについて誤解をしてる気がする。
195184:02/01/14 13:49
すまん、オーバーライドとは言わないかもしれないな。コンストラクタは
単に「サブクラスのコンストラクタから呼ばれるかもしれないし、呼ばれない
かもしれない」ということだな。
196 :02/01/14 13:52
>>195
>呼ばれないかもしれない

絶対に呼ばれるよ。
197189:02/01/14 13:53
漏れは186じゃないんだけど、ありがとう。
Propertiesって自分は全然使ってないんで、はっきり覚えてませんでした。

>言語仕様で保証されていても、それを知らないボケプログラマに揚げ足取られて
それはあるかも。
ただ、ローカル変数と混同している人もいそうですね。
コンパイラに怒られた経験から変数はすべて明に初期化してるとか。
198デフォルトの名無しさん:02/01/14 13:57
clone()メソッドってどうやって実装したらええの?
おせぇ〜て
199184:02/01/14 13:57
>>196
ちゃうちゃう。サブクラスが、親クラスの複数のコンストラクタの中の
どのコンストラクタを呼ぶかはサブクラス実装者の責任になるという話っすよ。

どれか(明示しなければデフォルトコンストラクタ)が呼ばれるのは
確かに絶対間違いないけど。
>>198
implements Cloneable
201184:02/01/14 14:04
>>197
それから、日本語が含まれるプロパティをつかうのなら、
PropertiesよりはPropertyResouceBundleを使うべし、だな。
JVMランタイムが自身が実行されえいる環境のlocaleによって、実際
に使われるプロパティファイルのファイル名を分岐してくれるから、
国際化対応が楽。

>>198
なにが聞きたいんだか良くわかんないけど、ディープコピーがしたい
っつうなら、こんな感じでどうかね。

class Hoge{
 private Hage hage;

 ///…

 public Object clone(){
  Hoge dst = super.clone();
  if(this.hage!=null)
   dst.hage = this.hage.clone();
  return dst;
 }
}

コアAPIのソースでも眺めてみた方がはやいかもよ。
202184:02/01/14 14:06
implements Cloneable忘れてた。スマソ。
203161:02/01/14 14:20
えーと、とりあえずコード読んだら?と言った者ですが。

>166で指摘されているように、もちろん1万行あればいいってわけじゃなくて、
当然「まともな」アプリケーションを探すべきだと思いますが、
「1万行」と言った意味は、
アプリケーションがそれなりの規模であり、通常力技だけでコーディングしていると
破綻しかねない量だと思うので、「破綻せずに」メンテナンスされているコードなら、
きちんと中身も整理されているんじゃないかと思ったわけです。

もちろん個別に例示されて「破綻してるじゃねぇかゴルァ!!」ってのはあるとは思いますけど。

で、そうでなければ、JDKのソースとか見てみるのもいいかもよ、と言ったわけです。

>>181
とりあえず、Windowsの小さなフリーソフトとかを移植してみれば?
そうすると、いろいろ煮詰まると思うし、クラスがボコボコでき始めると、
パッケージ化したくなるし、実践的なことはやっぱ手を動かして覚えるしかないと思う。

ちなみに、オイラは

app.core.*;
app.core.event.*;
app.gui.*;
app.gui.event.*;
app.test.*;

みたいにパッケージ化してたりする。我流なので汚いとは思うけど。やってみないと分からんし。
204 :02/01/14 14:23
>>199
呼ばれて困るコンストラクタなんて、そもそも有り得ないよ。

呼ばれたコンストラクタでフィールドを初期化してなくても、それはその
コンストラクタを書いた人が希望しての事だから、特に問題は無いはず。

だから「コンストラクタは呼ばれない事も有る」と言うのは、根本的にオカシイと思う。
それは「呼ばれて困るコンストラクタを書くなよ」とアドバイスするのと同じだと思う。

>>183の話に戻すと、フィールドをその定義時に初期化するのは、
「この値はコンストラクタで動的に初期化することはないですよ。
 どのコンストラクタが呼ばれようとも、最初は必ずこの値ですよ。」

という意思表明であるべきではないかな。
205 :02/01/14 14:30
204の続きだけど、
だから、必要も無いのにフィールドにnullを入れるのも良くないと思う。

それが絶対にnullで初期化され、コンストラクタで変更される場合が無い場合なら問題ないけれど、
nullを代入しているにも関わらずコンストラクタや初期化節で別な値を入れるのは、
これはプログラマとしての信義を問われるのではないか。
206デフォルトの名無しさん:02/01/14 15:03
>>205
こいつ、分って言ってのか?
207デフォルトの名無しさん:02/01/14 15:04
サードパーティー製のJavaVMってるの?
MS意外で、Lunixなもんで、
>>207
IBMの奴とか?
caffeってどうなったのかな
210デフォルトの名無しさん:02/01/14 15:18
まつがった

>サードパーティー製のJavaVMってあるの?

>>208
URL知らん?
HPの奴はどういう扱いになるよ。
212209:02/01/14 15:25
"Kaffe"だった
なんかPS2Linuxでも動くようだ。ふーん

>210
http://www-106.ibm.com/developerworks/java/jdk/linux130/?dwzone=java
213 :02/01/14 15:33
>>206
>こいつ、分って言ってのか?
お前、日本語が分かって言ってるのか?(w
214デフォルトの名無しさん:02/01/14 15:34
ちょっとね、アレな初心なんで、アレだが、

ストリングが空かどうか調べるときがかったるいんで、アレなんだけど

if ( str != null && str.length() != 0 )
{
 空みたいな、アレ
}
else
{
 詰まってそうな、アレ
}

みんなどう、アレしてんの?

if ( str =="" )
っていうふうにしてくれや

漏れは、Stringにnullは入れないで””を入れるように、アレしてみようかと、
思ったり、思わなかったり。。。
215デフォルトの名無しさん:02/01/14 15:34
>>213
すっこんでろな。
216デフォルトの名無しさん:02/01/14 15:35
>>212
速いんだべか?
217 :02/01/14 15:37
やばい、基地外を相手にしちゃったのかも・・。
>>216
人に聞く前に自分で試せ
つまりSUNにお金をたーんと払って認定されたもの以外は
ここでは対象外と言うことで。
220デフォルトの名無しさん:02/01/14 15:51
>>217
いいから、もう、しゃべんなって。
221デフォルトの名無しさん:02/01/14 15:53
>>216
そうでもない。
222デフォルトの名無しさん:02/01/14 16:12
>>214
なんで、誰もこの人に突っ込まないの?
223デフォルトの名無しさん:02/01/14 16:14
>>222
じゃ、おまえがつっこんで下さい。
>>222
みんなが放置しているのに、一人で騒いでいる自作自演野郎発見
225 :02/01/14 16:43
>>214
とりあえず、文字列の比較に"=="を使うなよな。

と教えてあげる優しい人は俺だけですか!?
>>214
空かどうかのみで分けるなら
if ("".equals(str)) {
// 空文字だけどどうよ
}
"".equals(str)
228227:02/01/14 17:30
かぶった、すまそそ
229デフォルトの名無しさん:02/01/14 17:39
javaはもう消えたんじゃなかったの?
230デフォルトの名無しさん:02/01/14 17:40
>>229
私はアイアプリのjava機能を最新機能だと思っていますが、何か?
231デフォルトの名無しさん:02/01/14 17:46
どうでも良いけど独自仕様つうかカテゴリがうじゃうじゃ増えるね。
write onceはどこへやら。
全てのJVMで共通に使えるのって文字列に関するクラスぐらいじゃないの?
232デフォルトの名無しさん:02/01/14 19:42
>>227
トリッキーな・・・。つうか動くのか?
233デフォルトの名無しさん:02/01/14 19:43
いや、トリッキーかと思ったけど、比較文字列が複数有る時は
そっちの方が綺麗だな・・。
234 :02/01/14 19:45
iアプリ最高!
iアプリ>>>>>>>>>>>>>>デスクトップアプリ
>>232
トリッキーなのか、あれ?
236 :02/01/14 20:15
str.equals(null)
が標準。
237 :02/01/14 20:17
比較元と比較先が逆っつうのはいただけない。
>236
常にfalseになるよ
そーいや 某所でも Object.equals() の
話題があったっけなぁ…
傍観してる分には面白かったけど。
240 :02/01/14 20:48
>>238
んなこたあない。
241 :02/01/14 20:49
あ、そうかnullと空文字列""は違うのか。も?
>>241
違うだろ!
ネタ
243214:02/01/14 20:55
戻り値がStringのメソッドで、エラーを返したい場合、
どうアレしたらいいかね、
""かnullって感じになると思うんだけど、
あ、例外無しって事で、

ところでさ、
if ( str == "" )
ってやると、何を比較してんの?
で、その結果は何かに役立つアレなわけ?
244 :02/01/14 20:55
>>238
既知外ですか?
245238じゃないけど:02/01/14 20:59
>>244
str.equals(null)が true返す
ケースがあるなら、俺も知りたいぞ。
NullPointerException か false が返るんと違う?
例外は「返る」とは言わんか。
247 :02/01/14 21:03
>>245
バカ!
NullPointerExceptionがあるだろ!
例外は raise する/上がるというな。
249238じゃないけど:02/01/14 21:06
>>247
str.equals(null) は
NullPointerException投げるか、falseを返す。
で、この比較には何か意味があるのか?
250 :02/01/14 21:15
そういえば
if( str==null ){
ダタヨ
逝ってきます
>>243
参照の同一性を検査していることになる。
同値性の検査にはならない点に注意。
>>249
いや、ないと思うけど。多分。
ていうか、想定内のエラーを例外処理に任せるのはよくないって、
Effective Javaに書いてあたヨ。
つか、読まなくても分かってると思うけど。

ArrayOutOfRangeException(だっけ?)でループから抜ける処理って
初めて見たヨ。
java.lang.ArrayIndexOutOfBoundsException かな?
ArrayIndexOutOfBoundsExceptionでループを抜ける処理、俺もなにかで見た覚えがある。
やっぱ、普通は例外処理には頼らないよね。
懺悔します。
write(byte[],int,int) とかで
範囲チェックしなかったのは俺です。
Σ(゚д゚lll)ガーン

0x100逃した‥‥。
258214:02/01/15 00:11
>>251
結局何にも使えないって事?
>>258
まあ、ぶっちゃけ そういうことになるね
260デフォルトの名無しさん:02/01/15 00:35
あの〜
Linuxで作業してる人います?

$ java [RETURN]

ってすると、日本語でusageでます?
261260:02/01/15 00:42
Lunxで実行
hoge@hoge:~$ java test
????
dump(????): 30de 30f3 5316 3059

Winで実行
C:\temp999>java test
マン化す
dump(マン化す): 30de 30f3 5316 3059

結果は同じなんだけど、Linuxだと日本語出なくてこまってるんですけど、
一応、
LANG=ja_JP.sjis
LC_ALL=ja_JP.sjis
LC_CTYPE=ja_JP.sjis
LC_MESSAGES=ja_JP.sjis
とか、ujisにしたりしてんだけど、でないんですよ。
誰か情報ないですか?
とりあえず、どのlinuxか、ヴァージョンとかもつけてかけや。
あと、telnetかXtermかとかの情報モナ。
263デフォルトの名無しさん:02/01/15 02:02
JTableについて教えてください

テーブルヘッダーのカラム名を変更する時

>> myJTable.getColumn(myJTable.getColumnName(index)).setHeaderValue(str)

・・としているのですが、myJTable.getColumn()のパラメータはidentifiter、
一方、myJTable.getColumnName()のリターン値はStringで、、
最初両者の値は一致しているが、一度setHeaderValue()すると値が変わって
(identifiterの値はこれでは変わらない) 2度目の書き換えで失敗しています。

どのようにすればよいのでしょうか?
264デフォルトの名無しさん:02/01/15 03:02
すいません、自己レス・・
myJTable.getColumnModel().getColumn(index).setHeaderValue(str)
でいけました。
OOP難しい・・・
265 :02/01/15 03:17
ネタ心者です。
JavaとJavaリングの関係の必然性が判りません。
教えてください。
266デフォルトの名無しさん:02/01/15 03:56
結構知らない人多いのね…。string.length() == 0
>>266
ハァ?
>>266

>>214 に書いてあるんですけど。
>>261
そういうのはPropertiesのリソースファイルに定義されていると思われ。
日本語用Windows版なんかは、既に日本語用のリソースファイルが含まれてるけど
Linux版にはそれがないんじゃないかな。
JREのjar解凍してja_JP用リソースファイル追加するかなんかするしかないんじゃ
ないの?
>>261
% cat Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("うんこ");
}
}
% javac Hello.java
% java Hello
うんこ
% java -version
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0)
Classic VM (build 1.3.0, J2RE 1.3.0 IBM build cx130-20010925 (JIT enabled: jitc))
% setenv |grep ja
LANG=ja_JP.eucJP
SUPPORTED=en_US:en:ja_JP.eucJP:ja_JP:ja
JLESSCHARSET=japanese
CLASSPATH=/usr/local/horb/lib/horb20.jar:.
% cat /etc/redhat-release
Red Hat Linux release 7.1.94 (Roswell)
%

JDKは入れたまんま。
271デフォルトの名無しさん:02/01/15 14:00
visual cafeを今使っているのですが、ペン4にインストールできません.
開発ソフトを乗り換えるか迷っているのですが、何がお勧めですか?
272 :02/01/15 14:09
273デフォルトの名無しさん:02/01/15 15:21
平仮名->カタカナ
カタカナ->カタカナ
対応のtoUpper、lowerってないすか?
oroのperlutil試したら。
tr/[A-Z]/[a-z]/対応してないのね、
がつかりぃ〜
274SJCD:02/01/15 16:09
俺も愛用しています。
かなり使いやすいツールです。
JDeveloperとかVisualAge、JBuilderとか使ってても、多くの人は「自動生成されるコードが気に入らない」、「融通が利かない」、「即席JAVA開発者育成ツールにしか思えない」、「Radツール重い」と言った理由から
(いろいろ理由があるけど)ノートパッド型開発ツールに先祖帰りしている人が多いのです。
この「CPad」かなりいけてます。
1.「F9」でコンパイル後、即実行←JBuilderよりコンパイル早い気がする(リソースの関係かな?)
2.登録したキーワードの色を自在に変えられる。←最初は予約語がカラフルな色で登録されています。追加として自分の良く使うキーワードを色付きで登録できるから、かなり見やすいよ。
3.なんと「grep検索」機能付き。
4.複数のソースを一度に扱える。←TabPaneでいくつものソースを開いても一つのウインドウで管理できる。
5.インクリメンタルサーチ付き。←かなり便利な検索機能。
つうか、テキストエディターとしてもかなり使えるので、簡単な報告書もサクサクかけるよ!
275デフォルトの名無しさん:02/01/15 16:15
うちの会社、みんなCPAD使ってる。なぜかJDeveloperは使わなくなった。
上司は、統一化したいから統合開発環境使いたがるけど、部下の方はCPad中心で。
まぁ、使い安さはぴか一なのでね。

つうか、JAVA使いの皆さん、あなたはRADツール派ですか、ノートパッド派ですか?
頑なにteikade
Linuxでもつかえる?
使える(はず)。何度か使ったことあるし。
ただ、オイラは今は故あってWin2K。
279:02/01/15 16:35
いまさらながら、 ネタ って無理があるような気が・・・

ネ刀心者 はどう?
次スレはシンプルに「Java相談室」に回帰しません?
ネタ心者も、初心者を免罪符に課題丸投げしてくるドキュソもイヤン。
281デフォルトの名無しさん:02/01/15 16:54
賛成
丸投げしてくるゼネコンもイヤン。
283デフォルトの名無しさん:02/01/15 18:30
【質問】
サーバーサイドでCRegKey::QueryValueで値の参照ができない。

サーブレット/JSPでWebアプリを開発しています。
一部JNIを使用しています。
CRegkey::Openは成功しているようだが、
CRegKey::QueryValueでエラーが発生して取得できないようです。
これは使えないってことですか?

サーバー環境は以下のとおりです。
Windows2000
Apache 1.3.12
topcat 3.2.3
Java SDK 1.3.0_02
284組長:02/01/15 19:59
こんにちは。アプレットでゲームを作っているものです。
質問です!あるキーを押しているときに他のキーを受け付けないようにする基本的な
コードが書けずに何日も悩んでいます。
また、キーを押してから数秒後にキーを受け付けるようなコードも是非知りたいので
何方かアドバイスいただけないでしょうか?
よろしくです
>>284
「あるキー」が押されたらKeyUpするまで「他のキー」のKeyイベント無視すればいいじゃん。

「キーを押し」たときの時刻をDate.getTime()で取得しておいて
あとから押したキーはその時刻から「数秒」たっていなければ無視するようにすればいいじゃん。
286組長:02/01/15 20:33
>>285
ありがとうございます。KeyUpの関数がないような気がしましたが・・・・・
気のせいでしょうか?

あとは了解です。
287デフォルトの名無しさん:02/01/15 20:36
はぁ、こんなんもご存知ないような43歳のSEが入社希望でいらっしゃいました。
うちのJAVAテスト。
コンパイルが通る宣言はどれか。複数解答せよ。
1.String[] test[] = new String[3][3];
2.String [][]test= new String[1][2];
3.int[] test= new int[]{1,2,3};
4.String[] testr= new String[];
5.String Integer[] = new String[2];
ごめん>>286
KeyListener#keyReleased(KeyEvent e)だった
289デフォルトの名無しさん:02/01/15 21:10
>>287
オレ、1とか2とかは見た事すらないけど、
そんなのを分からなくとも永遠に問題は無いだろうなぁ。
どうでも良い知識をひけらかしてるだけの嫌味な問題に見える。

Sunの認定試験ですら、こんな問題は出ないんじゃ無いかな。
一応Developerまでは持ってるけど・・。
290デフォルトの名無しさん:02/01/15 21:57
>>287
おめでてぇ〜会社だなぁ〜
これが出来る事にどれだけ意味があるよ、
それとも、お前んとこじゃ、この書式が標準なのか?
291デフォルトの名無しさん:02/01/15 22:01
>>274
漏れは、エディターとコンソールでjavacだが、
そんなええの?
274の言う程度の便利さなら、
必要に感じないんだけど、
ほかに、もっと便利な事あんの?

てか、皆どうなの?
コンソールでjavacってもう普通じゃないの?
292デフォルトの名無しさん:02/01/15 22:08
>>291

274じゃないけど、良いところもあるよ。
JBuilder使っているけど、パッケージやクラスの内容を
理解しやすいと思う。
ただ、普通のエディターが良いという人に無理に薦める
ほどじゃない。
>>287
Javaで業務アプリ関係で配列はあんまり使わないと思う。
>JBuilder使っているけど、パッケージやクラスの内容を
>理解しやすいと思う。

コレが必要な人っていうのは、javadocドキュメントを読むのが嫌いな人?
マルチディスプレイで片方でドキュメント開きながら秀丸でも、おいらは
十分だなあ。強調表示カラーリングのファイルとかはいろんな言語用のが
いっぱい出回ってるし。
295デフォルトの名無しさん:02/01/15 22:44
>>294

292です。
だから、普通のエディターで満足している人には薦める
ほどじゃないんです。
ぐうう・・・
JBuilderからCPadへ移植できん・・・・
297B-T:02/01/15 23:33
>>287
やはりこれくらいの事は知っていなくてはな!
>>289,290「これを知ってても意味ない」て言っているみたいだが、何?知らなかったの?
俺らんとこでは研修でこういうのを詳しく教えてくれえたぞ。
ちゃんと道理というものがあってこういう記述法が用意されているのだ。
何故、Integer[]をString型の変数名として利用できるのか、それくらいの事は分かるよね?
>>289,290共にろくに理論も知らずにやってるんじゃない?常識だよ常識。
298 :02/01/15 23:42
1,2,5!
299コルバ:02/01/15 23:42
>>297
>何故、Integer[]をString型の変数名として利用できるのか、それくらいの事は分かるよね?
要はimportする中のクラス名とだぶった変数名を付けてコンパイラがブーブー言い出したら混乱の元だもんね。
これは知っておかないとね。
>>289
これらの問題、米国の過去のsun認定試験に出た実績のある問題です。どこかのホームページに出ていたのを見たことあります。
なので、別に問題無いわけじゃないのよ。
300 :02/01/15 23:44
>>292
キー打つのが嫌。
>>297
ほほぅ.君んとこは,「常識」のとこを「研修で詳しく教えて」んのか.
302コルバ:02/01/15 23:46
>>298
確か正解は、1,2,5。
3番の、int[] test= new int[]{1,2,3}は、
    int[] test= new int[3]{1,2,3}
とすればコンパイルは通るはずです。
303デフォルトの名無しさん:02/01/15 23:47
本当にどうでもいい質問なんで恐縮なんですが・・・

SwingやAWT、Servletってよく「コンポーネント」って言い方するけど、
俺は「Javaのコンポーネント=JavaBeansとEJB」だと思っていたけど、
SwingやAWTやServletも実はJavaBeansなの?

俺はこいつらはてっきり普通のクラスだと思っていたのだけど。
304 :02/01/15 23:51
>>287の答え:
1.
2.
3.
4.
5.
が余計な為全て通りません。
外しても名前重複のため1しか通りません。
305  :02/01/15 23:53
マジな正解は1,2,3,5のもよう。
306コルバ:02/01/15 23:53
>>304
確かにそうかもね。
でも上げ足取りすぎでは?
そういうこと言ってたらすべてのテストは誤問ばかりだがな。
307コルバ:02/01/15 23:54
>>305
マジで3番OK?
そしたら失礼しやした。
308デフォルトの名無しさん:02/01/16 00:42
>>168でも質問されてますが、自分もJava Helloを実行すると
Exception in thread "main"java.lang.NoClassDefFoundErrorが出ます。
-classpathオプションで”.”を付けたり、\jdk1.3.1_02\jre\lib等指定してみたんですが、上手くいきません。
googleで上記のエラーを検索してみたんですが、>>173>>178の方法しか見つけられませんでした。
Hello!!も見れないとは…
鬱駄市悩…

OSはWin2000、JDK1.3.1_02で、インストール先はC:\JDK1.3.1_02です。
このスレの方たちから見れば、何度も既出で(゚Д゚)ハァ?なレベルの質問かと思いますが、
ご教授願えますでしょうか?
309こんなのは?:02/01/16 01:29
1=SET CLASSPATH = C:\jdk1.3.1_01\lib;C:\jdk1.3.1_01\jre\lib
2=SET CLASSPATH = C:\jdk1.3.1_01\jre\lib
3=SET CLASSPATH C:\jdk1.3.1_01\jre\lib
310これだけでいいのかな?:02/01/16 01:31
SET CLASSPATH = C:\jdk1.3.1_02\lib;C:\jdk1.3.1_02\jre\lib
311それでだめなら実行時オプション:02/01/16 01:35
-classpath C:\jdk1.3.1_01\lib;C:\jdk1.3.1_01\jre\lib
312.もいれようよ:02/01/16 01:36
SET CLASSPATH = .;C:\jdk1.3.1_02\lib;C:\jdk1.3.1_02\jre\lib
クラスパス以外に原因がある可能性も考えてみたらどうか。

実行しようとしてるディレクトリにHello.classがちゃんとあるか?
mainメソッドのシグニチャが間違ってないか?
実はパッケージ設定してないか?
>>299
>これらの問題、米国の過去のsun認定試験に出た実績のある問題です。

その試験でしか使わんような知識だよ。
もしも使うとしたら、どこかのバカが「俺ってこんなのも知ってるんだよー」的に
書いてしまったコードをデバッグする時ぐらいだろうけど、
まあ、人生に一度有るか無いかじゃないの?

なんでワザワザそんなに優先順位が低い知識を入社時にテストしなけりゃならんのか
俺にはワケワカラン。
315308:02/01/16 02:26
>>309-313
レスありがとうございます。
set CLASSPATHも、-classpathもダメでした。
309-312まで全て試したんですが…

>>313
Hello.classはd:\java\に置いてあるんで、実行する時のファイル名指定はd:\java\Hello.classとしています。
とりあえずソース貼ります。

public class Hello {
public static void main(String[] args) {
System.out.println("Hello World!!");
}
}
316308:02/01/16 02:28
インデントが無くなってる…(;´д`)
317デフォルトの名無しさん:02/01/16 02:31
>>315
>実行する時のファイル名指定はd:\java\Hello.classとしています。

これの意味がよくわからない。
318308:02/01/16 02:36
>>317
java d:\java\Hello って意味なんですが…
319デフォルトの名無しさん:02/01/16 02:42
>>318
そりゃぁ動かないよ。
次の通りにやって味噌。

1. c:\tmpを作成
2. c:\tmpにHello.classを置く
3. DOSでc:\tmpに移動
4. CLASSPATHを消す。具体的にはDOS画面で
c:\tmp>SET CLASSPATH=
と打つ。
4. DOSでc:\tmp>java Helloと打つ。
320デフォルトの名無しさん:02/01/16 02:45
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>. Java
321308:02/01/16 03:04
>>319
動きました!
ありがとうございます。
でも原因が分かってないです。
d:\java\ってしてたのが悪かったんでしょうか?
環境変数の問題なんでしょうか?
両方かもね。
323308:02/01/16 03:14
>>319
すみません。自己解決?しました。
DOSでd:\java>java Helloで動きました。
これ以降は自分で調べます。
遅くまでありがとうございました。
そういうのは自己解決とは…
325308:02/01/16 04:00
>>324
表現の仕方が悪かったですね。
「何となく原因が判ったので、これ以降は自分で調べます。」に置き換えてください。
スレ汚しすみませんでした。
326hoge:02/01/16 06:39
Java2Dの質問です。
環境は、JDK1.3 win2kです。

ある図形を,AffineTransformを使って、回転しました。
マウスを使ってその図形をドラックしようとしたところ、うまく行きません。多分、画面の上ではマ図形をウス
クリックしているつもりでも、図面は、変換された座標上に有るので、一致しないのだと思います。
マウスが図形の中に入っているかどうかの判定は,図形r.contains(p)でやっています。
それで、二つ方法を考えました。
一つは、マウスのポイントを図形の座標へと変換する。
二つ目は、図形の座標を、実際の座標に変換し、マウスポインタと比較する。
一つ目の方法で、マウスのポイントをtransformしましたが、うまく変換していないみたいです。
二つ目の方法は、どの様にして良いのか分かりませんでした。
皆さんは、どんな方法で、マウスが図形の中に有るか判定してますか?
327デフォルトの名無しさん:02/01/16 09:37
やったことないのでわからんけど、二つ目で、
AffinTransform#createTransformedShape()
で帰ってきたShapeをGraphicsにdrawするようにしたらどうでしょうか?
328デフォルトの名無しさん:02/01/16 10:28
>>287
おたくの会社、
頭堅いやつばっかりでしょ?
TextFieldをGrigbagLayoutしたら、Frame下部に変な仕切りが
できてしまったのですが、逝っていいですか?
Linux+JDK1.3.1_02だす。
>>329
あ、それ経験があるYO!
いろいろレイアウトを弄って何とか消した記憶がある。
消し方は忘れたけど、消せるはず。
は〜〜。
「俺cobolしか書けないYO!」とか言われ、
java->cobolの呼び出しを実現できるのか調査してます。
microfocus cobolにはライブラリがあるようですが、
一般的な手法で何か参考になるようなwebとかご存知ないでしょうか?
>>331
COBOLオンリーな奴は、プロジェクトからはずすのが正解。
Cならまだしも。
333331:02/01/16 13:15
それは提案もしたのですが・・・。
java->C->cobolと三段経由しか無いんでしょうか?
cobolなんて全く知らないんで、どうしたらいいでしょう。
334331:02/01/16 13:31
連続カキコスマソ。

Javaを勉強する気が無い人たちに、
CORBAを理解させるのも同じぐらい骨が折れそうだし・・・。
335 :02/01/16 14:18
JVM用のCOBOLコンパイラがあるでしょうが。
336331:02/01/16 14:39
>>335
PREcobolというものでしょうか?ググルで検索したらありました。
ちょっと、調べてみます。

しかし、こういうものって、実際の業務で使われているのでしょうかね?
使ったことある方おられますか?
337教えてクン:02/01/16 14:40
3つのソースファイルを作りました。
Mother.java
Human.java
Elevator.java
です。
# Mother.java #
public class Mother {
Mother() {}

public static void main(String args[]) {
/* クラスの生成 */
Elevator ev = new Elevator(***);
NewHuman hu = new NewHuman(***);
}
}

こうやってElavatorクラスの関数をNewHumanくらすが、
NewHumanの関数をElavatorクラスが使うにはどうしたらいいの?
338 :02/01/16 14:54
static public
339 :02/01/16 14:56
static public 関数で定義してー

Elevetor.関数名()で呼び出し。
>337
・同パッケージにする。
か、
・importする。
か、
・プルパスで記述する。

いじょ。
341337:02/01/16 14:57
>>338
どういうことですか?
>>337
***の部分にはそれぞれなんて書けばいいのですか?
342337:02/01/16 15:01
ちょっと用事ができたのでしばらく抜けます。
m(__)m
ひょっとして、new を関数と思っているのか?
こりゃ、コンストラクタなんで、あなたのつくったその
Elevator なり、NewHumanなりのコンストラクタの引数を書く。
で、ev.メソッド名()でメソッドが呼べる。
338さんが言っているのは、staticメソッドにしておけば、
インスタンスを生成しなくてもメソッドが呼べるってこと。

いじょ。
344329:02/01/16 15:27
おお、同志がイタノカ・・・。
レイアウトからTextField抜いたYo!
文字列入力制御がイタイヨ。
345風呂がま洗い:02/01/16 15:52
IPv6でちょっとしたツール書きたいんだけど、Javaじゃムリでしょうか?
すでに作ったことある人がいるなら、僕もJavaでがんばってみようかなと思ってます。
ムリならC逝きます。。。どシロウトだけど。
Inet6Address だかを使うんじゃないの?良く知らんけど。
このクラスって 1.4beta からだっけ?
347風呂がま洗い:02/01/16 15:59
>>346
さんきゅー!
Inet6Addressでサーチしてみます。
なんとかなりそうで嬉。
348332:02/01/16 22:25
>>331
どうしてCOBOLオンリーの奴をプロジェクトからはずせないのか、非常に気になる。
なんかすごい技術を持ってるの?

スレ違いだから、プログラマー板の愚痴スレにでも来てよ。
349デフォルトの名無しさん:02/01/17 00:31
>>336
漏れも知りたい。
誰か人柱プロジェクトきぼんぬ。
http://flp.cs.tu-berlin.de/~tolk/vmlanguages.html
350デフォルトの名無しさん:02/01/17 08:17
サーバー間との送受信データ量を調べたいのですが
どこかにサンプルプログラムとかないですか?
351デフォルトの名無しさん:02/01/17 08:18
JVMについて知りたくなったのですが、
JVMのアセンブラーやCライクな言語でおすすめは?
Java仮想マシン仕様を読めばよし!
353331:02/01/17 10:23
>348
漏れは技術支援業務だから、プロジェクト進行には関係ないのさ。
方針とかはお客様が勝手に決めてるYO!

結局IBM-UDBのストアドプロシージャ機能を推しておいた。
人柱になれなくてスマソ。
javaとあんまし関係ないんでsage
35475:02/01/17 13:46
ずいぶん前に質問したのですが、放置されっぱなしで
ちょっと悲しいです。
>>75
の様な事は普通は誰もやらないのでしょうか?
355 :02/01/17 13:55
JAVAでGUIはやらないもん。
356デフォルトの名無しさん:02/01/17 21:09
サーブレットスレかサーバサイドスレに書くべき内容だと思うんですが、
繁盛しているこっちに書かせてください。

今Servletを作っているんですが、その中で入力パラメータの禁止文字チェックやってます。
で、Tomcatでは以下のコードでうまくいってたのですが、IBMのWebSphereに移行したら
2バイト文字が全部禁止文字としてひっかかるようになってしまいました。
これって、あまりよいやり方じゃないんでしょうか?
もっとどのAPサーバに持っていっても汎用的に使える方法ってあるんでしょうか?
以下ソース。

String str = request.getParameter( "text" );
isvalid = new String( str.getBytes( "8859_1" ), "JISAutoDetect" );
java.text.StringCharacterIterator sci = new java.text.StringCharacterIterator( isvalid );
for( char c = sci.first(); c != java.text.CharacterIterator.DONE; c = sci.next() ) {
  if( "<>&\"\';^[:]\\,!#$%()=|{`+*}?".indexOf( ( int )c ) != -1 ) {
    throw new Exception( "記号文字を入力することはできません。" );
  }
}
tomcatの設定できたけど
おく物がなんもねえ
>356
2行目は不要かと
359356:02/01/17 21:41
そうなのですか?>>358
参考書やネットでよくでてくる書き方なので、そのままコピーして使ったんですけど・・・。
WebSphere自体が文字コードの処理をやってくれてるはず。
弄ると逆にうまくいかない。
Tomcatだと自分でコーディングしないといけないけどね。
361デフォルトの名無しさん:02/01/17 23:10
JDKでコンパイルして、コンパイルエラーになると
エラー個所のソースの行数を表示してくれますよね。
Antを使ってコンパイルすると、この行数が表示されなく
なってしまう(build.xmlの設定次第なのでしょうが)のですが、
エラー時にソースの行数が表示されるのは、どのような条件の時
なのでしょうか?
362332:02/01/17 23:30
>>353
技術支援業務ってなんかかっこいいな。コンサルみたいなもんか。
いまだに、コボラーを飼ってる会社って凄いなあ。
プロジェクトは失敗する、に5000DIVISION!
363 :02/01/17 23:35

>>356
それはJava Scriptですか?
364デフォルトの名無しさん:02/01/17 23:37
J2EE1.3のJMSやJTAを業務システム開発で使ってる人って、います?
面白そうなんだけど、仕事で使うとなるとコンセンサス得るのが
大変そうな気がしまして…
365 :02/01/17 23:53
Jなんとかって3文字のは嫌いだ。
良くある方法に名前つけちゃって、肥大化したライブラリなぞ見る気に
ならない。
JCB
JRA
JFK
最後のは J.F.K. だ
368デフォルトの名無しさん:02/01/18 00:22
>>365
アンタみたいな奴が、「そんなの簡単そうだから自分で作る」とか
言い出して、独り善がりで間抜けなライブラリを生み出すおろかな
行為が、日本では多く見られます。

ウチの上司もソレなんだよ…なんでだろうね?糞上司のオナニー
ライブラリなんか保守していくのやだぞ、まじで。
369 :02/01/18 00:30
>>368
sunのことかな?
370 :02/01/18 00:33
メッセージのAPIにネットトランザクションのAPIか
おめでてーな。
俺ならメソッド3つか4つで終わるな。
つうかメッセージの方はいちいちAPI作らんわ。
371 :02/01/18 00:34
あ、死滅スレと間違えてたり・・・。ゴメンネ
372デフォルトの名無しさん:02/01/18 00:35
>>370
どうやるの?
Publish-Subsclibeモデルだの2フェーズコミットだのを?
373 :02/01/18 01:21
んなものは必要ない。
グローバルなメッセージプールとロックとメッセージ送るのと
受けてなんか起動するメソッドあれば十分。
かくして壮大な車輪の再発明は続く、、、。
>>356

String str = request.getParameter( "text" );
if(request.getCharacterEncoding() == null){
  isvalid = new String( str.getBytes( "8859_1" ), "JISAutoDetect" );
}

多分これで Tomcat も WebSphere も通るコードになる。サーブレットエンジンが適切な
文字エンコーディングを認識できていれば文字コード変換しなくてもよいということ。
ちょっと手が空いたので楽しみにしてた Struts のフレームワークを使ってみたら
俺らとその周辺で散々再発明しつくされたされたフレームワークでやんの。
俺が仕事で JDK1.1.6 の頃作ったヤツよりヘボいフレームワークだったよ。がっかり。
へぇぇぇ、すごいすごぉい!
378デフォルトの名無しさん:02/01/18 06:17
マウスをクリックした時、mousePressed, mousedReleased, mousedClickedは
どのような順番で呼び出されるんですか?
>>378
自分の手でやっても
隣のプロジェクト、IBM-MQモドキを再発明している途中です。
ソース見たら、間抜けきわまるライブラリでした。本気で売る
つもりなのかな?
>>373
その程度の事ならRMIでそのままやるだけじゃん。メソッド作るまでもない。
(つうか、それ用のメソッド作ってる人はアホだと思う。)
その上の層をいちいち自分で実装するのか、ライブラリにして標準化して
おくのかの差でしょ。
JMSって、JDBCみたいな単なるインターフェイス定義でしょ?
実装はIBM-MQとかで、そういう商品に対するブリッジドライバが提供される
だけだと思ってたんだけど、違うのかな?
383デフォルトの名無しさん:02/01/18 09:56
アプレットで、AWTのボタンを使用しています。
Button button1 = new Button("ちんぽ");
といった感じで、ボタンに文字列を表示させてます。

普通にIEで実行(標準の古い規格のJVM)すると、ちゃんと表示されていました。

しかし、昨日JavaPlug-in(1.3)を入れたら(Java2Dもやりたいので)、
ボタンの文字が ロロロ のように、四角に化けてしまいました。
この化けかたって、UNICODE<->SJIS間の化け方だと思うのですが、
なぜPlug-inを入れただけでこんなになってしまうのでしょうか?
Sunのfaqとか見てもいまいちわかんないし・・・

しかし、Javaplug-in入れたとたんに、いきなり動作が重くなったんだけど・・・
こんなもんなの?
>>383
最新のJavaPlug-inは、Appletを感知した時になにかのデーモンを立ち上げる
ようになっているようなので、ソレの起動に時間が掛かってるとおもわれます。
タスクトレイに変なのがでるでしょ?2回目起動からはそんなに遅くないと思う
んだけど。

マシンのロケールが日本語になってないと、画面表示のときにUNICODE→
SJISエンコードしてくれないよ。
385383:02/01/18 10:05
>>384
立ち上げもそうなんだけど、
実行中も重くなっちゃったんだよね。
例えば、文字のスクロールとかさせてるんだけど、前はいつでもスムーズだったのに、
plug-in入れてからは、ちょっとスクロールバー動かしたりすると
ガクガクしちゃったり・・・

ロケールは、見直してみます。
JVMの設定?
386 :02/01/18 14:02
>>383
まちがって英語版のプラグイン入れてるからだよ。
International版いれればOK。
387 :02/01/18 14:09
↓ここにInternational版もある。
java.sun.com/j2se/1.3/ja/jre/download-windows.html
388デフォルトの名無しさん:02/01/18 16:07
RunnableとThreadの違いは何?
>>388
クラスとインターフェースの違い。
Runnableのほうが応用が利く。
390383:02/01/18 16:20
international版いれて解決しました
ありがとう

これのサイレントインストールって、サーバー側にissファイルを置いておくと、
アクセスした人はなにも操作しないで、勝手にインストールしてくれるのですか?
それは違う?
391デフォルトの名無しさん:02/01/18 16:32
Jpegを読み込みたく、下記のようなものを作ったのですが
小さいサイズのものは読めるのですが
大きいサイズ(10M程度)のものがOutOfMemoryが出てしまいます
なにか、回避策はありますか?

private BufferedImage getImage( InputStream inf ){
  JPEGImageDecoder id = null;
BufferedImage inbuf = null;
  //画像の読み込み
try {
id = JPEGCodec.createJPEGDecoder( inf );
//BufferdImageへの変換
inbuf = id.decodeAsBufferedImage();
} catch ( Exception ex ) {
ex.printStackTrace();
}
return inbuf;
}
392388:02/01/18 16:34
以下はあるプログラムの一部ですが、バグがあるらしく
Human Remove!!
と表示されません。何でですか?
ちなみに、vec_time, vec_planの要素数は同じです。
エラーメッセージは
java.util.NoSuchElementException
at java.util.Vector.firstElement(Unknown Source)
at (クラス名).run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
です。

public void run(){
Integer now, goal;
Integer wait;

try {
do {
wait = (Integer)vec_time.firstElement();
vec_time.removeElementAt(0);
now = (Integer)vec_plan.firstElement();
vec_plan.removeElementAt(0);
goal = (Integer)vec_plan.firstElement();
ev.set_now(now, goal);
th.sleep(wait.intValue());
}while(vec_plan.size() != 1);
System.out.println("Human Remove!!");
th.sleep(3000);
}
catch(InterruptedException e) {
System.out.println(e);
}
}
>391
-Xmxオプションつけて実行すれば最大メモリ使用量増やせるよ

java -Xmx128m Hoge
とか
removeしたらelementが無くなったに1票
395393:02/01/18 16:52
>>391
あんがとです、出来ました
396391:02/01/18 16:53
ぐはぁ
↑間違えた

>>393
ありがと。
>392
while(vec_plain.size() > 1) {
//...
}
て書き直せばよいかもね
398デフォルトの名無しさん:02/01/19 01:30
StringのメソッドindexOf(String s, index i)ってあるじゃないですか。
これをsを大文字小文字無視でやりたいんですけど、どうしたらよいでしょう?
399  :02/01/19 01:34
一度コピーして全部大文字か小文字に変換せよ。
小文字だとドイツ語のエスツェットが正しく比較できない。大文字に変換せよ。
401***********:02/01/19 13:37
リフレクションAPIを使ってprivateなFieldへのアクセスしたいんだけど
上手く出来なくて・・・。
プログラム全体はこれです。

import java.lang.reflect.*;
import java.security.*;

public class AccessPri {
private int x = 32;
public AccessPri(){}
public static void main(String[] args){
try{
Class cls = Class.forName("AccessPri");
Field[] fields = cls.getDeclaredFields();
Constructor c = cls.getConstructor(null);
Object object = c.newInstance(null);
for(int i=0; i<fields.length; i++){
MyAction m = new MyAction(fields[i],object);
AccessController.doPrivileged(m);
System.out.println(m.get().toString());
}
}catch(Exception e){e.printStackTrace();}
}
}
class MyAction implements PrivilegedAction {
Field field;
Object object,rturn;
public MyAction(Field f,Object obj){
field = f;
object = obj;
}
public Object run(){
try{
rturn = field.get(object);
return rturn;
}catch(IllegalAccessException e){e.printStackTrace();return null;}
}
public Object get(){
return rturn;
}
}

実行するとField.get(Object)の所で
IllegalAccessException
がどうしても出ちゃう・・・。
これじゃダメなの?
原則としてprivateなフィールドには触れないよ
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/lang/reflect/Field.html#get(java.lang.Object)
403***********:02/01/19 14:21
原則以外にアクセスできるらしいと・・・
http://www.gimlay.org/~javafaq/S031.html
やり方書いて欲しかった・・・。
>>403
見たけどちゃんと書いてあるよ…

まぁ読んで意味わからない人は
使わない方が良いと思うけど。
久しぶりに先行者見たらディテールがきれいになってパワーアップしてるみた

http://mydomain9.justnet.ne.jp/~hinden5/senkousha/gamesnow2.html
406 :02/01/19 14:53
>>405
作成者自作自演
407デフォルトの名無しさん:02/01/19 14:57
>>404
確かに俺は使いたくないよ・・・。
でも先輩が
「取ってくる事出来るんでしょ、じゃあ、とって来て!」
って・・・。
しかも期限が来週・・・。
お願いします。
さっき書いたプログラムでどこがいけないか教えて!
408 :02/01/19 15:10
>AccessController と PrivilegedAction を使用すればできますが...。

409デフォルトの名無しさん:02/01/19 15:20
>>408
使い方は>>401でいいんですか?どこか間違ってますか?
SecurityManagerをリインストールしちまえ。
ReflectPermissionをノーチェックにしてしまえばなんでもし放題。
411410:02/01/19 16:13
>>407
仕事でそんなことさせるような先輩はぶち殺して首にしておくのが
最良の解決策と思われ。
412401:02/01/19 16:29
>>411
確かにそれが最良w
privateにアクセスするのは
やはりあまり良くないし。
普通 public だけで十分だよ。
SecurityManagerをいじるってのは
自分のPCでしか使えないから
私が求めるのとは少し違うかな?
最終兵器はサポート外かな?
でも誰か知ってたらお願い。
>>普通 public だけで十分だよ。
アクセスメソッド書けよ、
とツッコミ入れてる原理主義者が何人かいると思われ。
414410:02/01/19 18:11
>>412
System#setSecurityManagerで、いかがわしい?自作SecurityManagerサブクラスを
インストールしてしまうことが可能だよ。ブートストラップ位置自分で決められるん
でしょ?アプリケーションサーバとかじゃなければどこでも可能だよ。可能なんだけど、
やろうとは思わんが。
415410:02/01/19 18:16
privateにアクセスするのが悪いんじゃなくて、
そんな必要があるような設計のクラスが存在することがイカレテル。

だれがそのクラスをつくったのか?何でアクセスする必要があるのか?
理由を記述せよ。
416401:02/01/19 18:36
あるクラス(なんでもいい)に値を変えてメソッドを動かして
仕様通りに動いているか確認するのを作ってます。
確認するのにprivateの値を見れたら
確認がしやすくなるという理由により
privateなFieldにアクセスしたいのです。
その方法をきぼんぬ。
417410:02/01/19 18:48
>>416
ああ、単体試験用ね。じゃあ、仕方ないね。

起動オプション-Djava.security.policy=ファイル名

で、AllPermissionを許すPolicyファイル食わせるか、mainメソッドの入り口で

System.setSecurityManager(new SecurityManager(){
 public void checkPermission(Permission p)throws SecurityException{
  return;
 }
});
とやって、パミッションチェックなしのSecurityManagerインストールしちまえ。
>>417
410じゃないんだけどさ、
試してみたけど、ダメっぽいんだけど。

------------ AllPermission.policy ---------
grant {
 permission java.security.AllPermission;
};
-------------------------------------------

java -Djava.security.policy=AllPermission.policy クラス名
ってやったけど Field介して private フィールドへのアクセスすると
IllegalAccessException 食らうっす。
setSecurityManagaerもやったけど。
J2SE 1.3.1_02 と J2SE 1.4 と IBM の JDK 1.3 で全滅。

なんか手順間違ったかな?
410の人は出来た?
419ななし:02/01/19 20:50
相談じゃねえんだ。提案だ、聞いてくれ。

逝った瞬間にペニスが破裂していた......そんな感覚の
ORB、「HORB」を使ってみてくれ。
http://horb.etl.go.jp/horb-j/
420デフォルトの名無しさん:02/01/19 20:57
>>413は本当は何について話しているのかまったくわからないのに
話に参加したくてたまらないSヨですか?
421401:02/01/19 21:09
こっちも出来ない・・・。
JDK1.3と1.2とJ2SE1.3でやったけど、
アクセスの所で
IllegalAccessExceptionが出ちゃう・・。
>>419
オレは使い始めているんだが、
申し訳ないがその例えの意味するところが全然分からない。

すまんな。
423デフォルトの名無しさん:02/01/19 23:24

Windows XP で、JDK1.3 と JRE を入れて使っています。

IE6.0 で、JAVA アプレットのページを見ると、
JAVA 仮想マシンをダウンロードするようにいわれます。

ここまではよいのですが、このとき、
仮想マシンを DL しなければならないのしょうか?

それとも既に入ってる JDK や JRE を使って、
XP+IE6 でも Java アプレットを見れるようにできるのでしょうか。

(あるいは、そもそもスレ違いだと思うので
 どこで聞いたらいいか教えてください・・・)
>>423
JREが最新のモノ (1.3.1_02)であれば
コントロールパネルから
Java Plug-in 1.3.1_02
を選択、
基本->Java Plug-in の有効化をチェック
ブラウザ->Microsoft Internet Explorer をチェック
で有効にならんか?
出来ない場合はもっと詳しい人に聞いてください。
425デフォルトの名無しさん:02/01/19 23:52
あと、ブラウザがどのJavaプラグインを許してるかだよね。
調べるよりDLした方が速かったり・・・。
mozillaの場合は
jre/bin/NPOJI610.dll

mozilla/bin/plugin/
にコピーしたら動いた。
んんん?難しい事する必要はないと思うが…

import java.lang.reflect.*;
import java.security.*;

class TestClass{
 private Integer val = new Integer(10);
}

public class TestReflect{
 public static void main(String args[])throws Exception{

  Class cls = TestClass.class;
  Field fld = cls.getDeclaredField("val");
  fld.setAccessible(true);
  System.out.println(fld.get(new TestClass()));
 }
}
428427:02/01/20 01:50
fld.setAccesible(true)するのに、

java.lang.reflect.ReflectPermission "suppressAccessChecks"

の許可が必要らしい。SecurityManagerがインストールされていないなら
気にしなくていいようだけど…
429418:02/01/20 02:32
>>427
できました。感謝。
setSecurityManager しなくてもいーのか…
430418:02/01/20 02:35
しっかし、こんなに簡単にアクセスできちゃっていーんだろうか?
ちょっと不安。とか思う。
JavaFAQ の情報は…?
JDK 1.2時代の奴なのか?
でも 421で JDK1.2で失敗してるらしーしなぁ…
431401:02/01/20 11:40
>>427
出来たよ〜。良かった〜w。
これで先輩に怒られない。w
マジでありがとう!
でも簡単にできてびっくりしてる。w
432423:02/01/20 14:31
>>424-426
ありがとうございます。

>>424
使っている JRE は 1.3.0_c で、これだと古いですね。
「ブラウザ->Microsoft Internet Explorer をチェック」
というのがありません。

>>425
ダイアルアップ接続なもので、DL はためらっていました。


まあ、アプレット見れないとヤフオクの「詳細残り時間」が
見れないで困る程度なのでしばらくはこのままで、
折を見て最新の JRE を DL する方向で考えたいと思います。
どうもありがとうございました。
>>432
JavaWorldとかで、JDK1.3の最新版がCDでついてくる奴買ったら?
JDKにJREついてくるから。
>>433
423はJavaプログラマじゃないと思われ。だからJavaWorldは買わないと思う。
Java相談室であってJavaプログラミング相談室じゃないから、
こういった質問もありだと思うけど。
でも、ム板なんですけど、いちよう。。。
>Java相談室であってJavaプログラミング相談室じゃないから

アフォ発見
タイプセーフenumパターンってどうなの?
ファイナライザガーディアンって強そう
なんかFFに出てきそう。
>>426タン
MozillaでアプレットみられるようになったYo!
あんた神! thanks!!
441391:02/01/21 16:00
Graphics2D#scale( )で画像のサイズを変更したいのだが
アスペクト比を保持してサイズ変更は出来んもんかのぉ
算数苦手なんだよなぁ
誰か、やり方教えてちょ
442デフォルトの名無しさん:02/01/21 16:07
appletで、外部フォントを使用したいので、sunのドキュメントを参考に、
次のようにしました。
「xxx.xxx.xxx.xxx/xxx/」は、applet本体が置いてあるサーバーの場所です
そこにフォントファイル .ttfも置いてあります。

try{
 URL url = new URL("http://xxx.xxx.xxx.xxx/xxx/giko.ttf");
 InputStream is = url.openStream();
 testfont = Font.createFont(Font.TRUETYPE_FONT, is);
} catch( Exception e ){}

そしたら、createFontの段階で、
java.security.AccessControlException: access denied (java.net.
SocketPermission xxx.xxx.xxx.xxx resolve)
とエラーが発生してしまいました。

なにが悪いのかわかりません。
サーバーの設定関係が原因なのでしょうか?

サーバーは、winNT+IIS+JRUN(他にサーブレットも使用しているので)
です。
appletは、win2000+java plug-in(最新)を組み込んだIE6で
実行しています。
>>442
Applet.getCodeBase() とか
Applet.getDocumentBase() とか使ってもダメ?
444 :02/01/21 20:03
サーバーの設定関係が原因なのでしょう。

445デフォルトの名無しさん:02/01/22 15:38
Windowsでlook&feelをAquaにすることはできるのですか?
できるのなら誰か教えてください.
446デフォルトの名無しさん:02/01/22 15:47
アポーが意匠権を行使したためマクOS以外でマクのLock&Feelは使えません。
Swingのβの頃まではマク風Look&Feel(旧)もついていたんだけどね。
447デフォルトの名無しさん:02/01/22 16:03
>>445 こんなのみつけた
SkinLF
ttp://www.l2fprod.com/software/index.html
448デフォルトの名無しさん:02/01/23 00:48
例えばあるボタンをクリックする。
そしたらカーソルがある座標に移動する。
ということをやりたいんだけど、どうしたらいい?
>>448
ロボットクラス使ってみるとか。
450デフォルトの名無しさん:02/01/23 00:54
JPanelの上にawtの部品をおいた場合ってダブルバッファの恩恵はうけられるんでしょうか?
451デフォルトの名無しさん:02/01/23 01:13
>>450
JPanelの上にAWTの部品なんか置くな。バグの元。
ダブルバッファリングどころかコンポーネントの重ね合わせの描画に
失敗するようになる。

ちなみに、Swingはコンポーネントがデフォルトでダブルバッファリング
してる。AWTはしてない。
452デフォルトの名無しさん:02/01/23 01:50
javaの軽いエディタでおすすめの教えてください。
453450:02/01/23 02:04
>>451
そうでしたか。
ダブルバッファリングは子コンポーネントも恩恵得られる訳じゃないのですね。
要はこれが知りたかったんです。
454448:02/01/23 02:17
>449
Robotでやってみたら、移動した。
これってスクリーンの座標に飛んでくんだね。
コンポーネント上の指定した座標に行く場合はどうしたらいいんでしょう?

例えばフレームがあって、その上方にボタンがある。
それを押したらカーソルがフレームの中心に移動する。
フレームがスクリーン上のどこにあるに関わらず。
そういうのやりたいんだが。
456449:02/01/23 02:38
>>454
そのフレームの中心の座標ってのはわかってるんだよね。
そしたらSwingUtilitiesのconvertPointToScreenを使って
コンポーネント座標系からスクリーンの座標系に変換して
あとはロボットで移動でいけると思う。
457448=454:02/01/23 02:59
>456
ありがとう。やってみる。
458デフォルトの名無しさん:02/01/23 03:12
どなたか教えてください。
JPopupMenuで項目を選択->クリックしたときに、同時に
そのコンポーネントのmouseClickedが反応してしまうんですが、
これを解決するにはどうすればよいのでしょう?
459デフォルトの名無しさん:02/01/23 12:30
おしえて。
JPEGエンコーダーで、Windowのイメージをファイルに落としたら
白黒になっちゃった。 カラーにするにはどうするの?
1.4でたにょー
あg
462デフォルトの名無しさん:02/01/23 15:51
>>460
v1.4.0 Release Candidateだな。
まだ正式版1歩手前。
463デフォルトの名無しさん:02/01/23 15:52
印刷について質問があります。用紙1ページに入りきらない大きな
イメージを複数ページにわけてプリントするにはどうすればよろ
しいのでしょうか。知ってる方教えてください。
464デフォルトの名無しさん:02/01/23 17:14
最近Javaの勉強をはじめたのですが、
仕事でJavaを使っている人はメソッドって全部暗記されているものなのでしょうか?
必要に応じて本で調べたりするものでしょうか?
>>464
JavaDoc開きっぱなし
というか、よく使うオブジェクトは嫌でも覚える
たまーにしか使わないものはJavaDoc
>>464
teikadeでブラウズしながらコーディングしてる。
teikadeって、いつになったら2.0が出るんだ?
マチクタビレターヨ。
今は、ForteかWebObjects。
CLASSPATHに追加するってどうすればいいのでしょうか?
>>468

DOS 窓で設定するなら以下の呪文を唱える。

SET "CLASSPATH=%CLASSPATH%;C:\Program Files\aaa\bbb.jar"
470hoge:02/01/23 21:30
urlから、イメージを取得しようとしてはまってます。アプリケーションで、
http://*/*.jpgと言う完全なurl をstringで、宣言して,getImageで引数に使っています。

Image imgs=Toolkit.getDefaultToolkit().getImage(str);
g.drawImage(imgs,0,0,this);
としても、絵が出てきません。
それについて書いたhomepage でも良いので教えてもらえると嬉しいです。
でわ。
471デフォルトの名無しさん:02/01/23 21:30
今日はじめて研修でjavaを知ったんだけど、
かなり気に入りました。そこで聞きたいんだけど
オブジェクト指向をうまく利用したサンプルコードがあるサイト
があったら教えてほしいのですが。できれば初心者にもわかり
やすくて、昔ながらの手続き言語との比較ができそうなサイト
がいいんだけど。。情報お願いします。

472デフォルトの名無しさん:02/01/23 21:33
473468:02/01/23 21:34
>>469
レスどもです。
MS-DOSでやる場合毎回呪文を唱える必要があるのでしょうか?
474464:02/01/23 22:00
>>465-467
参考になりました。
ありがとうございました。
>>473

Win95/98 → C:\autoexec.bat をメモ帳で開いて、ファイルの一番最後にあの呪文を書いておく

WinNT/2k → [スタート]-[設定]-[コントロールパネル]-[システム] を開いて
         [詳細]-[環境変数...] でユーザ環境変数の CLASSPATH 値を
         %CLASSPATH%;C:\Program Files\aaa\bbb.jar にする。

Me と XP は知らんが上記のどちらかでできるはず。
476デフォルトの名無しさん:02/01/23 23:04
JDKをC:\jdk1.3.1_01にインストールしています。
この状態でPerlToolsをインストールしたいのですが
どのファイルをどの階層に置けばいいのでしょうか?
477デフォルトの名無しさん:02/01/23 23:20
import java.net.*;

って書いてコンパイルしたら「無い」って言われたんだけど、
これって後から自分で追加するんですか?ioとかutilは大丈夫
なんですけど…。
478デフォルトの名無しさん:02/01/23 23:26
>>477
そんなはずはないが…
JDKインストールしたディレクトリ/JRE/rt.jar
を解凍してみそ。そこにないなら環境がおかしい。
479デフォルトの名無しさん:02/01/23 23:27
>>476
好きにしろ。
その後で、必要なファイルにPATH環境変数なり何なりとおせ。
普通の他のアプリのインストールと同じじゃ。
480デフォルトの名無しさん:02/01/23 23:28
>>478
ありがとうございます。早速試してみます。
481デフォルトの名無しさん:02/01/23 23:30
>>470
そのメソッドって、ImageのDLが終わる前に返ってきちゃうので、
すぐ次でdraw仕様としても、空のImageかいてるだけになっちゃう
ってやつじゃないのかな?
だとすると、どこかにDLが終了するまでwaitするメソッドがある
ような気がするので、それコールしてDL完了まで待ってろ。
482476:02/01/23 23:45
>>479
でもJDKってPATH書きませんよね
デフォルトの場所って無いんですか?
java.langのある場所、みたいに
余計なPATHは邪魔になるから書きたくないんですけど…
483476:02/01/23 23:47
>>482
>でもJDKってPATH書きませんよね
インストール時にインストーラがって意味です。念のため
ちなみにOSはWin2000です。これも念のため
>>483
PATH は書かんけど PATH の通ったところに java.exe を置く。
C:\WINNT 直下を見てみれ。
485476:02/01/23 23:58
>>484
javaというフォルダが見つかりました。
java.exeはimportするときここを見てくれるんですか?
486477:02/01/24 00:02
携帯向けサイトで環境設定したのが関係あったのかも。
midpapi.zipの中に放り込んだら通りました。
↑この中身がio・util・langだけでした。
けど携帯電話でもちゃんと通信出来るのかなぁ…。

ありがとうございます。>>478
487デフォルトの名無しさん:02/01/24 00:13
>>485
java.exeが実行時に必要なクラスファイルをロードする時には、
CLASSPATH/(パッケージ名の.を/に変換)/クラス名
で検索するよー。

CLASSPATHにはjarやzipを指定する事も出来るよー。

JAVA_HOME/JRE/rt.jar(コアAPIクラスライブラリ)は、
CLASSPATHと関係なしに読みに行くよー(ちゃんと環境設定してれば)。

ということ。
>>485
C:\WINNT\java は Internet Explorer 上で動くアプレット (Microsoft JVM) のクラス等が置いてあるディレクトリ。
残念ながら Sun から持ってきた java.exe とは無関係。
489485:02/01/24 00:22
>>487
なるほどよくわかりました
どうもありがとうございます。

>>488
だから中にDirectなんとかとかたくさんあったんですね…
レスありがとうございます。
ちなみに JAR や ZIP ファイルなら {JAVA_HOME}/jre/lib/ext と
C:\Program Files\JavaSoft\JRE\{JDK_VERSION}\lib\ext に
放り込んでおけば CLASSPATH を設定してやらなくても使えます。

# 前者はコンパイル時に見に行くところ、後者は実行時に見に行くところだったと思う
>>490
> {JAVA_HOME}/jre/lib/ext と C:\Program Files\JavaSoft\JRE\{JDK_VERSION}\lib\ext に

「と」って何? 両方に置かないといけないの?

以前、前者の方に postgresql.jar 置いても動かなかったので諦めたんだけど。

Linux では $JAVA_HOME/jre/lib/ext に置いたら動いたので、
それでいいのかと思ってたヨ。
492デフォルトの名無しさん:02/01/24 02:09
458ですが、どなたか教えてください。
JPopupMenuで項目を選択->クリックしたときに、同時に
そのコンポーネントのmouseClickedが反応してしまうんですが、
これを解決するにはどうすればよいのでしょう?
反応すると何が困るの?
494492:02/01/24 03:03
>>493
ごめんなさい。説明不足でした。
例えばJPopupMenuで、ある項目を選んだらAというイベントが起きるとします。
ところがやりたいことはAというイベントを起こしたいだけなのですが、その
項目を選ぶためにそのJPopupMenu上の項目をクリックした時に同時に
そのJPopupMenuを呼び出したコンポーネントのmouseClickedが反応してしまい、
別のイベントBが起きてしまうのです。どうすればよいのでしょう?
JPopupMenuって普通は右クリックだと思うけど、
マウスボタンの種類で切り分けできるんじゃないの?

状況によって右クリックでPopupが起こったり
別のイベントが起こるんだとしたら、
インターフェースデザインを考え直した方がいいような。
496デフォルトの名無しさん:02/01/24 20:02
唐突でごめんなさい。
Robocupのシミュレーションリーグのサッカーサーバについて知ってる人います?
497デフォルトの名無しさん:02/01/24 20:47
なんでパッケージdefaultで宣言したclassは他のパッケージで使えないのに

class Foo{
 public void method(){
 }
}

とかメソッドをpublicで宣言したりするんですか?意味が無い気がするんですが
498デフォルトの名無しさん:02/01/24 20:57
>>497
publicにしないと他のパッケージから呼べないだろう
『パッケージdefaultで宣言したclassは他のパッケージで使えない』からな!
499498:02/01/24 21:02
>>497 もとい。ごめん嘘ついた。

パッケージdefaultで宣言したclassは他のパッケージでnewできないだけで
そのクラスのインスタンスは他から引数で渡されたり返り値で取得したり
することはある。
そのインスタンスを通して他のパッケージから呼ばれることはある。
500497:02/01/24 21:06
>>498
class自体を他のパッケージでインスタンス化することは工夫してやろうと思えばできます。
しかしメソッドをpublicで宣言しても他のパッケージでは使用はできません。classがpublicで宣言されていないからだとかなんとかコンパイラが文句言ってきます。たしかに

public class Foo{

とかやらないとだめです。これ意外に私は思い付きません。

でもよく書籍のお手本でclassはdefault宣言メソッドはpublic宣言のが多いのでなぜだか知りたいのです。
501497:02/01/24 21:09
>>499
あれ?他のパッケージでメソッド呼び出せたんですか?コンパイルエラーになったと思いましたが勘違いかな?
>>497,498
何を論議したい?
外部からnewされたくないとき、クラス同士の結合を
弱めたいときとかに使うんでねーの?
インターフェースとか継承すれば出来るけど・・・?

つーか、そうしない?
俺、何か変?
/*------------------------------------*/
package BBB;

import AAA.*;

public class testB
{
public static void main(String s[])
{
test t = new test();
test_if ti = t.pub_a();
ti.pub_a();
}
}
/*-------------------------------------------*/
package AAA;

public interface test_if
{
public void pub_a();
}
/*------------------------------------*/
package AAA;

public class test
{
public def_test pub_a()
{
return new def_test();
}
}


class def_test implements test_if{
public void pub_a()
{
System.out.println("こういうことだろう");
}
}

503 :02/01/24 22:47
>>502
話は全く変わるんだけど、
クラス名の先頭を小文字にしたり、パッケージ名に大文字つかったり、
アンダースコアを区切り文字として使用するのは
何の影響を受けての事ですか?

別に嫌味とかじゃなくて、純粋に知りたい。
何かそういう書き方を推奨している書籍等が有るのか、
それとも単に自己流なのか。

何故こんな事を聞くのかと言えば、「Javaではクラス名を小文字にしなければならない」
と言い張る人に出会った事があって、困った事が有ったから。
(親しい人ではないので、何故そう思ってたのかまでは聞けなかった)
504489:02/01/24 23:15
>>490
その方法で見事にうまくいきました
ありがとうございます。
505494:02/01/24 23:38
>>495
ありがとうございます。
確かにJPopupMenuを呼び出す時は右クリックです。これでJPopupMenuが
現れます。で、この時はいいんですが、次に、そのJPopupMenuのmenuitemの中
からどれかを選択して、その時は今度は左クリックをしますよね?その時に
mouseClickedが反応して別のイベントが起きてしまうんです。どうしたら
いいんでしょう??
506495:02/01/25 01:10
>>505
event.getSource() したら
それぞれ別のコンポーネントからのイベントだということが
分かると思うんだけど、どうだろう。
507495:02/01/25 01:11
あ、マジメな話なので age
508初心者:02/01/25 02:47
(1)Javaのmyprogram.jarとJREのランタイムを一緒に配布し、
(2)myprogram.exeから
(3)Javaのプログラムを起動することは可能でしょうか。
(4)JREのインストールなしに。

509初心者:02/01/25 02:48
あ、Win32です。やっぱり初心者です。
510初心者:02/01/25 02:54
それから、MSのVMは使えないです。やっぱり一度に用件をかけないのは初心者ですね。
511まさ:02/01/25 02:55
質問です。
フレームのサイトを作った場合、フレームの一部に
リンク貼られた場合は、そのフレームだけ表示されてしまい、
正しく表示されなくなってしますよね。
それを防ぐにはJavascripptを使って正しいサイトに飛ばす方法は
知っているのですが、他には方法はあるのでしょうか?

例えば日本テレコムのサイト例にとると、
http://www.japan-telecom.co.jp/consumer/myline/index.html
だと正常に表示されますが、
http://www.japan-telecom.co.jp/consumer/myline/ml_top.html
だとフレームの一部しか表示されなくなってしまうよね?
それを回避する方法です。。
512まさ2:02/01/25 02:56
?<script language="JavaScript">
<!--
function tmt_backtoframe(myframe) {
if (top == self) {
self.location.href = myframe;
}
}
// --></script>
と上の方に書いて、下記のように
何かの画像がDLされたら飛ぶようにするってやつです。
<img src="UntitledFrame-6.files/maru.gif" onload="tmt_backtoframe('index.html')" width="35" height="10">

これで正しいでしょうか?



>>511
Java と Javascript は別物です。
サイト作成に関しては Web 製作板にどうぞ。

Web 製作板
http://pc.2ch.net/hp/

☆ Webサイト制作初心者用スレッドver16 ☆
http://pc.2ch.net/test/read.cgi/hp/1011692558/
514初心者:02/01/25 03:01
Lancher これで十分か。自分でランチャを書く必要がない。
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm

515502:02/01/25 10:47
>503
こんなしょうもない、やっつけサンプルごときで
そこまで突っ込むか?
普段はいわゆる推奨される書き方してるけど。
単純にエディタの強調表示に合わせているだけとも言うが(w
命名規約はそんなに気にしないし合わせろと言われりゃ合わすよ。
今回の場合は一応、インターフェースだとか、デフォルト権限とか
パッケージ名を強調したかっただけ。    いじょ。

516 :02/01/25 12:26
>>515
いや、気を悪くしたなら謝るよ。
本当に嫌味とかではなくて、知りたいだけ。

前のプロジェクトリーダが何故かクラスの先頭小文字派で
そのプロジェクトではそれがルールだった。

Javaの書籍は色々読んだけれど、
「もしかすると自分が知らない所では、先頭小文字とかのルールが推奨されている
のかもしれない」
と思って書店にも足を運んで本をあさったけど、特にそういう書籍は
発見出来なかった。

もしそう言う書籍があれば、とりあえず見たいと言うのが質問の理由。
517 :02/01/25 12:38
変わったルールをあげると、
例えばフィールドの先頭や末尾にアンダースコアを付けるというのが有る。
あれはピアソンの「Javaの格言」や「リファクタリング」が影響を及ぼしているようだ。
Code Conventions for the JavaTM Programming Language
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
519デフォルトの名無しさん:02/01/25 23:23
まじめに質問。
 −5.6 % 3.3 は、−2.3
 5.6 % −3.3 は、2.3
になるそうですが、なぜ?両者の違いがわからん。
520デフォルトの名無しさん:02/01/25 23:34
//受け付け会員氏名
UKTK_KIIN_SMY;
//受取人住所
UKTRNIN_ZYSYO;
//受け付け担当者社員コード
UKTK_TNTUSA_SYIN_CODE;

元コボラーとかSQL馬鹿に、こういうシンボル名つけるやつが
多いな。なに考えてんだか。
こんななら漢字でシンボル名書いてしまうほうがマシだと思われ。
先頭小文字派です。
record_event();
get_user_id();
check_and_destroy_user_event();
522デフォルトの名無しさん:02/01/25 23:52
Claas
CLASS_CONSTANT_FIELD
__CLASS_FIELD
_instancefield
method()
methodOfLongName()

おいらはこうだよ。
メソッドと外から見えるクラス定数は、コアAPIとあわせとく。

それ以外はどうでもいいんじゃないの?外に見せないなら。
523デフォルトの名無しさん:02/01/25 23:57
大文字小文字を混ぜた名前付ける奴は100%PKだし。
524デフォルトの名無しさん:02/01/25 23:57
お世話になったこのサイトが1月で終わってしまう・・・
http://www2.to/javaprog/

でも掲示板になんかムカつくやつが常駐してるんだな
今思いついたけど、先頭小文字で、MVCのいずれかをつけるってのは、ダメ?
mBill
mMenu
mEmploye
vPushButton
vSortingListBox
cOrderInputScreen
とかって、ずらっとクラスが並んだとき、分類しやすくない?
>>525は、ハンガリアン基地外を召喚した!
ViewとControllerをどうやったら上手く分離できるのかわからん。
>>527
EventListenerからディスパッチされるロジックを外だしすれば半分。
のこりの半分は、ObservableなModelへのObserverでディスパッチ
されるロジック。ほーらできた。
529 :02/01/26 01:19
530デフォルトの名無しさん:02/01/26 13:24
モーダルのJDialogで最初にフォーカスするコンポーネントを
指定するのってどうしますか?
setVisible(true)した時点でそのスレッドは止まっちゃうので、
WindowsListenerを追加して開いた時点でフォーカスしたいコンポーネントに
requestFocusさせていますが、なんかJDK1.4RCでは
うまくいかない模様・・・
> setVisible(true)した時点でそのスレッドは止まっちゃうので、
そんなことないよ。
532531:02/01/26 13:42
ごめん、激しく勘違いだった
533530:02/01/26 13:54
>>531
でも、setVisible(false)されるまでその後の命令って
実行されないですよね?
確認中・・・

下げ忘れ、すまんす。
534530:02/01/26 13:55
あ、勘違いでしたか・・・
535デフォルトの名無しさん:02/01/26 17:10
javaの勉強をしてるんですが、MS-DOS-EDITに書いたソースコードを、メモ帳とか
この掲示板とかにコピぺ出来る方法はありますか?
MS-DOSプロンプトをウインドウ表示にしてツールバーをよく見る。
と、言うか.javaもテキストなんだからメモ帳で開けばいいじゃん。
538535:02/01/26 17:18
>>536
編集⇒コピーってやっても他の場所に持ってけないんです。
>>537
メモ帳をエディターとして使えって事ですか?
やっぱり無理なんでしょうか?
>>538
メモ帳はエディタだよ…
540デフォルトの名無しさん:02/01/26 17:21
>>535
それプログラム以前の問題じゃないか?
>>538
範囲選択しろよ
はっ、ネタ心者?
>>538
PCQAくるか?
みんな多分教えてくれる。
http://pc.2ch.net/pcqa/index.html
544535:02/01/26 18:07
>>537
わかりました、皆さんありがとうございます。(いやお恥ずかしい・・・。)
>>540
こんな奴が「新人です!」とか言って入ってきたら教えてくれますか?
545デフォルトの名無しさん:02/01/26 18:37
世の中にはメモ帳より貧弱なエディタを「高性能エディタ」と信じてる
今も使ってる人達もいるんだよ・・・。
546デフォルトの名無しさん:02/01/26 19:08
>>545
メモ帳より貧弱なエディタなんかあるのか?

JavaならJTextPaneにload&saveの機能つけるだけで
エディタが出来ちゃうぞ。HTMLエディタも簡単だぞ。
>>546
ed
548デフォルトの名無しさん:02/01/26 19:13
>>546
vi,
Emacs
>>548
LISPも使えないメモ帳風情が何言ってるんだか。
550デフォルトの名無しさん:02/01/26 19:15
>>548
viやEmacsは、メモ帳よりはマシだと思うが…
>>546
copy con
552デフォルトの名無しさん:02/01/26 19:20
自称「優秀なPG」が薦めるemacs
http://macosx2.ncs.gr.jp/~masa/jpn/program/emacs_command.html
コマンド例
[Ctrl]+X [Ctrl]+F ファイルを開く。
[Ctrl]+X [Ctrl]+D ディレクトリの内容を表示する。
[Ctrl]+F 1文字右に移動。
[Ctrl]+B 1文字左に移動。
[Ctrl]+P 1文字上に移動。
[Ctrl]+N 1文字下に移動。
>>548
うそ〜〜ん。
554デフォルトの名無しさん:02/01/26 19:26
emacsの解説書ではどう言うわけか、emacs教をひろめようとしている。
「Emacsはまぎれもなく、本格的なプログラマーに好まれているエディタである。」
(O'REILLY GNUソフトウエアプログラミング)

「本格的なプログラマー」ってのがミソ。
疑問を持ったら「半端なプログラマー」の烙印が押されるシステム。
氏ね、って感じ?
555デフォルトの名無しさん:02/01/26 19:27
メモ帖>>>>>>>>>>>>>>>Emacs
数の勝利じゃないの?
大抵のlinuxディストリに入ってるし。

BSDの標準エディタって使いやすそうだね。
557デフォルトの名無しさん:02/01/26 19:35
cygwin使ってメモ帖で開発。
実機に転送してコンパイル。
いやじゃ、いやじゃ。Emacsはいやじゃああああ
>>557
Win用JDK使えよ・・・。
gccの話だったりする
>>556
ee 良いね。
今の ports の jee は 最近のRELEASEでコンパイル
出来なくなってるから今度 コンパイル出来るように
しようかなとか思ってる。
>>550
vi はちょっとひく。他に何かあるときは使いたくないな。
562デフォルトの名無しさん:02/01/26 21:52
Javaの膨大なAPIどーやって調べてます?
いま、何かわからないことがあれば
SunのページからダウンロードしたHTML(Java doc)をIEで見て
調べてるんだけど、めちゃめちゃ調べにくいんですけど・・

WinのHELPみたいに一発検索する方法とか、なんかもっと効率のいい
APIの調べ方ないんでしょうか?

ちなみに統合環境はForteを使ってます。
背景画像をsetするメソッドって何ですか?
>>562
> Javaの膨大なAPIどーやって調べてます?
Namazu を使って検索する.
565デフォルトの名無しさん:02/01/26 22:41
>>564
Namazuってサーバーで動かすもんだと思ってた・・・
(・・てゆーか実はローカルサーバー立ち上げてNamazuを入れろって事!?)
とりあえず入れてみます、ありがとうございます!!
findとgrepでほとんどのものは見つかりますが。

ていうか、JDKの *.java ファイルを巨大なひとつのテキストファイルにしておいて
適当にgrepするというのも簡単かもしれないと今思ってみた。

怠惰すぎかも。
567デフォルトの名無しさん:02/01/26 23:43
>562
今漏れが使っているのは以下のもの。
どっちも一長一短だと思うが(Windowsオンリー)。。。
自分で作るのがいいかも。
ttp://www.vector.co.jp/soft/win95/prog/se202146.html
ttp://isweb37.infoseek.co.jp/computer/java_jp/software/index.html

568デフォルトの名無しさん:02/01/26 23:48
JDK 1.4って何がいいの?
569デフォルトの名無しさん:02/01/26 23:55
質問ですが、
アプレットで画像を読み込んで、その画像を縮小して、jpegにエンコードして
そのデータをCGIに渡して保存をするっていうのは可能ですか?
>>565
> >>564
> Namazuってサーバーで動かすもんだと思ってた・・・
Namazu for Win32 を入れて,search-s for Namazu 0.9.2 を入れれば,
WIN のスタンドアローンでも GUI なインターフェイスで検索可能.
571デフォルトの名無しさん:02/01/26 23:59
教えて君です。
M$Excelで任意のセル範囲を選択・コピーして、SwingのJTableに貼り付けることって
出来ますか?ちょっと抽象的で申し訳ないですが、お分かりの方がいらっしゃった
ら教えてください。
 クリップボードの中身がどうなっているのかがまったく分からないため、手のつけよ
うがありません。
 ちなみに環境はJDK1.3、Win32で、基本的なJavaの知識(初心者レベル)は身につけ
ているつもりです。

 宜しくお願いします。
572デフォルトの名無しさん:02/01/27 00:23
誰も答えないので。
メモ帖に張り付けてみたら?
コンストラクタ実行中の時点ではインスタンスって生成されている(nullではない)んでしょうか?。
575デフォルトの名無しさん:02/01/27 02:37
>>568
代表的な追加ライブラリ

ロギング
XML<->Objectマーシャラ
データ暗号化
ノンブロッキングI/O
ダイレクトバッファ

1.3使いつづける気にはならんな。
576デフォルトの名無しさん:02/01/27 02:40
>>574
コンストラクタが起動しているということは、インスタンスフィールドの
初期化は終了しているYO!=インスタンス自身は既に生成されているYO!
thisポインタも存在するYO!

ただ、a = new Hoge()はまだ戻ってない(aにHogeインスタンスのthis
が代入されていない)というだけ。
577デフォルトの名無しさん:02/01/27 02:40
>>530
ダイアログにComponentListenerくっつけて、componentShownで処理してみたらどうだろう?
>>575
そこら辺、分かりやすく要約してあるページない?
579578:02/01/27 02:45
ていうか、ヘタレプログラマのオレから見たら、正規表現が一番便利なのかも。
580コルバg:02/01/27 02:49
>>571
つうか、無理じゃないけど、クリップボードを読むメソッドがToolkidクラスにあるので、それで読むしかないね。
それで、タブ区切りをStringTokenizerで切り取って何とかするっきゃないよ。
581デフォルトの名無しさん:02/01/27 02:59
ロギングと正規表現はLog4jとOROMatcherで済ませてもいいけど、
コアに載るとなると標準でない仕様の外部ライブラリ使いつづけるのは
やばいかもね。Apacheの連中大丈夫なのかな?
582デフォルトの名無しさん:02/01/27 03:02
1.5からデスクトップやアプレットでしか使わないクラスを削除して
すっきりしてもらいたい。
583デフォルトの名無しさん:02/01/27 03:05
>>582
俺的にはJ2EEからServletを廃止して欲しいが。
>>583
それは無理だろ…。RPC/RMI/CORBA/SOAP つっても、わざわざ専用クライアントインストール
させる気か。それとも JSP と Bean (カスタムタグ) で十分ちゅう話か?
585デフォルトの名無しさん:02/01/27 03:18
>>584
ブラウザ(特にIE)とHTTPDを挟むのは、いい加減やめにしたい。
クライアントのマシンに高性能を期待できる時代になったんだから、
せこいUIは廃れてくだろうと思ってるよ。

あと、HttpServletのコンテナ書いているだけでJava使いこなして
いる気になっているアホPGを駆逐したい。
>>585
C/S 時代に戻りたいという話か…。クライアントの開発費用や実行時環境のシビアさ
(VB ランタイムやら IE のバージョンやら)、配布のめんどくささとか考えたら HTML を
ブラウザに表示する方がよっぽどまし。配布先の一般コンシューマ環境まで面倒
見切れん。

> あと、HttpServletのコンテナ書いているだけでJava使いこなして いる気になっている
> アホPGを駆逐したい。

おしい、「コンテナ」が「派生クラス」だったら同意できるのに。まともに動くサーブレット
コンテナ作れる人間はそこそこのプログラマだろうと一応突っ込んでおく。
587デフォルトの名無しさん:02/01/27 04:38
ツッコミなら「HttpServletのコンテナ」を誤解しておいて
他人をアホ呼ばわりしている事に触れるべきかも
588デフォルトの名無しさん:02/01/27 04:44
それにしても>>585の文章は意味不明だ。
誰か解説たのむ。
589デフォルトの名無しさん:02/01/27 05:00
WEBブラウザ−じゃ嫌なんだとさ。
別にサーブレットのままでも独自のクライアントなどいくらでも作れるのに
ねえ。
590 :02/01/27 05:08
>>585はHTTPプロトコルのGETの仕様を調べるように!
宿題ですよ!
591586:02/01/27 05:24
>>587 あ、そうだ NE!
592デフォルトの名無しさん:02/01/27 08:13
JAVAでパラレルポート制御したいのだが
どのようにすれば良いか教えてくだされ。
RMIって簡単にいうとなんなのでしょうか?
また、どういうときに必要になるのでしょうか?
>>593
ネットワークの向こうのコンピュータ上にあるオブジェクトのメソッドを呼べるものです。
そういうことをしたいときに必要になるかも?
595デフォルトの名無しさん:02/01/27 11:09
>>593
別マシンのオブジェクトを操作できるようになる。
EJBとかで使ってる。

ところで、今更クライアントGUIについて勉強しようと
思ってんだけど、Swingやイベントについて、そこそこ
新しくて良い書籍ない?
この前「Javaグラフィックス完全制覇」って本を買っちゃ
ったんだけど、そのあまりの使えなさに後悔中。
core JAVA2 応用編は
>>595
とりあえず
http://www.cutt.co.jp/book/4-87783-051-0.html
は初心者向け(Java入門者向け)っつー感じなので
敬遠した方がよさそーです。
598デフォルトの名無しさん:02/01/27 11:50
>592
Communications APIって、パラレル使えたか、忘れたが

http://java.sun.com/products/javacomm/index.html

で、ダメだったら、DLLを準備して、JNI経由でなかろうか。
599595:02/01/27 12:20
>>596
core Java2は高いなあ。
とりあえず立ち読みしてみます。

>>597
サンクス。
Javaそのものに関しては初心者ってほどでもないので、
もう一歩踏み込んだ本が欲しい。
600ゲトズサー
601デフォルトの名無しさん:02/01/27 13:01
JAVA自習中の初心者です、よろしくオネガイシマス。
現在、ボタンとテキストフィールドとアイコン付きのラベルを組み込んだウインドウ
のアプリケーションを作ってるんですが、どうしてもアイコンが表示されません。
以下ソースです↓自分なりに色々考えたんですが理由がわかりません、先輩方教えて下さい。

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

public class SampleD7L4{
public static void main(String[] args){

JFrame myFrame=new JFrame("色々乗せたアプリケーション");

FlowLayout fLayout=new FlowLayout(FlowLayout.CENTER,5,5);

myFrame.getContentPane().setLayout(fLayout);

JButton myButton=new JButton("私はボタンでございます。");
Icon myIcon=new ImageIcon("smile.gif");
JLabel myLabel=new JLabel("アイコン付きラベルです。",myIcon,JLabel.CENTER);

JTextField myText=new JTextField("テキストフィールドです。",15);


myFrame.getContentPane().add(myButton);
myFrame.getContentPane().add(myLabel);
myFrame.getContentPane().add(myText);

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

try{
UIManager.setLookAndFeel(
"com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
SwingUtilities.updateComponentTreeUI(myFrame);
}catch (Exception e){
}

myFrame.setSize(250,100);
myFrame.setVisible(true);
}
}

>>601
画像ファイルの指定間違えてるだけじゃない?
試しにフルパスで指定してみたら?
指定まちがえたら
例外でなかったっけ?
604578:02/01/27 13:45
>>599
ORaillyのJavaクイックリファレンスと
JFCパーフェクトガイドっての使ってる。

結構いいかな、という感じ。
605601:02/01/27 13:52
>>602
>画像ファイルの指定間違えてるだけじゃない?
画像ファイルの指定とは、
>Icon myIcon=new ImageIcon("smile.gif");
この部分ですか?
フルパス指定とは
>Icon myIcon=new ImageIcon("*.gif");
これで良いんですか?
C:\\programfiles\\xxx.gif
607601:02/01/27 14:03
>>606
ありがとうございます。
試してみましたがやっぱり表示されません、無念です。
608デフォルトの名無しさん:02/01/27 14:17
Ruby! >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> JAVA
609Ruby!:02/01/27 14:19
氏ね 逝ってよし Java

こんな言語 鳥のクソだ!!!!

無料じゃすまん。使ったら金くれ。

やる気ねぇだろ?

死ねしね
その煽りは
つまり
Java > Ruby
といいたいってことか?
611デフォルトの名無しさん:02/01/27 14:24
Ruby!
>>608のコピぺ流行ってるよね(w。
漏れは無料のJavaでコード書いて金貰う仕事してますが、なにか?
Core Java2 応用編マジお勧め.
テーブル関連が(・∀・)イイ!!
>>612
推定3人だけどね、貼るやつ。
GUIコンポーネントのサイズってどのタイミングで決定されるんでしょうか。
まだ表示されないうちは正しい大きさってわからないものなの?

質問ですが、
アプレットで画像を読み込んで、その画像を縮小して、jpegにエンコードして
そのデータをCGIに渡して保存をするっていうのは可能ですか?
618デフォルトの名無しさん:02/01/27 17:40
>>616

コンポーネントサイズっていっても、いろいろあるからねー。
Window系 なんかの場合は setSize(int w, int h)

Panel とかの場合は、LayoutManager オブジェクトでレイアウトが決定する。あと Border なんかを追加したら大きさはまた変わるだろう。
ちなみに、追加先の Container の Layout が null の場合は setBounds で指定可能らしい。

じゃあ、Panelとかの setSize って何か意味あるのかといわれたら、よくわからん。
基本的には LayoutManager オブジェクトが決めることだ。

setPreferredSize なんてメソッドもあるが、これは、なんか場合によってはレイアウトの
初期値に使われる?
619デフォルトの名無しさん:02/01/27 17:56
最近Javaの勉強をはじめました。
int i = Integer.valueOf(s).intValule();

int i = Integer.parseInt(s);
って同じことだと思うんですけど、
違いとか使い分けとかってあるんですか?
好みの問題ですか?
>int i = Integer.valueOf(s).intValule();
Integerインスタンス生成するのが無駄じゃん?
621616:02/01/27 18:13
レイアウトがnullの時は、setSizeを行ったときですよね。
ではレイアウトマネージャはどのタイミングでコンポーネントのサイズを決定しているんでしょうか。
下の例だとshowするまでボタンの大きさがわかりません、
画面に表示する前にサイズを知りたいときはどうしたらいいのでしょうか。

import javax.swing.*;
import java.awt.event.*;
public class Hoge extends JFrame {
private JButton button = new JButton("あいうえお");
public Hoge() {
setSize(100,100);
getContentPane().add(button);
System.out.println(button.getSize());
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.out.println(button.getSize());
}
});
}
public void printStatus() {
System.out.println(button.getSize());
}
public static void main(String[] arguments) {
Hoge hoge = new Hoge();
hoge.printStatus();
hoge.show();
}
}
622619:02/01/27 18:36
>>620
なるほど。
parseIntがあるのに回りくどいなって思ったんです。
parse○○のメソッドがあるクラスでは
単純にparse○○の方を使えばいいんですね。
ありがとうございました。
>>601
自分で試してみたけど、そのコードで画像表示されたよ。
案外、画像ファイルが壊れてるとか?
>>617
画像が同じサーバ上にあるなら可能かな。
625デフォルトの名無しさん:02/01/27 20:45
JDesktopPaneにあるJInternalFrameを先頭にもってくる場合って・・

>> myDesktop.setSelectedFrame(frame);

でいいんじゃないの?
なんかこれでできなくて、奥の手(?)を使って

>> myDesktop.getDesktopManager().activateFrame(frame);

・・とやったら出来たんだけど、、これってJDKのバグ?1.3.01を使用中
ご存知の方いたら教えてください。
626デフォルトの名無しさん:02/01/27 20:59
>>625
単にJInternalFrame#toFront()でいいんちゃう?
627デフォルトの名無しさん:02/01/27 21:29
>>625
普通はframe.show()でOK→表示&最前面に移動
activeにするのはsetSelectedFrameが必要だったかもしれない、ためしてみて
628デフォルトの名無しさん:02/01/27 21:37
開発環境にForte for Javaを使っているのですが
Forte自身のLookAndFeelをWindowsにする事はできませんか?
JavaのLookAndFeelは見にくいのですが・・
背景画像をSETする方法を教えてください。
630デフォルトの名無しさん:02/01/27 22:23
Java-COMブリッジでExcelシートをJavaで読もうと思ったんですが、
Excelを起動せずに使えるものってありませんか。
>>630
JDBC-ODBC ブリッジドライバ
>>630
使い物になるのか知らないけど一応
http://poi.sourceforge.net/
633630:02/01/27 23:03
ありがとうございます。
Excel起動できることが必須だとすると、Javaでやる意味が薄れると思いました。
634571:02/01/27 23:23
遅レスですいません。
>>572 ,>>580さんありがとうございました。
良いきっかけをつかむことが出来ました。

JTableとJTreeってちょっと難しいですが、初心者なりにマスターしてみようと思います。
635デフォルトの名無しさん:02/01/28 00:12
JDialogのサイズを変更不可、つまり固定にするにはどうすればよいのでしょうか
636デフォルトの名無しさん:02/01/28 00:18
java.awt.Dialog#setResizable(boolean resizable)

ここにカキコするまえに、ドキュメント嫁。
やっぱり「ネタ心者歓迎!」ってタイトルは良くないかもね。
638635:02/01/28 00:53
失礼!

Dialogの方を調べるのをすっかり忘れてました。
ありがとうございました。
639デフォルトの名無しさん:02/01/28 03:19
Javaでシェアウェア作ってる人います?

試用期間一ヶ月であとは「カネだせ」のダイアログ表示しようと思うんだけど

1.日付
2.代金を払ったフラグ

をどこかにおぼえさせようとしても、Javaってレジストリ扱えないよね?
隠しファイルをどっかにおくっていってもマルチプラットフォーム意識するといろいろ問題ありそうだし、、

どーすりゃいいんでしょ??
>>639 毎回メッセージ
>>640
秀丸方式?
642デフォルトの名無しさん:02/01/28 03:47
毎回メッセージ出して、、パスワード入れたら適当なファイルつくって「代金払ったフラグ」にするって事だよね?
やっぱそういう手しかないんかなぁ・・
643 :02/01/28 03:49
サーバー+時限アプリ
>>640
YES
金払ったら差分 JAR ファイル配布。
645デフォルトの名無しさん:02/01/28 09:48
ちょい待て!
シェアウェアなんかつくってんの?
Javaの商用使用ライセンスとってんの?
取ってないと犯罪じゃないか?
>>639
とりあえずロイヤリティの支払いを怠ると契約違反です。
Java厨はSunはそこまで気前は良くないと思い知りましょう。
んなわけねー。
日本Sunにでも問い合わせてみれ。
前、JavaWorld(いつのか忘れた)にSunの人間へのインタビューが乗ってて、
商用アプリでもなんでもガンガンつくってくれみたいな話が載ってた気がする。
特に商用ライセンス契約はいらないよーみたいなやつ。
カンチガイだったら鬱氏。
649デフォルトの名無しさん:02/01/28 13:36
んー、コンパイラが吐き出したコードにライセンスがあるのかねえ・・・。
だとしたら、世の中のサーブレットやJSPは全部 "商用ライセンス" とやらを
取ってるんでしょうかねぇ。そんなわけないと思うんですけどねぇ。

オレが今開発してんのもライセンス違反なのか‥。鬱氏。
651デフォルトの名無しさん:02/01/28 19:13
みんなネタだとは思うけど、勘違いする人がいるといけないから。
以下はsunのページにあるQAから。

1. Is JavaTM technology free?
Most of the java.sun.com products and API's are free to download
and to use for commercial programming, including:

J2SE SDK (previously named the JDK)
JRE (latest version)
J2EE SDK
J2ME related technologies

The J2SE SDK and the JRE can also be freely redistributed,
provided that it is distributed with a value-add application
or applet. Each release has its own license, available from
the product download page.

Please note that prerelease software
(For example the JRE v1.4 Beta) is not free to redistribute.
We encourage developers to use production versions of the software.

652デフォルトの名無しさん:02/01/28 20:49
なんかJava Web Startのデモが起動できないんだけど、これって俺だけ?
http://java.sun.com/products/javawebstart/ja/demos_ja.html

↓ダイアログの汎用タブにこんなのが表示されるけど
--------------------------------------------------
アプリケーションの起動または実行中にエラーが発生しました。

タイトル : Draw 4
ベンダー : Sun Microsystems, Inc.
カテゴリ : ダウンロードエラー

リソース http://dlres.java.sun.com/servlet/com.sun.jsc.javasoft.jaws.JNLPServlet/j2se/j2re-inst-win-i__V1.3.0_02.jar を読み込むことができません
--------------------------------------------------

↓ダイアログの例外タブにはこういう例外が出とる。
--------------------------------------------------
NLPException[category: ダウンロードエラー : Exception: java.io.IOException: Server returned HTTP response code: 500 for URL: http://dlres.java.sun.com/servlet/com.sun.jsc.javasoft.jaws.JNLPServlet/j2se/j2re-inst-win-i__V1.3.0_02.jar : LaunchDesc: null ]
--------------------------------------------------

環境はWin98+IE6+JRE1.4.0_rc_b91
>>652
jre1.4 rc 消したら?
654デフォルトの名無しさん:02/01/28 21:04
>653
ていうか、JavaWebStartはこのJREに付属してる物だったし。
655Ruby!:02/01/28 22:28
なんだか知らないけど、Javaユーザって朝鮮人なんですか?
Javaなんて頭悪いっつうかおじゅうじぇくと指向言語とか名付けちゃうんですか?
いい加減死ねば?君達モニターの前で一人ニヤニヤしてて気持ち悪いよ?


なんだか知らないけど、Rubyユーザってタリバンなんですか?
Rubyなんて頭悪いっつうかおじゅうじぇくと指向言語とか名付けちゃうんですか?
いい加減死ねば?君達モニターの前で一人ニヤニヤしてて気持ち悪いよ?

657652:02/01/28 22:37
>656
そんな煽りに釣られてる暇があるんなら
俺の質問に答えてくれ・・。
658Ruby!:02/01/28 22:39
個人で趣味で何やろうと関係ない。
君が社長ならどうするかということだ。
ま、派遣なんだろうがな。君は。
社会の底辺君。おめでたいよ
659どこでも翻訳隊:02/01/29 00:39
>>651

1. JavaTM 技術は無料ですか?
java.sun.com 製品と API のほとんどがダウンロードして、そして商用のためにプログラミングを
使うことが自由です、それは下記を含みます:。

(以前に JDK という名前の) J2SE SDK 。
JRE (最近の版)。
J2EE SDK 。
J2ME 関連した技術。

それが value-add アプリケーションあるいはアプレットで配られるなら、 J2SE SDK と JRE は
同じく自由に再分配されることができます。それぞれのリリースがプロダクトダウンロードページ
からアクセス可能なそれ自身の許可証を持っています。

事前リリースソフトウェア(例えば JRE v1.4 ベータ)が再分配することが自由でないことに注意
してください。我々は開発者にソフトウェアのプロダクトバージョンを使うよう奨励します。
660デフォルトの名無しさん:02/01/29 01:10
>>659
Soundbankなんかもアプリに埋めて配布していいんですか?
661どこでも翻訳隊:02/01/29 01:24
>>660
折れは唯の翻訳隊なので >>651 に聞いたほうがいいと思うが…
要点は

 ・J2SE/JRE/J2EE/J2ME をなにかのアプリケーションの付属として配布しても良い。(まぁライセンスくらいは読め)
 ・プレリリース版は勝手に配布すんな。 (多分、未完全仕様/実装品を世に広めないために)

ということ。Soundbank ってなにか知らんが、プロダクト版 J2SE の
バンドルなら特に問題はないとおもわれ
662デフォルトの名無しさん:02/01/29 01:32
>>661
どうも。Soundbankは音源ファイルです。
DOCにJREは再配布可能って書いてあるんですけど、
JREにSoundbankが付属してない&HP(JavaMedia)に
何も書いてなかったもので。
わざわざありがとうございました。
663デフォルトの名無しさん:02/01/29 01:43
Javaでランダム制御ってできるんでしょうか?
例えばサイコロの目をランダムで出すみたいな・・・
>>663
java.util.Random
java.security.SecurityRandom
JAVAのVMではTemporaryフォルダにいきません。で、
以下のようなソースで返されたbyte[]をHashMapに(キー=url,値=byte[])

InputStream stream; byte[] data = null;
try { stream = url.openStream(); stream.read(data); stream.close(); }
catch(Exception e) { stream = null; data = null; return null; }; return data;

ローカルだと全く問題ないんですが、Web上ではできませんでした。
URLConnectionを使ってみてもダメみたいです、助けてください。
>>665
まず、自分が意味の通る文章を書いているか読み直せ。
>>665
文章は全然理解できなかったけど、とりあえず
catch節の中で、
e.printStackTrace();
して何でダメだったのか見てみれば?
>>666
すまん
>>667
例外はスローされてません。
対象のストリームを完全に読み込めてないです。
WAVファイルを鳴らすのであれば一瞬だけ鳴って終了です。
ローカルなら問題なしです。鯖側の問題でもなさそうです。
669663:02/01/29 03:01
>>664
サンクス!
Web上ではダメってどー言う意味?
アプレット?
>>670
そうです
672652:02/01/29 03:51
>>665
質問の意味が全く分からないけれど、そもそも
byte[] data = null;
なのに
stream.read(data);
をしたらNullPointerExceptionになるのでは?

あと、Java House(java-house.etl.go.jp/ml/topics/)の"バッファリング"の所に
☆read()は必ずしもバッファ配列の全部に読み込んでくれるとは限らない [j-h-b:4673]
☆InputStreamから全部をbyte[]に読み切るのに便利なByteArrayOutputStream [j-h-b:12963]
とかあるから、それを参考にしてみては?

ところで俺っちの質問が無視されとる(´・ω・`)ショボーン
>>672
同様のアプリも同じ状態(サウンドプレーヤー)
new byte[stream.available()] とかもう色々やっても無駄でした
ソースは末期のヘボソースです、紛らわしいの載せてすまん
読み込んだbyte[]はByteArrayInputStreamで読むようにしてますが
関係なさそうですね。
JavaHouse行ってみます。ありがとうございました。
>>673
まず、read() 一発で全データを読める保証が無いということに気づけ。
それから、質問するなら相手に意図の伝わる日本語書け。

InputStream in = null;
byte[] buffer = new byte[1024];
ByteArrayOutputStream out = new ByteArrayOutputStream();
try{
  in = url.openStream();
  while(true){
    int len = in.read(buffer);
    if(len < 0)  break;
    out.write(buffer);
  }
} catch(IOException ex){
  ex.printStackTrace();
} finally {
  try{
    if(in != null)  in.close();
  } catch(IOException ex){
    ex.printStackTrace();
  }
}
return out.toByteArray();
675JavaMailのクラスパス:02/01/29 08:57
javaMail API と JAF をダウンロードしてクラスパスを追加したのですが
コンパイルできません。
何が間違っているのでしょうか?
OSはwin2000,JDKは1.3.1です
クラスパスは以下のようになっています。

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
C:\jdk1.3.1_01\bin;
C:\jdk1.3.1_01\javamail-1.2\mail.jar;
C:\jdk1.3.1_01\javamail-1.2\mailapi.jar;
C:\jdk1.3.1_01\javamail-1.2\pop3.jar;
C:\jdk1.3.1_01\javamail-1.2\smtp.jar;
C:\jdk1.3.1_01\jaf-1.0.1\activation.jar;

調べていると
<JAVA_HOME>/lib/ext/
にmail.jar などを置くとクラスパスを通さなくても
良いと書いてあるのですが私のJDKには /ext ディレクトリが
見当たりません。どうか御教授お願いします
676652:02/01/29 08:59
(´・ω・`)ショボーン
>>675
{JAVA_HOME}/jre/lib/ext じゃなかったっけ?
>>676
Win2k + JDK1.3.1 + IE6 で別段問題ないが?
メッセージを見るとサーバが 500 Internal Server Error を返しているように思えるのだが。
Java Web Start って 1.4 もちゃんと対応してる?
679 :02/01/29 09:28
>>676
CATVかなんかだろ?
680JavaMailのクラスパス:02/01/29 09:35
>>677
家に帰ったら試してみます。
JDKのバージョンによって/extの場所が違うのかな?
でもクラスパスで指定してなぜコンパイルできないのだろう?
指定のしかた間違ってる?
681 :02/01/29 09:39
ディレクトリが間違ってるっぽい。
682JavaMailのクラスパス:02/01/29 09:55
>>681
どう間違ってる?教えてチョ
mail.jarなどをここに置かないといけないってことはないよね?
俺のパンチミスではないのか?ってこと?
それはないと思うけど。
683デフォルトの名無しさん:02/01/29 10:06
Java2DのcreateFontでフォントを読み込ませようとすると、
「hoge.ttfを開いています・・・」が表示された後、
java.lang.SecurityException: Unable to create temporary file
という例外が発生してしまいました。
(アプレットです。)

なにが悪いのでしょうか?
フォントを読み込む時になにか一時ファイルを生成するのですか?
684デフォルトの名無しさん:02/01/29 10:26
Javaのプロファイラでご推薦のがあれば教えてくださいゴルァ
685デフォルトの名無しさん:02/01/29 10:53
>>675
コンパイルエラーが、クラスがみつからない、というのは確かなの?
だったら、どのクラスが見つからないの?
686652:02/01/29 11:41
>679
違う。普通のISDN。
687厨房ですよ!:02/01/29 11:52
Java自習中の者です。
ボタンをクリックするごとにカウントアップするアプリケーションを作ってるんですが。
コンパイルエラーが出てしまいます、理由が解りません教えて下さい。
以下ソースです。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SampleD8L31 extends JFrame{
int intCount=0;
public SampleD8L31(String title){
super(title);
JButton mybtn=new JButton("カウントアップ");
JButton Clrbtn=new JButton("クリア");
final JLabel myLabel=new JLabel(intCount+"回クリックされました。",JLabel.CENTER);
mybtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
intCount=intCount+1;
myLabel.setText(intCount+"回クリックされました。");
}
});
Clrbtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
intCount=0;
myLabel.setText(intCount+"回クリックされました。");
}
});
JPanel myPanel=new JPanel();
myPanel.setLayout(new GridLayout(1,2));
myPanel.add(mybtn);
myPanel.add(Clrbtn);

this.getContentPane().add(myPanel,BorderLayout.NORTH);
this.getContentPane().add(myLabel,BorderLayout.CENTER);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
try{
UIManager.setLookAndFeel(
"com.sun.java.swing.plaf.motif.MotifLookAndFeel");
SwingUtilities.updateComponentTreeUI(this);
}catch (Exception e){
}
this.setSize(350,350);
this.setVisible(true);
public static void main(String args[]){ //ここにエラーがでます。
SampleD8L31 myApp=new SampleD8L31("Click Counter") ;
}    //ここにもエラー
}     //ここにもエラー



688652:02/01/29 11:53
>678
>Java Web Start って 1.4 もちゃんと対応してる?

うげ。「まさかなぁ」思いつつ1.4を削除し1.3を入れ直したら動いた〜よ。
でも、そもそも俺のJava Web Startって1.4に付属してきてるもので、
1.4のインストールと同時にインストールされた物だったのに、なんでだろ?

いずれにせよ、ありがとう。
689厨房ですよ!:02/01/29 11:57
見にくくてすいません、コンパイルエラーの内容はこうです。

式の開始が不正です。
public static void main(Sting args[]){

';'がありません。

’}’がありません。

よろしくお願いします。
>>687
厨括弧が足らんのと違うか? どこかは秘密だが。

>>688
見る限りサーバ側のエラーが原因だと思うんだけどなぁ?
JDK 1.4 の URLConnection の User-Agent が違ってるとか?
>675
PATHとCLASSPATHを混同しているように思われ?
692652:02/01/29 12:21
>>690
んとね。もう一度試したんだけれども。(リブートのタイミングとかは適当)

1.おいらのパソコンからSDK,JRE,Java Web Startを削除する。
2.リブート。
3.j2sdk1.4.0-rc-winをインストールする。(Java Web Startもこの時に自動的にインストールされる)
4.リブート。
5.demoを実行。>>652のエラー
6.おいらのパソコンからSDK,JRE,Java Web Startを削除する。
7.j2re-1_3_1_02-win-iをインストールする。
8.リブート。
9.javaws-1_0_1_01-win-intをインストールする。(1.4に付属してた物とverは全く同じ)
10.demoを実行。成功!

と、なっちまいます。

でも何でだろ〜?
693厨房ですよ。:02/01/29 12:27
>>690
解りました、ありがとうございました。
694675:02/01/29 12:48
>>691
PATHとCLASSPATHは違うの?
ドキュソな私に違いを教えてください
PATHにC:\jdk1.3.1_01\bin;を描いて、
CLASSPATHにJARのありかを書く。

PATHはコマンドを探す場所の指定。
(java.exeとかjavac.exeのある場所。

CLASSPATHはクラスを探す場所の指定。
696675:02/01/29 13:03
>>695
ありがと!でもPATHの指定の仕方はわかるけど
CLASSPATHはどうやって指定するの?WIN2Kでは?
>>696=675
環境変数を勉強しましょう。
698675=696:02/01/29 13:38
>>697
「システムのプロパティ」の環境変数の設定で
CLASSPATH という変数を新規で作って
そこに
C:\jdk1.3.1_01\javamail-1.2\mail.jar;
C:\jdk1.3.1_01\javamail-1.2\mailapi.jar;
C:\jdk1.3.1_01\javamail-1.2\pop3.jar;
C:\jdk1.3.1_01\javamail-1.2\smtp.jar;
C:\jdk1.3.1_01\jaf-1.0.1\activation.jar;
の指定をすれば良いのかな!?
>697
(win)
set CLASSPATH=%CLASSPATH%;c:\jdk\lib\hogehoge.jar; という感じ。

(unix)
export CLASSPATH=$:/usr/java/lib/hoge.jar

普通は、バッチファイル(シェル)かなにかで切り替えたりすると思うけど
面倒なら、autoexec.batに書くか、(.profileに書くか)
win2kなら、マイコンピュータ->プロパティ->詳細->環境変数で、書いておけ。
                         いじょ
JAR ファイルは CLASSPATH に設定するよか lib/ext に放り込む方法が推奨されてなかったっけ?
701675=696:02/01/29 14:00
>>699
ありがと!2CHでこんなに丁寧に
教えて貰えるなんて(涙
家に帰ったらやってみます
>>674
亀レス?ですいません。
ありがとうございました。その方法でやってみます。
>628
jre/lib/swing.propertiesに

swing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel

と書いておくと、デフォルトのLnFがWindowsになるようだ。
J2SE1.4 RC + Win2kで確認。
java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel Hoge
でも逝けた
705デフォルトの名無しさん:02/01/29 16:09
バランスシートとか損益計算書とか、いわゆる会社の数字をモデル化した Java
パッケージって、ありますでしょうか。

(できればオープンソースなもので)

(CORBA にもそういうインターフェースを定義したものはあるんですけども、
実際に簡単に使えるパッケージが欲しいです)
706デフォルトの名無しさん:02/01/29 17:12
JavaでGraphics2D とかの
g.drawStringで文字が化けるのは何故でしょう?
ソラリス環境で…

setFontしてもだめなのですが…
因みに同じコードを別のソラリス環境で動かすとOKなんですがね〜
707デフォルトの名無しさん:02/01/29 18:28
>>703
??
jre/lib/swing.properties
がありません。
自分でつくってみたのですがうまくいきませんでした
jdk1.3.1_02
j2sdk1.4.0-rc
で試しましたがNGでした。???
あ、あとWinXPですが。。

>>704
だめっぽいです、、というのもForteがどこからJVMを立ち上げているのかわからないので、、
(openfile.batのコールに追加したのですがだめでした)
>>706
自己レスっす

サンのバグって分かったす!
もういいです


Sunのバカタレ〜
JAVAでCGIにリクエスト⇒CGIが処理⇒CGIがJavaに結果を返す。
というのはできるのでしょうか?
URLConnectionを使うと思うんですが、
CGIにはどういったことを書けばいいのでしょうか?
ソースにCGIの処理結果を書いて、それを解読?
710デフォルトの名無しさん:02/01/29 22:18
J2EEのセキュリティでレルムの概念がわからんです(´・ω・`)ショボーン
具体的にどう扱えるもんなんでしょう?
711デフォルトの名無しさん:02/01/29 22:57
>>709
CGIからどんな文字列を返すかということ?
>>706
フォントが無いんでわ?
>>709
CGIでリクエストを読んでJavaのプログラム側で欲しいレスポンスを
書き出せばいいんでは?
HTMLを戻すのなら必要な部分を抜き取る必要があるね。
>707
Forteが自前でL&Fの設定してるのかもね。
ほかのSwingアプリはどうなってる?
715709に横レス:02/01/29 23:33
709のことについて私も教えて欲しいです。

JavaからCGI(perl)側でデータを受けとって、それをまたJavaに返す時、
CGI側では「print文」で送信したいデータを書きこめば、基本的にはOKなんで
すか?(要はCGI→Javaの逆送信の仕方とJava側の受取の方法についての疑問)

ドキュソな横レスですが教えてください(宜しければこのようなことが分かる
URLか書籍名もお願いします)。

716709:02/01/29 23:59
>>711
そうです。
printで処理した文を書いて、JAVAで読み取る。
そうすると、CGIにリンクされときに不安が残るんです。
よーするにCGIとJavaの互いの文字エンコーディングが揃ってればいいんだろ?
718デフォルトの名無しさん:02/01/30 01:33
バランスシートとか損益計算書、固定資産、流動資産、株、etc... いわゆる会社の数字をモデル化した Java パッケージって、ありますでしょうか。
>>718
Java製であることが目的なのか???なんだそりゃ。
720デフォルトの名無しさん:02/01/30 01:42
NetBeans で JUnit のテストスイートって
どうやってコンパイルすればよいんでしょう?

1) [File]-[New]-[JUnit]-[SimpleJUnitTest] でソース作成、編集
2) テスト対象のクラス(HelloWorldに毛の生えたようなもの)
3) コンパイルすると
HelloWorldTest.java [8:1] パッケージ junit.framework は存在しません。
import junit.framework.*;
とのたまう。

work around 1)
 テスト対象のmain()で System.getProperties().getProperty("java.class.path")
 の中に junit.jar が含まれることを確認
work around 2)
 NetBeans をインストールしたディレクトリの bin/runide.exe の出力をみて
 クラスパスに junit.jar があることを確認。
work around 3)
 [Tools]-[Option]-[Building]-[Compiler Type]-[Internal Compilation] で
 Classpath に junit.jar を無理やりいれてコンパイル。でもだめ。
work around 4)
 散々指定していしている junit.jar が壊れていないことを jar で
 展開できることで確認。

内部コンパイラと外部コンパイラの切り替えもわからん…。
どなたか教えてください。
721720:02/01/30 01:45
あ、Windows2000 + J2SDK 1.4.0 RC + NetBeans 3.3 + JUnit Module 2.3 です。
module のバージョンはちょっと正しいかどうかわからないです。
でも、こんな出力が出ました。
Unit tests [org.netbeans.modules.junit/2 2.3 ${buildnumber}]

お願いします
722デフォルトの名無しさん:02/01/30 16:43
始めてjavaをいじってるのですが、
ディレクトリを選択して、その中のファイルの数、を検索する
標準の関数ってありますか?

最終的に、ディレクトリ構造を3次元の木で表現しようと思ってます。

助けて・・・
>>722
java.io.File#list()
java.io.File#listFiles()
適切なJARファイルを作りたいんだが動かすアプレットもしくはアプリケーションが
使用する全てのクラスファイルの一覧を出すようなツールってないかな?
AWT関係もでてほしい。
昔のVisualCafeの機能でそんなのアッタな。、、
726724:02/01/30 18:11
>>725
sj.exeのことですか?
あれバグなのか使用なのかわからんが自作コンポーネントを*使ってimportすると
リストにでてこなくなるから使えないんだわ。
727724:02/01/30 18:45
sj.exeを越える便利で使えるツールはないのか?
(´・ω・`)ショボーン
自分で書いちゃえば?
画像のbyte配列を読み込んで
その画像上に線を引いたり絵を描いたりしてから
JpanelやJLabelなどに表示したいのですが
どうやったら、できますか?
730707:02/01/30 20:45
>>714
調査しました。
ForteのWindowsLookAndFeelですが
ide.cfgというファイルにコンパイルオプションを指定して動作してる様です。

このファイルに
-ui com.sun.java.swing.plaf.windows.WindowsLookAndFeel

を追加すればWindowsルックになるはずだったのですが・・・
OutOfMemoryとかいってForteがコケました
(なんでこれだけのことで・・・・)

WinXP Pen3-650MHz 384MRAMで確認
731デフォルトの名無しさん:02/01/30 20:52
上に商用ライセンスの話があったけど
結局商用ライセンスなんていらないんだよね?

ずっと不思議なんだけどsunはどこで金取ってるの!?
732A:02/01/30 20:53
昔Perlの勉強始めた時,ナッツ&シェルの本が参考になったし,
網羅的でよい本でした.
Javaのナッツ&シェルの本はどうでしょうか?
733デフォルトの名無しさん:02/01/30 21:12
>>729
>画像のbyte配列を読み込んで
byte配列ってファイルのこと? 形式は?
>その画像上に線を引いたり絵を描いたりしてから
誰が絵を描くの? 人間? プログラム?
>JpanelやJLabelなどに表示したいのですが
>どうやったら、できますか?
javaで画像を扱うのは、ImageとかGraphicsだから、その辺りを
まず勉強すれば。
質問が大雑把すぎて、とても答えられない・・・。
>>731
Soralisとか?
735デフォルトの名無しさん:02/01/30 21:44
>>734
Soralisはいいとして
Javaって言語に対してどうやって金をとってるでしょう?
言語フリー、開発環境フリー、アプリ配布フリー
実行環境フリー・・・・
・・まじで不思議なんですけど
Solaris だ。
>>736
ぐはぁ。R と L の違いがわからない人です。ごめんなさい。
>>735
別に企業が求めているのは目先の利益だけじゃないよ。「現在の」仕事に繋がる
のはもちろん、業界内での発言権とか将来的な会社の安定に繋がるようなものも
十分投資する理由になる。実際 Sun は「Java 標準」を握っていることで業界から
かなりのアドバンテージを受けていると思うし、フリーで配布ってのも社会受けが
良い。まぁ多少損があっても遊びながら利益に結びつけようとしている所が Sun
っぽくて良いんだけどね。小難しい研究や実装は Think difficult の IBM や
オープンなコミュニティがやってくれてるし。

今だからライセンス料取ってれば良かったなんて言えるけど、アプレットひとつ作る
のにライセンス規約読まなきゃいけないようじゃここまで普及しなかったろうね。
今の C# が「商用利用はライセンス契約が必要、無料の場合はうんたらかんたら〜」
なんて言ったら普及すると思うか?
739デフォルトの名無しさん:02/01/30 23:08
>>738
C#については開発環境で金取ってペイしてるんじゃないの?
sunの場合金取るところってvmのライセンスだね。
これでどれだけ稼げてるのかは判らないけど

もし
>> 業界内での発言権とか将来的な会社の安定に繋がるようなもの
のためにsunがJavaをフリーにしてるとしたらスゲー決断だと思うのは俺だけ?
>>729
つまりJavaでVRAMにじかに書いたりメモリ上にイメージ書くことは
出来ないっつーこった。
オールJavaではすべてSun様が用意したクラス頼み。

>>739
Sunは「Microsoftへの嫌がらせ」なら利益度外視でやる会社だからな。
JavaでOSの縛りを外して、クライアントにNetPC(懐かしや)を、
サーバにSolarisを、というビジネスを考えてたんだろ。

# そろそろスレ違いか
ちゅうか JDK0.9 の頃から Java 見てて執拗なまでに感じたのが

> まぁ多少損があっても遊びながら利益に結びつけようとしている所が Sun
> っぽくて良いんだけどね。

と思っただけ。一応企業なんで対MS策とかIBM取り込みとかも
絡んでるけど、まぁそりゃ政治的な話。個人的には 5 年後くらいに
ゴスリンが「すまん、全部お遊びで作ったんた!」とか言いそうな
(ほんとにそうだけど)。まぁいつでも貧乏学生の精神でやってる
のが Sun っぽい所かな

>>739
>>> 業界内での発言権とか将来的な会社の安定に繋がるようなもの
>のためにsunがJavaをフリーにしてるとしたらスゲー決断だと思うのは俺だけ?

Java のフリーはそのためだけじゃないだろうけど、どこの会社も
間接的に利益になる投資くらいやってるんじゃ。将来育ちそうな
企業に仕事まわしたり、伸びそうな分野に手を出したり。
>>740
つってもその辺はハードや OS 依存じゃないの?
Java 理念としてはクラスで包むしかないような。
>729
そのイメージが例えばRGB888とかの形式に
なってるならMemoryImageSourceで、
JPEGとかGIFのデータならToolkitのcreateImageで、
Imageオブジェクトを作る。

でもただのImageオブジェクトだとgetGraphics出来ないから
別にBufferedImageを作ってそこに読み込んだイメージを転送して、
それから上に重ねて描画処理。
745デフォルトの名無しさん:02/01/31 00:50
File.delete()でファイルを
削除しようとしたんですがfalseが返されて削除できない場合があります。
File.delete()でファイルを消そうとしてfalseが返される場合って
どんなときなのでしょう?
>>745 http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/io/File.html#delete()

ファイルが存在しないとか、読み出し専用になっている場合
削除前に File#exists() と File#canWrite() 呼ぶと何を返す?
747  :02/01/31 01:00
アクセス権が無い場合。
ファイルが無い場合。
ファイルを誰かがOPENしてる場合。
パスが違う。
748デフォルトの名無しさん:02/01/31 01:01
3面のJavaが倒せません。
749JAVAを始めるために:02/01/31 01:27
師匠「荒行だ!荒行をせねばJAVAは習得できん。まずはこの冷水で体を清めろ」

弟子「わかりましたお師匠様」

「ジャバー」
750745:02/01/31 01:28
ファイルは存在しており、書き込みもできます。
というか通常では削除できるのです。特定のイベントを起こした
後に削除しようとすると削除できなくなっているのです。
パス名はイベントを起こす前と後で出力させてみましたが全く同じ
でした。それゆえに解決策がわからないのです。
751デフォルトの名無しさん:02/01/31 01:31
ファイルを誰かがOPENしてる場合。
>>750
そのイベントとやらが何なのかわからんと
なんとも言いようが……
753 :02/01/31 01:45
女の幽霊が画面一杯に出てきて「キャー」イベントだったり・・・。
754745:02/01/31 01:49
すみません。解決できました。
そのイベントでファイルをオープンしっぱなしでクローズするのを
忘れていたためでした。単純なミスで恥ずかしいです。
意見をくださった方ありがとうございました。
755 :02/01/31 01:55
まだ3面のJavaが倒せません。
JDBCでExpectionがスパゲティーです。
>>750

File file = new File("C:\Program Files\Apache Group\...")

とかやってない? 存在しており、とか、通常では削除できる、とか
どうやって確証したのか第三者に分からない。

というか特定のイベントの後なら、ファイルがオープンされた
ままになっているに一票か。

Write out = null;
try{
  File file = new File("hoge.tmp");
  out = new FileWriter(file);
  out.write("hello, world");
  file.delete();
} finally {
  if(out != null)  out.close();
}

とかやってない? もしくはまったくクローズしてなくてストリーム
オブジェクトの GC に任せちゃってるとか。
757icbm:02/01/31 03:19
デルファイ6使ってます
フラッシュを再生させるコードを教えていただけますか?
フラッシュのアクティブXを取り込んで
ショックウェーブフラッシュって白い四角を貼り付けるまではしました。
758icbm:02/01/31 03:27
スミマセン間違えました!逝って来ます
759>>709:02/01/31 04:18
cgiとjava連帯って言うページがあります。このページにはお世話になりました。
http://www.tetras.co.jp/yada/j_java_cgi_r.htm
愚連隊みたいでヤダナ
761デフォルトの名無しさん:02/01/31 12:37
void ServletRequest::setAttribute(java.lang.String name,
                  java.lang.Objectobject)
こんな宣言の書き方はよく使われるのでしょうか?(特に::)
本を見てもこのような文法の説明がなくて困っています。
この意味もよく分からないんです。よろしくお願いします。
762デフォルトの名無しさん:02/01/31 12:40
遅レスだが >>722

>最終的に、ディレクトリ構造を3次元の木で表現しようと思ってます。
それ、既にあるよ。
去年の Night4Java(JavaOne Yokohama)で 1stPrize取ってる。
http://www.donothing.jp/filetree/
763デフォルトの名無しさん:02/01/31 13:56
>>761
Javaの文法的な話をしているなら

メソッド(関数)をそんな風に単独で「宣言」することはJavaではないから
「使わない」

ドキュメントや説明の話だとすると
Javaでは「::」の部分は # を使うな。
 . ピリオドでもわかるからどっちかつかっとけばいいんじゃないか?

ちなみに # 使う理由は
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html
みたいなHTMLを自動生成するjavadocっていうツール(JDKに含まれる)
で#が使われているから。

SUNのサイトのどっかに # を使うって規約文書があったような気もする。
764761:02/01/31 14:05
>>763
そうですよね、文法的にはないですよね。
サンプルプログラム中に書いてあったのではなく、本文の
説明書きの中にありました。
一瞬Perlか?と目を疑ってしまいました。
javadocに準じた書き方をした方がいいのですね。上記のsunの
サイトを眺めながら、Servletの自習をしていて?だったのです。
ありがとうございます。

Access+VBからjava移行中なので、javaめちゃむずいです。
頑張ります。
765729:02/01/31 14:56
とりあえず>>744さんの意見を参考に
      byte[] byData = getByteImage();
ImageIcon ii = new ImageIcon( byData );
Image im = ii.getImage();
ImageObserver io = ii.getImageObserver();
BufferedImage bf = new BufferedImage( im.getWidth(io), im.getHeight( io ), BufferedImage.TYPE_INT_RGB );
Graphics2D g2 = bf.createGraphics();
g2.drawImage( im, 0, 0, io);
g2.fill3DRect(0,100,100,200,false);
ii.setImage(bf);
g2.dispose();
jLabel1.setIcon(ii);

こんな感じで作ったら、動きましたです。
こんなやり方であっているデスか?
>>765
いいんじゃないの? 無駄が多い気がするけど。
767709:02/01/31 15:29
cgiの出力をreadLine()で読み込むところでつまづいてるんですが
print "abcde";でprintした文字列を
if(reader.readLine() == "abcde"){}
でやっても、マッチしません。改行文字を消すのかなぁ。
PerlのchompにあたるJavaのメソッドは何?
768 :02/01/31 15:35
まず表示しましょう。
769729:02/01/31 15:47
>>766
今後のためにどの辺りが無駄か教えてもらえると嬉しいのですが・・・
おながいします。
>>767
文字列の比較は == じゃだめ。

String line = reader.readLine();
if(line == null)  /* EOF 処理 */;
if(line.equals("abcde")){
  …
}
>>767
文字列の比較は equals 使え。
772729:02/01/31 16:57
とりあえず動いたからいいのだが微妙に気になることが一点。
ImageからGrapicsを作れないのは何でですか?
Image#getGrapics()とかあるのになぜなんでしょう
>>772
MemoryImageSource とかを使って作った
Image から getGraphics() してみれば?
>>772
Imageってメモリやビデオカード上のビットマップだけじゃなくて
ネットの彼方からダウン中のGIFファイルだったりすることもあるから。
本来ImageってImageSourceと表示デバイスをつなぐ単なるインターフェースみたいな物。
(だった?Java2でイメージモデル拡張されたらしいけどそっちは知らない)
775***********:02/01/31 22:22
エクスプローラとかの右側にあるような奴を作りたいのだが
(フォルダとかファイルとか)
あれはImageのサブクラスを作ったほうがいいのか、
CanvasとかにImageを持たせてFrameに貼り付けた方がいいのか、
どっちだと思う?
それとも、もっと良い方法あるの?
>775
アフォ?
777デフォルトの名無しさん:02/01/31 23:49
MS932 , Cp1252 , SJIS ....
とかJavaの持っているエンコード識別文字列の一覧を取得するAPIってどれ!?
これがわかんなくて今String[] enc = {"MS932" , "Cp1252 ..... }
ってだせー事やってる。。
誰か教えてくださいまし
>>777
ラッキー?
池田?
javaアプレットでBufferedImageはつかえないの?
作ろうとしても実行時に例外エラーでます
781777:02/02/01 00:22
ちょっとラッキーかも(笑)
てゆーか、誰か教えてください(泣)
>>775
Swingコンポーネント使うことにして、JTable使うべし。

>>777
何で全部必要なの?
ローカルのデフォルトならSystemプロパティから取れるけど。
あと、JVMが必ずサポートしているのは、これだけらしいよ。
それ以外はランタイム提供してるベンダの気分次第つうことか。


Java プラットフォームの実装はすべて次の文字エンコーディングをサポートする必要があります。他のエンコーディングがサポートされているかどうかを調べる場合は、実装のリリースノートを参照してください

US-ASCII 7 ビット ASCII (ISO646-US/Unicode 文字セットの Basic Latin ブロック)
ISO-8859-1 ISO Latin Alphabet No. 1 (ISO-LATIN-1)
UTF-8 8 ビット Unicode 変換形式
UTF-16BE 16 ビット Unicode 変換形式、ビッグエンディアンバイト順序
UTF-16BE 16 ビット Unicode 変換形式、リトルエンディアンバイト順序
UTF-16 16 ビット Unicode 変換形式、必須初期バイト順序マークで指定したバイト順序 (入力の場合はいずれの順序も受け入れ、出力はビッグエンディアン順序)

>>780
もしかしてローカルディスクのファイル使ってイメージ作ってる?
サンドボックス制限の回避をしないと…
783777:02/02/01 02:04
>>782
え!!っていうことは「MS932」がサポートされてなくてもJavaとしてはしらねぇって事!?
つまり、InputStreamReader(inputStream, "MS932")ってコーディングはマルチプラットフォームにならないって事!?

そんなぁ〜(泣)

いや、だったら余計自分のVMがサポートしてる文字列を取得したいよ

やりたい事は、UTF-8で読み込んだファイルを色々なエンコードでファイル保存。なんだけど。。


784782:02/02/01 02:13
SunのJDKだとコンバータクラスはsun.ioパッケージだからなあ…

JAVA_HOME\jre\lib\rt.jar
JAVA_HOME\jre\lib\i18n.jar
あたりにどんなコンバータクラスがあるか調べればいいかな?
解凍するとか(!)リフレクション使ってどんなコンバータクラス
持ってるか調べるとか…
785777:02/02/01 02:25
>>782
色々ありがとうございます。
調べてString[]={"MS932" ,"Cp1252" ... とテーブルにしておいたとしても
それはSunのJDKを使用しないと動作保障されないって事ですよね・・

だったらSunのJDK専用ソフトって事でもいいんだけど
せめて起動時にSunのJDKで動いてなかったらワーニングダイアログ出したいが・・
jvmの種類を調べるAPIってないですよね?バージョンは取れるんですが・・

このソフトあきらめるか・・(泣)

>>783
1.4では標準化されてjava.nio.charsetパッケージに
収録されてる。java.nio.charset.Charset#availableCharsets()
あたりでいけそう。問題は1.4でいいのかってところかな。
787782:02/02/01 02:38
>>785
Systemのプロパティに
java.vm.vendor=Sun Microsystems Inc.
とかあるけど…なんか変な方に逝ってるような。

クラスローダやリフレクションあたりのテクニックで、
実行時に、指定したエンコーディングを行えるコンバータ
クラスがあるかどうかチェックしてみる、というのが
やりたいことの実現としては一番近いかも。

>>786
1.4正式リリースまで待てば、解決ですか。
えっと、数値を右揃えに整形するのに、

String s = "00000" + value;
s = s.substring(s.length() - 6);

よりもいい方法ってありますか?
789デフォルトの名無しさん:02/02/01 06:19
public class Hoge {
    String s = "\u000a";
}
これ、なんでコンパイル通らないんでしょうか?

public class Hoge {
    String s = "\012";
}
こっちは通るんですが。
790JAVA厨:02/02/01 09:08
Javaこのごろ書き始めた初心者です。

Appletのサブクラスのpaint(Graphics g)に、直に
g.drawstring("hoge",100,100);
とすれば、hogeは当然書き出されますが、この文を「talker」という
クラスとそのなかにdrawTalk(Graphics g)メソッドを作って、
Appletのサブクラスのpaint(Graphics g)からGraphic gを引き渡して
呼び出そうとすると、コンパイラにGraphicsクラスがない、と怒られます。
「ジャワハウス」さんの方でいろいろ検索してみると、
Graphicsクラスのサブクラスにすべきでない、とか
Canvasクラスのpaintメソッドでやる、とか
書いてあったのですが、初心者ゆえわからずじまいです。

そこで質問なのですが、appletのサブクラスのPaintメソッドで
かかれるようなものを上記のように別クラスで実現させる方法を
教えていただけませんか?

こんなもの前にスレで回答は出てる、のならそのスレを教えていただけませんか?
また、このサイトに実例が載ってる、というものがあれば
それも教えていただけませんか?

厨房ですが、宜しくお願いします。


791デフォルトの名無しさん:02/02/01 09:29
>>790
>コンパイラにGraphicsクラスがない、と怒られます。
これは、java.awt.Graphicsをimportしてないってことじゃないの。
792 :02/02/01 09:34
>>789
0x0aはNew Lineだからではないかな。
http://www.e-words.ne.jp/page.asp?p=r-ascii

つまり
public class Hoge {
  String s = "\u000a";
}

public class Hoge {
  String s = "
";
}
に等しいのでは。
793JAVA厨:02/02/01 09:39
>>791
でました。すみません。
794 :02/02/01 10:06
>788
>えっと、数値を右揃えに整形するのに、
>String s = "00000" + value;
>s = s.substring(s.length() - 6);
>よりもいい方法ってありますか?

DecimalFormat f = new DecimalFormat("000000");
String s = f.format(value);
というやり方もあります。
795780:02/02/01 11:14
BufferedImage im;

init()
{

im=new BufferedImage(100,100,BuffedImage.TYPE_INT_BGR);
}
こんなかんじでここで実行事例外が出ちゃいます

プログラム自体これだけのものなんですが
>>795
BufferedImage が
Java 2(jdk1.2)以降でないと使えないのを知らない、
とかそーゆー事ではないよね?
797デフォルトの名無しさん:02/02/01 11:32
>>795
BufferedImageはjdk1.2以降じゃないと使えない。
ブラウザは対応している?
798780:02/02/01 11:38
>Java 2(jdk1.2)以降でないと使えないのを知らない
これはわかってました
>ブラウザは対応している?
IE5じゃ対応してナインスカ

ピクセル操作したかったんですけど他になんか
いいクラスはないでしょうか?


JDKかJREの最新版入れているならIEの詳細設定で
MS版とSUN版のVMきりかえられるんじゃなかったっけ?
800デフォルトの名無しさん:02/02/01 14:09
UnsupportedEncodingExceptionが発生するかどうかで判断したらよくない?<サポートしてるエンコード

それはそうと
"Shift_JIS" == "MS932" != "SJIS" ってのは合ってますか?>識者の方
Shift_JIS が SJIS になるのっていつからだっけ?
どっかで読んだ記憶が…
802 :02/02/01 14:22
"Shift_JIS" != "MS932" != "SJIS"
だと思った。
803 ◆JavaWbug :02/02/01 14:56
MicrosoftVisualJ++は、何か使い道残ってませんかねぇ?
804デフォルトの名無しさん:02/02/01 14:59
掲示板に書き込むと、「http://www〜」がリンク付きで(クリッカブルURL?)
表示されるのをBeansで書いてみたいのですが、javaって正規表現がなかった
ような・・・ここからここまでがurl〜というのをどうやって検索するもの
でしょうか?よろしくお願いします。(既出でしたらごめんなさい)
806デフォルトの名無しさん:02/02/01 15:08
>>804
正規表現のパッケージはいくつかあるよ。
例えば、
http://jakarta.apache.org/oro/index.html
見てみて。
807800:02/02/01 15:15
>>805
まとめると、1.2以降では
"Shift_JIS" == "MS932" != "SJIS"でいいってことだね。
そもそも、1.1.xには"MS932"がないから"Shift_JIS"使うしかない、と。

もう1.3しか使わないから"Shift_JIS"でいいや。ありがと。
>>800
ちなみにこっちも見ておくと良いかも。
http://www.ingrid.org/presentations/javaone-japan-2001/
809804:02/02/01 15:31
>806
ありがとうです〜
こんなクラスがあるのですね!英語が苦手なので、
http://www.ingrid.org/jajakarta/oro/
を見ました。マニュアルがまだ英語なんですね・・・
実際に書く場合、先頭が「http://」から始まる、が必要なのは
分かるのですが、逆に文末(?)の判断はどのように書くべきなの
でしょうか?よろしければお教え下さい。
810デフォルト名無し:02/02/01 16:28
1秒ごとにアプレットを描写し直したく、いろいろイジクっているのですが、
次のソースで、ボタンをクリックするとフリーズしてしまいます。

public void actionPerformed(ActionEvent E){
long t1 = System.currentTimeMillis();
int i = 0;
for(i =0; i <60; i++){
while( System.currentTimeMillis() - t1 <1000){
}
t1 = System.currentTimeMillis();
this.currentAngle -= 6;
if(this.currentAngle == 0 ){
this.currentAngle = 360;
}
repaint();
}
}
1秒ごとのアクションは、これではできないのですか?
良い方法があったら教えてください。
811 :02/02/01 16:50
>>810
別スレッドでrepaint()したら。
812 :02/02/01 16:52
>while( System.currentTimeMillis() - t1 <1000){}
それと、これも止めてsleep(1000)にしたら。
private Thread animator = null;
public void actionPerformed(ActionEvent E){
  if(animator != null)  return;
  animator = new Thread(){
    public void run(){
      Thread.sleep(1000);
      currentAngle -= 6;
      if(currentAngle == 0){
        currentAngle = 360;
      }
      repaint();
    }
  };
  animator.start();
  return;
}
814:02/02/01 17:14
ループさせてなかったし例外も忘れてた。

public void run(){
  try{
    while(! isInterrupted()){
      Thread.sleep(1000);
      currentAngle -= 6;
      if(currentAngle == 0){
        currentAngle = 360;
      }
      repaint();
    }
  } catch(InterruptedException e){/* */}
  return;
}

停止させるときは:

animator.interrupt();
animator = null;
ちょっと気になったんだけど、
instanceofってあるじゃん?
それって
左辺はObject型だよね〜。
右辺ってなに?
(String型か、)Class型とかで代用できるの?
>>808
これって将来的に"Shift_JIS"使えなくなる(SJIS相当になる)ということ?
HTTPヘッダでcharset=Windows-31Jとか返すのか・・・
そんなの嫌だ・・・
>>798
java.awt.image.MemoryImageSource
>815
instanceofっていうバイトコード命令があるんです

Classで判定したいときは
Class.isInstanceOf(Object object)
を使いませう
>>815
>818の答えは微妙にずれているような、、、
強いて言えば参照型の識別子
オブジェクト変数の宣言の行の頭に書いてあるものと同じ。

ttp://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#80289
820デフォルト名無し:02/02/01 21:43
>>811>>814
thanks a lot!!!

なるほど、Theadでの処理ですか?やってみます。
ところで、このやり方は某初心者向けの本を元にしたのですが、
System.currentTimeMillisは処理が重いからということなんですかね?

PS 仮眠してたので、レスが遅くなりました。
  今からバイトです。
>>820
まずいのは while(){} が無駄に CPU パワーを消費していること。
前のソースだと CPU 使用率 100% がずっと続くのでまともな
アプリケーションにはならない。もし「それ」をその本の例でやっ
てるなら捨てて良し。いや、むしろ晒せ。

System#currentTimeMillis() はぜんぜん問題ない。
822デフォルトの名無しさん:02/02/01 22:34
誰か可愛そうな >>803 に愛の手を。
>>818
Class型はそう使うのか・・・。
でもinstanceofって何故かなじめない・・・。
予約語がbooleanを生成するのが何故か不自然な感じ・・・。
まあ良く使えばそのうち馴染むだろうけど。
>>823
馴染めないで良い。
instanceof を使わなければ何かが出来ない時は、設計者として負けた時だと思え (極論だが)。
>>824
だな。
むやみやたらにinstanceof使ったif文が出てくるソースは見たくない。
826777:02/02/01 23:42
>>786
貴重な情報ありがとうございます!
エンコードソフトは1.4で作成します。
にしても、正式版いつ出るんでしょうね〜

SJIS != MS932だよね?
827デフォルトの名無しさん:02/02/02 01:05
>>824
リフレクション絡みや、ダイナミックプロキシとかの
メタプログラミングの手法を取り込んでるときは、
instanceofなしは難しいと思うぞ。フレームワークっ
ぽいの作る時は、汎用性を上げようとするとどうしても…
RMIとかも、バリバリ使ってるみたいだ。
>>803
何事もなかったかのように、マイクロソフト拡張をオンにして、
Windowsアプリをバリバリ書く。
829デフォルトの名無しさん:02/02/02 07:39
JDBCについて教えてください。
ConnectionからPreparedStatementを取得するけど、
Connectionを閉じてしまっても、そのコネクションから
取得したPreparedStatementはその後も使いまわせますか?
830780:02/02/02 12:14
イメージバッファに文字を書いて
その文字ピクセルをいじれればとおもったのですが
MemoryImageSourceのバッファをGraphicsで扱えないんでしょうか?
>780
PixelGrabber使えばImageオブジェクトから
ピクセル値をbyte配列で取り出せるよ
832デフォルトの名無しさん:02/02/02 14:42
>>831

けどさ、PixelGrabber って、普通に自前で生成した BufferedImage に対して
使うと、実はちょっと変になって出力されたりしないか?


Shape s = new Polygon(〜〜);
Graphics2D g = (Graphics2D)imageBuffer.getGraphics();
g.draw( s);
g.fill( s);

なんか、fill メソッドに Shape オブジェクトを渡して塗ろうとしたときに変に
なるんだよね。塗られる位置が 1ピクセルほどズレたりする。


これは俺の予測では、Raster と SampleModel をしっかり調整しないとダメっぽ
いような気がしている。

俺はもうこの時点で、疲れて別の代替策を考えたけど・・・< Shape オブジェクト
で塗る。
833デフォルトの名無しさん:02/02/02 14:43
Windows98 系で動く EJB サーバなんてあるでしょうか?????
834デフォルトの名無しさん:02/02/02 15:00
>>833
Win98系でEJBサーバ動かす意味なんてあるでしょうか???
835デフォルトの名無しさん:02/02/02 15:06
>>834

都合により、どうしてもやりたいんですが、、、
やはり、存在しないんですかね。
836デフォルトの名無しさん:02/02/02 15:08
>>832

追記。
PixelGrabber が悪いわけじゃなくて、BufferedImage の fill メソッド
がちょっとおかしいじゃないか?

というお話し。
837デフォルトの名無しさん:02/02/02 15:08
>>835
PureJavaで出来てれば、動く事は動くでしょ。
起動用の環境設定のやり方を教えてくれるネタがないだけで。
>>829
無理。同時に PreparedStatement もクローズされる。
つーか、やってみりゃいいだろ。
>>835
保証外ってだけで動いてしまうものもけっこうあると思われ、、、
>>833
大抵の Windows 用 EJB コンテナは動くとおもわれ。
>836
BufferedImageにピクセル単位でアクセスしたいときは
WritableRaster使うのが普通なんでないの?
842 :02/02/02 16:20
Windows98でEJBの勉強しようかなと思って
J2EEをDLしてきて、"j2ee -verbose"を実行しようとしたら
"構文が違います"というエラーがでました。

調べたら%J2EE_HOME%bin\setenv.batの
set JAAS_OPTIONS=-Djava.security.auth.policy=%J2EE_HOME%\lib\security\jaas.policy
という文が駄目なようです。"="が2回出てくるのがWin98的に不味そうです。

元々J2EEはWindows98での動作保証なんて無いのは知ってましたが、
やっぱり無理なのかにゃ?

Windows98の環境変数の値に"="を含める方法ってありますか?
-Djavaなんたら ってのはJVM起動オプションなので、
環境変数から取らないで、自前で起動バッチ作る方が
速いかもねー。
844デフォルトの名無しさん:02/02/02 16:40
ちゅうか、普通、そんな J2EE 付属のじゃなくて、

http://www.jboss.org

みたいなコンテナ専用サーバ使うんじゃないのけ?
2000いりゃれりゃあああ
846842:02/02/02 16:46
>>843 それでもいいかにゃ?
>>844 なんか素晴らしそう。フリーかにゃ?
>>845 無職で引き篭りの俺にそんな金はねえぇぇぇぇんです!!!バカ!!
847845:02/02/02 16:54
バカとはなんだバカとは
848デフォルトの名無しさん:02/02/02 16:54
>>846

しかし、俺が試してみたところ、俺は Windows98 ユーザだが、
うまく動かなかったがな。
2000ホチイヨー。XPは要らん。
Micromedia JRun Server 3.1J Developer版 (日本語)
Linux, Solaris, Win95, Win98, WinNT, Win2000 ― 無期限, 同時接続制限 3
http://jrun.itfrontier.co.jp/product/JRun_Server_30.cfm

IBM WebSphere Application Server Advanced Single Server Edition 4.0, Developer (日本語)
Linux, WinNT, Win2000 ― 六ヶ月有効版
http://www14.software.ibm.com/webapp/download/search.jsp?go=y&rs=wsassed

BEA WebLogic Server 6.1 (英語? 使ったことない)
WinNT, Win2000, Solaris, HP-UX, AIX, Linux
http://commerce.bea.com/downloads/weblogic_server.jsp

Windows 95 なら JRun がお勧めかな。以前一台の 95 (98だったかも) に JRun 積んで
3人くらいで開発していたから。
851デフォルトの名無しさん:02/02/02 20:04
>>828
おぉ、バリバリやるぞぉ〜!
レス有難ぉ。
WebObjects5.1から、Servlet,JSP,EJBも使えるようになったよ。
http://www.apple.co.jp/webobjects/index.html

それでも、WOFとEOFには遙かに及ばないけど。
前に仕事で、Servlet,JSP,EJBでやったら3ヶ月かかったアプリを、
個人的に趣味でWOで1から組み直したら1ヶ月かからんかった。

ちなみに、¥72,800の1パッケージに、開発環境&運用環境が入ってる。
開発はWindows2000&MacOSXのみ。
運用は、Java2環境なら全部OK。
対応DBは、JDBC2.0準拠ならなんでも可。
運用環境は、同時接続数無制限、1CPU単位でなく、1サーバ単位で¥7万。
以前は、¥700万以上だったのにな。今や1/100だ。
853デフォルトの名無しさん:02/02/02 21:38
まえにSwingがいいかAwtがいいかで質問させていただいたものです。
その節はお世話になりました。
多くの方の推薦もあってSwingをはじめました。そこで、次のようなコードを
書いたら動きました。(MouseAdapterのまねです。)

JButton btn = new JButton("BTN");
btn.addActionListener(new ActionListener()
  {
   public void actionPerformed(ActionEvent evt){
    ...
   }
  });

しかし、ActionListenerはインターフェースですよね。こんなことをしても
よいのか疑問になってきました。動くには動くのですが、たまたまなのか、
合法なコードなのか心配なのです。
どなたか教えていただけないでしょうか。
よろしくお願いします。
854853:02/02/02 21:41
すみません。質問の趣旨は、
「インターフェースであっても、メソッドを上書きするように、
名無しのオブジェクトを作る」(要するに上のようにする)のが、
正しいやり方かどうかです。
よろしくお願いします。
あなたはそこでActionListerを実装(implements)したクラスをそこで定義しているのです.
深く知りたかったら「無名クラス」について調べてみましょう。
なかなか面白い仕組みです.
857853:02/02/02 21:53
>>855
>>856
さっそくのレスありがとうございました。
(話の流れから言って、私へのレスですよね。)
なんだか、少しわかったような気がします。
858デフォルトの名無しさん:02/02/03 01:45
>>832

import java.awt.*;
import java.awt.image.*;

public class FillShape {

public static void main( String[] args){
new FillShape();
}

public FillShape() {
Polygon poly = new Polygon();
poly.addPoint( 8, 0);
poly.addPoint( 16, 8);
poly.addPoint( 8, 16);
poly.addPoint( 0, 8);

ImageViewer comp = new ImageViewer( createImage( poly) );
Frame frame = new Frame();
frame.add( comp);

frame.setSize( 100, 100);
frame.setVisible( true);
}

static Image createImage( Shape shape){
Rectangle rect = shape.getBounds();
BufferedImage image =
new BufferedImage( rect.width, rect.height, BufferedImage.TYPE_INT_RGB);
System.out.println( image);
Graphics2D g = (Graphics2D)image.getGraphics();
g.setColor( Color.blue);
g.fill( shape);
g.setColor( Color.red);
g.draw( shape);

return image;
}

}

class ImageViewer extends Component {
Image image;

public ImageViewer( Image image){
this.image = image;
}

public void paint( Graphics graphics){
graphics.drawImage( image, 0, 0, this);
}
}

// うまく fill されない様子が分かります。
// 改善方法を教えてください。
あ、JHBに投げたね(藁
JDK1.4.0-rcで見ると特に問題ないように見える。(小さすぎてよく解からんけど)
俺も上手く塗れてると思うけど。

赤いラインが切れてるけど、
これはImageのサイズが16*16(0〜15、0〜15)しか無いのに、
16, 8や
8, 16
に塗ってるのが問題かと。

↑Java2Dには全く興味ないしやった事も余り無いので俺の直感なんだけどね。
あ、こういうことかな?

つまり16 * 16のImageの場合、
座標はxが0-16, yも0-16なんだけど
drawLine(0, 0, 0, 16)をした場合
x座標の0と1の間が塗られる。
だから座標の16を指定した場合は、16-17の間が塗られるんだけど
Imageは16*16なので塗ることが出来ない。
たしか、Graphics.draw(Shape shape)の動作って、

Shapeに対して一回り大きいShapeが作られて
そこから元のShapeを取り除いた領域に対してfillが行われる

っていう感じだったと思った。
ので実行結果的にはそれで正常。
>>862
drawにはStrokeが関わるはず・・・
BaiscStroke.createStrokedShape(Shape)
の動作がそうなってる、ということで。
うーん、正確には

> Shapeに対して一回り大きいShapeが作られて
> そこから元のShapeを取り除いた領域に対してfillが行われる

っていうのもちょっと違うんだけどね。
まあ要するにg.draw(shape)するには
shape.getBounds()では狭すぎる、っていうことです。
866超初心者:02/02/04 04:57
JAVAの超初歩的なことわからなくて聞きたいんですが、JAVAでいうオブジェクトってクラスのことなの?いろんなクラスを組み合わせて一つのソフト作るってこと?なんかクラスとメッソドってよくわかんないのです。誰か助けて!

クラス:オブジェクトの設計図(みたいなもの)
    オブジェクトのもっている状態や振る舞い(メソッド)を記述

オブジェクト:クラス(設計図)によって実際に作成されたもの

って説明でいいかしら?
>>867
>オブジェクト:クラス(設計図)によって実際に作成されたもの
狭義ではそうだが、普通はそれをインスタンスと呼ぶ

広義ではクラスもインスタンスも含めてオブジェクト
869デフォルトの名無しさん:02/02/04 11:43
>>865 普通は867の理解で困らない。

「クラスもオブジェクトの一種」という考え方は
リフレクションが必要になるまで後回しにしといたほうが
混乱しないで済むと思う。

言語や環境によっては
「クラス ⊂ オブジェクト」が
サポートされてなかったりするし。(C++とか。)
870デフォルト名無し:02/02/04 12:23
質問です。
Aクラスを継承したBクラスがあります。BクラスではAクラスのdrawメソッド
(図形を描く類)をそのまま使っています。今、AとBの描く図形の色を変え
たいと思い、getFillColor(Graphics g)メソッドを作りBクラスで
オーバーライドしています。そしてAのdrawメソッドの中でgetFillColorを
呼び出して色を決定しようと考えているのですが、違う色になりません。

Bクラスのインスタンスで、オーバーライドしていないためAのdrawメソッドから
呼び出しているgetFillColorメソッドは、BのgetFillColorメソッドを
呼び出さないのですか?
871870:02/02/04 12:27
Aのdrawメソッド→drawメソッド

すみません。こう読みなおしてください。
872デフォルトの名無しさん:02/02/04 12:56
>>870
>Bクラスのインスタンスで、オーバーライドしていないためAのdrawメソッドから
>呼び出しているgetFillColorメソッドは、BのgetFillColorメソッドを
>呼び出さないのですか?
そんなことはありません。getFillColorをちゃんとオーバーライドしていれば、
呼び出されます。
873870:02/02/04 14:08
ソースを出します。やはり呼び出されていません。

package graphicstest;

import java.awt.*;
public class MiniteHand {

protected point2D core;
protected point2D edge;
private point2D uRight;
private point2D uLeft;
private point2D bRight;
private point2D bLeft;
private double length = 100.0;
private gApplet app;
private Color color;

/**デフォルトコンストラクタの空定義*/
public MiniteHand() {}
/**コンストラクタの定義*/
public MiniteHand(int angle) {
/*******ここは関係ないので省略*********/
}
public void draw(Graphics g){

/*******この以前は関係ないので省略*********/
getFillColor(g);
g.fillPolygon(Xs,Ys,Xs.length);
g.setColor(this.app.currentColor);
g.drawPolygon(Xs,Ys,Xs.length);
}
private void getFillColor(Graphics g){
g.setColor(Color.red);
g.drawString("In the MiniteHand",0,30);
}
}

public class HourHand extends MiniteHand {

public static double length = 75.0;

public HourHand(int angle) {
/*******ここは関係ないので省略*********/
}
private void getFillColor(Graphics g){
g.setColor(Color.blue);   //青にならない
g.drawString("In the HourHand",0,40);  //表示されない
}
privateは継承されない
875870:02/02/04 14:41
失礼コキマシタ(プ
876へぼへぼ:02/02/04 18:14
 はじめまして。へぼへぼな質問をさせてください。
 それは、標準出力で、Serializableなクラスのインスタンスそのものを
出力できないか、ということです。
 やりたいことは、クライアントからProcessをつかってrshをよび、サーバー側
のクラスを実行します。その結果の入ったクラスを、Process.getInputStream
を使い、ObjectInputStream経由で取得する、という物です。
 ふつうに文字列を標準出力した場合は、ちゃんと取得できるので、
全く不可能とは思えないのですが・・・。

 よろしくお願いします。
>>876
出来るんじゃないの?
878へぼへぼ:02/02/04 18:25
>>876
あぅ。やっぱりできるんですね。
今日一日、それで詰まってるんです。
ぜひ、ご教授願います。
【送信側】
AbcBean bean = new AbcBean();
ObjectOutputStream out = new ObjectOutputStream(System.out);
out.writeObject(bean);
out.flush();

----------------------------
【受信側】
ObjectInputStream in = new ObjectInputStream(process.getInputStream());
AbcBean bean = (AbcBean)in.readObject();

これで出来ないなら Base64 かなにかで ASCII にして出力すれば?
ちゅうか、上の説明だけじゃどこで躓いてるのかサパーリわからんよ。
880へぼへぼ:02/02/04 19:22
すいません。もう少し詳しく書きます。
自分なりに調べて、上記の様にはしたのですが、readObject()で、
「UTFDataFormatException」が発生してしまいます。
また、処理を簡略化した物では、「EOFException while reading the
stream header」となってしまいます。
 出力するクラスの規模は全く違うのですが、それ以外は
ほとんど変わりません。

頭がいっぱいいっぱいです・・・。
>>880
なら多分標準出力にバイナリ食わせているのが問題なのだろう。

--------------------------------------
【送信側】
AbcBean bean = new AbcBean();

// シリアライズされたバイナリを取得
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(baos);
out.writeObject(bean);
out.flush();

// ASCII 文字の 16 進数で出力
byte[] binary = baos.toByteArray();
for(int i=0; i<binary.length; i++){
  System.out.print(Character.forDigit((binary[i] >> 4) & 0x0F, 16));
  System.out.print(Character.forDigit((binary[i] >> 0) & 0x0F, 16));
}
System.out.flush();

--------------------------------------
【受信側】
// ASCII 文字の 16 進数をバイナリに変換
InputStream in = process.getInputStream();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while(true){
  int ch1 = in.read();
  int ch2 = in.read();
  if(ch1 < 0 || ch2 < 0)  break;
  int bin = (Character.digit(ch1, 16) << 4) | Character.digit(ch1, 16);
  baos.write(bin);
}

// バイナリからオブジェクト復元
byte[] binary = baos.toByteArray();
ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(binary));
AbcBean bean = (AbcBean)in.readObject();

--------------------------------------
もっとちゃんとやりたかったらデータ長と MD5 でも付けれ。
というか一回 RMI を勉強すると幸せになれるかもしれないと思ってみたり。
ゔ、ObjectOutputStream を flush() した後に close() しないとなにか出るかも…。
883デフォルトの名無しさん:02/02/04 20:18
JInternalFrameを(マウスかなんかで)選択した時のイベントうけとりたいんですけど

frame.addInternalFrameListener(new InternalFrameAdapter() {
public void internalFrameActived(InternalFrameEvent evt) {
System.out.println("選択された");
}
} );

これでいいんじゃないの?なんか出来ないんだけど、なんかおかしい?
こんにちは私はinposeek名誉会長桂様といいます
このたびIE拡張ツールinfoseekBarを改造してすごいソフトを作制しています
しかし残念なことに私の力だけでは改造しきれぬほどに高機能化してしまいました
そこでこのインポコシークバーの改造協力者を募集しています
私よりも高度な改造ができるという方はぜひとも
http://pc.2ch.net/test/read.cgi/win/1012018757/
までおいでください
来ない人は自動的に私以下のプログラマのレッテルを貼りますのでよろしく
桂様でした(拍手)
885デフォルトの名無しさん:02/02/04 20:29
>>833
internalFrameActivatedだよ
多分スペルミスでしょ
ゔゕゖ゗゘゙
゚゛゜ゝゞゟ゠
887Java初心者:02/02/04 21:00
Javaで「Hello World」(笑)
http://logos.jp/development/javahello/
888デフォルトの名無しさん:02/02/05 02:01
JTableでカーソル移動したらイベント受け取ってカーソル位置を検出したいのですが・・

myTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
 public void valueChanged(ListSelectionEvent evt) {
  if (evt.getValueIsAdjusting()) {
   System.out.println("X: " + evt.getLastIndex());
  }
 }
} );
myTable.getColumnModel().addColumnModelListener(new TableColumnModelListener() {
 public void columnSelectionChanged(ListSelectionEvent evt) {
  if (evt.getValueIsAdjusting()) {
   System.out.println("Y: " + evt.getLastIndex());
  }
 }
} );

これでいいんとちがうの?何か違う?
マウスでセルを選択したら検出してくれたものの、カーソルでの操作は一切だめでした
APIが膨大でどーすればよいのかわかりませぬ、誰か助けて・・
889デフォルトの名無しさん:02/02/05 02:06
final table = myTable;
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
 public void valueChanged(ListSelectionEvent evt) {
  if (!evt.getValueIsAdjusting()) {
   System.out.println("X: " + table.getSelectedColumn());
   System.out.println("Y: " + table.getSelectedRow());
  }
 }
} );

コレでいいんちゃう?あと、getValueIsAdjustingなイベントは
捨て対象だよ。ディスパッチしちゃだめ。
890デフォルトの名無しさん:02/02/05 08:18
j2sdk1.4.0-rcを使ってるんですが、
次のように定義したクラスの中で定義した、
public class Hoge extends JFrame implements KeyListener {
  :
}

KeyPressed関数でTABキーを検出するにはどうしたらいいのでしょうか?
public void keyPressed( KeyEvent ke ) {
  int code = ke.getKeyCode();
  :
}

TABは予約されてるとか・・・SUNの文書には書いてあったんですが、
なんとか使う方法は無いですかね?
public boolean isManagingFocus() {
return true; // hack
}
ってのも試したんですけど、ダメでした。

それから、TABを検出する方法があったとして、
その際に生じる可能性のある不具合はどんなものがありますか?
891デフォルトの名無しさん:02/02/05 08:28
あるストリングからスペースとタブを取り除くのは
どのような方法を使うんでしょうか?
892デフォルトの名無しさん:02/02/05 13:45
Exceptionてなんですか?
そんぐらい辞書使わなくても…
ってツッコミは却下ですか?
895デフォルトの名無しさん:02/02/05 14:27
>>894
exceptionてなに?具体的にどういうふうに作用するの?
参考書読んでもなにがなんだかさっぱりわからないです
>>895
自分でコード書いて動かしてみたか?
897Calendar.getDefalt:02/02/05 15:10
また厨な質問でスミマセン。

ジャワハウスさんのほうで、年月日時刻を取得するのに、

Calendar calendar = Calendar.getDefault(TimeZone.getTimeZone("JST"));
Date currentTime = new Date();
calendar.setTime(currentTime);

としてありました。Calendarの引数無しコンストラクタでは、JSTではなくGMTを返し、
日本時間より8時間ずれてしまうようです。

しかしながら、「Java 2 SDK 1.3 日本語ドキュメント 」には、
CalendarクラスにgetDefaultメソッドなんか載っていません。

これはいったいどういうことなのでしょうか?
下のクラスで追加されたメソッドなのでしょうか?
>>897
現在時刻の Calendar インスタンスがほしいなら

Calendar cal = Calendar.getInstance();

だけで良い。ちゃんと JSP になってないならマシンのタイムゾーン設定が
おかしいんだろう。
899烏龍茶:02/02/05 15:17
>>898
JSP ⇒ JST
900ズザー
>>895
具体的には君の事だよ、
君のように動作するから
catchしてあげてるじゃん?みんな
JBuilderより軽くて
コンポーネントの配置が楽チンにできるのあります?
903デフォルトの名無しさん:02/02/05 17:59
public class a {
 public class inner {
  static public final int A = 55;
 }
 public static a getInstance(){
  return new a();
 }
 public static void main(String[] args){
  System.out.println("A = " + a.getInstance().inner.A);
 }
}
このコードなんですがコンパイルできません。(jdk1.3)
publicインナークラスにアクセスするときはインスタンス経由では
アクセスしては行けないってことでしょうか?
うふふ
>>903
>コンパイラで例外が発生しました。(1.3.0_02)
>プログラムと次の診断情報を添付の上、バグ報告を
>[email protected] 宛てにお送りください。
>よろしくお願いいたします。
こんなの始めてミターヨ

変なことはするな、ってことだ。
ちゃんと内部クラスのインスタンス作ってやんなきゃ

public class InnerTest {

class Inner {
int a = 5;
}

Inner getInner() {
return new Inner();
}

public static void main(String[] arguments) {
InnerTest test = new InnerTest();
//InnerTest.Inner inner = test.new Inner();
InnerTest.Inner inner = test.getInner();
System.out.println(inner.a);
}
}
907903:02/02/05 18:21
>>906
でもね、途中に変数かますとちゃんとコンパイルできるし、実行結果も正しいのよ。
なんか納得いかん。

public class a {
 public class inner {
  static public final int A = 55;
 }
 public static a getInstance(){
  return new a();
 }
 public static void main(String[] args){
  a instance = a.getInstance();
  System.out.println("A = " + instance.inner.A);
 }
}
System.out.println("A = " + a.innner.A);
と同じ意味だよそれわ。
909JCP勉強中:02/02/05 18:27
staticでないネストクラスがインスタンスされる場合、
外側のクラスのインスタンスが必要です。
きっと正常動作ですよ( ^_^ )
910905:02/02/05 18:39
>>909
外側のクラスのインスタンス作ってるし。勉強しなおしだな。
911903:02/02/05 18:40
>>908
それはわかってます。実を言うとこのコードは僕が書いたものではなくて他の部署(海外)から
回ってきたものなのです。どうしてもコンパイルがとおらないので調べていたらこういう事だと分かりました。

とリあえずコンパイル通すのにgetInstance()をはずしていますが、これはjavacのバグなのでしょうか?

>>909
その問題とは微妙に違うと思うのですが。インナーからアウターをアクセスするのではなくて
外からインナーをアクセスするときの話です
つーか、クラス変数にアクセスするのに
インスタンス指定する書き方はやめれ。頼むから。

class Hoge {
static int foo;
}

Hoge hoge1 = new Hoge();

に対して
× System.out.println(hoge1.foo);
○ System.out.println(Hoge.foo);
まあ
そうすりゃ問題ないんだけどな
914903:02/02/05 19:05
>>912
ちなみにクラス変数だけでなくクラスメソッドに対しても同じ現象が起こります。
Java七不思議の一つ
916デフォルトの名無しさん:02/02/05 19:24
>>912

class Hoge {
  static int foo;
}

Hoge hoge1 = new Hoge();
Hoge hoge2 = new Hoge();

に対して、
System.out.println(hoge1.foo);
System.out.println(hoge2.foo);
ってなことをしたいときは、どうしたらいいんですか?
設計を見直す
>916
System.out.println(Hoge.foo);
System.out.println(Hoge.foo);

としてくれ。
919デフォルトの名無しさん:02/02/05 19:38
public class Hoge {
  public int foo;
}

public class Giko {

 Giko() {
  Hoge hoge1 = new Hoge();
  Hoge hoge2 = new Hoge();

  System.out.println( hoge1.foo );
  System.out.println( hoge2.foo );
 }

 public static void main(String args[]) {
  new Giko();
 }
}
ってな感じのも、設計見直しですか?(;_;)
>>918
最初はインスタンスフィールドだったのをあとでクラスフィールドに
書き換えた場合、参照してるところを全部書き換えるの?
>919
別に問題なさそうだけど?
922919:02/02/05 19:50
>>921
ん???
ってことは、>>916 の話は、

public class Giko {

 class Hoge {
  static int foo;
 }

 Giko() {
  Hoge hoge1 = new Hoge();
  Hoge hoge2 = new Hoge();

  System.out.println( hoge1.foo );
  System.out.println( hoge2.foo );
 }

 public static void main(String args[]) {
  new Giko();
 }
}

ってな感じのがダメだと言うことですか?
923デフォルトの名無しさん:02/02/05 19:57
JButtonとかに使うボタン画像の素材をおいてるページ知りませんか?
SunのLook and Feel Graphics Repositoryも見たんですけど、
他にもないのかなーと思いまして。。。
http://developer.java.sun.com/developer/techDocs/hi/repository/
>891
trim()
次スレは「Java相談室 その5」でお願いします.>AA達者な方
>>922
staticの意味を理解していないのでは?
927919:02/02/05 21:34
>>926
|_・) そのあたりをかいつまんで教えていただけませんか?
>>927
インスタンス一個に一個ずつあるのがインスタンスフィールド(=スタティックついてない奴)。
クラスで一個しかないのがクラスフィールド(=スタティックついてる奴)。

あるクラスを沢山newすると、newして出来たインスタンス一個ごとにインスタンスフィールド
は一個ずつ、別々のメモリ領域にある。でもクラスフィールドは、常に1個しかない。

OK?
929919:02/02/05 22:18
class Student {
  static String SchoolName;
  String name;
}

Student Giko = new Student();
Student Hiroyuki = new Student();

ってしたときに、
Giko.SchoolName と Hiroyuki.SchoolName は
クラスフィールドを指してることになるから、
Giko.SchoolName == Hiroyuki.SchoolName == Student.SchoolName
は同じ内容を指す。

Giko.nameとHiroyuki.nameはインスタンスフィールドを指すので、
Giko.name != Hiroyuki.name で、Student.name は器(?)だけを指す?
ということでしょうか?用語に間違いがあったら指摘お願いします。m( )m
>>929
合ってるよ。
931891:02/02/06 00:27
>>924さん、ありがとう。

でも、trim()って、ストリングの両端のスペースを除去するんですよね?
ストリング中のスペースやタブも除去したいんですが、どうすれば
いいのでしょうか?
>>931 自分でやる。

String text = "...";
StringBuffer buffer = new StringBuffer(text.length());
for(int i=0; i<text.length(); i++){
  if(! Character.isWhitespace(text.charAt(i))){
    buffer.append(text.charAt(i));
  }
}
text = buffer.toString();
933デフォルトの名無しさん:02/02/06 01:12
デザインパターンをJavaで勉強し始めたのですが
ソースが碌に読めません。
Cの知識は多少あるのですけれど。
どうすればよいでしょう?

・それでもひたすらソースを読む。
・とにかく書く
・入門書からやる

などなんでも良いんでアドバイスくださいまし。
934デフォルトの名無しさん:02/02/06 01:20
>>933
結城さんの本がお勧めだよ。みんな良いって言うし、勿論
俺も良い本だと思う。
「JAVA言語で学ぶデザインパターン入門」ってやつ。
Javaのソースも必要最低限のレベルだし。
935烏龍茶:02/02/06 01:24
とりあえず本に載っているサンプルでいいから書く、改造する
改造する改造する。ある程度作れるようになったら 1 から
自分の考えたソースを書く。書く書く書く。そしてじっくり本を読む
また書く書く書く、本を読む、の繰り返し。たまに他人のソースも読む。
936931:02/02/06 01:50
>932 ありがとうございます
937 :02/02/06 02:15
>>933
デザインパターンなぞ低級霊がやるものです。
「俺って天才かな」と1度でも感じた事のある人は才能が削られてしまうので
読んではいけません。
アンチになりましょう。
938age:02/02/06 02:15
VB6をXPで使っているんですが、
急にMSDNが開けなくなったんです。
分かる人がいたら教えてください。
939 :02/02/06 02:17
おそらく、ハックされているのでしょう。
940デフォルトの名無しさん:02/02/06 02:18
>>938
書き間違えてるぞ。
ここはJavaの質問。
氏ね。
>>938
http://www.microsoft.com/japan/developer/library/
こっちに同じのがあります.IEで見ましょう
942938:02/02/06 02:24
>>940
すいませんでした。
>>941
参考にします。
943デフォルトの名無しさん:02/02/06 02:37
誰か教えてくれ。
ランタイムエラーでアプリが突然終了し、↓の内容のログファイルができる

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION

どうしたらいいのかさっぱり見当がつかん。教えてくれ。
944デフォルトの名無しさん:02/02/06 02:38
>>943
とりあえず日本語訳でもしとけ。
945 :02/02/06 02:43
VM外のネイティブコード上で謎の例外ハッケソ。
VIOLATIONってなんだか判らないがACCESSってあるから
アクセス権の無い資源(多分ファイル)にアクセスしようとしたのでしょう。
>>945
おしい。アクセス権の無い資源とはメモリ領域のこと。
とりあえず環境と状況とそのときに出たもの書け。
948924:02/02/06 02:57
>931
そっか、途中にもあったりするのか。
ちなみに両端ならタブも除去できるよん。
お役に立てなくてスマソ。
949デフォルトの名無しさん :02/02/06 03:13
JAVAで乱数でランダムな文字列を配列に入れたんですが
それを、アプレット上に1行で表示するにはどうしたらいいのでしょうか?
1文字ずつしか、表示したことないので、、
950919:02/02/06 03:16
>>930
お礼が遅くなりました。どうもありがとうございました。m( )m
>>494
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/awt/Graphics.html
drawString() の y 値をループで増加。
952943:02/02/06 04:24
>>945
日本語訳ありがとう。

>>946 >>947
環境はWindows98, jdk1.3

JOptionPane使ってダイアログを表示させる。
で、showXXXの戻り値を拾ってなんかやってるんだけど、
その最中にエラーが発生。
面白いのは、完全に同じことをやっても、こういうエラーが
出るときと出ないときがある。つまり、問題無くうまくいくときもある。
また、ログファイルなぞできずに、普通に強制終了する場合もある。
助けてくれ。
953デフォルトの名無しさん:02/02/06 04:25
コード変換について教えて下さい。
Windows98にて以下のプログラムを動作させました。
-----------------------------------------------------------------
import java.io.*;
public class CodeTest {
  public static void main(String[] args) throws Exception {
    String text1 = toEUC("隣りの客は良く柿食う客だ");
    String text2 = toEUC("東京特許許可局");
    String text3 = toEUC("バスガス爆発");

    PrintWriter out =
      new PrintWriter(
        new FileWriter("tmp.txt"));

    out.println(text1);
    out.println(text2);
    out.println(text3);
    out.flush();
    out.close();
  }

  private static String toEUC(String text) throws Exception {
    return new String(text.getBytes("EUC_JP"));
  }
}
-----------------------------------------------------------------
出力されたファイルを秀丸にて"EUC"で見ると以下の様になります。
-----------------------------------------------------------------
隣りの客は良く柿食う客だ
顛?探・・超・
バスガス爆発
-----------------------------------------------------------------
どうも、一部の文字が正しく変換されないようです。
例えば「山田タロウ」も「山田タ・薦」に成ってしまいます。
文字化けしない正しいコード変換のし方があれば教えて下さい。
>>953
String#String(byte[])は、与えられたバイト列をホストネイティブの
エンコーディングとみなしてStringオブジェクトを作る。
953の環境ではMS CodePage932がネイティブだろうから、EUCJPのやつ
を渡したら化けて当たり前。

正しく出力するには、java.io.OutputStreamWriterあたりがいいと思う。
955953:02/02/06 07:39
思考錯誤した結果、以下で正しく表示できました。
----------------------------------------------------------------
import java.io.*;

public class CodeTest {
  public static void main(String[] args) throws Exception {
    DataOutputStream out =
      new DataOutputStream(
        new FileOutputStream("tmp.txt"));
    out.write("東京特許許可局".getBytes("EUC_JP"));
    out.flush();
    out.close();
  }
}
----------------------------------------------------------------
>>954さんのアドバイスを見て、以下を試しましたが、此方は文字化けしました。
----------------------------------------------------------------
import java.io.*;

public class CodeTest {
  public static void main(String[] args) throws Exception {
    OutputStreamWriter out =
      new OutputStreamWriter(
        new FileWriter("tmp.txt"));
    out.write(toEuc("東京特許許可局"));
    out.flush();
    out.close();
  }
  private static String toEUC(String text) throws Exception {
    return new String(text.getBytes("EUC_JP"));
  }
}
----------------------------------------------------------------
何か僕は勘違いしているのでしょうか??
とりあえず、>954さん有難うございました。
激しく勘違いしてるよ。
FileWriterのヘルプ見ること。
・FileWriterは使うな、と書いてある.
・toEUC()なんてメソッドは必要ない。
957956:02/02/06 08:03
あぁ、前半ではtoEUC()使ってないのか。
OutputStreamWriterのヘルプ見ること
・String#getByte()なんて必要ない。
958烏龍茶:02/02/06 08:26
import java.io.*;
public class CodeTest {
  public static void main(String[] args) throws Exception {
    PrintWriter out = new PrintWriter(new FileWriter("tmp.txt", "EUC_JP"));
    out.println("隣りの客は良く柿食う客だ");
    out.println("東京特許許可局");
    out.println("バスガス爆発");
    out.flush();
    out.close();
  }
}
959956:02/02/06 09:04
FileWriter(String, String)なんてコンストラクタはないのだけど・・・
1.4で追加されたか?
960烏龍茶:02/02/06 10:32
間違えた。

PrintWriter out = new PrintWriter(new OutputStreamWriter(new FileOutputStream("tmp.txt"), "EUC_JP"));
961新スレ1:02/02/06 13:20
新スレ立てました。
初心者歓迎! Java相談室 その5
http://pc.2ch.net/test/read.cgi/tech/1012968994/
どうやったらJavaで1000Getズザーできますか?

private String getZuzzer( int i ) {
 if( i = 1000 ) {
  return "ずざー";
 } else {
  return null;
 }
}

これが、コンパイルできないんです。
2行目のあたり。
963デフォルトの名無しさん:02/02/06 14:10
Forte って、どうなんですか?
JBuilderは重いのでForteにしてみようかと思ってるんですけど・・・
964デフォルトの名無しさん:02/02/06 14:12
>>962
もっと面白いネタを頼む。

i == 1000
(・∀・) 1000!!

       /⌒彡
     / 冫、 ))
    / ~ヽ ` , ((((  ティモテ
    | \ y  ))))   ティモテ〜
    |   ニつ))つ    フォルテ〜
    |、ー‐ < ((
    /   ヾ \、
  // しヽ__)〜
 ~〜〜〜`





967953:02/02/06 16:54
>>960
あ、そっちの方が美しいですね。
有難うございます。
968false:02/02/06 17:29
char* Zuzar1000(int i)
{
 if(i/1000 == 1)
  return "⊂(゚Д゚#⊂)";
 else
  return "(@´ー`@)y―┛~";
}
969indexOf?:02/02/07 19:45
JavaのStringから「正規表現」で検索する方法を教えてください。
>>969
正規表現ライブラリ使え。
971デフォルトの名無しさん:02/02/07 21:11
あと少し
お前らプログラマなら999でdat落ちさせてみろ
ここJavaスレだしな〜〜
974973:02/02/08 00:27
973 GET!!
9751950:02/02/08 00:48
1950 GET!!
976976:02/02/08 01:19
976 GET!!
  ∧_∧
 ( ・∀・) ニヤニヤ
 ( 1000 )
 | | |
 (__)_)
978デフォルトの名無しさん:02/02/22 10:55
おい!お前ら!!このスレまだ使っていいんですか?
ちょっと質問

JPaenlを継承してImageViewPanelっていうpanel作ったんだけど
JScrollPaneに貼り付けてスクロールバーを表示しようと試みたものの
見事に途中で切れてスクロールバーが表示されません
ドボチテ?

imagePanel = new ImageViewPanel( album );
imageScroll = new JScrollPane( imagePanel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
imageScroll.setBounds(new Rectangle(19, 32, 537, 243));
this.getContentPane().add(imageScroll, null);
imageScroll.getViewport().add(imagePanel, null);
>>966
そのネタ分かるやつそうとうなジジイと思う
>979=ジジィ
  ∧_∧
 ( ・∀・) ニヤニヤ
 ( 1000 )
 | | |
 (__)_)
コソーリ