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

1
                        \ | /
 ⊂⌒⊃        ⊂⌒⊃     ―‐ ● ―‐  ⊂⌒⊃           ⊂⊃
         ⊂⊃                 / | \          ⊂⊃
                  ⊂⊃                           ⊂
/~\へ/~\へへ/~\/~\へ/~\へ/~\へ/~\へヘ/~\/~\ヘ/~\/~\
,,、,/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
,,,,| 立った立った!Javaの新スレが立った! |,,,,,,/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
,,,,\________  __________/,,,,,| Javaの質問はここでしようね! |
||=||=||=||=||=||=||∨=||=||=||=||=||=||=||\___  ________/
,,,,,,, ,,,,, ,,, ,, ,,, ,,, ∧_∧ ,, , ∧_∧,, ,,,,, ,, __ ,,,, ,,,,,∨  ,,,,, ,,,, ,, ,, ,,,,,, ,, ,, ,,,,
,, e@@e ,,,,,, ,,, ( o´∀`) ,,,,, (∀・ ; ),,,, , |   || ,,, ,,,, e@@e , ,,,, ,,, ,,, ,, ,, ,,,,,, ,
,,, (, ゚д゚) ,,, ,,⊂   ⊃,,, ,,⊂⊂⌒ヽ、, ,,, |!____i|| , ,,,♪ (・∀・,)_ノ ,,,,, ,,,, ,, , ,,,, ,, ,
,~((  ,,), ,,,, ,,,○(   ノ ,,,, プル ))   )○/_/) ,,,, ,, とと,,__つ , ,, ,, ,, ,, ,, ,,
,,,, ,UUU∧,,, ,,,,,, )__)_) ,, ,,, ,(( (_(_ノ ))プル,,,,◎ ,, ,,, ,, ,,,,, ,,,,, ,,, ミ ピョン
| | / ̄   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\| |,,,,,,,,,| |,,, ,,,| |,,, ,,| |,,, ,,,| |,,, ,,| |
| |,| 書き込む前に>>2-10をチェックしとけやゴルァ!! || |二二| |二二| |二二| |二二| |二二| |
| |,,\___________________/| |,, ,,,,,| |,,,, ,,,,| |,,,,,,,,| |,,,, ,,,,| |,,,,,,,,| |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>2 過去ログの一覧
>>3 Javaの基礎と よくある質問 (初心者はここをチェック!)
>>4 サーブレットとかJSPとかサーバサイドとか携帯電話とかJBuilder5の質問はこちらへ
>>5 Javaを撲滅させたい方、死滅を心配してる方はこちらへ
* 諸般の事情により、リンクがずれる事もあります。
2:01/12/08 18:08
■■■ 過去スレの一覧 ■■■

↓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/
3:01/12/08 18:08
■■■ 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:01/12/08 18:08
■■■ サーブレットとかJSPとかサーバサイドとか携帯電話とかJBuilder5 ■■■

↓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
5:01/12/08 18:09
■■■ 撲滅させたいかた、死滅を心配してるかた ■■■

↓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/
6:01/12/08 18:10
トラ・トラ・トラ!
ワレ スレタテニ セイコウセリ!
1にAA貼るんじゃねーよ。
8デフォルトの名無しさん:01/12/08 19:09
おつかれ!
AAナイス
9デフォルトの名無しさん:01/12/08 19:20
そのAAだが、何故柵に囲まれてる?w
10:01/12/08 19:23
>>7
スマン。次回から気をつけるよ・・。
もうちっと小さく削るべきだった。
でも本当は、今日中に>>6を言いたかっただけなんです。
携帯から見るとき鬱だ。
1は長くても4行程度にしてくれ。
12デフォルトの名無しさん:01/12/09 01:28
javaで作ったアプリケーションをWindows2000とかNTの「サービス」として
起動するにはどうしたらいいかわかりますか?
むかしどっかのWEBページで読んだのですが、いま見ようと思ったら
どこにあったのかわからなくなってしまいました。

たしかsunのコンポーネントを使ったと思うのですが・・・
13デフォルトの名無しさん:01/12/09 09:09
14デフォルトの名無しさん:01/12/09 10:57
あげ
15デフォルトの名無しさん:01/12/09 12:55
数字を指数表現にしたい場合はどうすればいいんですか?
例えばfloat x=123;ってした場合1.23E2って出力させるとすると。
16Kusakabe Youichi:01/12/09 12:58
In article >>15, デフォルトの名無しさん/15 wrote:
> 数字を指数表現にしたい場合はどうすればいいんですか?
> 例えばfloat x=123;ってした場合1.23E2って出力させるとすると。

gやfじゃない方法で?
1715:01/12/09 13:07
方法は別に何でもいいです。gやfと言われてもわかりませんが。
18Kusakabe Youichi:01/12/09 13:13
In article >>17, 15/17 wrote:

> 方法は別に何でもいいです。gやfと言われてもわかりませんが。

そうですか。
19デフォルトの名無しさん:01/12/09 13:17
>>18
教えてやれよ、知ってるなら(藁
20仕様書無しさん:01/12/09 13:18
>>19
知らんでしょ。
21Kusakabe Youichi:01/12/09 13:19
In article >>19, デフォルトの名無しさん/19 wrote:

> >>18
> 教えてやれよ、知ってるなら

どういう教え方をするのが一番いいかはよく心得ています。
22デフォルトの名無しさん:01/12/09 13:22
>>21
あーわかったよ。じゃその教え方を見守らせてもらうよ。
最後まで導びいてあげろよな。(藁
23Kusakabe Youichi:01/12/09 13:25
In article >>22, デフォルトの名無しさん/22 wrote:
> あーわかったよ。じゃその教え方を見守らせてもらうよ。

実際そうしてませんね?
24デフォルトの名無しさん:01/12/09 13:30
>23
「実際そう」とは?

どこいけば見れる?(爆笑
25デフォルトの名無しさん :01/12/09 14:13
リフレクションAPIでprivate とかにも
アクセスしたいのだけれど出来ないよ~

人の話では
AccessController と
PrivilegedAction とかいうのを使えばいいと言われたが、
使い方が分からないよ~
誰か教えて~
>>24
騙されるな、キミらが相手にしているのは
プログラマ板で開発中の人工無能だ。
In articleを相手にしているのはム版で開発した人工無能だ
28 :01/12/09 17:11
>>25
良く分からないけど、
本当にprivateな要素にアクセスできるのかなー?
Javaとはなんの関係もないことですが…、
>>26-27わらった(w

>>15
googleなどで自分で検索して調べろってことなのでは?
いや漏れも知っていたら教えてあげたいのだけど、よくわからんのよ。

>>16
%f や %gのことかな?
http://www.page.sannet.ne.jp/mtoga/lang/c/bih-c_30.htm
%eだろ
31デフォルトの名無しさん :01/12/09 17:37
>>28
通常はprivateにはアクセスできないのだけど、
アクセスのパーミッションいじれば出来る。

が、やり方わかんね~。
32 ◆RubyOmS2 :01/12/09 17:38
>>15
偽壁が絶対に答えそうにないので、、、
俺もよくしらんが、java.text.Formatのサブクラスなどを使うといいみたい。
APIをさらっと見て目に入っただけなので、間違っていたらごめんな~~~。
こんな感じで良いのか? フォーマットの詳細は DecimalFormat の API リファレンス見れ。

DecimalFormat nf = new DecimalFormat("0.00E0");
System.out.println(nf.format(123.45678));

------------------------
結果: 1.23E2
34デフォルトの名無しさん:01/12/09 18:05
>>31
ポリシー弄って
RuntimePermission(accessDeclaredMembers)
java.lang.reflect.Member.DECLARED で常に許可
するように指定してSecurityManagerつくってしまえ。
privateもヘッタクレもなくなるから。
35デフォルトの名無しさん:01/12/09 18:06
>>31
どこでそんな話を聞いたのか知らんけど、privateにアクセスできる
のは、それが宣言されているクラスの中だけっていうのは、javaの
基本だろうよ。
36 ◆UVJUDrg2 :01/12/09 18:08
Javaって不便なんですね(藁
37 :01/12/09 18:17
>>31
本当だ。JavaFAQにできるって書いてあった。
でもやり方までは書いてなかった。
>>35
基本はな。プライベートスコープのアクセス許可は基本とは思えん。
設計ミスってるか、汎用ホワイトボックステストツールくらいしか
用途が思いつかんが。
39デフォルトの名無しさん:01/12/09 18:25
>>34
これでprivateも支配できるのか~。ありがと!
>>39
外からprivateメソッドやフィールドをコールする
コードはコンパイルとおらないから、
java.lang.reflect#Method.invoke()で実行時に
コールすべし。だが、そんなことしてどうするの?
>>39 プライバシーの侵害です
どうでもいいけど昔のネスケVMはprivateに
アクセスできるバージョンがあったらしい
43 :01/12/09 18:50
SDK 1.3.0だけど、これやってみそ↓

class Data {
  public String s = "public だよ~";
}

class AccessTest {
  public static void main(String[] args) {
    System.out.println(new Data().s);
  }
}

で、AccessTestを実行すると"public だよ~"と表示される。
その後、Dataクラスを変更してコンパイルする(AccessTestはコンパイルしなおさない)↓

class Data {
  private String s = "private なのに! Σ(゚д゚lll)ガーン";
}

で、さっきのAccessTestを実行すると・・・・。
44デフォルトの名無しさん:01/12/09 18:52
フレームを表示して、ボタンやチェックボタンを使って、
計算する、結果を表示する、文字列を出力する、などを行う
アプリケーションを作っています。
一度計算した後で、フレームを最初の状態に戻したいのですが
どうしたらよいのか分かりません。
キーワードだけでも教えてください。よろしくお願いします。
>>44 キーワード↓
>>3 Javaの基礎と よくある質問 (初心者はここをチェック!)
>>43
へぇ~、新発見。これってバグなの? それともバイトコードの仕様なの?
どの道、インターフェースが変わったら関連する全クラスリコンパイルするけどね。
>>43
げ、コレが動いちゃうってことは、Antとかの差分コンパイル
って、厳密にはやばいんちゃうの?
48デフォルトの名無しさん :01/12/09 20:16
>>43
そっか~これ動くのか・・・。
これからは、全クラスをコンパイルするか。
49デフォルトの名無しさん :01/12/09 22:12
全くの初心者で恐縮ですが、
同じサイズで、同じ左上の隅から始まる、複数の画像(GIF)
を重ねあわせて一つのJLABELに格納したいのですが、
どうしたらいいでしょうか.
よろしくお願いします.m(__)m
>>49
結構難しかったりして。
AlphaCompositeとか使うのかな?
51デフォルトの名無しさん:01/12/09 22:36
>>43
古い方をクラスローダがどこかにキャッシュしてたって可能性は?
>>51
だとすれば"publicだよ~"と表示されるはず。
>>44
言語の問題じゃないね。
54デフォルトの名無しさん:01/12/09 23:38
Javaで印刷するとき、印刷プレビューを表示させることってできる?
5515:01/12/09 23:43
>>33
ありがとう
5649:01/12/09 23:48
>>50さん、レス有難うございます.

自分が調べましたところ、
1:JAIを使って、画像を加工する.一枚の画像をJLabelに渡す、或いは
2:画像を重ね併せたComponentを作って、
setLabelFor(Component c)を使用.

とか思い付いたのですが、いまいち確信が持てません.
というか、見当違いなこと言ってたらすみません...
>56
JAI使わなくてもJ2SE1.2以降なら
BufferedImage image = (BuffredImage) component.createImage(w, h);
Graphics2D g = image.createGraphics();
g.drawImage(0, 0, sourceImage1, null);
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
g.drawImage(0, 0, sourceImage2, null);
Icon icon = new ImageIcon(image);
みたいなかんじでいけるっしょ
58>>43:01/12/10 06:51
どうでも良いけどclassも静的変数もpublicでは無いよ.
修飾子が指定されてない場合は同じパッケージ内のコードからのみアクセスできる.
59デフォルトの名無しさん:01/12/10 08:59
JDK1.3とJ2SDKEE1.3をインストールしてJ2EE_HOME、JAVA_HOME、binへパスも
設定したのですが、 javax.ejb.*; を読み込めません。環境はwin2000です。
なか他に設定が必要なんでしょうか?
60デフォルトの名無しさん:01/12/10 09:33
>>59
なぜ、javax.ejb.* が読み込めないと判断したか?その経緯を述べよ。
61MAKKY ◆QVBQLRg6 :01/12/10 09:34
教えてください!せっぱツマッテマス。
JavaScriptである一定の範囲だけ
(例えば1枚のHTMLに入力部分と集計部分があるHTMLの集計部分だけ)
印刷するにはどうすれば良いのでしょうか?

くだらない質問ですいません。
>>61
選択して、印刷時に「選択範囲だけ印刷」するように指定。

つーか、板違い。 キミ、ノータリン?マヌケ?首吊りなさいよ
63デフォルトの名無しさん:01/12/10 09:39
>>62
でもプログラマンコ板でこち行けっていわれましたよ?
まだ>>61みたいなやついるんだね。なんだかすごくなつかしい。
>>63
ギャハハハーッ!
正真正銘のマヌケだぜー コイツ!
JavaとJavaScriptの区別もつかないなんてよぉー
6659:01/12/10 09:46
>>60 簡単なプログラムの頭に
>import javax.ejb.*;
を加えてコンパイルしただけなんですが、存在しないという
エラーが出ます。なにか間違ったことをしてるんでしょうか。。
67MAKKY ◆QVBQLRg6 :01/12/10 09:47
61です。
ん?62は私じゃ無いのですが・・・
確かにこっちだよって言われました。。
実は会社でいきなりやる事になって真剣に悩んでます。。
JavaScriptの板ってあるのでしょうか??
ホントにすいません。。
6859:01/12/10 09:49
javac に -d オプション付けてみたら何故か通りました。
何だか分かりませんがお騒がせしました・・・   どうも。
JavaScriptスレはweb製作板にあったぞ。>>61

http://pc.2ch.net/hp/
web制作管理@2ch掲示板
http://pc.2ch.net/test/read.cgi/hp/1005979370/l50
+ JavaScript の質問用スレッド vol.6 +
70MAKKY ◆QVBQLRg6 :01/12/10 09:50
>>69さん
ありがとうございます!!そちらに書きこみます!
>67
たしかにこの板であってます。
でもこのスレは「Java」。
探せばでてくるかと。
72MAKKY ◆QVBQLRg6 :01/12/10 09:51
>>62さん
ありがとうございます。。ただえっと。。フォームとかで区切れてなくて
作ったら使うのは何も知らないおいちゃん達なので
ボタン一つで出来る様にしたいかったのです。。
RESありがとうございます。。
WEBの方に行って見ます。。

皆さんお騒がせしました!+ありがとうございました!!
73デフォルトの名無しさん:01/12/10 09:52
>>66
JAVAをどういうインストールしているの?

bin までの Path と、src/javax までの Path を教えて
そういえば、この板のトップのローカルルール&案内って
めちゃシンプルだね。なのに>>61的な迷子があまり出ないのが不思議?
(いや、俺が知らないだけでけっこういる?)
7559:01/12/10 09:57
>>73 src/javaxにパスを通す必要があるのですか、ナルホド
インストールを解説したページをいくつも見たんですが載っていませんでした。。あぅ
binまでのパスこんな感じです。 >C:\jdk1.3.1_01\bin
76デフォルトの名無しさん:01/12/10 09:57
>>74
javascript をプログラムとは思っていない人も多いと思われる。
77デフォルトの名無しさん:01/12/10 10:00
>>75
この場合は実行するための path ではなく、 classpath ね。
7874:01/12/10 10:02
なるほどなあ。。「スクリプティング」か。
79デフォルトの名無しさん:01/12/10 10:02
1.3.1 なのに CLASSPATH の設定が必要なのはどうしてなのでしょうか? 誰か教えてくれませんか?
8059:01/12/10 10:02
そろそろ出かけなくては。。77さんありがとう。帰ってきてからやってみます。
8149:01/12/10 10:08
>>57さん
レスが遅れましてすみません.JLabelに入ったかどうかを記録するために
頂いたコードを参考にして簡単なコードを書いてみたのですが、
画像は表示されませんでした.(黒いブランクスクリーンです)

BufferedImage image = new BufferedImage(865,865,BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();

Image sourceImage1 = Toolkit.getDefaultToolkit().getImage(imagefile1);
Image sourceImage2 = Toolkit.getDefaultToolkit().getImage(imagefile2);

/** overlay */
g.drawImage(sourceImage1, 0,0,null);
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
g.drawImage(sourceImage2,0,0,null);
Icon icon = new ImageIcon(image);
JLabel picture = new JLabel(icon);

一行目の component が何をさしているか分からなかったので
コンストラクタで新たに作ったのですが、それが駄目なのでしょうか?
>81
BufferedImageに画像を貼る場合には
元のイメージの読み込みを待つ必要がある。
Image sourceImage1 = new ImageIcon(imagefile1).getImage();
Image sourceImage2 = new ImageIcon(imagefile2).getImage();
とするか、またはMediaTrackerで
8349:01/12/10 12:27
できました!(TT
>>50さん>>57さん、>>82さん、
お忙しいところ、親切に答えて頂いて有難うございました.m(__)m
84デフォルトの名無しさん:01/12/10 16:30
85デフォルトの名無しさん:01/12/10 19:20
つーか、何気にじゃばスレ多いし。
86デフォルトの名無しさん:01/12/10 21:02
しかし、なんで日本Sunは自分のWebページにJREの簡易インストール用サイト
作らないの?
java.sun.comの、変な英語で書かれた規約みてACCEPT押さないとDLできない
ような不親切なページしかないんだよね。頭おかしいんじゃないの?
JDKはともかくJREは広く普及してもらわないと、困るのはSunなんじゃない
のか?それとも、個人のユーザなんかどうでもいいと、本気で思ってるの?
SunはJavaを放棄した
・・・・カモ
88デフォルトの名無しさん:01/12/10 21:12
>>87
ネタにマジレスかもしれないけど、放棄したら JavaOne なんてやらないね。

けど、 JavaOne をやるなら親切なインストールページを作ってほしいね。
ところで、マイクロソフトって、VBのランタイムとかのインストールページとか
作ってる?
>>88
VBのアプリが自分のインストーラで入れればいいだけでは? >VBランタイム
90デフォルトの名無しさん:01/12/10 21:34
>>89
それを言ってしまうと JRE だって同じだよ。
SunのHPからはやる気を全く感じ取れない。
92デフォルトの名無しさん:01/12/10 22:44
お願いします。
Java勉強中のC++屋です。ふたつ質問させてください。

Sunの教科書を見ると、サンプルの多くではフィールドをprivateに
していないように見えます。これは初心者向けにそうなっているのでしょうか。
それともJavaではあまり気にしないのでしょうか?
なるべく情報隠蔽はするべきかと思うのですが。
間抜けな質問かもしれませんが、本当に悩んでいます。
お願いします。2つめは次に書きます。
9392:01/12/10 22:46
もう一つの質問です。
C++では、メンバ関数がデータメンバを変更しない場合、関数の後ろに
constというマークを付けるのが一般的です。
Javaにはそのようなものはないのでしょうか?
よろしくお願いいたします。
class X {
 
  synchronized void x1() { x2(); }
  synchronized void x2() {}
}

class ThreadX extends Thread {
  X x;

  ThreadX(X x) { this.x = x; }  /* コンストラクタ( ̄ー ̄)ニヤリッ */ 

  public void run() {
    for (int i=0 ;i<100000; i++)
      x.x1();
  }
}

class DeadlockQuestion {      /* デッドロックするらしい... */
  private final static int NUMTHREADS=10;

  public static void main(String args[]) {
    X x = new X();

    ThreadX threads[] = new ThreadX[NUMTHREADS];
    for (int i=0; i<NUMTHREADS; i++) {
      threads[i] = new ThreadX(x);  /* スレッド生成 */
      threads[i].start();        /* 実行 */
    }

    for (int i=0; i<NUMTHREADS; i++) {  /* 待ってもここまで来ない筈 */
      try {
        threads[i].join();
      }
      catch(Exception e) {
        e.printStackTrace();
      }
   
    System.out.println("done!");    /* でも表示されるよ(´Д`) */
    }
  }
  /* 独習Javaによるとこのコードはデッドロックするという前提で話がされている */
  /* だがデッドロックしなさそうだし,実際にSolarisとLinuxで試してもしない様. */
  /* どうして?? */
}
>>92
そのとおりです。
一般公開するライブラリでpublicのメンバフィールドなど(
よほどのアホプログラマ謹製でない限り)ありえません。
フィールドの状態を管理できないクラスなど、片手落ちですな。
>>93
final修飾をフィールドに付けると、初期化(初回代入)以外代入できない
フィールドになります。プリミティブ値もオブジェクト参照の値も書き換え
できません。複数回代入の可能性がある場合、コンパイラがハネます。
9692、95:01/12/10 23:05
>>95
すばやいお返事ありがとうございます。
>そのとおりです。
は、「情報隠蔽はするべき」にかかっているのですよね。^^)
ありがとうございます。安心しました。

質問93に関しては、書き方が悪かったかもしれません。
私の疑問は次のようなものです。たとえば、
class X{
int data;
int getData(){ return data;}
}
のようなクラスでは、C++なら、getDataの宣言は
int getData() const{ return data;}
とします。これはこの関数はdataを変更しないという宣言です。
Javaには、これに対応するものはないように見えるのですが、
私の勘違いでしょうか、ということです。
(宗教論争を起こしたいのではありません。私には今Javaの
理解が必要なのです。)

どうか、よろしくお願いします。
↑すみません。上の名前は「92、93」です。
98デフォルトの名無しさん:01/12/10 23:19
>>96
了解です。プリミティブな値に対して変更不可にする
修飾子はないですね。

というわけで、変更されたくないプリミティブ値は、
ImmutableObjectでラップしましょう。

Integer intobj = new Integer(10);
とすると、intobj.intValue()の戻り値は常に10です。
このインスタンスについて内部の値を外部から変更する
ことはできないので、同様の効果が期待できます。

Objectを継承したクラスなので、メモリちょっと食うけど。
Java使ってるのにメモリの消費なんか気にするな、と言い訳
するしかないなあ。
>>96
C++しかやらない者ですが、
>これはこの関数はdataを変更しないという宣言です。
は意味はわかりますが正しくは「この関数はX(の状態)を変更しない
という宣言です」と書くべきでしょう。
10096:01/12/10 23:26
>>98
ありがとうございます。ImmutableObjectの方はまだ勉強が足りなくて
わからないのですが、雰囲気はわかりました。
ありがとうございます。

>>99
ごもっともです。訂正ありがとうございます。

なお、96の例は、
class X{
private int data;
int getData(){ return data;}
}
とすべきでしたね。恥ずかしいです。
10198:01/12/10 23:29
>>100
要するにGETTERしかないオブジェクトというだけですよ。
C++でも同じでしょ?

プリミティブ型には、それに対応するImmutableObject
クラスが全て用意されてます。java.langパッケージです。

値を取り出すのにいちいちメソッドコールすることになる
ので、実行時のオーバーヘッドも多少あるわけで。
でも、コレでやるのがJavaの方針らしいので、諦めてください。
10296:01/12/10 23:35
>>101
重ねての解説ありがとうございました。
勉強してみます。m(__)m
103無知:01/12/10 23:39
>98
> Integer intobj = new Integer(10);
> とすると、intobj.intValue()の戻り値は常に10です。

ちょっとごめん、よそから
foo.intobj = new Integer(5);
とかされたらアウトだよね?

そういう意味ではプリミティブ変数で持つのと
同じような気がするんだけど
>>103
final Integer intobj = new Integer(10);
と、複合技で使いましょう。
105無知:01/12/10 23:46
final int i = 10;
と同じような気が・・・
10698:01/12/10 23:51
ううー、すまん。なんかそんな気がしてきた…
というか、なんか無意味な事を書いてきたような気がしてきた。
ゴメンナサイ。キエマス。
10796じゃないけどC++屋:01/12/11 00:01
>>96の言う疑問は、

class Hoge
{
private int data = 10;
int getData(){ return data; }
void setData(int n){ data = n; }
}

class TestFinal
{
public static void main(String[] args){
final Hoge n = new Hoge();
n.setData(100);
System.out.println(n.getData());
}
}

のようなコードで、nをfinalにしているのに、n.setData(100)で、
nのデータは変えられるという点が不思議なのでは?
C++で、
const Hoge n;
とすれば、このようなことは不可能だから。これは、
JavaのfinalとC++のconstが違うということなんじゃないか。
どう? >>96
>>107
C++のことは知らんが、107のコードはコンパイラ通るな。
それでいいんじゃないの。どこが疑問なんだか、サパーリだよ。
109デフォルトの名無しさん:01/12/11 00:46
>>96
凄く適当だが、
class Y extends X{
int index;
int[] data;
int getData(){
return data[index++];
}
}
なんてやりたい場合constじゃだめだなんでは?
>>107
だーかーらー>>96のはconstメンバ関数の話で、変数宣言のconstじゃ
ないよー。
111名無しさん:01/12/11 05:17
質問です。
JAXP1.1.1のJavax.xml.parsersのDocumentBuilderClassを使って
XMLをParseした時、
Doctypeを
getDoctypeで取得すると見えるのに
Transformで出力すると、Doctypeが消えてしまうのですが
これはどうしたら回避出来るのでしょうか?
Doctypeを出力するのには、特別な命令があったりするのでしょうか?

ソースはこんな感じです。

doc = docBuilder.parse( inputStream );
DOMSource source = new DOMSource( doc );
StreamResult result = new StreamResult( System.out );
transformer.transform(source, result);

この4行の間にDoctypeが消え去ります。
どなたか分かる方お教えいただけると大変ありがたいです。

この時間になっても直らん、鬱だ死脳
112デフォルトの名無しさん:01/12/11 06:55
誰かおしえてください。
JTextField内に何か入力しますよね。
その入力されたテキストの高さと幅をピクセルで知りたいんですが、
どうすればよいでしょうか。
113デフォルトの名無しさん:01/12/11 11:29
>>112
定規で測る
114デフォルトの名無しさん:01/12/11 11:42
SwingSet2 って動作遅いんですけど、これって JAVA だからなんでしょうか?
115デフォルトの名無しさん:01/12/11 12:21
>>114
そうだよ。スペック低いパソコンだと特に遅くなるよね。
pc98でJavaアプリ使ってるんだけど遅くて遅くて。
116デフォルトの名無しさん:01/12/11 12:30
>>112
graphicsでテキストフィールドの隣にピクセル目盛りでも描いて置けば?
drawLine(100,100,110,100);
drawLine(100,110,110,110);
みたいに。
117デフォルトの名無しさん:01/12/11 12:35
>>112
java.awt.Component#getFontMetrics
java.awt.FontMetrics
118117:01/12/11 12:36
あ、うそかも。まあいいや。FontMetricsはあってる。
119デフォルトの名無しさん:01/12/11 14:22
年月日時分の日付データをふたつつっこんで、
その時間間隔を分でほしいんですが、
なにかいい方法あったら教えてください。
例) 2001年12月11日14時20分
2001年12月11日15時30分 をつっこんで 70 を得る
>>119
全部、分に直して、引き算
121デフォルトの名無しさん:01/12/11 16:14
仕事で見る事多いから、
1にAAやめとくれ
>>121
それはどうかと思うが、1にAA載せるのもどうかと思う。
123新スレ気付かず2に書いたので、こっちにそのまま書く:01/12/11 16:16
文字を、
wordのワードアートのようにいろいろ装飾して表示させたいですが、
良いライブラリとか(できたらフリーで)公開されているの、知りませんか?
ちょっと検索かけたのですが、いまいちみつかりませんでした

自作するしかないのかな
(影付程度ったら、すこしずつずらして書くなどして、実現できそうなんだけど、
複雑なやつが・・・)
124java厨:01/12/11 16:39
Oraclの最新版のJDBCドライバって
JDBC2.0完全準拠ですか?

TYPE_SCROLL_INSENSITIVEの指定でcreateStatementすると
例外発生するんですが…
>>123 標準でついてくるJava2Dでまだ不満でも?
JDKについてくるJava2Demoを起動してみてみた?
126java厨:01/12/11 17:14
>>125
ごめんなさいです。
Oracleの…じゃ~なくて
Oracle用のWeblogicServer6.1用のOCIドライバのことです…。

BEAのサイトを見る限りダメそうなんですが…
127java厨:01/12/11 17:17
重ね重ねごめんなさいです。
125の>>124
>>123(自レス)です…
128java厨:01/12/11 17:19
重ね重ねごめんなさいです
>>126
>>125>>124(自レス)の誤りです
>>121
>仕事で見る事多いから、

おいおい(藁
130123:01/12/11 18:00
>>125
俺はJava2Dをなめてた
ゆるしてくれ

Java2D、俺を殴れ
131デフォルトの名無しさん:01/12/11 19:22
最近、仕事でJAVAを始めた初心者です。
どうしても理解できないコンパイルエラーが出るので
どなたか教えてください。

以下のインタフェースTestIF とそれを実装するクラス
TestCL をひとつのソースファイルに買いてコンパイル
します。
---------------------------- Test.java ---------
interface TestIF
{
void f();
}

class TestCL implements TestIF
{
void f() {}
}
------------------------------------------------
すると以下のエラーが出ます。

Test.java:7: TestCL の f() は TestIF の f() を実装できません。
スーパークラスでの定義より弱いアクセス特権 (public) を割り当てようとしました。
class TestCL implements TestIF
^
疑問1
このエラーメッセージで、「スーパークラス」とは何を指しているの
でしょうか?

疑問2
仮に「スーパークラス」を「インタフェース」と解釈
しても、void f() はTestCLクラスで元のインタフェースでの定義
でのデフォルトアクセス修飾(パッケージのみ)と同じなので
「より弱いアクセス特権」というメッセージも理解できません。

疑問3
「(public) を割り当てようとしました。」というのも、、
してねーじゃん!!としかおもえません。

どなたか、アドバイスおねがいします。
132131:01/12/11 19:25
すみません 勘違いしてその2にも同じことを
カキコしてしまいました m(__)m
133デフォルトの名無しさん:01/12/11 19:29
>>119 (引用順変更)

>その時間間隔を分でほしいんですが、

べた書きしてみてはどうか。

Date date1=.... // 2001年12月11日14時20分
Date date2=... // 2001年12月11日15時30分
int msecDiff = date1.getTime() - date2.getTime(); // msec.
int minDiff = msecDiff / (60 * 1000);

>年月日時分の日付データをふたつつっこんで、

数値→Dateなら java.util.Calendarを使え。
文字列→Dateなら java.text.SimpleDateFormat使え。
134デフォルトの名無しさん:01/12/11 20:01
>>131
疑問1の答え:
TestIFです。

疑問2の答え:
interfaceのメソッドはデフォルトでpublicです。
TestIF#f()も、当然publicとして扱われます。

疑問3の答え:
そのpublicというのは、TestIF#f()の事です。

要するに、TestIF#f()はpublicなのに、その継承クラスで
publicにしなかったのが問題です。
135134:01/12/11 20:08
136131:01/12/11 20:09
>>134
レスどうもです。
理解しました。言語仕様書にもそう書いてありました。
で、interfaceのメソッドはデフォルトでpublicになる」
ということを覚えました。
でも、なぜコンパイラが勝手にそうしてくれるのかが
腑に落ちません・・・
>>136
interfaceとは何か? どういう時に使用するのか?
がわかれば、納得できると思う。
138131:01/12/11 20:20
>>137
えーーっと、考えてみます・・
139134:01/12/11 20:23
>>136

なんでだろ~?
privateが無いのはわかるけど、
無修飾のパッケージアクセスが駄目なのはなんでだろ~?

⌒⌒⌒⌒〇⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒
     o
   。
(´-`)
140131:01/12/11 20:42
>>139
というか、この
>なんでだろ~?
というのはインタフェースに限らず、
ふつうのクラスでも、
パッケージアクセス限定のクラスにpublicメソッドが
定義されている以下のような場合、
-----------------------------------------------
package A;

class Test
{
public void f() { }
}
----------------------------------------------
がコンパイルOKということに対する
「なんとなく変な感じ」と同じと思うがどうでしょう?

で、これがコンパイルOKなのは、
「ダメにしなければ、危険なことが発生することがないからOK」
とでも解釈しておけばいいのかな~??
141137:01/12/11 21:04
interfaceって、その名の通りクラス間のインターフェースを規定する
物だから、privateにしてどうするよって事なんだが...

# オープンソースですと言っておきながら「ソース見たいなら会員登録
# すれ」と言ってるようなもん、ってのはちと例えが悪いか。

>>140 の場合、同一ソース内/パッケージ内のクラスからはpublicという
意味なので、別に変ではないでしょ。
>>141
そうかな~

そもそも、
>同一ソース内/パッケージ内のクラスからはpublic
を明示的に示すのが、「アクセス修飾子なし」な
わけでしょ?
つまり、>>140 の例でいうと
public void f() { }
と書いても、外からは
void f() { }
と同じ・・・・・でもないか、そっか、そっか、、
public void f() { }
と書けば、package Aの中でTestをextendsする
publicクラスを書いて f() をオーバーライド
したときに、それが public であることを保証
できるね。
ということで
># オープンソースですと言っておきながら「ソース見たいなら会員登録
># すれ」と言ってるようなもん、ってのはちと例えが悪いか。
というのも分かる。

あーすっきりした。
143134:01/12/11 21:32
>>140
そのTestを継承したクラスがpublicなら、
パッケージ外からでもf()にアクセスできますよ。

例えば
package A;
public class ExTest extends Test {
}

ならば
package B;
import A.*;
class AccessTest {
  public static void main(String[] args) {
    new ExTest().f();
  }
}
はOK。だからpublicというキーワードが無意味なわけではないです。

僕が「なんでだろ~?」と思うのは
「パッケージアクセスのinterfaceが有るんだから、
 そのinterfaceにパッケージアクセスのメンバを許してくれてもいいのに・・。」
と言う事です。
144131:01/12/11 21:49
とりあえず、
「パッケージアクセス限定クラスの中にpublicメソッド
 があっても、それは無意味ではない」
というのは理解しました。なので >>140
>がコンパイルOKということに対する
>「なんとなく変な感じ」と同じ
というのは間違ってたということです。
されはOKなんですが、やはり、私も依然として
>「パッケージアクセスのinterfaceが有るんだから、
>そのinterfaceにパッケージアクセスのメンバを
>許してくれてもいいのに・・。」
というモヤモヤは残ってます。
「この抽象メソッドは同一パッケージ内でのみ実装を許す」という
制限をしたいケースは、基本APIのインタフェース
には無くても、実務プロジェクトではありそうですしね。
パッケージアクセス限定クラスにpublicメソッドが
「あってもいい」などという程度の理解をしてはいけない。

ポリモルフィズムを理解すれば、外部から直接インスタンス
生成はできないが、Interfaceあるいはスーパークラス
インスタンスの参照を通じて、外部からアクセスされる事
があるクラスはいくらでもあるだろうことはスグに思いつく
と思うんだが…

JDBCのConnection実装クラスインスタンスなんかはその例だろう。
Connecitonインターフェイスの実装クラスであるドライバ固有の
Connecitonコンクリートクラスは、大抵publicじゃないぞ。
146131:01/12/11 22:54
>>145
>パッケージアクセス限定クラスにpublicメソッドが
>「あってもいい」などという程度の理解をしてはいけない。
いや~勉強になります!m(__)m
JDBCのコンクリートクラスを検証してみてから、また来ます。
147131:01/12/12 00:53
>>145
本題からズレるのは承知の上ですが、以下のTest.java
コンパイルできましたよ?
----------------------------------------------
package A;

import oracle.jdbc.driver.OracleConnection;
import sun.jdbc.odbc.JdbcOdbcConnection;

public class Test
{
OracleConnection con1 = null;
JdbcOdbcConnection con2 = null;
}
-------------------------------------------------
148デフォルトの名無しさん:01/12/12 04:57
同じクラスの複数のインスタンス(コンポーネント)で発生したイベントを
ひとつのリスナで受け取ることはできないのでしょうか?

具体的には、

//
// JSplitPaneに二つのJScrollPaneを配置し、両方のJScrollPaneの
// すべてのJScrollBarのイベントを、MySplitPane.adjustmentValueChanged() で
// 受け取る
//
class MySplitPane extends JSplitPane implements AdjustmentListener {
JScrollPane sp1, sp2;

MySplitPane(Component c1, Component c2) {
sp1 = new JScrollPane(c1);
sp2 = new JScrollPane(c2);

setLeftComponent(sp1);
setRightComponent(sp2);

sp1.getVerticalScrollBar().addAdjustmentListner(this);
sp1.getHorizontalScrollBar().addAdjustmentListner(this);
sp2.getVerticalScrollBar().addAdjustmentListner(this);
sp2.getHorizontalScrollBar().addAdjustmentListner(this);
}

public adjustmnetValueChanged(AdjustmentEvent e) {
//
// ここで、左右 2 x 水平垂直 2 = 合計 4 の JScrollBar のイベントを取りたい
//
System.out.println( e.toString() );
}
}

としたいのですが、どうも片方の JScrollPane のイベントしか取れてないのです。
どなたか方法分かる方いますか?
149148:01/12/12 06:27
すみません。

よくよく調べてみたら、自分のプログラムのaddAjustmentListener()を呼んでいる個所に
バグがあっただけでした‥‥。

鬱氏。
150デフォルトの名無しさん:01/12/12 15:45
String型の中身の文字コードはなにで構成されていますか?
UNICODE?
151119:01/12/12 17:11
>>120
>>133
レスどうもです。解決しました。
結局以下のようになりました。

public int minusTime( String year1, String month1, String day1, String hour1, String minute1,
String year2, String month2, String day2, String hour2, String minute2 ){

int y1 = new Integer( year1 ).parseInt( year1 );
int m1 = new Integer( month1 ).parseInt( month1 );
int d1 = new Integer( day1 ).parseInt( day1 );
int h1 = new Integer( hour1 ).parseInt( hour1 );
int n1 = new Integer( minute1 ).parseInt( minute1 );

int y2 = new Integer( year2 ).parseInt( year2 );
int m2 = new Integer( month2 ).parseInt( month2 );
int d2 = new Integer( day2 ).parseInt( day2 );
int h2 = new Integer( hour2 ).parseInt( hour2 );
int n2 = new Integer( minute2 ).parseInt( minute2 );

Calendar c = Calendar.getInstance();

c.set( y1, m1, d1, h1, n1, 00 );
Date date1 = c.getTime();
long miri1 = date1.getTime();

c.set( y2, m2, d2, h2, n2, 00 );
Date date2 = c.getTime();
long miri2 = date2.getTime();

return( (int)( ( miri2 - miri1 ) / 60000 ) );

}
そのとおり>>150
153デフォルトの名無しさん:01/12/12 18:39
JDK1.1相当で2つのTextAreaのスクロールをシンクロさせることは
できますか?
154URL ログイン:01/12/12 19:09
import java.net.*;
import java.io.*;

class ConnectionTest {
public static void main(String[] args) {
try {
URL yahoo = new URL("http://www..yahoo.com/");
URLConnection yahooConnection = yahoo.openConnection();
DataInputStream dis = new
DataInputStream(yahooConnection.getInputStream());
String inputLine;

while ((inputLine = dis.readLine()) != null) {
System.out.println(inputLine);
}
dis.close();
} catch (MalformedURLException me) {
System.out.println("MalformedURLException: " + me);
} catch (IOException ioe) {
System.out.println("IOException: " + ioe);
}
}
}
というHTMLを見るコードですが、COKKIE、IE経由でないので同じURLでログインしたときのHTMLにアクセスするにはどうすればよいでしょうか?
詳しい人どうぞよろしく。
155URL ログイン:01/12/12 19:14
ファイナンスの自分のWATCH銘柄の表をリアルタイムで取り込みたいのですが、そのためにはログインしている必要がありますが、
USERNAME:PASSWRD@YAHOO.COM....とやってもIEではないのでうまくいきません。
>>155
へ~ そう。
157デフォルトの名無しさん:01/12/13 01:15
?途中終了する方法?教えて下さい。

クラスAのあるメソッドでオブジェクトb(クラスBのインスタンス)を生成し、
オブジェクトbのメソッドcを実行します。
メソッドcの処理中に処理を途中で終了する方法って何かありますか?
b = nullとする方法もあるかもしれませんが、この場合メソッドcが終了
してからbがfinalizeされてしまいます。この方法はちょっと違いますね。

class A{
B b;

:

public void hogehoge(){
b = new B();
b.c();
}

public void syuryou(){
b = null; //これじゃダメだよなぁ。
}
}
>>155
大抵そういうのはログインから WATCH 銘柄の表の表示まで一連のフローが必要になっている。
ブラウザでやるのと同じ順番でリクエストして行かなければ、表示画面までたどり着けないと思う。
ついでに、ブラウザ上のアプレットじゃないなら、自分で Cookie を管理する仕組みが必要
(アプレットの URLConnection なら Cookie やプロキシ接続はブラウザがやってくれる)。
159158:01/12/13 01:24
>>155
ちょっとまて、IE なら URL にユーザ名とパスワード直入力でいけるのか?
なら URLConnection#setRequestProperty() で WWW-Authentication ヘッダを追加すればうまく行くかも。
WWW-Authentication は自分で調べれ。Base64 使うぞ。
160デフォルトの名無しさん:01/12/13 02:00
>メソッドcの処理中に処理を途中で終了する方法って何かありますか?
どういう条件で終了するの?
とりあえず、APIリファレンス(or参考書)のThreadクラスでも読んでみれば?
すみません。
1.
コマンドラインからの、earとか、warファイルの作成のしかたを教えてくれませんか?
2.
WEB-INFとか、WEB-METAのフォルダを一般のプロバイダ(geocities等)においても動作可能なのでしょうか?
(JSP、HTMLから、ear,war参照するときなど)
162デフォルトの名無しさん:01/12/13 02:16
俺はサーバーサイド関係はよく知らないから、よくわかんないけど
ファイルを作るためには、
ファイルを作るためのクラスを派生してるに決まってると、
俺は思うんだけど・・・。

サーバーサイドプログラミングして、金もらってる人って
こんなレベルなのか・・・
2の質問ってかなり痛い気がする。

だから、JAVA批判が起こるんだよ・・・
163161:01/12/13 02:23
Tool
1.j2ee -verboseでサーバを起動
2.deploytoolでデプロイツールを起動

Toolを使用しないやりかたを今調べてる途中なんです。
いきなりToolを使ったんで、このToolは何をしてるんだろうと?
疑問に思ったので、コマンドラインからの動作を知りたいと、

2.の疑問に関しては、趣味ですから。
164デフォルトの名無しさん:01/12/13 08:08
161 も 162 も痛すぎる...
161 のような質問は初心者なら仕方が無いが、 162 は痛すぎる。
166157:01/12/13 08:15
>>160
>どういう条件で終了するの?

画面(Java Application)からあるボタンをクリックしたら、オブジェクトaのメソッドsyuryouを
呼び出したいのです。画面とオブジェクトaの間の" -- "はrmiを通しています。
ちなみにメソッドcの中でSessionBeanを使っています。
(画面) -- (クラスA・クラスB -- SessionBean)
画面がクライアント、2番目の括弧はサーバに配置です。
(EJBをバッチ処理に無理矢理利用しています。)

クラスBがSessionBeanをハンドリングしており、クラスAがこのクラスB
のメソッドを呼び出します。クラスAはクラスBだけでなく同様のクラスB’などを
幾つか呼び出します。
SessionBeanはThreadを使ってはダメですが、クラスBをThread化するのは
問題ないと思います。意図としてはクラスBを途中で終了させることで、
SessionBeanのトランザクションは壊さないまま次の処理は実行させないように
します。
" -- "はrmi接続なので、呼び出す側オブジェクトbが消えても(途中終了しても)
呼び出される側のSessionBeanは処理を続けているのではないか?という発想です。

この趣旨のもと157で質問させて頂きました。
JavaApplicationとEJBを使ってバッチ処理というのはちょっと無理矢理かも
しれないですが。。。これはちょっと置いといて。

それ以外に何かこういう方法で処理と途中で終了させれば
よいのではないか?という他の方法がありましたらご教授下さいませ。
167デフォルトの名無しさん:01/12/13 18:37
JavaMailをつかいたいのですが
sunの公式ホームページ等の
ダウンロード以外の手段で
たとえば雑誌の付録についていますか?
168class -> exe:01/12/13 18:45
ttp://www.xlsoft.com/jp/products/jet/index.html
どうよ?Personal Editionは無償だとさ。
169べんきょうちゅう:01/12/13 19:55
素朴な疑問なんですが。

配列の長さを知りたい時って、

arg.length

でOKでしょ?
なんで文字列の長さになると

arg.length()

って、かっこがうしろにつくの?
このちがいはなに??
170デフォルトの名無しさん:01/12/13 20:36
>>169
メンバ変数とメンバ関数(メソッドともいう)の違い。
(厳密に言うと配列のlengthは純粋なメンバ変数と実装がちがうが)
>>167
下記ってCDついてないのかな?

http://www.sk-jp.com/book/javamail/
172べんきょうちゅう:01/12/13 20:57
>>170
ありがとー。
配列のlengthはメソッドじゃないのかぁ。
どういうしくみになってるんだろう?
よかったら教えてください。
173デフォルトの名無しさん:01/12/13 22:42
仕事でJavaをすることになったんですが
入門書として、これはいいぞというものがありましたら
教えてください。
>>173
前スレ読めばわかる
確かに配列の length は納得いかないよな・・・
代入できるわけでもなし・・・
なぜなんだろう?あれ。
176デフォルトの名無しさん:01/12/14 00:36
>>166
javaでサーバーサイドをやってるにもかかわらず、
>SessionBeanはThreadを使ってはダメですが、クラスBをThread化するのは
というのは・・・・
サーバーサイドはマルチスレッドプログラミングができないと痛いよ。
rmiを通してますってあらかじめ書いてるのも笑えるな。
rmiの仕組みがわかってれば、残りは自分で工夫すればいいだけの話だ。
それにしても、RMIを運用できるほどハードに余裕のある会社があるとは・・・
それとも、プロトタイプか?

俺にはEJB関連の用語が蛇足でくっついてきてる気がするんだが、
そこに意図があるのかもしれないので、答えは書かないでおこう。
177デフォルトの名無しさん:01/12/14 00:48
実例・演習で身につけるJavaプログラミング入門
林 正幸 (著)
http://www.amazon.co.jp/exec/obidos/ASIN/4320029984/ref=sr_aps_d_1_1/250-4091863-4281807

超お勧めです。わかりやすいし、内容が豊富。推薦しときました。
>>175
配列外アクセスを検出するため、絶対必要。
>>172 >>175
使う分にはfinalつきで宣言されたメンバ変数と思えば問題ない。
実装の違いなんてコンパイル後のバイトコードでも見ない限り判らない。
180デフォルトの名無しさん:01/12/14 11:17
Linuxにtelnetで繋いで作業してるんだけど、
日本語表示がばけちゃうんです。
public class test
{
  public static void main( String args[] )
  {
    dump( "アイウエオ" ) ;
  }
  public static void dump( String str )
  {
    StringBuffer sb = new StringBuffer() ;
    char[] buf = str.toCharArray() ;
    sb.append( "dump(" + str + "): " ) ;
    for ( int i = 0 ; i < buf.length ; i++ )
    {
      sb.append( Integer.toString( buf[ i ] , 16 ) + " " ) ;
    }
    System.out.println( new String( sb ) ) ;
  }
}

これでコンパイルして
javac -encoding SJIS test.java

結果はこんな感じでばけちゃう
dump(?????): 30a2 30a4 30a6 30a8 30aa

環境変数は
export LANG=ja_JP.sjis
export LC_CTYPE=ja_JP.sjis
export LC_ALL=ja_JP.sjis
export LC_MESSAGES=ja_JP.sjis
こんな感じで設定してるんだけど、

javac -help
と、やっても日本語ヘルプも出ない

だれか、情報ないっすか?
181 :01/12/14 11:20
アプレットで、
Graphics2D#fillなどで図形描画した上に、JLabelを張りたいんです。
強引に、↓の用にすれば出来ました。

//labelはJLabel、g2はGraphics2D
label.paint(g2);

何故こんな事をしたいのかと言うと、
漫画のフキダシのような物を描画してから、台詞をJLabelで書きたいからです。
JLabelだとhtmlとか使えるし、いろいろ楽かなと。

もっとエレガントな方法は無いでしょうか?
182 :01/12/14 11:26
>>180
javac -encoding EUC_JP test.java
とかも駄目?

最後の手段としては
native2asciiでアイウエオをUnicodeにしちゃうとか。
183デフォルトの名無しさん:01/12/14 11:26
質問です。
switch文のcaseの整数値はブランクfinalをにする事って出来ないんですか?

<例>
class temp{
final int a;
temp(){
a = 5;
}
switch(整数選択子){
case a:
処理
break;
}
}
とやると、
「定数式が必要です。case a:」
とコンパイルエラーが出てしまいます。
>>183
public static final int
とかいっぱいつけないとだめかも
>>184
パブリック・スタティック・ファイナル・イントー!

必殺技の名前みたいだ
186183:01/12/14 12:06
>>184
レスどうもです。
やってみましたけどダメでした…。
>>176
「 (EJBをバッチ処理に無理矢理利用しています。) 」
って書いてあるよ。
JCL のつもりで Java 使ってる…
Ruby使えばいいのに…
189デフォルトの名無しさん:01/12/14 14:59
Rubyはだめだ
190デフォルトの名無しさん:01/12/14 15:38
URL クラスの openStream() または URLConnection クラスの getInputStream()
を実行した場合、以下の例外を投げ返されてしまいました。
=====================================
-----------------IE 5.50 SP2-----------------
com.ms.security.SecurityExceptionEx[Applet1.testGetInputStream]: cannot access "xxxserver":80
-----------------NS Communicator 4.75-----------------
netscape.security.AppletSecurityException: security.class from local disk trying to access url: http://xxxserver/test/sample.txt
-----------------AppletViewer (JDK5)-----------------
java.security.AccessControlException: access denied (java.net.SocketPermission fpserver resolve)
-----------------AppletViewer (JDK 1.2)-----------------
正常動作
-----------------AppletViewer (JDK 1.1.x)-----------------
正常動作
=====================================
環境:xxxserver(LAN内。仮名)上でIISがtest仮想ディレクトリをサービス
何れも解説本通りの記述で発生したので、WEBサーバ設定上の問題という気がしてきましたが、
どうでしょうか?
191デフォルトの名無しさん:01/12/14 15:48
他のデータ型からint型に変換するにはどうしたらいいですか?
キャストすれ
193初心者:01/12/14 16:22
いつもお世話になっています。

抽象クラスとインターフェースの違いについて教えてください。
問題は、どのように使い分けるかです。どちらも、多数のサブクラスの
共通部分を取り出すために使えると思うのですが、使い分ける理由が
わからないのです。

もしかすると、一部のメソッドの定義を書きたければ抽象クラス、
メソッドの定義をまったく書かなければインターフェースということで
しょうか?

よろしくお願いします。
インターフェイスには
マーカーインターフェイスという使い方も
195デフォルトの名無しさん:01/12/14 16:28
ベクトルから取り出したオブジェクトを(int)とキャストしてもエラーをはくのです。
196193:01/12/14 16:29
>>194
早速ありがとうございます。
でも、マーカーインターフェースってわかりません。(泣
できれば、わかりやすくお願いします。
clone関数つかうときってさ、
Cloneableインターフェイスをimplementsするでしょ?
なにもメソッドをもたないで、それを実装するクラスがある属性を
もってるって知らせるためのやつ。
198193:01/12/14 16:51
>>197
ぜんぜん、わかりません。
私は質問する資格すらないのでしょうか?
199デフォルトの名無しさん:01/12/14 16:53
どうしたらいいんだYO!!!!!!
じゃあクローンのことは忘れよう。
とりあえずインターフェイスって複数の継承できるでしょ?
あと抽象クラスは部分実装ができると。

あとは日下部大先生にでも聞いてくれ(w
201195:01/12/14 17:03
俺はどうしたらいいんじゃ?
>201
int?
Integerにキャストせよ。
203195:01/12/14 17:08
Integerにキャストした後どうしたらいいの?
それで、もうint型として使えるの?
intじゃなくて
Integer型!
どうしてもint使いたいならvectorつかわず配列をつかうべし。
205193:01/12/14 17:14
>>200
わかりました。(と思います。)
ありがとうございます。m(__)m

日下部先生は嫌でございますです。
206195:01/12/14 17:14
Integer型からintに変換するにはどうしたらいい?
Integer型のメソッド、
intValue()をつかえば、現在のオブジェクトの値を
int型でかえしてくれる。
208195:01/12/14 17:21
>>207
Thank you.
210デフォルトの名無しさん:01/12/14 19:15
Javaで遅くなる一因って何ですか?(マシンスペックは除く)
今、アプリケーションを作っていて恐ろしく遅くなってしまって
使い物になりません。原因がいろいろ考えられるのですが、
特に足を引っ張っている原因がいまいち分かりません。
Swingは使っていません。
osはなに?メモリー不足→ページング発生、てのがありがちなパターンだけど。
"java -Xprof クラス名"
で起動すると何に時間使ってるか見れるよ
213210:01/12/14 20:27
>211
Windows2000、ペン4、メモリ256Mです。
手動で最適化しても
なかなかに違いがでまっせ。
215べんきょうちゅう:01/12/14 20:38
lengthの疑問に答えてくださった皆さんありがとうございました。
納得。お得。

えっと、「インナークラス」について、
本とか読んでもどうしても納得できない(というか理解できない)ので、
参考になるところとかあったらURL教えてもらえませんか?
あの、匿名クラスっていうの?無名クラス?がよくわかんない。
うーー。
なんなのあれー。
216デフォルトの名無しさん:01/12/14 20:40
お願いします。

Taro君の年が23歳で月収15万円というデータが一つの文字列に
あったような場合、つまり、次のような場合、
String s = "Taro 23 15";
これらを分離して
String name;
int nenrei, gessyu;
のような変数にTaro、23、15を入れる方法ってあるのでしょうか。
(ファイルからの読み込みに使いたいのですが...)

どうかお願いします。
>>216
TokenなんとかってやつでStreamっぽく扱って
区切り文字をスペースにすれば
ひとつずつよめるんじゃない?
218216:01/12/14 20:51
>>217
ありがとうございます。
でもTokenなんとかがよくわかりません。
調べる先のヒントでも教えていただけないでしょうか?
お願いします。

みなさん、1行にいくつかデータのあるファイルの
読み込みはどうされているのでしょう?
StringTokenizerクラスをつかうのだ
220216:01/12/14 21:02
>>219
ありがとうございます。助かりました。
こんなクラス、初心者本にはないですよね?
でも、ファイルからの読み込みなんかはこれでよいわけですね。

本当にありがとうございます。
222デフォルトの名無しさん:01/12/14 21:12
JavaCardAPIを用いてJavaCardアプレットを作っているのですが、
デスクトップPCなどで動作させるJavaCardとのデータの
やり取りなどを行なうアプリケーションはJavaで作成できるのでしょうか?
JavaCardAPI・Java2SEのAPIドキュメントなどを漁ってみたのですが、
該当するAPIが見つかりません。
>220
あ、ファイルからならStreamTokenizerだよ
MicrosoftのC#とCLIが「標準」に
http://www.zdnet.co.jp/news/0112/14/e_dotnet.html

もうJAVAをやる価値はありません。
早めに.NETに移行しましょう。  
>>224
これでしょ?
http://www.microsoft.com/presspass/press/2001/Dec01/12-13ECMAPR.asp


> もうJAVAをやる価値はありません。

サーブレットはどうやって書くのだ?
sscanfやsprintfたいなことがしたいなら、
java.text.MessageFormatを使いましょう。
227222:01/12/14 22:22
Win32APIでならWindowsForSmartCardSDKを用いれば
ホストコンピュータ側のアプリケーションを作成できることは分かったのですが。
なんとかJavaで作りたい(^^;
>>222
JavaCardってなあに?
やり取りとやらのプロトコルが既知のものなら、それにあわせて
ソケットなりなんなりで会話すればいいじゃん。
229222:01/12/14 22:28
JavaCard=内部のアプリをjavaでかけるICカードです。
プロトコルはISO7816が使えればいいんですけど。
230べんきょうちゅう:01/12/14 23:13
225さん、ありがとうございます。
カンシャ、カンシャ、カンシャ(ライオンキングのCMのまね)

ところでまた質問があるのですが。

①スレッドA、Bを流す。
②Aがロックをとっていろいろと実行する。そのあとwait();が呼ばれる。
③Bが実行される。notify(); がよばれる。

このあと、またAがロックを取って動き始めると思うんだけど、
その時ってどこからの実行になるの?
wait(); の次の行からの実行?それともまたrun()以下をはじめっから?

教えてください。
>>230
waitの次から
つーか試せよ。
232べんきょうちゅう:01/12/14 23:17
>>231

すんません。
まったくもってそのとおりでした。

でもありがとう!!
233>176:01/12/14 23:47
EJBの規則ではSessionBeanをスレッド化してはならないよね?知ってた?
234デフォルトの名無しさん:01/12/15 00:05
ObjectStore PSE/Proに画像を
格納することは出来るんでしょうか?
出来るとすればどうやればよいのでしょうか。
Java.awt.imageクラスを使うのか、強引に
文字列で読み込ませるのでしょうか。
教えてくれ君ですみませんがご教授お願いいたします。
メンバってインスタンスの事?

メンバ関数とかメンバ変数とか言っている人がいるけど.
{インスタンス|静的}{関数|変数}
なら知ってるんだけど.
実体無くてもメンバーはメンバー。
>>235
俺も使ってたけど
特定のクラスのメンバではない変数や関数がないJavaでは
意味のない単語だったね。不適切だったかも。
もともとC++の用語と思われ。
>>235
関数ってなに?メソッドじゃないの?
・・・って言い返したくなるのは、なぜだろう。
ここ↓に、はっきりと 8.2 Class Members と書いてあるが、なにか?
http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#21831
240216:01/12/15 01:31
>>223
>>226
ありがとうございます。(レスが遅れてすみません。)
とても勉強になりました。

私の課題は、1行ごとに
Taro 23 15
のようなデータのあるファイルから個別のデータを読み込んでいくことです。
StreamTokenizerもMessageFormatもぜひ理解し使いこなしたいのですが、
当面はちょっと難しそうです。
今回は、readLineで一行ずつ読み込んで、StringTokenizerで分解して
いこうかと思います。特に「バカな方法」ではないですよね。
(ざっと見た感じでは、StreamTokenizerは高機能すぎて今の私には猫に小判です。
MessageFormatはまだ読めていません。)

ありがとうございました。
241210:01/12/15 01:33
Javaで600×500の画像を使うのはおかしいでしょうか?
>>241
おかしくないけど
243210:01/12/15 02:05
スレッドって、sleep命令は必ず入れたほうがいいですか?
HSPだとwaitという同じような命令を使わないと処理が
おかしくなるのですが。
244JAVA:01/12/15 02:14
>>243

HSP厨に用はない。
245デフォルトの名無しさん:01/12/15 02:19
Rubyなら出来ます!!!!!!!!!!!!!!!!!!
RUBY>>>>>>>>>>JAVA==HSP
>>243
一定時間ウェイトを入れる時にはsleep()を使う。

ただ単にほかのスレッドへスイッチするチャンスをVMに
与えるだけならyield()ってのもある。
でもVMの実装によってはスレッドのスイッチは勝手に起きるから
yield()が無駄になることもある。

でもJavaの錦の御旗でもある互換性の確保をしたかったら
時間がかかる処理にはループの中にyield()を入れておくべき。
248_:01/12/15 02:39
Javaチャット作りたいんだけど難しいですか?
作り方でてるいいサイトあったら紹介してください!
249210:01/12/15 02:44
>247
ありがとうございます。早速、使ってみます。
>244
HSPはちょこっと触った程度です。
同じインタプリタなのでちょっと例を挙げてみただけです。
250デフォルトの名無しさん:01/12/15 04:18
誰か教えてください。
JOptionPane.showConfirDialog()って整数値返しますよね?
この戻り値を拾わなければ問題無い(アプリとして意味無いが)んですが
この戻り値を拾ったとたんにプログラムの挙動がおかしくなります。
つまり
JOption......;
なら問題無いが、
int val = JOption....;
とすると駄目なんです。コンパイルは通ります。なぜですか?
>>248
まずは普通につくれ。特別な技術はいらない
252デフォルトの名無しさん:01/12/15 11:06
フォームの事で質問なのですが、submitボタンを押す事で
・POST
・ウィンドウ閉じる
を同時に出来ないようなのですが、何か良い方法はないでしょうか。
↓の書き方だとpost出来ずにウインドウだけが閉じてしまいます。

<form action=hogehoge.php method=post>
:
:
<input type="submit" value="確定" onClick=window.close()>
</form>

よろしくお願いします。。
253べんきょうちゅう:01/12/15 19:21
はぁ・・・わけがわかんなくて勉強嫌になってきたよー(涙)

質問です。

KeyListenerって、すべてのコンポーネントに追加できるんだよね?
たとえば、Buttonコンポーネントに追加して、
KeyListenerのメソッド全部オーバーライドしたとするでしょ。
そしたら、どういうことになるの?
Buttonにカーソルが置かれていて、任意のキーが押されると
イベントが発生するわけ?

全然わかんないよー。
教えてください。

試しにソース書いてみたけどどのキー押してもなんにも起こらない。
悲しい。
>253
ButtonのrequestFocus()は呼んでる?
UNIX上で X window に gui を表示する場合、
別のOSの動いているマシンのXサーバに表示
させようとすると、jre 付属の font.properties.ja
に書かれているのとフォント名が全然違ったり
して、ウォーニングがたくさん出てイヤ!
そんな問題を回避する方法、教えてケロ!!!
256java厨:01/12/15 21:48
画像の一部分をコピーしたものを表示させたいのですが
うまく表示されません。
どうすればいいのでしょうか?

init内に
 Image full_image = getImage(getDocumentBase(),"field2.gif");
 ImageFilter cropper = new CropImageFilter(0,0,40,40);
 ImageProducer prod = new FilteredImageSource(full_image.getSource(),cropper);
 Image cropped_image = createImage(prod);

public void paint(Graphics g)内に
 g.drawImage(cropped_image,0,0,this);

こんな感じです。
257デフォルトの名無しさん:01/12/15 21:49
x*s*.4f;
ってどういう意味ですの?
258java厨:01/12/15 21:50
コンパイルは成功します。
Appletviewerを使うと
Exception occurred during event dispatching:
Java.lang.NullPointerException

と出てしまいます。

ためしに↓を描画させようとしたのですが失敗。。。
Image testhoge=getImage(getCodeBase(),"uo.jpg");


思いっきり厨房ですがよろしくお願いします。
259257:01/12/15 22:04
.4
これの事ね
>257
.4fは0.4fと同じ意味
>256
もしかしたら
× Image cropped_image = createImage(prod);
○ cropped_image = createImage(prod);
かも
262java厨:01/12/15 22:23
>>261
ためしてみましたが、結果は同じようです・・・。
うーん

ついでにこれもなおしておきました。
× Image full_image = getImage(getDocumentBase(),"field2.gif");
○ full_image = getImage(getDocumentBase(),"field2.gif");
263:01/12/15 22:25
264256java厨:01/12/15 22:30
全体の構造はこんな感じです。
やっぱりこれだけじゃ足りないのでしょうか・・・

--------------------------------
import いろいろ

public class test extends Applet{
 public Image full_image;   //全体画像
 public Image cropped_image; //画像の一部分

  public void init(){
   full_image = getImage(getDocumentBase(),"field2.gif");
   ImageFilter cropper = new CropImageFilter(0,0,40,40);
   ImageProducer prod = new FilteredImageSource(full_image.getSource(),cropper);
   cropped_image = createImage(prod);
  }

public void paint(Graphics g){
 g.drawImage(cropped_image,0,0,this);
}
265257:01/12/16 00:10
>>260
さんくすです
266 :01/12/16 01:08
>>264
そのコードで実行してみたけれど、僕の環境では上手く行きましたよ。
Win98 + Java1.3.1_01です。
cropped_imageがまだ完成しないうちにpaint()がJVMから呼ばれる
ことがあるんだよ。その時だけcropped_imageがまだnullなんでオコラレル。

つうわけで、paint()でdrawImage()すんのはやめれ。
(第一、そこでそんなことやったら何度も何度もdrawImage()くり
返すから、レンダリング能力の浪費だよ。)cropped_imageが完成
するまで待って、AppletからgetGrapics()して、そこにdrawImage()
してみそ。
>>253
ボタンにフォーカスがいってないんじゃない?
Javaに限らずキーイベントは基本的にフォーカスがあたっているコントロール
だけに送られるものだよ。(厳密に言うと突っ込みどころいっぱいありそうだけど)
ブラウザの入力項目もキー入力を受け付けるのはキャレットが点滅してる
どれかひとつだけでそ?
>>255
> UNIX上で X window に gui を表示する場合、
> 別のOSの動いているマシンのXサーバに表示
> させようとすると、jre 付属の font.properties.ja
> に書かれているのとフォント名が全然違ったり
> して、ウォーニングがたくさん出てイヤ!
> そんな問題を回避する方法、教えてケロ!!!

Java言語そのものの問題というよりシステムの設定の問題だろう?
リモートの方の設定とxサーバのフォント設定は確認した?
>267
initより前にpaintが呼ばれることはないと思うよ
それからgetGraphicsで描くと再描画されない気が
>>270
init()通っていても、Imageが完成しているとは限らんと思うが。
272ガスター天:01/12/16 01:41
アップレットを作りました。
しかし、そのアップレットをブラウザで読み込むと
ブラウザの動きが悪くなりました。
この状態はブラウザの昨日を落とすまで続きました。
このための対策とは何か質問をしています。
答えを与えてください。
>>272
メモリ増やせ。
>271
少なくともnullでは無いよ
>>274
Imageインスタンス内部の変数がまだnullかもよ。
276ガスター天:01/12/16 01:53
そのアップレットは正常に動きます。
しかし、その後ブラウザを使っていると不快感を覚えます。
Javaのガベレジコレクタが働かないのはなぜかという疑問にぶつかりました。
277デフォルトの名無しさん:01/12/16 01:57
>>267
>つうわけで、paint()でdrawImage()すんのはやめれ。
>第一、そこでそんなことやったら何度も何度もdrawImage()くり
>返すから、レンダリング能力の浪費だよ。)cropped_imageが完成
>するまで待って、AppletからgetGrapics()して、そこにdrawImage()
>してみそ。

ここが上手く理解できません。
getGraphics()して得たGraphicsにdrawImage()しても、アプレットに反映
されないのですが、どうすれば反映させる事ができるんですか?
278274:01/12/16 01:59
>275
えっと、JDK1.1の時代のイメージモデルは
非同期で処理が行えるようになっていて、
・・・説明めんどくさい。
ImageObserverとかImageProducerとか自分で調べてちょ
279デフォルトの名無しさん:01/12/16 05:05
イニシャライザーについてなんですけど。

class Tag
{
  String name ;
  int num ;
}

final static Tag[] = { { "aaa" , 1 } , { "bbb" , 2 } , { "ccc" , 3 } } ;

Cっぽく、こうしたいんですけど、方法ないですか?
>>279
こういうのはどう?

class Tag {
  private String name ;
  private int num ;
  Tag(String name, int num) {
    this.name = name;
    this.num = num;
  }
}

final static Tag[] tags = { new Tag("aaa", 1), new Tag("bbb", 2), new Tag("ccc" , 3)} ;
281279:01/12/16 05:28
>>280
ありがと、勉強なたよぉ~
好きになっていいですか?
282デフォルトの名無しさん:01/12/16 05:32
>>276
ひょっとしてAWT使ってる?
SWINGに変えればマシになるかも。
283279:01/12/16 05:38
>>280
ちょと、疑問に思ったんだけど、

>final static Tag[] tags = { new Tag("aaa", 1), new Tag("bbb", 2), new Tag("ccc" , 3)} ;
finalが付いてstaticだって事は、クラスが起動時に生成されるわけじゃなくて、
tagsの配列の状態が、実行ファイルに内包されてて、ただ読み込まれるだけ
って考えていいの?
静的にtagsを確保したいんだけど、どですかね?
>>283
tagsの配列に入っているのは、Tagインスタンスへの参照です。
newされているTag自体は、newですから当然ヒープに生成されます。

final static ですので、初期化状態のtags(=クラスロード時に
Tagインスタンス3つを参照する配列インスタンスへの参照)から
変更することが不可能ですから、機能としてはC++の静的確保と
同じです。

メモリ上の話ですと、Tagsインスタンスはヒープ領域、Tags
配列インスタンスはクラスロード領域に確保されます。
(もっとも、JavaMemoryModelの擬似マッピングと、実際の
ハード上のメモリマッピングは違うでしょうけど)
Javaのクラスは、ロードされた時にまずクラス初期化メソッドが
コールされ、staticフィールドが初期化されます。
バイトコードコンパイル時に自動的に生成されるメソッドです。
あくまでメソッドですので、実行時に実行されます。Tagインス
タンスの生成もその時(=クラスがロードされた時)に行われます。

ちなみにこのクラス初期化メソッドは、ユーザがコーディングする事
も可能です。メソッド名なしでstatic{}とかくと、{}の中身が
クラス初期化メソッドになります。
>>269
>Java言語そのものの問題というよりシステムの設定の問題だろう?
>リモートの方の設定とxサーバのフォント設定は確認した?
レスありがとうございます。仰る通り、警告が出る原因は、
jvm が参照する font.properties.ja に書かれているフォントが
Xserver 上にないからなので、インストールされているjvmが、
どのXserverに接続するかが固定であれば、font.properties.ja
を書き換えてしまえば良いと思います。困っているのは
ヘテロな環境で、どのXserverにつないだかに応じて適切なフォント
を使うように設定する方法なんです。私の所では、
通常 jvm は root 権限でインストールされるので、自分の都合で
全体に影響を与えるような事はしたくない、1ユーザレベル
でこれに対処する方法が存在するのであれば嬉しいのですけど…
X側で fonts.alias を使いまくるのかなぁ…
>>286
フォントファイル名を指定してフォントを読み込めばいいんじゃないかな。
Font.createFont(Font.TRUETYPE_FONT, new FileInputStream("xxx.ttf"))
てな感じで。ただし 1.3 以上。
288デフォルトの名無しさん:01/12/16 09:38
Java初心者です。お願いします。
よく次のようなクラスを見ます。

class X
{
 private int data;
 public void setData(int d){ data = d; }
 public int getData(){ return data; }
}

これは、dataをprivateにしていますが、結局、アクセスメソッドを
与えているので、それなら最初からpublicの方がよいのではないでしょうか?

それから、少し、関連した質問もさせてください。
お願いします。
289デフォルトの名無しさん:01/12/16 09:39
質問2です。
上のレスのクラスの場合、classがpublicでないので、メソッドに
何も付けなくても同じだと思います。
にもかかわらず多くの本で、上のようにpublicを付けているのは
なぜでしょうか?

お願いします。
290255=286:01/12/16 09:42
>>287
ども。1.3以降では、そんなことができるんですね。試してみます。
プラットフォーム毎に微妙にフォントサイズが違って… という問題も
本質的に回避できそうですね。すごく嬉しいかも。
IBMのSDKのdownloadの所から落せるフォントって何のためにある
のか判らなかったけど、コレに使えってことなのかな。
291デフォルトの名無しさん:01/12/16 09:43
質問3です。連続質問で本当にすみません。
>>288のクラスを継承しようとすると、dataがprivateでは使いにくいと
思いprotectedにしてみました。
しかし、調べてみると、サブクラスを同じファイルに書くなら、protected
を付けるより何も指定しない方がアクセス制限がかかることがわかりました。
みなさんは、こういう場合どうしていますか?

つまり、サブクラスは同じファイルに書かないようにするとか、
同じパッケージに入れないとかの不文律でもあるのでしょうか。

いろいろアクセス制限で悩んでいる初心者です。
よろしくお願いいたします。
>>263
10進法で12くらいかな?
>>290
> プラットフォーム毎に微妙にフォントサイズが違って… という問題も
> 本質的に回避できそうですね。すごく嬉しいかも。

まさにその目的のために実装された。TrueTypeの自力描画。
294べんきょうちゅう:01/12/16 13:57
今Javaの本を読んでいたんですが。

「イミューダブルオブジェクト」ってなに???

イミューダブルっていう単語の意味すらわからず(涙)、
ネットで検索してもちっともひっかかりませんでした。

知ってる方がいたら教えてくださいー。
お願いします。
295淫乱女教師:01/12/16 14:02
>>294
イミュータブルで検索しなさい
>>295
漏れは淫乱女教師に教えてもらいたいな、いろいろ。
297べんきょうちゅう:01/12/16 14:37
>>295
うお!すごい!ほんとだ。いっぱい出てきた。
ありがとー。
さすが淫乱女教師。
>>288
実装を変更してもインターフェイスを変更しないで済むように。

(そのクラスではあまり意味が無いと思うけど)
例えば、Xクラスの実装責任者が、なにかの都合でdataフィールド
の実装がintからIntegerに変えたとしても、それにあわせて
setData()とgetData()の実装を変更すれば、Xクラスを使用している
クラスの実装を変更する必要が無くなる。

もしXクラスを使用しているクラスがフィールドを直接よんでいた場合、
その全ての場所でX.dataと書いていたところをX.data.intValue()と
書き換えないといけなくなるわけで、それは、Xクラス内部で
getData()とsetData()だけ書き換えるのに比べると、保守性がよく
ないわけで。
そういう小さいクラスだとあまり価値を感じないかもしれないけど、
もっとややこしい構造になってくると、そういう実装してくれて
いるとありがたくなることが多いんだよ。ほんとに。

>>289
public クラスで無い場合、パッケージ外のクラスがそのクラスの参照
を作れなくなるだけで、どこからでもpublicメソッドは呼べる。
どこかにgetX()というメソッドでXクラスのインスタンス参照を返す
メソッドがあったら、getData()やsetData()がpublicであるなら、
getX().getData()やgetX().setData()はどこからでもできるわけ。

OK?
>>291
フィールドは基本的にすべてprivateでよいよ。
サブクラスの実装で、必要な場合ところで
super.setData()やsuper.getData()呼んでやりなよ。
300デフォルトの名無しさん:01/12/16 16:28
>289
DelphiやC#やってみればわかる
Javaにはgetter/setter/accessorが言語仕様にないのよ
301288:01/12/16 17:09
レスありがとうございました。今日一日レスを待っていたかいがありました。
>>298
なるほど。わかりました。
質問2のご回答内容はまったく知らないことでした。勉強になりました。
>>299
実は、私も「この方針でよいのかな。。。」と思っていたのですが、初心者ゆえ
確信がありませんでした。ありがとうございます。

ただちょっとだけ、もしかすると失礼かもしれない質問をさせてくださいますか?
私は実はC++の経験者です。(しかし、今Javaが必要なのです。)そのためか、
Javaのアクセス制御(特にprotected)で迷ったのです。結論が>>299さんの言う
通りであるなら、これは「私個人のC++コーディング規約」と一致します。
それはうれしいのですが、すみません、299さんご自身が実はC++使いの方で、
C++の影響を受けているということはないですよね?
(わけのわからない失礼な質問で、ほんとにすみません。C++風なJavaプログラム
にならないよう、つまりJava風のJavaを書きたいゆえです。お許しください。)

>>300
今は何が何でもJavaが必要なのですが、スキルアップにあとで勉強してみます。
>>301
Java の protected はかなり緩い制限なので 299 氏のいうように
必要がない限りはフィールドは全て private にすべき。
>protected
>同じパッケージのクラスか,そのサブクラスからしかアクセスできない.
水平タブ\tの幅は8文字以外にはできないんですか?
>>303
プロパティ変えろよ。コンポーネントにそういう
プロパティがあるクラス使って。
305べんきょうちゅう:01/12/16 19:11
質問というか確認というか。
例えば以下のようなコードがあります。

Object o = new Long(7);

Object型にLong型がキャストされるわけだけど、
このとき参照変数oってLong型になった、と思っていいの?

上記コードのあとに
Long l = new Long(7);
を定義すると、
o.equals(l) がtrueになるから、そうなのかなと思ったんだけど。

イメージが湧かないよー。あってる?
oはObject型のままかわらないだろ?
oにLong型のオブジェクトの参照がコピーされるだけでしょ?
>>305
OKです。
Object型の変数は、何のオブジェクトの参照でも入れておく
ことができる汎用の入れ物だと思っておいてください。
309べんきょうちゅう:01/12/16 19:23
>>306
そうなの、そうだと思ってたんだけど、
equals()の説明のとこに、
「まず最初に型が同じかどうかチェックされます。
 その次に内容のチェックがされます。」
ってかいてあったの。
で、さっきのソース実行するとtrueになるから、
え?ってことはLong型にかわっちゃったわけ??と疑問に思ったのです。
だってObject型とLong型は違う型でしょ?
310べんきょうちゅう:01/12/16 19:37
306~308の皆様ありがとう。

もしかして、equal()メソッドの最初の型チェックって、
同じまたはサブクラスならOK、ってこと?
今まで間違って覚えてたかもしんない。
それだったら納得。
あってる??
Objectクラスのequalメソッドは、
オブジェクトへの参照が同じオブジェクトを参照してるかどうか
調べるだけであーる。
>>310
クラスごとにequal()メソッドはオーバーライドされてるよ。
もしoがObject型オブジェクトを参照しているならば、Object#equals()がコールされる。
(Object#equals()は>>311のいってる通り)
oがLong型オブジェクトを参照しているならば、ちゃんとLong#equals()が呼ばれてるよ。
コアAPIのソース見て、どんなオーバーライドしてるか確認してみるといいぞ。
313デフォルトの名無しさん:01/12/16 20:00
JavaMailを使用してメール送信するプログラムを作成中なのですが、
SUBJECTや本文が文字化けするので、エンコード指定しようとすると

msg.setSubject( subject, "iso-2022-jp" );
とすると
setSubject(java.lang.String) は (java.lang.String,java.lang.String) に適用できません。
msg.setSubject( subject, "iso-2022-jp" );
とエラーになってしまいます。
JavaMailは1.1.3, JAFは1.0.1です。
なぜエラーに?どうすれば文字化けなくなる?
ご存知のかた教えていただけませんか? ^
>>313
コンパイルエラーだろ?
APIドキュ見直せよ…
315313:01/12/16 20:16
書籍やWEBで
msg.setSubject( subject, "iso-2022-jp" );
とやってるもんで。
>>304
こんな質問にちゃんと答え下さってアリガトウです!!
317301=288:01/12/16 21:02
>>302
レスありがとうございます。
これで、なんとかコーディングをはじめられそうです。
(ものすごく簡単なやつですが。)

299さんもありがとうございました。
>>305
変数の型とオブジェクトの型は必ずしも一致しない。
319デフォルトの名無しさん:01/12/16 22:17
servletでsqlを使っていますが、エラーが出ます。
エラーは、java.sql・SQLException:Microsoft ODBC Microsoft Access Driver クエリ式’Number = 98p 'の 構文エラー : 演算子がありません。
とでます。
SQLの文章が違うみたいなんですが、良く分かりません。よろしくお願いします。
こんぽーねんとってなに
321デフォルトの名無しさん:01/12/16 23:51
どなたか添削してもらえませんか?
実行時に、コンパイラに Exception in thread main といわれるんですけど、
main メソッド内の t1 をどうしたらいいのか良くわからないんです。
よろしくお願いします。

import java.awt.*;
import java.awt.event.*;

public class ScreenSaver extends Frame implements Runnable {
MyCanvas c1;
Thread t1;
int w, x, y, z;

public ScreenSaver() {
super();
setTitle( "Demonstrating Screen Saver" );
setSize( 400, 300 );
setLayout( null );

c1 = new MyCanvas();
this.add( c1 );
}

public void main( String args[] ) {
new ScreenSaver().show();
t1 = new Thread( this );
t1.start();
}

public void run() {
try {
for( int count = 0; count <= 100; count++ ){
while( true ) {
Dimension d = getSize();

w = (int)( Math.random() * d.width );
x = (int)( Math.random() * d.height );
y = (int)( Math.random() * d.width );
z = (int)( Math.random() * d.height );

c1.repaint();
t1.sleep( 1000 );
}
}
} catch( Exception e ) {
System.out.println( e );
}
}

class MyCanvas extends Canvas {
public void paint( Graphics g ) {
g.setColor( new Color( (int)( Math.random() * 255 ),
(int)( Math.random() * 255 ), (int)( Math.random() * 255 ) ) );
}
}
}
>>313
書籍やWebよりも、APIドキュメントを見直しなさい。

>>319
SQLの構文が違うと親切にエラーが出てるのだから、そこをさっさと見直せ。

>>321
実行時のエラーをコピペせよ。
なんとなくCLASSPATHがおかしいような気がしなくもないが。
>>321
staticメソッドであるmainから、thisとかインスタンス
変数にはアクセスできないよ。

ScreenServer o = new ScreeenServer();
o.show();
new Thread(o).start();

ってやってみ。
324321:01/12/17 00:21
>>322
エラーのコピペです。
Exception in thread "main" java.lang.NoSuchMethodError: main
>>324
それは、実行しようとしてmainが無いよって怒られてるんだが…
コンパイルできてねえのに、実行できるはずねえ。

なんでNoSuchMethodErrorなんだろ?
同じクラス名で、古いclassファイルあるんじゃねえの?
・・・・。
main が static になってないだけ?
327デフォルトの名無しさん:01/12/17 00:40
>>321 さん
独習JAVA読み出してやっと1週間の者です。
「public static void main」じゃなくて「public void main」になってるんですが
"static"っていらないんですか?

勉強中の例題で static 取って試してみたら、同じエラーが出ましたよ。
328321:01/12/17 00:44
>>323>>325-326
どうもありがとうございました。無事コンパイルできました。
一瞬できなかったんですけど、staticがないのは盲点でした。
実行はできたんですが、結果は真っ白なウインドウが出てくるのみ・・・
プログラム自体を見直す必要があるみたいです。
なので逝ってきます。
329328:01/12/17 00:47
書き込んだ直後に何がいけないのか気づきました。
肝心のdrawLineを最後まで書いてなかった・・・
ご迷惑おかけしました・・・
330べんきょうちゅう:01/12/17 23:32
今日、SunのJava試験に合格しました。
ここのところ、そのためにずっと勉強してたの。
色々教えてくださった皆さん、どうもありがとう!!
ほんと、感謝してます。
今度は実務で使うことになると思うので
そしたらまたお世話になりまーす。ほんとありがとね。皆様のやさしさに感謝!
331ふろむアケ板:01/12/18 00:14
www4.famille.ne.jp/~yo-ogawa/cgi-bin/bbs/dat/h6901.png
このアドについて教えてください。
URLに飛ぶとfusianasanと同様の状態でそれが張ってあるスレに勝手に書き込まれます。
ソースは200KB以上有り、
私のPCではマシンパワーが足りず開くことができませんでした。
どうかお願いいたします。
既出、有名なURLでしたらご容赦ください。
>>331
何を教えて欲しいの?
333ふろむアケ板:01/12/18 00:23
対策とどういう風にやってるかってことです。
言葉足らずですいません。
質問す。お願いします。連続の読み込みなんかで

while(true){
 String str = br.readLine(); //brはBufferedReader
 if(str.equals("END")) break;
 いろいろ
}

っていうのを見ました。こんな風にwhile(true)なんて使っていいんでしょうか?
もしよいとしても、Stringは

String str;
while(true){
 str = br.readLine(); //brはBufferedReader
 if(str.equals("END")) break;
 いろいろ
}

のように、whileの外で定義した方がよいのではないでしょうか?

俺、勘違いしてるでしょうか?
>>334
どうだろね?
スカラーな変数だったら「どっちも変わらん」って感じだけど
Stringっていろいろやってそうだし
外の方がいい気もするけど

あーでもかわんねーかな。
困ったときは計測してみようぜ。
ステップ数でも実行速度でも。
>>333
.pngファイルをスクリプトと解釈しないブラウザを使えばいいんじゃない?
337334:01/12/18 00:35
>>335
レスありがとうございますっす。
俺、プログラム初心者(やってる時間は長いけど)なんで、計測なんて
できません。すみません。
その前に、while(true)ってのは、よいんでしょうか?
>>334-337
スコープが狭くなるから内側の方がいいのでは?
>String s;
だけだと参照を用意しているだけだから、
>Stringっていろいろやってそうだし
は少し的外れ。
>>334
外で定義した方が処理時間が早いみたいです。
>>337
while(true)は、>>334みたいに中でbreak;があればいいだろ?
それが何か?
>>339
そうかぁ?計ってみたんか?
手元のではどっちもおんなじコード吐いたけど・・・
String s;
do
 s = datainputstream.readLine();
while(!args.equals("ss"));
342341:01/12/18 01:05
悪い、まちがっちまった。けど、やっぱり
おんなじだったけど・・・?
String s;
do
 s = datainputstream.readLine();
while(!s.equals("ss"));
343 :01/12/18 03:07
javapしてみたら、Stringが中にある方がステップ数が短くなったけど。
344250:01/12/18 05:23
>>250ですけど、誰もわからないんですか?
早く誰か教えてください。
345デフォルトの名無しさん:01/12/18 07:26
>>339
>>342
>>343
結論は、どちらでも大差ない、ということですかな。
>>250 >>344
int val;

val = JOption.hogehoge....
に分けてから、また試してみ。
>>344 >>250の抜き出した1行にはおかしな所が見当たらない。
処理系のバグが250の見当違い。
経験的に言って250の見当違いに56億4千万カノッサ。

本気で答えてほしければ
再現できるぎりぎりまでソースを切りつめてUP。
その途中でだいたい原因に気づいてしまう物だけど。
348 :01/12/18 14:12
アプレットの質問なんですけど
アプレットと一緒にサーバーに置いてあるテキストファイルを、アプレットで読みたいんですけど
どうすれば良いのでしょうか?

↓今、こんなのを作成中なんですが、問題をテキストファイルにまとめておきたいのです。
http://www.geocities.co.jp/PowderRoom-Tulip/5304/test.html
JARで固めて
InputStream in = getClass().getResourceAsStream(fileName);
とか。
350348:01/12/18 14:51
>>349
レス有難うございます。
僕も最初はjarにする方法を考慮したのですが、
一般のユーザーが、自由に問題を編集できるよう、
jarで固めないで、普通のテキストファイルにしておきたいんです。

けど無理なんですかね~。
>350
同じサーバ上においてさえあれば
JARに入れなくても同じ方法で読めるはず。
352348:01/12/18 16:25
>>351
本当だ、読めました。有難うございます。
353348:01/12/18 16:32
非アプレットでJarにリソースファイルを一緒に固めないで>>349を行うと
リソースを読み込めないのに、
アプレットにするとJarに固めておかなくても読めるんですね。

なんでだろ??
354デフォルトの名無しさん:01/12/18 16:47
質問です。
スケーリングしてないImageオブジェクトの幅や高さを得るには
どうしたらいいんですか?getWidthだと-1が返ってくるんですけど。
355洗濯物がパリパリ:01/12/18 17:02
いろいろ調べてみたのですが、よく分からないので教えてください。

アプリケーションでpluggableな仕組みを作る方法を調べてます。
つまり、共有ライブラリのように動的にロードして、シンボル名(?)から
実行する方法なのですが。

JavaBeansとゆーものが結構近い(?)ようですが、
これってUIの一部として実現するもので、
完全に裏側で動くコンポーネントにも使えるのでしょうか?
>354
Imageの幅や高さが知りたいときは
まず読み込みの完了を待つ必要あり。
MediaTracker使うかjavax.swing.ImageIconにまかせるか、
自分でImageObserver実装するか。

>355
NetworkClassLoaderでクラスをロードして
getConstructorでnewInstanceってやるのが普通かと。
appletviewerのソースでも読みませう。
ttp://www.sun.com/software/communitysource/java2/
>>353 クラスローダの実装依存てことか?
359 :01/12/18 20:35
JAVAをDOS窓でコンパイルするとログが多いと読めないのですが、どうすればよろしいでしょうか?
先輩方お教えください。
>359
せっかくだからJikesをすすめとく
http://oss.software.ibm.com/developerworks/opensource/jikes/

jikes.exeをJDKのbinディレクトリに入れて、バッチファイルで
jikes -classpath c:\jdk1.4\jre\lib\rt.jar;.\ -Xstdout Main.java > log.txt
start log.txt
とでも書いとけ
Jikesって、JDK1.1ベース?
パフォーマンスとかどうよ?
九九の表をつくろうとおもいます。
for文ならできるんですがwhile文になるとよくわかりません。
whileって二重にしてよくつかうんですか?
>359
NT系ならDOS窓のバッファ広げとけ!
9x系ならDOS process LOG writer使え。
ttp://www.vector.co.jp/soft/dl/win95/util/s0157290.html

以上!マジレスしてみた
364デフォルトの名無しさん:01/12/18 22:54
Linux環境でJavaやってます。
appletviewerならちゃんとswingのアプレット動くのに、
ブラウザだとウィンドウすら開かない。
これってどんな原因が考えられるんでしょう?
どなたか識者の方よろしくお願いします。
>362
そういや、二重のwhileってあんまみたことないな
>>364
1.ブラウザにJVMが載ってなくて、Pluginもいない。
 →インストールしましょう。
2.HTMLがそのブラウザでVMを動かす形式になっていない。
 →場合によってはコンバータを通すなどして、ちゃんと
  した書式にしましょう。
3.ブラウザのVMでは使えないクラスやメソッドを使っている。
 →例えばブラウザのVMが1.1までしか対応していない場合、
  1.2以降でサポートされたクラスやメソッドは使えません。

傍で思いつくのはこのくらい?
>>359
NT系は何もしなくても出力履歴みられるので、Win9Xだという前提で。

1.リダイレクトして、ファイルで見る。
 JDK1.3なら、oldjavac -Xstdout Hoge.java
 oldjavacつかうと、stderrじゃなくてstdoutにエラーが吐けるよ。

2.テキストエディタとかで、標準/エラー出力を自分のテキスト
 バッファにリダイレクトしてくれる機能あるのがいっぱいある
 から、それをつかう。
>>365
Javaとかだと、繰り返しがネストする様だったらprivateメソッドに
して切り出すんじゃない?
どうせメソッドコールの深さ気にしても仕方ないような環境なんだし。
369354:01/12/18 23:31
>>357
どもです。やってみます。
370デフォルトの名無しさん :01/12/19 00:05
誰か助けてくださいませんか…

SwingなんのですがJTextFieldを配列で、
例えば、
●private JTextField tf_x1,tf_x2,tf_x3;

●private JTextField tf[];
とする事は可能でしょうか?

どなたかお願いいたします。
>>370
JTextFieldの型を調べよう。
372370:01/12/19 00:49
ええと…文字型…ですよね?
文字型…配列ですか?
>>372
配列を宣言すればそのまま使えると思っているに1票。
374370:01/12/19 01:12
>>373
あ、いやちがうんです。
一応new演算子使ってやってるのですが、
コンパイル成功しても、元のプログラムのように動作しないので…
>>374
「元のプログラム」と違うと思われるのはどの辺?
376370:01/12/19 01:17
詳しくは、上記の
●private JTextField tf[];
の後に
●p.add(tf[0][0]=new JTextField("",4));
※pはJPanelのObjectです。
としているのですが、まずいのでしょうか?

引き続き、どなたかおわかりになる方いらっしゃいましたら、
お願いいたします。
377370:01/12/19 01:20
>>375
あ、はい。元は、
●private JTextField tf_x1,tfx2;
の後に
●p.add(tf_x1=new JTextField("",4));
としています。
根本的に組み間違えている、という事でなければ、
もう一度再考してみます。
>>377
あ、ごめん。
聞き方悪かった。
動作として、違うと思われるのはどういう所?
テキストフィールドが表示されないとか、そういう事じゃないよね?
379370:01/12/19 01:32
こちらこそ失礼しました。

Exception in thread "main" java.lang.NullPointerException
at GrFrame.<init>(Gr.java:45)
at Gr.main(Gr.java:76)

というエラーが出て、ウインドウ自体が表示されない状況です。
エラーメッセージの意味がわからず、配列にしたのがまずかったのかな?
と。
初心者考えでしたね。先にこちらを書くべきでした。
何かこれからわかりましたらお願いします。
>>376
JTextField[]型のオブジェクト(配列オブジェクト)を作らないと、
中身入れようとしても失敗するよ。

JTextField[][] tf= new JTextField[10][10];
tf[0][0]= new JTextField(…);

とかやらんと。
>>379
日本語訳:
null参照でなんかしようとしたよ、んなことできないよ例外。

tfがnullなのに!、tf[0][0]にオブジェクト参照入れようとしたから。
>>380
それ(配列オブジェクト作らずに代入)ってコンパイル時に
エラー吐かない?
383370:01/12/19 01:41
>>380
あっ…出来ました!
380さん、そして皆さん、どうもありがとうございました(^^
ここで教えてもらったように、誰かにも返してあげたいと思います。
それではまた。本当にありがとうございました。
>>380
JTextField配列の初期化されてない所までアクセスしようとしてない?
例えば、
p.add(tf[0][0] = new JTextField("",4));
って、[0][0]しか初期化してないのに、
tf[1][1].setText("foo");
とか。
これだと、tf[1][1]はnullだから、例外吐く。
385384:01/12/19 01:45
>>380じゃなく>>370
だった。すんません。
386370:01/12/19 01:45
追伸
レスの間にも…!381さん、382さんどうもありがとうございます(^^

有用な情報になるかはわかりませんが、
コンパイルの時は、なぜかエラーは出ませんでした。
参考までに…環境は、Java2SDK、エディタはCPadでした。
>>384
微妙に間違った理解してるので、ちゃんと勉強してください。
388384:01/12/19 01:52
>>387
えっ。すんません。
どの辺が間違ってるのか是非。
煽りじゃなく、勉強してる最中なので
>>382
tfがローカル変数なら、未初期化変数使用だか
なんだかでコンパイルエラーでるかもね。
クラスメンバやインスタンスメンバだと実行時まで
nullかどうかワカランから、コンパイルじゃはじけ
ないでしょね。
>>388
説明すると長くなる。それより自分で適当な教科書読んだほうが早い。
オブジェクト参照の配列オブジェクトについて、Let'sお勉強(藁
391384:01/12/19 01:59
>> 390
残念…。
> これだと、tf[1][1]はnullだから、例外吐く。
怪しいと思われるのはこの辺り?
それとも、配列型オブジェクトを作らずに代入しようとしていた事に関して?
392デフォルトの名無しさん:01/12/19 03:15
JAVAアプレットってJAVAアプリケーション作るときと記述はおなじ?
393デフォルトの名無しさん:01/12/19 03:30
>>392
 自分でmainメソッド(ユーザスレッドのブートストラップ位置)
 を記述しない以外は一緒。
 自分で記述しない代わりに、ブラウザから起動されるアプレット
 専用のスレッドが呼び出すApppletサブクラスの幾つかのメソッド
 を初期化開始位置、起動開始位置、終了処理開始位置などとして
 オーバーライドするだけ。

 制約としてはセキュリティのため、アプレットダウンロード元の
 ストレージ以外のストレージへのアクセスが通常は不可能である
 (クライアント側のローカルもだめ)というのがある。
394最近、Javaでシミュレーションしてます:01/12/19 03:42
Javaってイイね

以前はDelphi教の信者でしたが、最近Javaにもはまってます。
Javaって遅いのかと思ってたけど結構早いね

# もちろんネイティブにはかなわんが

適当なエディタで書いてJDKで簡単にコンパイルしてアプレットが
作れてすぐ試せるんで、簡単な数値シミュレーションはこれでやってます。

http://www.sevenravens.com/landsailing/galaxies.html

銀河の衝突シミュレーションなんかも十分な速度で走ってます

すごい!
395Kusakabe Youichi:01/12/19 04:08
In article >>362, デフォルトの名無しさん/sage/362 wrote:

> 九九の表をつくろうとおもいます。
> for文ならできるんですがwhile文になるとよくわかりません。

じゃあまずforでどう書いているのか見せてよ。

> whileって二重にしてよくつかうんですか?

forはどうなんですか??

# 54ペイジを見れば一発でわかるんだろうけどね ;)
yahooチャットの音声チャットってどういう仕組みなんですかね?
LiveConnect駆使しまくり?
>>362
Kusakabe Youichiって人が来たらよく考えて発言しなさい。この方馬鹿で応用利かない人だから・・・
難しいなら無視をしようね。
398独り言:01/12/19 13:09
>395
まさかとは思うがC言語の本じゃあるまいな
>>394 ちょっと見とれてしまった。

計算量がネックになるような処理で
最新のJITコンパイラやHotSpot付きの環境なら
Cと同程度の速度はでるらしいね。
最終的にバイナリに落とす際につかえる最適化テクニックに
大差はないってことなんだろうな。

#Javaの速度のネックになってるのはGUIとGC、
#あとJITコンパイルを含む広義のクラスロード。
コンストラクタってわかりやすく説明したサイトありませんか?
いろんな本を読んだんですけど、長々しく解説してるだけでわかりにくくて・・・
401デフォルトの名無しさん:01/12/19 19:00
>>400
初期化用のメソッド(関数)。
一言で済んでしまった。
で、なにがわからない?
402デフォルトの名無しさん:01/12/19 19:26
>>401
なにを初期化?
>402
オブジェクト
404デフォルトの名無しさん:01/12/19 19:45
Java VM用の、アセンブラって無いかなぁ~
携帯向けのコンテンツなんで、JITも効かないし、
でも、ブート周り作るのは大変そうだなぁ~
405デフォルトの名無しさん:01/12/19 19:46
>>362
九九は全部言えるの?
406禿同:01/12/19 20:01
初心者はよむと吉。親切心
http://www.puchiwara.com/hacking/
>404
あるよ

バイトコードアセンブラ
http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html#Assemblers

Java VM仕様
http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html

逆アセンブラはjavapってのがJDKに入ってる。
408:01/12/19 20:08
メニューとかボタンの文字が汚いのはなんとかならないの?
Java が TrueType を自力で展開してて、ヒント情報の処理をやってないからじゃないかな・・・
JDK 1.4 だとヒント処理もするんだっけ?
410404:01/12/19 22:18
>>407
ありがと、
おもろい、色んな事やってる人いんのね、
参考なった。
>>405
言えます・・・・
>>397
クサカベさん??
とりあえずここでド初歩な質問してスイマセンです
413デフォルトの名無しさん:01/12/19 22:46
>>403
オブジェクトを初期化するメソッドをコンストラクタという。でいい?
414デフォルトの名無しさん:01/12/19 23:05
なぜ、privateメソッドはオーバーライドできないのですか。
415洗濯物がパリパリ:01/12/19 23:13
だってprivateって派生クラスからもアクセスできないものでしょ。
なんでオーバーライドする必要が?
416デフォルトの名無しさん:01/12/19 23:13
>>414
private だから
417デフォルトの名無しさん:01/12/19 23:17
たまたまね、サブクラスでスーバークラスのprivateメソッドと同じシグネチャのpublicメソッドを書いたの。
そしたらね、サブクラスのそのメソッドを呼んでも、スーパークラスのが呼ばれちゃうの。
しくしく。
418洗濯物がパリパリ:01/12/19 23:23
そ、そりは設計が‥(略
419414:01/12/19 23:30
設計しなおしてきます。
スマソ。
420デフォルトの名無しさん:01/12/19 23:41
>>408
Swingなら、FontはLookAndFeelがMetal(デフォルト)なら、MetalThema
の各メソッドをオーバーライドしたクラスのインスタンスでつくったMetal
LookAndFeelをインストールして、GUI描画用のデフォルトを変えてしまう
手がある。

あるいは、各GUIコンポーネントの描画メソッドをオーバーライドかなんか
して、グラフィックスコンテキストにアンチエイリアス掛けてしまうという
のもありかもね。

まあSwingっつったって結局下のほうでは描画用のAPI使ってゴリゴリ画面に
書いているだけなんで、どこでなにをやってるのかさえ把握すれば、どうに
でもできるさね。
421デフォルトの名無しさん:01/12/19 23:45
>>417
オーバーライドする必要がでてきたら、スーパークラスの
そのメソッドをprivate以外にすればよいんじゃない?
設計から見直すほどの事でもないような。

とりあえずスーパークラスのそれをprotectedにしておく
というのでどうですか?
422デフォルトの名無しさん:01/12/19 23:47
CUIのJavaはそこそこわかってきた(このスレのおかげす)ので、GUIなんか
やろうとしている初心者に毛の生えたやつです。
FrameとJFrameのどっちを使うのが標準なんでしょう?
それと、パネルとかいうのは、みなさんお使いなのでしょうか。
423デフォルトの名無しさん:01/12/19 23:58
>>422
今更AWTのGUIコンポーネントを使うのは、よっぽどの理由があるとき
だけ(古いJVMに対応しなきゃならないとか)にした方がいいよ。
1.表現力が段違い。
2.重量コンポーネントは何かと面倒。
3.コンポーネントのカスタマイズのポテンシャルが段違い。など。
AWTはネーティブのGUI部品をラップする。
Swingの部品はJavaで記述されている。
Swingはいろいろ機能満載で重い。
425デフォルトの名無しさん:01/12/20 01:26
おしえてください。
string型でmemcpyってどうやればいいのでしょうか?
sting型でAAA = BBB;
ってやってもBBB内にブランクがあるとブランク前までの
文字列しか代入できない。。。
dupじゃないの?
>>425>>426
そりはC++でしょ。
428デフォルトの名無しさん:01/12/20 01:39
 sting sting sting sting sting sting sting sting sting sting sting sting sting sting sting sting sting sting sting sting sting sting sting sting sting sting
429デフォルトの名無しさん:01/12/20 01:43
AAA=BBB.deepcopy() ;
430デフォルトの名無しさん:01/12/20 02:01
javaでVM作るにはどうしたらいいかな?
431デフォルトの名無しさん:01/12/20 02:43
VMファイルをbyte配列に読みこんで解釈実行。
432JAVAマジ初心者:01/12/20 03:15
Javaでラインエディターを作ってるのですが
class line{
public static void main(String args[]){
Vector v = new Vector();
String s;
if(args.length <=3){ ←ここ
今は、3文字以上のファイルだと読み込みとやってるのですが
これをtxtファイルだけを読み込みに変えたいのです
どうすればできるのでしょうか
よろしくお願いします
後、ラインエディターのことが載ってる
ホームページがありましたらおしえてください
HP
>>432
if(args[1].endsWith(".txt"){...}
でちみの言っていることはできる。

ちなみに
> if(args.length <=3){
は3文字以上のファイルじゃないよ。
3つ以上の引数ならばという意味だよ。
434デフォルトの名無しさん:01/12/20 06:03
以前JTextFieldに入力されたStringの長さをピクセルで測りたい
と質問したものですが、

Font f = Font.getFont(string);
FontMetrics fm = getFontMetrics(f);
int size = fm.stringWidth(string);

とやってうまくいきません。どこが間違ってるのでしょうか?
>>434
これが変じゃあないのかな。
Font f = Font.getFont(string);

こうすればOK
Font f = jtextfield.getFont();
436デフォルトの名無しさん:01/12/20 06:32
Javaで作ったもので
社内から、外部のURLみたいのですが・・Proxy越えってどうやるのでしょうか?
http://proxy.xx.co.jp:8080/-_-http://www.google.co.jp/
で外部見えなかったです。ちなみにIEで同様にしても無理でした。
いろいろアドレスバーに入力してみましたが駄目みたいです。
どのようにしたらよいのでしょうか?
437434:01/12/20 07:25
>>435
あ、まぎらわしい書き方しましたが、stringはJTextFieldに入力された
ものをgetText()でStringにしたものなので、データタイプはStringです。
なのでおかしくないと思ったのですが…。
438422:01/12/20 07:38
>>423
>>424
レスありがとうございます。
意見が割れてるような...ということは、
まあ、好きな方で、ということっすね。
439洗濯物がパリパリ:01/12/20 09:09
AWT使って散々七転八倒した後にSwing使うと、
少々重いのなんて我慢しようと思えるようになるYo!
440初心者:01/12/20 14:01
AWTのボタンを、位置を座標で指定して配置する事はできますか?

あと、一度配置(add?)したボタンをなくす事はできますか?
不可能です。諦めてください。
442デフォルトの名無しさん:01/12/20 14:24
>>417
それは禁じ手なんですよ。
443おいらも初心者:01/12/20 14:34
>>440
JBuilderでレイアウトをNULLにすると出来るよ。
それのソース見ればやりかたわかる。
444むちゃ初心者:01/12/20 16:03
質問があるんですけど、
xerces-jをインストールして、C:\xerces-1_4_4というフォルダがあるんですけど、PATHの設定ができてないせいか
コマンドプロンプトでc:|xerces-1_4_4\java sax.SAXCount data/personal.xml -v
とやるとエラーが出ます。
WinXPを使ってます。JDKは入ってて使えます・・・
何か必要な設定などあるようでしたら、お願いします。
>>444 そのエラーを張り付けれ。
ところで"C:|"ってなんだ?
>>445
パイプです。
447むちゃ初心者:01/12/20 16:27
>445
打ち間違えてC:\です
エラーは、
Exception in thread"main"java.lang.NoClassDefFoundError; sax/SaxCount
と出ます。
よろしくお願いします。
448むちゃ初心者:01/12/20 16:32
エラーの最後の部分はsax/SAXCountでした。
>>447
sax.SaxCountクラスが見つからないといっている。

CLASSPATHが設定されてないな。
あるいは-classpathオプションで直接指定するか。

CLASSPATHはJavaVMがクラスファイルを捜すときの手がかりとなるパスを指定する
PATH変数と似ているが別物。

CLASSPATHに具体的になにを追加すべきかは
そのxerces-jのドキュメントのどっかに書いてあるだろう。
あるいは起動用のバッチファイル等が別にあるのかもしれん。
設定と起動方法のドキュメントをもう一度見直したら?
450むちゃ初心者:01/12/20 16:40
>>449
CLASSPATHの設定は下記のようになってるんです。
で、以前からあるJDKのに書き加えたんですけど、
もしかして、別に作ったほうがいいものでしょうか?

C:\jdk1.3.1\lib;.;c:\xerces-1_4_4\xerces.jar;c:\xerces-1_4_4\xercesSample.jar;
451むちゃ初心者:01/12/20 17:06
>>445、449
ありがとうございました。
素直にコマンドプロンプトでCLASSPATHを設定してから、
java sax.SAXCount data/personal.xml
で出来ました。 ご迷惑をおかけしました。 
>>437
あうーたのむから質問する前に最低でもAPIドキュメントくらいよめー。
Font.getFont()の引数は、"論理フォント名をあらわす"Stringじゃないの?

TextFieldからgetText()したStringは、TextFieldに書いてあった文字列
であって、論理フォント名と関係ないでしょ?
↑いいの。初心者だから。
hoge.properties ってどこに置けばいいのかな?
linuxなんだけど
>>454
java.util.Propertiesのリソースなら、
好きなとこに置けよ。相対なり絶対なりでPATH指定すりゃ読めるんだから。
java.uti.PropertyResourceBundleのリソースなら、
CLASSPATHからみえるところに置くべきだろう。classをjarで固める時
に一緒に固めるというのも良い。
456434:01/12/21 04:51
>>452
それではどうしたらよいのでしょうか。
JTextField内に入力されたテキストのサイズをピクセルで知りたいんです。
457ユンケル飲み過ぎて鼻血:01/12/21 06:03
>>434
JTextField jt = new JTextField("aaaaaa");
Font f = jt.getFont();
FontMetrics fm = jt.getFontMetrics(f);
int sw = fm.stringWidth(jt.getText());
458434:01/12/21 06:42
>>457
うまくいきました。
ありがとうございました。
459 :01/12/21 11:16
>>458
僕が>>435>>457と同じ事を教えてあげているのに!(プソプソ)

ところで質問なんですけれど、
Stringをユニコードエスケープ(\uXXXX)に変換するにはうすれば良いのでしょうか?
460459:01/12/21 11:19
native2asciiみたいなのをプログラム中で行いたいのです。
char c = string.charAt(i);
String result = Integer.toString(c, 16)
かな
462459:01/12/21 12:52
>>461
有難うございます。僕が馬鹿でした。^^;
463洗濯物がパリパリ:01/12/21 19:34
素朴かつ根本的な疑問なのですが。

Javaのアプリケーションで、一つのフレームに複数のコンポーネントを持って、
それらがマウスの操作などによって連携して動かなきゃいけない場合、
コンポーネント間の連携ってのはイベントを通して行うべきなんですよね?

例えば、JFrameがJTree(から派生したコンポーネント)とJPanel(同)を持っていて、
JPanelで何かをクリックすると、その内容に併せてJTreeを変えなきゃいけないとか、

そういう場合って、自分でそのオリジナルのコンポーネントに合ったイベントとイベントリスナを作って、
他のコンポーネントでそのイベントリスナをimplementsしてイベントを拾うようにすべきなんでしょうか?

というか、自分でイベントやリスナをその都度作るのって面倒なんですけど、
みんなそうしてるんでしょうか?

基本的な疑問で申し訳ないのですが。
464ユンケル飲み過ぎて鼻血:01/12/21 19:47
>>463
前の開発でやりました。
Eventクラス,Listenerインターフェースを作って、Listenerをimplementsしたクラスで
コールバックを処理しました。
面倒ですが、すっきりします。
465デフォルトの名無しさん:01/12/21 20:37
Calendar Cal = Calendar.getInstance();
Cal.clear();
Cal.set(Calendar.MINUTE, 3);
Cal.getTime(); // IllegalArgumentException 発生(IE の VMのみ)

clear メソッドがデフォルト値までクリアしてるから起きる例外だと思うのですが正しいですか?
しかし、MS製以外のVMだと例外を投げずに、セットしていないフィールドには
ちゃんとデフォルト値が入っていますがこれは仕様外ですか?
466洗濯物がパリパリ:01/12/21 21:03
>>464
やっぱりそうですよねぇ。
ていうか、各コンポーネントに、それぞれ相手を持たせてリンクさせるってのは
設計思想そのものが間違ってますよねぇ(鬱)。

まぁでも不慣れなJavaで二日で作れって言われたからしょうがないかなー。
今度機能追加を要求されたら設計しなおそうっと。
467洗濯物がパリパリ:01/12/21 22:53
>>464
独自イベント作ってリスナも作ってやってみました。
なんか簡単にできた。確かに面倒だけど。

でもやっぱり隠蔽できるのはいいにゃーと思った。
468めちゃ初心者です:01/12/21 23:18
JAXP1.1はもうどこにも配布されていないのでしょうか?
もし、もうどこにもないのでしたら、
その中のcrimson.jarというファイルがどうしても欲しいのですが
どこか別のパーサに入ってないでしょうか。
jaxp.jarとxalan.jarはJAXP1.2に入っていました。
どうぞよろしくお願いいたします。
>468
http://java.sun.com/xml/downloads/javaxmlpack.html
ここのJava XML Pack - Fall 01 Release
ていうか、これ?
http://xml.apache.org/crimson/
471デフォルトの名無しさん:01/12/22 00:24
Javaのおすすめの参考書教えてくんろ。初心者向けので頼んます。
472洗濯物がパリパリ:01/12/22 00:53
オイラはあんまり最近の入門書は知らないなぁ。

・むかーし(JDK1.0とかの頃)

一歩先ゆくインターネット Java入門
O'Reilly/Javaクイックリファレンス

・今

コンピュータエイジ社/JFCパーフェクトガイド
O'Reilly/Javaプログラム クイックリファレンス

前者はSwingプログラミング用、後者は内部設計用。
GUIに関してはAPIドキュメントあっても見てくれがどうなるか分からんと
どうしようもないからね。

ていうか、Javaの場合、SDKのソースが公開されてるから、
APIドキュメントとSDKのソースを眺めるように心がければ、
すぐにそれなりに使えるようになると思う。

逆に、標準のライブラリがデカいだけに、
外側からだけ眺めていても漠然として分かりづらいかも。

EJBとかJ2EEとかの世界は知らん。
473デフォルトの名無しさん:01/12/22 00:59
>>472
サンキュ!
474468です:01/12/22 01:02
469さん、470さんどうもありがとうございました。
apacheのホームページでみつかりました。
こんな、自分でよく調べればよいことに
解答していただいて、うれしかったです。
これからは、もうちょっと自分で調べてみてから
書き込もうと思います。
ここに書いたらいいのかな?
いまJMSつかった開発やってマス。
が、問題が有りまして、へぇ、なんか
パフォーマンスが悪いんですわ。しかも、漏れの
ノートPC(IBMthinkpads30)が本番機(RS/6000)より
良いスコア出すんですよ。
で、JMSのトレースとって見たら、いろんなところでaixの方が
遅い.....。

皆さん何か心当たりはございませんでしょうか?
JDKはどちらもIBM JDK1.2.2っす。
476デフォルトの名無しさん:01/12/22 02:24
  void end(){
    int ans = new JOptionPane().showConfirmDialog(this.getContentPane(),"","",JOptionPane.YES_NO_CANCEL_OPTION);
    if(ans == JOptionPane.YES_OPTION){
      System.exit(0);
    }else if(ans == JOptionPane.NO_OPTION){
      System.exit(0);
    }
  }
可能な限り添削しました
終了処理にダイアログの返答により処理を換えたいのですが
(メモ帳を作っています。
 文書の変更が保存されていない場合ダイアログを出して破棄するかを聞いたり
 無題だったら名前を付けて保存に処理を送ったり)
これを実行すると
ダイアログが表示される終わりかたの場合

Winの不正処理が出て、エラーメッセージが

# An EXCEPTION_ACCESS_VIOLATION exception has been detected in native code outsi
de the VM.
# Program counter=0xbfe1200b
#

となります
どの辺が悪いのかお教え頂きたいです
お願いします
477デフォルトの名無しさん:01/12/22 02:46
AWT?
478476:01/12/22 02:50
swingベースです
479デフォルトの名無しさん:01/12/22 02:51
@@@@@@@@@@@
480479:01/12/22 02:51
書けたああああああああああああああああああ
481476:01/12/22 03:24
すみませんでした
PC再起動したらエラー出ませんでした・・
自分のために時間を費やしてくれた方にお詫びしまーす
482!=476:01/12/22 07:48
そういえば、swingを使うプログラムって、ときどきOS(Win)を
落とします。再起動すると普通に動くんですが。
そういうことが起こるのは私だけでしょうか。何かまずいことでも
しるでしょうか?
お願いします。
483Σ(゚д゚lll)ガーン :01/12/22 08:15
>>476
あ、それと全く同じ現象を体験した事がある。
WIN98+JDK1.3.0だったけど。

今再確認して見たけれど
JRE1.3.1_01なら、問題無く動く。
1.3.0では、やはりエラーが出る。
484Σ(゚д゚lll)ガーン:01/12/22 08:18
import javax.swing.*;

class Test {
  public static void main(String[] args) {
    int ans = new JOptionPane().showConfirmDialog(null,"","",JOptionPane.YES_NO_CANCEL_OPTION);
    if(ans == JOptionPane.YES_OPTION){
      System.exit(0);
    }else if(ans == JOptionPane.NO_OPTION){
      System.exit(0);
    }
  }
}
485Σ(゚д゚lll)ガーン:01/12/22 11:56
↓今こんなアプレットを作ってるんですが、文字化けしちゃうか心配です。
だれかこれを見て文字化けしちゃう人いますか?

(約400kb)
http://www.geocities.co.jp/PowderRoom-Tulip/5304/Quiz.html
486Σ(゚д゚lll)ガーン:01/12/22 12:02
あと音楽が心配です。

開始音のAudioClipをplayして、
それが終わってから2つ目をloopしているんですが、
その同期を取るために、
開始音をplayした後に
開始音の演奏時間だけsleepして
それから2つ目をloopを開始しています。

しかしsleep時間は定数で与えているから、
環境によっては同期が上手く取れていないかも・・・。

AudioClipで1つ目の演奏を終わらせてから2つ目を演奏する方法で
もっと良い方法はあるでしょうか?
>>486
JMF(Java Media Framework)見れ
まー、AudioClipでわ無理でしょー。
アプレットってことならsun.audioパケージでも。
>>485
文字が化けてはいないけど、潰れてて読みにくい。
490初心者です:01/12/22 22:08
jaxp-1.1.3を使っています。
javacでコンパイルされるのですが、実行すると
以下のようなエラーメッセージがでます。

Exception in thread "main" javax.xml.persers.FactoryConfigurationError:
com.sun.xml.parser.DocumentBuilderFactoryImpl
at javax.xml.parser.DocumentBuilderFactory.newInstance(DocumentBuilder
Factory.java:80) at CurOpen.main(CurOpen.java:16)

実行コマンドは
java CurOpen Reserve-base.xmlです

ちなみにjava -cp . CurOpen Reserve-base.xmlとしてやると
Excepition in thread "main" java.lang.NoClassDefFoundError:javax/xml/
persers/DocumentBuilderFactory
というエラーがでます。

やはり、classpath設定が悪いのでしょうか?
アドバイスよろしくお願いいたします。
491初心者です:01/12/22 22:12
>>490 すみません上記一部
persers→parsersです。まちがえました。
492Σ(゚д゚lll)ガーン:01/12/22 23:08
>>487
>>488
参考になりました。

>>489
なんとかしてみます。
493476:01/12/22 23:37
>>483
98SEに1.3.0です
情報ありがとうございます
JDK替えてみます
494デフォルトの名無しさん:01/12/23 00:03
パスワードをテキストファイルに保存する時
丸見えなんですがどうすればいいでしょうか?
495デフォルトの名無しさん:01/12/23 00:28
>> 494
とりあえずAPIドキュメントで
java.security.MessageDigest
この辺見てみるよろし
(外してたらすまん)
496デフォルトの名無しさん:01/12/23 04:09
文字入力の辞書をテキストファイルで作って、
一度入力された文字が先頭にくるようにして
書き出したいのですが。
FileOutputStreamで書き出すしかないでしょうか。
>>496
データの構造
データの保存形式
やりたい処理
を個別に説明しろ
498496:01/12/23 12:30
>>497さん 説明不足ですみません。
単語がずらーとならんでます。
action
abstract
again
 :
一つの単語で一行です。
txt形式です。
で、たとえばagainが一度入力されたら
again
action
abstract
のように先頭にくるようにして元のファイルに保存したいのですが。
最新入力時刻順でソートじゃないの?
書き出す処理がわからないのかな?
BufferdWriterでwriteしてnewLineの繰り返し。
で最後にflushを忘れずに。
501デフォルトの名無しさん:01/12/23 13:03
よろしくお願いします。
アプレットだとAppletContextのshowDocumentで
ブラウザで他のページに飛べることが分かったのですが、
アプリケーションでブラウザを起動するにはどうすれば
よいのでしょうか?
503501:01/12/23 13:50
>>502
ありがとうございました。
504アプッレット:01/12/23 20:41
をアプリケーションに書き換えるのは大変?
わりとかんたん?意外と複雑?
505デフォルトの名無しさん:01/12/23 20:43
>>504

ア(プッレット
>>504 割と簡単。

import java.awt.*;
import java.event.*;

public class YourApp extends Frame{
  public static void main(String[] args){
    final YourApplet a = new YourApplet();

    final Frame f = new YourApp();
    f.addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
        a.stop();
        a.destroy();
        f.dispose();
      }
    });
    f.setLayout(new BorderLayout());
    f.add("Center", a);
    a.init();
    a.start();
    f.show();
    return;
  }
}

アプレットの中の init でパラメータ取ってたり、showDocument やってる場合には別途仕組みが
必要だけどね。
507アプッレット:01/12/23 22:51
親切にどうもありがとう。できたらネットワークのことも聞きたいな。
僕がアプリケーションにしたいアプレットはサーバ側ローカルのストリーミングにアクセスしているんだけど、
これをアプリケーションで扱うにはurlとかいうやつを使ってコネクションを開くのかな。それにそのサーバにアクセスするためにはユーザーネームとパスワードが必要なんだ。
508デフォルトの名無しさん:01/12/23 23:51
今、アプリケーションで画像を表示させようとしているのですが、画像は表示されずに
setBackground(Color.black);で黒くしたJPanelの四角形のみとなってしまいます。
同じコードでJFrame内で定義したContentPaneには描画出来るのですが
どの辺りがおかしいのでしょうか?
どうかよろしくお願いします。


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

public class ColorChooser extends JPanel {
private int r = 75;
private Point2D[] point2D = new Point2D[256];
private Color[] color = new Color[256];
private Image ringImage = null;

public ColorChooser() {
super();
setPreferredSize(new Dimension(r * 2, r * 2));
setBackground(Color.black);
setVisible(true);

//set color[]
for(int i = 0; i <= 255; i++){
color[i] = Color.getHSBColor((float)(1.0 / 255 * i), 1.0F, 1.0F);
}

//set point2D[]
double pi = Math.PI;
double do1 = 2 * pi / 256;
for(int i = 0; i <= 255; i++){
point2D[i] = new Point2D.Double(r * Math.cos(do1 * i - pi / 2) + r, r * Math.sin(do1 * i - pi / 2) + r);
}

ringImage = java.awt.Toolkit.getDefaultToolkit().getImage("Ring.gif");
}

public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(ringImage, 0, 0, null);
}
}
509デフォルトの名無しさん:01/12/24 01:18
import java.lang.*;
import java.util.*;

public class Env
{
 public static void main(String args[])
 {
  Properties properties = java.lang.System.getProperties();
// Properties properties = getProperties();

  for (Enumeration e = properties.propertyNames() ; e.hasMoreElements() ;)
  {
   String key = (String)e.nextElement();
   String value = properties.getProperty(key);

   System.out.println(key + "\t= " + value);
  }
 }
}

勉強の手始めに環境変数を出力するプログラムを書こうとしています。
8行目のように getProperties() はクラスを頭から指定しないと

Env.java:9: シンボルを解釈処理できません。
シンボル: メソッド getProperties ()
位置  : Env の クラス
  Properties properties = getProperties();
              ^
とエラーになってしまうのですが、何故でしょうか。
(import java.lang.System; でも同じエラーに)
環境は、Windows2000で JDK1.3.1を使っています。
510496:01/12/24 01:26
>>500さん
ありがとうございます。それで一度やってみます。
>>499さん
自分の方法だと、最近に入力したものほど上に並ぶと思うのですが、
最新時刻入力順とは違ってくるでしょうか。もしくは
かんたんにソートすることができるのでしょうか。
511洗濯物がパリパリ:01/12/24 01:28
>>509
え。getProperties()がSystemクラスのメソッドだってだけじゃないの?

つか、なんで、自作のEnvクラスからgetProperties()で呼べると思ってるの?

俺、何か勘違いしてる?
512509:01/12/24 01:40
>>511
あ、そうか。
importしたらクラスを省略して呼べるのかと勘違いしていたんですが
printlnの方はSystemから指定しているじゃん...アホだ自分。
どうもありがとうございました。
513洗濯物がパリパリ:01/12/24 01:53
あー、そう言えば、みなさんJavaのデバッガって何を使ってますくわ?
jdbはあまりに使いづらいので他のデバッガ探してるんですが、何かないっすかね?

IDE製品の一部(ただしデバッガだけ独立して使えるもの)とかでもいいんですが。

プラットフォームはWindowsを想定してます。なので、DDDとかは却下(便利なんだけどネ)。

気長に待ちます。
>>513
ゲキ重で癖がありまくりなのであまりお勧めできないが Visula Age for Java
PenIII850MHz で起動 3 分くらいかかるので、どうしても動きが分からないときにしか使わない。
そもそも配列外参照や Null ポインタを VM が守ってくれたり、例外のスタックトレースがあるので
意識して書けば挙動が分からない作りは回避できると思われ。新人の糞コードデバッグは別にして。
>>513
JBuilderはどう。これも激重だけど。
516デフォルトの名無しさん:01/12/24 09:38
便乗質問
VMが超糞なプラットフォーム(組み込み系とか)で
デバッガなんて無いとき、どうデバッグしてますか?

どのくらい糞かというと
スタックトレース? そんなもんは空にされますよ・・・
メモリ不足? 問答無用でフリーズっすよ・・・
>>516 Window の絵みゅで開発するんとちゃうんか?
>>517
んーなもの無いし。
・・・そうか、無いものは作ればいいのか。

よーし、パパ自分で自分にクリスマスプレゼント作っちゃうぞ~
519Σ(゚д゚lll)ガーン:01/12/24 12:22
クリスマスだと言うのに、1人でこんなものを作ってる僕。
とりあえず形だけは出来てきた。

特に見せる人もいないので(寂しい^^;)
だれか感想プリーズ。

(約500KB)
http://www.geocities.co.jp/PowderRoom-Tulip/5304/Quiz.html
520デフォルトの名無しさん:01/12/24 12:25
>519
やっぱ音が無いと。
521Σ(゚д゚lll)ガーン:01/12/24 12:26
>>520
あれ?
音は付けているんですが聞こえませんか??
522520:01/12/24 12:39
>>521
聞こえないよ。環境は……、えっと、JRE 1.3.1かな。
あとの不具合は、ライフラインが使えない事。
それから、全問正解したのにおねーちゃんが脱がないのもおかしい。
523Σ(゚д゚lll)ガーン:01/12/24 12:41
>>522
ありがとう。調べてみます。

ライフラインはこれから付ける予定です。
あと、全問正解したらギコが脱ぐように改良します。
524Σ(゚д゚lll)ガーン:01/12/24 13:34
別な端末からインターネットに接続して、見てみると確かに音がなりません。

となると、自機で音がなるのはハードディスク上のwavファイルを読みにいってるのか?
との推測でwavファイルをゴミ箱にいれて、ブラウザのキャッシュを消し、
再び見てみるとやはり音が鳴る・・・。

なぜなぜwhy!?
環境とか関係あるのかな・・。
>524
状況に応じて、ギコの表情変えるといいかもね。
526Σ(゚д゚lll)ガーン:01/12/24 14:42
>>525
最終的にはそうしたいです。

ところで音がでないことについて調べましたが
JREのバージョンに原因がありました。

JRE1.3.1_0Cでは音がでなかったのですが、
JRE1.3.1_02ならば音が出ました。

でも、音を出す処理はJAppletからgetAudioClip()して
得たAudioClipをplayしてるだけなのに。
何故だろー?
527初心者:01/12/24 20:26
jdk1.3.1でjavacでコンパイルしたところ
”シンボルを解釈できません”のエラー
”javax.servlet.ServletException"の
ServletExceptionクラスが見つからない、なぜ教えて
J2SEにはjavax.servletパッケージは入ってないよ。
JSDKかJ2EEいれよう。
529デフォルトの名無しさん:01/12/24 21:33
ルータを通してインターネットにアクセスしています。
LANの中の一つのパソコンで動かすプログラムで、ルータが外部にアクセスするグローバルIPアドレスを
取得したいのです。
何か良い方法はないでしょうか?
REMOTE_ADDR を返す cgi を作って、それを呼び出す
531 :01/12/24 22:04
他で流されたんですが、アプレットビューアートとか皆さん使ってます?
もし使ってて軽くてイイのがあれば教えて。
IEとかMozillaとかかなぁ
何か問題が? > アプレットビューアー(ト)
533 :01/12/24 22:10
IEだと更新しても最新のに、ならならいんです。
私の設定がだめなんでしょうか?
IEはの場合は"Ctrl+更新ボタン"じゃないと
再読み込みしてくれないよ。

・・・ってそれはローカルの場合だけだったかな?
どうでもいいか。
535 :01/12/24 22:21
出来ましたありがとう。
私がIEの使い方を知らない馬鹿だっただけかw
536 :01/12/24 22:28
ひょっとしてって…と思ったんですが
DonutはCtrl押しても変わりませんね(^^;
>>519
地味ながら楽しめたYO!

PC-9800のころのゲームの雰囲気を思い出したかも。
私はシステムコンサルタント会社の社員なんですが、
私が担当している会社だけでも 8社で Java Servletを使用しています。
ところが、2chには javaは死滅寸前だとかいうスレがたくさん立っています。
うちの会社の顧客はかなり偏っているんでしょうか。
>>538
いや、今、ギョーカイ見てもサーバサイドの仕事のメジャーなものは、ほぼServletか、
Javaを採用したアプリケーションサーバがらみだから、偏ってないよ。
業務を優先した場合、ここの死滅希望スレは、無視していいと思う。
趣味とかに走る場合は、死滅スレもケッコー参考になるかもな。
客観的に見て、Servlet,JSPが死滅するなら、ASP,Perl,PHPなんかも死滅するはずだから(笑)
他の技術も勉強した方がいいかもね。
LinuxなんかでASPを利用するChiliとかいうアプリもあったな。
結論として、便所の落書きを、まんま鵜呑みにするな。
とはいえ、中には珠玉のカキコもあるから、それは見逃すなってところか。
540デフォルトの名無しさん:01/12/25 02:33
>>538
今最も手抜きができるサーバサイドの開発ミドルなので、流行って
いるのは当然なんですが…

それはそうと、
こんなところで聞いて回ってるシステムコンサルタントはゴミじゃ
ないでしょうか。ちゃんと自分でリサーチしましょうよ。それが
飯の種なんでしょ?
541Σ(゚д゚lll)ガーン:01/12/25 06:26
>>537
有難うございます。
ところで音は聞こえましたか?
542デフォルトの名無しさん:01/12/25 06:32
539は就職に失敗した学生の妄想です。
543529:01/12/25 07:23
>>530
やはり、それぐらいしか方法がないのですね。
どうもありがとうございました。
>>541
聞こえたよ。Javaは1.3.1_02。

> 有難うございます。
こちらこそ。
>>538
現実問題Javaは早々死滅しないと思うけど。
「Javaは死滅しちゃうの」っていうスレタイトルは、
現場開発者の「Javaよ頼むから早く消えてくれ」っていう願いだと思え。
546IMAGE:01/12/25 12:00
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.Toolkit;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.ImageIcon;
import java.net.*;
import java.io.*;

public class LabelDemo extends JPanel {
JLabel label1;

public LabelDemo() {

Toolkit toolkit = Toolkit.getDefaultToolkit();
//Image img = toolkit.getImage("middle.gif");
Image img = toolkit.getImage(new URL("http://java.sun.com/graphics/people.gif"));


ImageIcon icon = new ImageIcon(img);

label1 = new JLabel(icon);

add(label1);
}

public static void main(String[] args) {
/*
* Create a window. Use JFrame since this window will include
* lightweight components.
*/
JFrame frame = new JFrame("2Days");

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

frame.setContentPane(new LabelDemo());
frame.pack();
frame.setVisible(true);
}
}
547IMAGE:01/12/25 12:05
とうコードですが、なぜかURLの個所でエラーがでます。
//のローカルGIFは表示されます。コンパイラのバグしょうか?
詳しいひとお願い。
548洗濯物がパリパリ:01/12/25 12:35
つうか、素朴な疑問なんだけど、Javaが死滅したら、
今現在Javaを使っている案件(特にサーバサイド)とかは
何で開発されることになるんだろうか?
549デフォルトの名無しさん:01/12/25 12:58
その心配は愚問でしょう
今現在Javaを使っている案件 が死滅したら そのときはじめて
Javaが死滅した と言えるものだからね。
>546
import java.awt.Image;



URL url = null;
try {
url = new URL("http://java.sun.com/graphics/people.gif");
} catch(MalformedURLException e) {return;}
ImageIcon icon = new ImageIcon(url);
551洗濯物がパリパリ:01/12/25 13:08
>>549
逆に、「Javaは死んだ」とか言ってる人たちは、
現在のJava案件をどういった技術で実現するつもりなのだろう?
552洗濯物がパリパリ:01/12/25 13:10
> 現在のJava案件をどういった技術で実現するつもりなのだろう?

ってのは、「Javaの代替技術としてどういうものを考えているのか?」という話ね。
日本語が不自由でスマソ。
いつから Java はコボラーが設計して VB 厨がコードを書くようになっちまったのか...
Java の良い所を生かした OOD でがんばっているプロジェクトもあることを忘れないでくれ...
>>551
そりゃなんででも出来ると思うよ。
ソフトウェアの力は無限大ですから。

Javaのもともとのコンセプトは
馬鹿でも組めるOO
って思想だし。

もちろんきちんと組めばポテンシャルは無敵でしょう。
VMによるけど
555hiroko@eagle-.com:01/12/25 13:17
hiroko@eagle-mail.com
馬鹿でも組めてしまう、というのは不幸なことでもある。
>>554
>Javaのもともとのコンセプトは馬鹿でも組めるOOって思想だし。

だれが言ってるんだよ。
558デフォルトの名無しさん:01/12/25 13:20
>>529
(cgiが使えない)市販のルータだったら、ルータのWebインターフェースをHTTPで叩けば取得できるかも。
559洗濯物がパリパリ:01/12/25 13:21
>>553
OOD目指して頑張っているOO厨の存在も許してやってください‥‥。
VB知りません‥‥。

>>554
いや理論的には確かにそうなんでしょうけども、Javaを用いたことによる
生産性って(Java)以前よりは確実に上がってますよね?

CやC++、その他の言語などでもできるとは思いますけど、
例えばプロジェクトの期間との闘いとかもあったりして、
Javaのスケーラビリティと適用範囲にマッチするような代替技術って、
あんまり思いつかないんですよね。

でもそれは単にオイラの経験が浅いだけかも。
はいはいみなさーん、ここはネタ心者スレですよー。
561IMAGE:01/12/25 13:59
>>>550
どうもありがとう。助かったよ!みなさんもよいお年を。
562デフォルトの名無しさん:01/12/25 17:00
生産性については、
言語そのものよりもメンバーの習熟度のほうが影響でかいです。
563Σ(゚д゚lll)ガーン:01/12/25 17:57
564IMAGE:01/12/25 20:53
いちばん単純なタイマーイベントのソース教えて
>>558
529じゃないんだが、それが一番手っ取り早いよなぁ・・・
566IMAGE:01/12/25 22:44
実行時に黒いDOS窓を非表示にする方法がわからないので、おしえて!
ショートカットで"javaw Hoge"とか
568IMAGE:01/12/25 22:56
ありがとう。でも前にアプリケーションがわでコントロールした記憶があるんだ。
>>560
ネタ心者を歓迎はするけど、ネタ心者専用ではないと思う也。
570デフォルトの名無しさん:01/12/26 04:16
>>566
Main-Classをマニフェストファイルで指定しておいてある
JARを作って、Windowsのエクスプローラとかからダブル
クリック。「java -jar Hoge.jar」コマンドは、今の
WindowsとJDKなら、コンソールから入力する必要なし。
571IMAGE:01/12/26 10:48
>>570
ありがとう。以前javaコードでDOS窓非表示を指定してうまくいった記憶があるんだけど、勘違いなのかな。
検索しても見つからないし。
javaw使いナはれ
573IMAGE:01/12/26 15:32
import java.awt.*;
import java.awt.event.*;
import java.io.PrintStream;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.*;

public class Labelling extends JPanel
implements KeyListener
{

public Labelling()
{
JTextField jtextfield = new JTextField();
jtextfield.setPreferredSize(new Dimension(0, 0));
add(jtextfield);
jtextfield.addKeyListener(this);
Toolkit toolkit = Toolkit.getDefaultToolkit();
URL url = null;
try
{
url = new URL("http://realtime.bigcharts.com/custom/datek-com/chart.asp?symb=" + ticker + "&time=2&freq=9&compidx=aaaaa%3A0&ma=0&maval=9&uf=0&lf=1&lf2=0&lf3=0&type=4&style=962&size=1");
}
catch(MalformedURLException malformedurlexception)
{
return;
}
ImageIcon imageicon = new ImageIcon(url);
ticker0 = "";
label1 = new JLabel(imageicon);
label1.setHorizontalAlignment(2);
add(label1);
}
574IMAGE:01/12/26 15:33
public void keyPressed(KeyEvent keyevent)
{
char c = keyevent.getKeyChar();
int i = keyevent.getKeyCode();
if(i == 10)
{
ticker = ticker0;
frame.setContentPane(new Labelling());
} else
{
ticker0 = ticker0 + c;
}
System.out.println(ticker0);
System.out.println(ticker);
}

public void keyTyped(KeyEvent keyevent)
{
}

public void keyReleased(KeyEvent keyevent)
{
}

public static void main(String args[])
{
frame.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent windowevent)
{
System.exit(0);
}

});
ticker = "qqq";

do
{
frame.setContentPane(new Labelling());
frame.setSize(430, 295);
frame.setVisible(true);
System.out.print("*");
try
{
Thread.sleep(30000L);
}
catch(InterruptedException interruptedexception) { }
} while(true);
}

JLabel label1;
static String ticker;
static String ticker0;
static JFrame frame = new JFrame("2Days");

}
575IMAGE:01/12/26 15:35
というコードです。
30秒ごとに画面をリフレッシュするんだけど、めちゃくちゃやってるので、いちいちwinndowがアクティブになります。
どうすればよいか教えて!
>>575
画面をリフレッシュというよりは、30秒ごとJPanelオブジェクトを追加してる
ように見えるが気のせいか?
577IMAGE:01/12/26 15:58
まったくおっしゃるとおりです。。
578IMAGE:01/12/26 17:48
それで具体てきにどうやって解決すればいいかな?
いろんな所のソース組み合わせて作ったから良く理解してないんだ。
579Σ(゚д゚lll)ガーン:01/12/26 19:45
クイズ$ミリモネア

今日は「フィフティーフィフティー」を追加しました。
http://www.geocities.co.jp/PowderRoom-Tulip/5304/Quiz.html

ソース(かなり汚い)
http://www.geocities.co.jp/PowderRoom-Tulip/5304/Quiz.jar
>>579
真ん中が真っ白なのは気のせい?
581Σ(゚д゚lll)ガーン:01/12/26 21:56
>>580
見てもらって有難うございます~。

真中にはギコとモナーの絵が表示されるはずです。
何も表示されませんか?

MediaTrackerの使用方法が悪かったのかと思い、
若干プログラムを修正してみました。
これでも見えないでしょうか?
(もしかしてサウンドも聞こえないかな?)

後、環境は何でしょう。
アンチエイリアスのせいで文字がかすれて読みづらい気が。
AA切るか文字大きくするか飾り文字にするかしたほうがよいと思うですよ。

あとは問題なく動いたよ。(J2SE1.4Beta3 + Win2k
583Σ(゚д゚lll)ガーン:01/12/26 22:05
↓こういう画面のはずです。

http://www.geocities.co.jp/PowderRoom-Tulip/5304/gamen.gif
584Σ(゚д゚lll)ガーン:01/12/26 22:14
>>582
ありがとうございます。

>AA切るか文字大きくするか飾り文字にするかしたほうがよいと思うですよ。
AA切ると文字がギザギザになってしまい、
文字の大きさも、コンポーネントの大きさに対して適切な大きさになるように
アプレットの中で計算しています。

だから、AAを切ってフォントを変えて見ますね。

どもでした~!
585582:01/12/26 22:18
ごめん、583みたらいい感じだよ。
うちのフォントがおかしいだけなのか…
ちょいと調べてみる。582は気にしないでちょ。
586添削してちょ:01/12/26 22:26
明日の発表の文面なんだけど^^;
JAVAは良くわかんないので、間違ってそう(;_;)
(先輩の原稿の丸写しだけど、この先輩もよくわかってないのです)

インターフェースとは、初期化されない変数とメソッドの宣言のみをまとめたもので
インスタンスを生成したり、オブジェクトとしての実態を作りません。
インターフェースは「interface」を使い宣言します。
インターフェースをオリジナルのクラスに組み込む為には、
オリジナルクラス宣言で「implements」を使い組み込むインターフェースを指定します。
ただし、複数のインターフェースを同時に組み込む事はできません。
インターフェースを組み込んだクラスは、インターフェースに宣言されたメソッドを
追加する必要があります。
587Σ(゚д゚lll)ガーン:01/12/26 22:28
>>585
>ちょいと調べてみる。582は気にしないでちょ。

とりあえずフォントを変えてみました。
↓はその画像です。

http://www.geocities.co.jp/PowderRoom-Tulip/5304/gamen2.gif

フォント変えた方がAAしてるよりも見やすいですね。
でも、MSゴシックに指定しちゃったんですが、これはマックからも見えるのだろうか??
>586
>ただし、複数のインターフェースを同時に組み込む事はできません。
できるぞ。複数。
>>586
したから3ぎょうめにうそがある
590Σ(゚д゚lll)ガーン:01/12/26 22:35
>>586

-------------------------------
>インターフェースとは、初期化されない変数とメソッドの宣言のみをまとめたもので
インターフェースの変数は自動的にfinalなので、必ず初期化しておく必要があります。

>オブジェクトとしての実態を作りません。
インターフェースはオブジェクトの1つです。

>オリジナルクラス
僕にはよく分からない用語です。

>ただし、複数のインターフェースを同時に組み込む事はできません。
複数のinterfaceをimplementsする事が可能です。

>インターフェースを組み込んだクラスは、インターフェースに宣言されたメソッドを
>追加する必要があります。
abstractクラスではその限りではありません。
591デフォルトの名無しさん:01/12/26 22:37
サーバサイドJavaスレが沈みきっているので、ここで聞きたいんですけど・・・。
よくサーバサイドだとMVCモデルっていって、JSP、Servlet、Beansで処理を分割してるんだけど、
業務処理はなんでわざわざBeansなんでしょうね?
普通のクラスライブラリを作って、それをロードするのと、Beansにするのと何が違うんだろう?
誰かBeansでなければいけない理由とか説明してくれる方います?
592高校生:01/12/26 22:42
>オリジナルクラス
コンクリートクラスといいたかったのでは?
593高校生:01/12/26 22:45
>誰かBeansでなければいけない理由とか説明してくれる方います?
俺は普通のクラスライブラリーを使ってます。しかもそれをBeansと
読んでたりします。(藁
594デフォルトの名無しさん:01/12/26 22:52
てゆうか、Javaのクラスライブラリってそれ自体がコンポーネントのようなもんだもんなあ。
サーバサイドではBeansと普通のクラスを区別すること自体意味ないんじゃない?
>579
問題データのファイルはアプレットのオプションで
指定するようにしたほうが良いのではないだろーか。

url = new URL(getDocumentBase(), getParameter("question"));
でurlからデータ読み込んで
そんでAPPLETタグの中には

<PARAM NAME="question" VALUE="Quiz.jar!quiz/resource/Q_EASY.txt">
あるいは
<PARAM NAME="question" VALUE="http://www.hoge.com/quiz/Q_EASY.txt">

とかね。
596添削してちょ:01/12/26 23:02
みなさまアリガトー(;_;)

これで、明日はどうどうと発表してきます。
597Σ(゚д゚lll)ガーン:01/12/26 23:08
>>595
すばらしい!
早速採用させてもらいます~。
>597
あとあれだ、文字コードに"JISAutoDetect"指定するのを忘れずに。
new BufferedReader(new InputStreamReader(url.openStream(), "JISAutoDetect"))

ttp://www.asahi-net.or.jp/~dp8t-asm/java/tips/TextFileIO.html
599デフォルトの名無しさん:01/12/26 23:46
>>591
Beans使うのは、リフレクションで動的(サーバ稼動中)に実装を
変更できるようにじゃないのかな?
クラスローダ使って、いつでも差し替えとか。それができないなら
分けるのはまるきり無駄かも。(そういう構成にすることで、保守性
が上がるとかそういう理由があるのかな?)
600デフォルトの名無しさん:01/12/27 01:23
600! (w

>>591
加えて、いまどきのIDEを使ってる人にとってはBean関係のコーディングは
ある程度自動化されている(wizardとか完備)ってのが大きなメリット、らしい。
その分品質が保証されるからね。
わし自身はIDE使ってないからよくわからんけど。
>>591
BeansってEJBsのこと言ってるのかな?
単にJavaBean(s)っていうとimplements Serializableするだけで
そのクラスはBeansになるから。(厳密にはちょっと違うけど)

EJBの利点が必要なかったらそれでもいいんじゃないかと。
複数サーバーによるクラスタリングやら
コンテナによるトランザクション管理やら
セキュリティ制御やら。

一台のサーバーでCGI代替として使うのなら
JSP+Servlet+ビジネスロジックを実装したClasse群
で俺も十分だと思ってるけど・・・複数サーバーでクラスタリングなんてそうそうないでしょ
他の人の意見も聞きたい
602初心者っす:01/12/27 03:28
ブラウザにキャッシュを残さない方法はございますでしょうか?
良く分からないのですが、プロキシにキャッシュを残さないように、
<META HTTP-EQUIV="Expires" CONTENT="0">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Pregma" CONTENT="no-cache">
等はしていますが、ブラウザのキャッシュのクリア方法が
全く分かりません。どなたか教えて下さい。
ブラウザ依存です。
=終了=
604デフォルトの名無しさん:01/12/27 03:46
RMIでマルチキャストサーバオブジェクトのようなものは
できないのでせうか?
マルチスレッドサーバにする時は、クライアント毎に
UnicastRemoteObjectのインスタンス作るしかないのかな?
Pragma、だよね?
606初心者っす:01/12/27 06:10
間違えた、Pragmaっす。
607初心者っす:01/12/27 06:16
HTTPでファイルのアップロード、1Mの壁が・・・・
tomcatのせいらしい。
HTTPで複数のファイルのアップロードの仕方を知りませんでしょうか?
しかも、1M以上で。
>>607
どうしてTomcatのせいと思ったの?
本当ならTomcatの設定変えれば?
609デフォルトの名無しさん:01/12/27 07:47
最近、ちょろっとCocoon始めたんだけど、
なかなか情報見つけられなくって、
で、やりたい事は、
i-Mode、EZWEB、J-Phone、L-Modeとかを
キャリア判定して、自動コンバートしようと思ってんだけど、
なんか参考になりそうなURL知らん?
610初心者っす:01/12/27 13:53
tomcatの設定ですか…試してみます。
611初心者っす!!:01/12/27 13:59
ディレクトリにファイルがあるとファイルが削除できないので、
良い方法はあるだろうか?
612608:01/12/27 14:00
>>610
だから、「なんでTomcatのせいと思ったの?」って書いてるじゃない・・・
本当にTomcatのせい?
613初心者っす!!:01/12/27 14:10
tomcat単体だとこける。apacheのみでCGIだとちゃんと送信される。
614初心者っす!!:01/12/27 14:21
まーtomcatのスタック領域というかメモリに読み込まさずに、
直接送信すれば行くかも。
>>613
こけるっつぅのはどういう状況なわけよ?
質問に手ぇ抜くと心当たりがある人も答えられんよ。
616初心者っす!!:01/12/27 14:33
tomcatが動かなくなり、再起動しないといけなくなります。
Tomcat停止時のログ見た?Tomcatのバージョンは?OSは?
618初心者っす!!:01/12/27 15:31
Tomcat-3.2.3でOSはLinuxです。ログは見ていません。
ログ見ろよ
620初心者っす!!:01/12/27 15:52
ログは今無いっす。プログラムも無いっす。
後日必ずや…
JAVAアプリを作成しているのですが、HTML生成してそれをパネル内に表示することってできるんでしょうか?
>621
Swingでならできるよ。
JDKのdemo/jfc/SwingSet2みてみそ
>>611
ファイルを削除すれば良いのでは?
>>622
これってそういう手法だったんだぁ。全然わかんなかった。

ソース調べてきます。
625Σ(゚д゚lll)ガーン:01/12/27 23:30
クイズ$ミリモネア

今日は>>595 >>598を反映し、
新たに「オーディエンス」機能を追加しました。
http://www.geocities.co.jp/PowderRoom-Tulip/5304/quiz/Quiz.html

ソース
http://www.geocities.co.jp/PowderRoom-Tulip/5304/quiz/Quiz.jar
626Σ(゚д゚lll)ガーン:01/12/27 23:36
>>595
についてですが、
jarファイルの中のリソースを取得するには
URLではなくJarURLConnectionを使わなければ駄目みたいですね。
595さんに感謝です。
>>626
横幅が大きすぎるよう。700~800ぐらいまでにしといてほしい。
628Σ(゚д゚lll)ガーン:01/12/28 00:10
>>627
画面幅を固定値から、画面幅の90%に変えてみました。
どうでしょー?
629 :01/12/28 00:26
なんかスレッドのタイトルのフォントを破壊する方法があるらしいんだけど知ってますか?
630580:01/12/28 00:28
>>625
WindowsXP Professional + IE 6.0
だけど、音も聞こえないし中央の画像も見れない。
それ以外は見えているんだけど、なんでだろ?
631デフォルトの名無しさん :01/12/28 00:32
XML仕様での「レベル1」とか言うのはどういう意味ですか?
>625
J2SE1.4 Beta3 + Win2kのアプレットビューアーで
630と同じ症状が・・・
633デフォルトの名無しさん:01/12/28 00:44
javaプログラムから他のプロセスを起動することは可能ですか?
CreateProcess のようなことをおこないたいのですが。

環境はwindows2000+jdb13です。
635デフォルトの名無しさん:01/12/28 00:55
>>634
即レスありがとうございますm(_ _)m
>625
JARに入ってるデータ読むなら
getDocumentBaseじゃなくてgetCodeBaseだと思うのですよ
>>628
とりあえず見やすくなったけど、
アプレット自体がSVGAぐらいまでに収まるようにしたほうが
いいと思います。
ノートユーザーもOK。
>637
ていうかブラウザのサイズにあわせて
伸び縮みするようになってるみたいだよ
639Σ(゚д゚lll)ガーン:01/12/28 01:02
>>630
あれま。なんででしょう?

JREのバージョンを上げれば見えるかもしれません。
もしJREのバージョンが1.3.1_02b以下ならば
JREを削除してから僕のページにアクセスすれば
自動的に1.3.1_02bのダウンロードが始まります。
640Σ(゚д゚lll)ガーン:01/12/28 01:05
>>637
何とか努力してみます。
ご意見サンキューです。

>>638
あまりサイズを小さくすると、
フキダシの文字が飛び出ちゃったりします(^^;

あと、画像も小さくなるとつぶれて汚くなってしまふ。
どうしよー。
641Σ(゚д゚lll)ガーン:01/12/28 01:10
>>632
ありゃま。やはり僕のプログラムに問題がありそうですね。

>>636
おお、そうか!
明日改修しますです。サンキュ~でした。
642デフォルトの名無しさん:01/12/28 14:28
awtで複数のButtonを配置してて、

actionPerformedでどのボタンが押されたか判断するのですが、
switch caseを使用して判断するには、イベントデータをどのように取得したらよいでしょうか

.getSource()を(Button)でキャストすると、
ifでは判断できるけど、switch case使えないし・・・
643デフォルトの名無しさん:01/12/28 18:05
自前のクラスローダでロードしたクラスから native method
を呼び出したいのですが、できないのでしょうか。どうやっても
UnsatisfiedLinkError が throw されてしまいます。java-house
のトピックでも首藤さんがおんなじ現象を報告しているし・・・。

何か妙案はありませんでしょうか。
findLibraryはオーバーライドしてるですか?
とりあえずJDKのソースでも追っかけてみるしかない気も・・・
645デフォルトの名無しさん:01/12/28 22:57
バカな質問で申し訳ないんですが。
他のクラスから変数を参照したいんですがよくわかりません。
コンパイルしようとしてもエラーばかり出ます。

public class mojimoji{
String moji="我々は地球人だ";
int len = moji.length();
}

このlenに代入された数字を参照しようと思って別のクラスで

 frame.kin= mojimoji.len;

とやっちゃってます。
(kinはint型なので、数字を代入するとちゃんと結果がでるのですが。。)

J-builderでは
"honron1.java": エラー #: 312 : static ではない variable len への static 参照は作成できません 行 12, 列 25

とエラーが出ています。

どうかアドバイスよろしくお願いします。
>>645
> "honron1.java": エラー #: 312 : static ではない variable len への static 参照は作成できません 行 12, 列 25
インスタンス生成しろよ。
647デフォルトの名無しさん:01/12/28 23:06
>>642
switch caseが一番美しいと思っているロートルアホC使い逝って良し(藁

分岐せにゃならんくらいならボタン毎に別のActionListener派生クラス
作ってaddした方がスッキリするぞ。インナークラス使えばソースもスッキリ。
switch case分岐はできるだけしないのがOOP流。
648645:01/12/28 23:10
>>646
こんなバカな質問にわざわざ即答してもらって、感謝感謝です。
おっしゃった通りインスタンスを作成したら解決しました。

public honron1() {
Frame1 frame = new Frame1();
mojimoji aa = new mojimoji();

frame.kin= aa.len;

↑のとおりにしたらうまくいきました。
ありがとうございました。
649デフォルトの名無しさん:01/12/28 23:11
>>646
static String moji ="hoge";
static int len = moji.length();
でよいと思うが。
あと、なんでlenを別の変数で取っておく必要があるんだろうか?
どうせStringクラスの文字列の長さはStringクラスのメンバ変数に
領域が取ってあって、length()は単にメンバ変数返してるだけで
length()呼ぶコストは殆どないので、長さ欲しいところでそれぞれ
moji.length()呼ぶほうがいいぞ。
650645:01/12/28 23:11
あ。コードの上から2行までは無視してください(^^;
ちょっと昔のソフトとTCP通信とかやってて
パケット内にコマンドとかがあると
ついついメソッドを配列で呼びたくなるんだけど
(Cで関数を配列にいれて呼んでたような感じ)
Javaでも技術的には可能?
>>651
Class#forName(String)
Class#newInstance()
Method#invoke(Object, Object[])
653デフォルトの名無しさん:01/12/29 04:15
>>651
デザパタならCommandパターンとかいうやつかな。コマンドインターフェイス
作っておいて、継承したコマンド実装クラス作って、場合によってはマクロ
コマンドクラス(コマンドクラスインスタンスのリスト)も作っておく。

そいつをSerializableにしておいてクライアントから投げて、サーバで実行
してもらうってのはどうでしょ。別にコマンドクラスは、実装を全てする
必要はなくて、サーバにあるメソッドを呼び出すだけでも良い。そうすれば
マーシャリングコストや送受信コストもたいしたモノにならない。

…文章だと分かりずらいね。UML書ければ一発なんだけどね。
ネイティブメソッドってよくつかう?
655529:01/12/29 22:11
>>558 >>565
早速やってみました。

ローカルサーバも外部サーバも正常にアクセス出来るのに、
なぜかどうやっても、ルーターだけアクセス出来ない…。
と思ったら、改行を\r\nで渡してやればオッケーでした(汗
こういうのってどうなんでしょうね。

どうも、サンクスです!
656  :01/12/29 22:20
>>651
JAVAでは無理。
JVMアセンブラ使っても無理。
>>653は意味判ってないし。
657 :01/12/29 23:50
656は真性
658  :01/12/29 23:53
657こそ真性
俺が真性ですが、なにか?
660デフォルトの名無しさん:01/12/29 23:57
最近のJREで、appletタグでJava Pllug-in立ち上がるのって
どういう手段でMSVMとすり替えてるんスかね?

何かオフィシャルな方法があるのか、
それともSunが裏技的な方法使ってるのか。
前者か後者かで信頼性大きく変わると思うんで知りたいッス。
661質問!:01/12/30 00:18
Mochaよりいい逆コンパイラってないんすか?
リフレクラスでいちいちメソッド調べるの辛いんで、我々はMocha使ってます。
まぁ、逆コンパイルできないようにしてあるのもあるけど、関連会社同士でBeanの交換する時にはプロテクトしてないんでみんな影でやってます。
Mochaについて「駄目よ」て言う人いますが、その方の意見も聞きたいです。
 Mochaよりいい逆コンパイラ教えてください。
662651:01/12/30 00:26
>>656
そうですか・・・
結局、結城氏のデザパタ本にあったコマンド・クラスもどきを作って
そのなかでcaseで振り分けて各オブジェクトの各メソッドを
呼び出すようにしました。
パケットにコマンドやら対象オブジェクト(の通し番号)やらが
入っているような通信方法って、いまいち扱いにくいですね。
相手もJavaならもう少しうまく出来ると思うんですけどね・・・
663  :01/12/30 00:31
>caseで振り分けて

そのダサさに気付かないのがJAVA使いに痛いところ。
664デフォルトの名無しさん:01/12/30 00:32
>>662
この際JNIで直接ソケットと通信プロトコル弄ったら?
665651:01/12/30 00:47
>>663
いやーどうもすみません。
C上がりの人にとってはちょっとダサい方法ですよね・・・
(誰にでもわかる方法だからメンテは任せやすいんだけど)

で、これをどうにかする手段ないかなぁと思ってたのですよ
666 :01/12/30 00:47
>>661
jad
667デフォルトの名無しさん:01/12/30 00:54
>>665
"の"じゃなくて"に"です。
まっとうなJava使いはswitch caseは殆ど使いません。
668651:01/12/30 00:55
>>667
じゃあ>>651のような場合、どうすればよりJavaらしいのでしょうか?
マジでスキルアップ図りたいのでご教示願います。
669ようわからんが:01/12/30 01:17
>>668
Serializeオブジェクト投げ合って、分岐の代わりにポリモルフィズム
使いなよ。保守を楽にしたいなら普通そうしない?

通信コストが大きいのが問題なら、仕方ないからサーバーにコマンド
のマップ置いといて、その中の特定のコマンドを選択起動するメソッド
だけ持たせたメッセージにするとかしたら?
Serializeオブジェクト使うってことは
コマンド受け取るたびにその処理を行う
オブジェクトを生成するってことだよね。
あんまり効率よくないような気がするんだけど。。。
671傍目八目:01/12/30 01:46
>>670
作る必要なんか無いじゃん。
サーバの初期化の時に準備しとけばよいでしょ。
672  :01/12/30 01:56
>>671は判っていない。
Javaしか知らない奴にそんな難しい質問しても無駄。
>671
いや、そのやり方が効率いいとは思うんだけど
669の言ってるのはそれとはちがうっしょ?

> Serializeオブジェクト投げ合って
っていってるから。

669のやり方ってなんかメリットあるんだろうか、と思ったもんで
ちょっと書いてみたです。
674673:01/12/30 02:08
ごめん、なんか>669の後半を読み違えてた。
ねます。すまそ
675どうでもいいが:01/12/30 02:57
RMI使え、終わり
676  :01/12/30 03:01
前門のswitch case後門のRMI
677651:01/12/30 03:03
>>669
サーバサイドのプログラムは今のところJavaとの置き換えは
考えてもらえていません。
よってそこんとこはどうにもならないです。

うーむ
>>675
普通はそうなんだけど、その機構が中で何やってるかを想像できない、
プライドだけ高くてアホなリーダが、RMI使うのを嫌がるんだよねー…
電文のフォーマットが分からないと落ち着かないんだってさ。
だったらTCP以下のレイヤーの話はいいのか?と思うんだが…

CORBAだのRMIだのだって、TCP層の上位レイヤのプロトコルの1つで
しか無いと思うんだが…
>>677
じゃあクライアントサイドでJNI。それしかない。
680651:01/12/30 03:13
>>679
なんかこういうと反感買いそうだけど
そこでJNIってのもなんかおかしな話ですよね?
JNIってCで言うところのインラインアセンブラ的位置付けの機構ですよね
Javaじゃ手の届かないところとか速度向上とかをなんとかする最後の手段
という認識なんですけど・・・
CORBAっとけ。
682 :01/12/30 03:38
>>677
Javaなんだからしょうがないよ。贅沢言わない。
switch_caseを100個ぐらい(かな?)並べるしか。
>>677
無名オブジェクトを配列に入れといて、そいつらのメソッドの中で処理を書く
なり、適当なメソッドを呼び出すなり、ってのではダメなの?
HashMaoにリスナーぶら下げとけばいいんでないの?
魔王?
ハッシュ~ん大魔王♪
何人か適当なフカシこいて煽ってるアホがいるな。
688  :01/12/30 09:17
新種のJava房2種類確認ですな。
1)Java用語適当に並べるだけで内容は支離滅裂。
2)UML書ければ設計できると思ってる勘違い君。
病気だよお前ら。
>>688
暇な冬厨は、朝っぱらから他人をこき下ろすくらい
しかやることが無いらしい。ご愁傷様。
おまえら
ここでくだらないカキコミをしてるヒマがあったら
勉強しろ。
691  :01/12/30 09:55
プログラミングやデザインはセンスの問題だと改めて認識させられる
レスですなあ。>この数十レス
>>690
コーダーは勉強して一生懸命ライブラリ暗記して下さいね。
しかし冬厨の季節だな、やっぱ
まあマニヤ気取りは程ほどにして、学校の宿題でもやってなさいってこった
693  :01/12/30 13:11
右クリックしたときにメニュー(サブメニューも)が表示されるクラスを作りたいと思ってます。
テキストエリアで右クリックしたら、「もとに戻す」「全て選択する」とかアレです。

右クリックした時の処理はいいのですが、表示をどうすればいいのかわかりません。
swing中のメソッドは何を使えばいいのでしょうか?
直接jmenuとか使えるのでしょうか?

よろしくお願いします。
>>693
JPopupMenu で、
イベントきたら popup.show() とかだっけ?
他にも swingの作法でやらなきゃいけない事
あったような気がしたが… 忘れた。

質問する前に自分でもっと良く調べたほうがいいかも…
>>694
表示したいコンポーネントに前もってaddしておかなくていいのかな?
696デフォルトの名無しさん:01/12/30 22:19
returnステートメントって、複数の変数返せる?

return x,y;

みたく。
697  :01/12/30 22:28
>>696
できません。
参照で返すか、構造体で返しましょう。
>>696
できません。
で、何でそんなことしなきゃならないの?
699   :01/12/30 22:38
は?複数の変数を返すのは良くある事だよ?
てゆーか、複数の変数を返さなきゃいけないときって、
ほとんどないと思うんですけど、例えばどんな時?

たとえばX座標Y座標みたいなのならクラス作ってオブジェクトで返すし、
複数のX座標を返すなら配列で返すし、
まったく関係ない変数同士なら設計を見直すべきだと思うし。
>配列で返すし
ここ、つっこみどろ?
ねーねー、つっこみどころ??
>>701
値返すのに配列使うのがそんなに珍しいかな?
703   :01/12/30 23:44
>>700
x、yの例だとTとGと初期値入れて放物線のシミュレーションかな。
704デフォルトの名無しさん:01/12/30 23:46
bitmapを表示するにはどうすればいいの?
gifとpngとjpegならサポートしてるみたいだけど…
>>704
JAI --Java Advanced Imaging API--
とかゆーの使えってのが FAQだったよーな。
俺は使ったこと無いけど。

あとは自力で読みこむとか。
BMPファイルの資料はMicrosoftの
サイト漁ってれば出てこないかな…
706696:01/12/31 00:12
(x,y) = bulletLocation(type);

double bulletLocation(int t) {
tで場合分け

return x,y;
}

こんな感じみたいなことがやりたかったんですがね。
そうか、JAVAはできないのか。
>>706
それなら、
public class Location(){
 private double x;
 private double y;
public void setX(double _x){ this.x = _x; }
public void setY(double _y){ this.y = _y; }
public double getX(double _x){ return this.x; }
public double getY(double _y){ return this.y; }
}
とか作って、

Location bulletLocation(int t) {
 Location loc = new Location();
 いろいろ
 loc.setX(x);
 loc.setY(y);
 return loc;
}

とかするのが普通では。
switch case文ってどういうときに使う物なんでしょうか。
>>708
あまり使わずに済むようにソースを組むべきです。

頻繁に使うのは元Cオンリーのロートル野郎だけ。
Cでは他に方法が無かったので仕方が無いですが、OOPでは見苦しいソースの代表例です。
switch caseだと単純な3・4個の分岐ですむのに
いちいち同数のクラスひねり出すOO勘違い厨房逝ってよし
711    :01/12/31 03:31
>>709
ヴォーケ!
712    :01/12/31 03:32
>>710
クラス?メソッドの間違いだろ。ヴァーカ!
>>712
クラスだヴォーケ
>>710
そうやっていろんなところに同一のパラメータ利用したswitch文ちょこちょこ
ちりばめて、保守性低いソースつくってんのね。
あとで面倒みる人が大変だ。>>710の後のひとはご愁傷様。
715    :01/12/31 04:05
>>709-710
プログラムスイッチは保守性下げるし、
switch_caseはインタプリタやコマンドでは使わざるを得ない。
Cならジャンプテーブルでやるがね。

つうか、そんな低レベルの癖に語ってんじゃねえよ。
なんか先週末あたりから、ジャンプテーブル好きのロートルC馬鹿が
はびこってるな。
717 :01/12/31 04:39
ここ2-3日Java覚え立てで浮かれている才能の無い馬鹿のカキコが
目立つな。
あ、おれ、たまにswitch case のお化け作るよ。
保守性?
よくわかってる人がきれいだって思うソースより、馬鹿でも理解できるように書いたほうが手離れいいこともあるからな。
719デフォルトの名無しさん:01/12/31 05:04
漏れの同僚で、ソース綺麗なんだけど、動かないやつがいたな。
あと、各クラスにタレントの名前、メソッドには、CDタイトル付けるやついた。
そいつが言うには、各処理とタレント名前、CDタイトルとかきまってんだってよ、
でも、意外とそいつスキルあった。
>>719
ていうか、隠蔽されている部分ならともかく、クラス名とかメソッドとかに
自己流で名前付けるのっていいのん?
>>720
他と共有する事が絶対にありえないなら、いいの…かな?
やっぱりダメだ。引き継ぎできないもん。
JDK1.5からSTLみたいな
概念がはいるってマジ?
Genericsだっけ?
今更驚くような事でもなかろーに…

http://pc.2ch.net/test/read.cgi/tech/990949654/

に その辺の話題があるっす。
もうβ晩が公開されてるし
switch文使ってるのを、使わないように変更する簡単な例とかどっかにないかなぁ・・・。
switch文使わないのって流行ってるんですか?
HashMap map;
void add(Object key, Runnable runnable) {
map.put(key, runnable);
}
void exec(Object key) {
((Runnable) map.get(key)).run();
}
728Σ(゚д゚lll)ガーン :02/01/01 17:29
クイズ$ミリモネア

正月早々、こんなのを作ってる僕っていったい・・・。

新たに「テレフォン」機能を追加しました。
http://www.geocities.co.jp/PowderRoom-Tulip/5304/quiz/Quiz.html

ソース
http://www.geocities.co.jp/PowderRoom-Tulip/5304/quiz/Quiz.jar
>>728
おしまいになったあとでもライフラインが使えちゃうのね。
730Σ(゚д゚lll)ガーン:02/01/01 21:54
>>728
いまはそうです。^^;
>>730
ずいぶん出来てきましたねぇ…
732Σ(゚д゚lll)ガーン:02/01/02 01:09
>>731
>>181の頃に作成を開始したから、半月でやっとここまでって感じですね~^^

新しい問題を約80問程と、「ファイナルアンサー?」を追加しました。
http://www.geocities.co.jp/PowderRoom-Tulip/5304/quiz/Quiz.html
>>726
switchを減らすのは、別に流行でやるわけではないよ。

ある1つのパラメータを原因とする分岐がソースのいろんな所に
分散していて、保守で辛い思いするような間抜けな設計を、回避
するのが目的だよ。

全廃はできないと思うよ。する必要もないし。
734hoge:02/01/02 01:53
interface Test1{
String str="Mr.Children";
void hoge();
}

class Test2 implements Test1{

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

void hoge(){
System.out.println(str);
}
}

をコンパイルすると

Test.java:6: Test2 の hoge() は Test1 の hoge() を実装できません。スーパークラス
での定義より弱いアクセス特権 (public) を割り当てようとしました。
class Test2 implements Test1{
^
Test.java:10: static でない メソッド hoge() を static コンテキストから参照するこ
とはできません。
hoge();
^
となります。
どうすれば?
735デフォルトの名無しさん:02/01/02 01:55
public static void main(String[] args)
{
 new Test1().hoge();
}

public void hoge(){
 System.out.println(str);
}
736734:02/01/02 02:18
あの、言い忘れてたんですけどJAVAの参考書をやってて
interfaceのところでこう書いてあったんでやったら
コンパイルエラーで・・・。
737デフォルトの名無しさん:02/01/02 02:29
>>734
>>735が答。
738734:02/01/02 02:32
>>737
interfaceを使いたいんですけど・・・。
それでコンパイルを通したいのです。
プログラムの中身はどうでもいいんです。
すみません。
>>735
 new Test1().hoge();
のところは
 new Test2().hoge();
じゃないか?
>>735
Test1はinterfaceだろ。

interfaceで宣言されるメソッドはpublic abstractだから、
それに合わせないといけない。

class Test2 implements Test1
{
  public static void main(String[] args)
  {
    new Test2().hoge();
  }

  public void hoge()
  {
    System.out.println(str);
  }
}
>>734
えーと
interface Test1{
 public static String str="Mr.Children";
 public void hoge();
}

class Test2 implements Test1{
 public static void main(String[] args){
  hoge();
 }
 void hoge(){
  System.out.println(str);
 }
}
だったら どこでコンパイルエラー出るかは判るか?
742734:02/01/02 02:52
>>741
えーと、まずTest2のhoge()がstaticじゃないので
main()から呼べないって言うのはわかるんですが、
もう一個の意味がよくわかりません・・・。
>>742
class ClassA{
public void hoge1();
protected void hoge2();
private void hoge3();
void hoge4();
}
の hoge1 ~ hoge4 は別のアクセス権限を持つのは判る?
744742:02/01/02 03:00
publicはパッケージ外からのアクセス許可
protectedは同パッケージと、継承したクラスからのアクセス許可
privateはそのクラスのみ
指定なしは同パッケージ内からのアクセス許可
ですよね?
初心者相手だったら
class ClassA{
 public void hoge1(){ }
 protected void hoge2(){ }
 private void hoge3(){ }
 void hoge4(){ }
}
って書きなおしたほうが良いのか?
746742:02/01/02 03:02
>>740
できたんですけど、なんかパッとしません。
newするとしないのとではどう違うのでしょうか?
そそ、
class A{
 public void hoge(){ }
}
class B extends A{
 private void hoge(){ }
}
んで、がダメなのは判るよね
>>742
クラスメソッドとインスタンスメソッドの区別がついてない?
749742:02/01/02 03:08
>>747
だめなんですか?
オーバーライドじゃないんですか?
・・・ってやってみたらダメだった。
>>734
のエラーと同じだった。
これが意味がわからないんです・・・。
750742:02/01/02 03:13
あー
>>747
のエラーの意味はわかります。

Test.java:12: Test2 の hoge() は Test1 の hoge() をオーバーライドできません。ス
ーパークラスでの定義より弱いアクセス特権 (public) を割り当てようとしました。

そのままですね。
privateをpublicにしたら通りました。
でも
>>734
ではTest2のhoge()にpublicをつけてるのに・・・。
publicより強いアクセス権はないんですよね?
>>734
734の書きこみどおりだと hoge() には publicついてないね。
書き忘れたんじゃない?
752742:02/01/02 03:18
>>751
public
or
public static
をつけてもダメでした。

public staticのエラー↓
Test.java:6: Test2 の hoge() は Test1 の hoge() を実装できません。; hoge() およ
び hoge() は static です。
public static にしちゃったってのは
class A{
 public void hoge(){ }
}
class B extends A{
 public static void hoge(){ }
}
とおんなじだけど。
インスタンスメソッドと同じ引数、戻り値を持つ
クラスメソッドはコンパイルエラーになるでしょ。
734 に public 付けただけでは
インスタンスメソッドを インスタンス無しで呼ぼうとしてるよ
っつーエラーが出てコンパイルできないと思うけど。
755742:02/01/02 03:26
>>753
なるほど!!
わかります!
class A{
 public void hoge(){ }
 public static void hoge2(){ hoge(); }
}

で、エラーんなるのは判るよね。
757742:02/01/02 03:39
わかります。
staticコンテキストから読み込めない。
で、疑問は解決って事で俺寝て良いですか?
759742:02/01/02 03:47
>>758
本当にありがとうございました!!!
760デフォルトの名無しさん:02/01/03 06:42
質問です。よろしくお願いします。
データ―ベースの値にNullをアップデートするのに,
java.sql.PreparedStatementのvoid setNull(int parameterIndex, int sqlType)メソッドを
使用したいのですが,int sqlTypeにどのような値を渡せばよいのか分りません。
とりあえず,1を渡しておけば上手くいくようなのですが。
いったいこれは何をするものなのでしょうか?よろしくお願いします。
win98 Access2000 を使っています。
Java.sql.Types参照
1は不味いだろ。
-0x80000000にしとけば?
763神求む:02/01/03 15:37
FontMetricsクラスのcharWidthメソッドを使って幅サイズを返すのに
fm.charWidth('a');
となるらしいですが、
帰ってきた値はどうやって使用するんでしょうか?
値がaに入るのでしょうか?
・・・教えてください。
>>760
よく考えたらサーバー側の設定値と合わせないと駄目ね。
>>730
またまた、ご冗談を。
766765:02/01/03 16:10
なんだ730って(w
730→>>763
767763:02/01/03 16:17
>>766
冗談ではなくわかりませんので教えてください。
よろしくお願い致します。
768767:02/01/03 16:34
767ですが解決しました。
お騒がせいたしました。
769デフォルトの名無しさん:02/01/03 17:04
VJ++でJDKを使いたいです。
jvc.exeを置き換えてjikes.exeを呼び、jview.exeを置き換えてjava.exeを
呼んでくれる、ステキなラッパーが欲しいです。
VJってどうなの?
VJ++ってまさかMS VisualJ++のこと?
なんでそんなのをいまさら使いたいのか分からないけど、
ラッパなら自分で作ればいいんじゃ?

jvc.exe から jikes.exe を呼び出せばいいんでしょ?
772厨房さん:02/01/03 18:23
めちゃんこ厨房な質問で恥ずかしいんですが、教えて下さい。

メモ帳を使ってプログラムを書いて、コンパイルしようとしたら。
エラー Hello.java を読みこめません。
ってなっちゃうんですけど、どうしたら良いんでしょうか?

メモ帳で「名前をつけてファイルを保存」すると、どうしてもテキストファイルに
なってしまうんですが、これが原因でしょうか?
そうです。DOS窓を開いて
copy con Hello.java
と打ち込んでから、プログラムを記述してください。
打ち終わったらCtrl+Zで保存されます。
>メモ帳で「名前をつけてファイルを保存」すると、どうしてもテキストファイルに
なってしまうんですが、
"Hello,java"って""で囲めばいいよ
s/,/./
776厨房さん:02/01/03 19:09
>>774さん
出来ました、ありがとうございます。
超初心者用の本を買ってきて見ながらやってるんですが、教えていただいた
ような事がのって無いんで困ります。
過去レスを読んでるとレベルが違うみたいですが、親切に答えていただいて助かりました。
777厨房さん:02/01/03 19:26
>>773
ありがとうございます。
>copy con Hello.java
>と打ち込んでから、プログラムを記述してください。
この通りにやってみたら、

Hllo.javaを上書きしますか?

って聞いてきました。これにYESで答えればMS-DOS上で、プログラムが
記述出来るって事ですか?
やってみたんですか、 Ctrl+Zを押しても保存が出来ません。
DOS窓って言うのはMS-DOSプロンプトの事ですよね?
773はネタだ。捨て置けい。
ネタとは失礼な。Sunの設立者の1人で伝説のハカービルジョイ氏も愛用の方法だぞ。
すぐにjavac Hello.javaと続けられて便利じゃないか。
保存はCtrl+Z+Enterだったけど。正確には。
但しhttp://www.vector.co.jp/soft/win95/prog/se153698.htmlがお勧めのエディター
つか、これからプログラムを勉強しようという者が
メモ帳でコーディングってのはどうかと思うよ、実際。
とりあえず
適当なエディタを
ベクターあたりから
おとしてくるのをオススメする。
ヲタプロならいざ知らずJava入門程度ならツールなんてどうでもいいだろ。
それにvectorのヘタれツール漁る暇があったらforteかjbuilder使えばよろし。
783769:02/01/03 20:55
>>771
オプションを変換するとか色々めんどい。
jvcとjikesくらいならまだしも、jview.exeとjava.exeの差を吸収するなんて、
考えただけでも。
ヘタレツールとは失礼な。本当の入門者だったら>>779ぐらいのほうが分かりやすい
と思うよ(設定も簡単だし)。IDEはさてそろそろなんかアプリでも作りますか、
ってなってからの方がいいと思う。まあツールいじってるうちになんとなく分かっ
ちゃうっていう人は別だけど。
785厨房さん:02/01/03 21:24
皆さんどうもありがとうございます。
>>779さんに教えてもらった所でエディターを落としてきて、解凍して使ってみました。
なんとかうまく行きそうです。

皆さんのおかげで前に進めます。(感謝、感激でございます)
また厨房チックな質問をする事が有るかも知れませんが、よろしくお願いします。
>>779
JoyがDOS使ってるわけないだろ。
787 :02/01/04 03:58
ウィンドウの中に●を書いて、マウスで移動できるようにするプログラムを作るにはどういう設計でいけばよいですか?
もっともスマートな方法でお願いします。
788デフォルトの名無しさん:02/01/04 04:42
>>787
その程度で「もっともスマート」な「設計」となると、スマートじゃない方法が、あんまり思いつかないなぁ…
789デフォルトの名無しさん:02/01/04 05:10
私的には

http://www.geocities.co.jp/SiliconValley-SanJose/8084/

ここのJavaMakerってのがお薦めだけどなぁ。

だってヘルプファイルまで含めても225kしかなくて超軽いし
その割りにアプリもアプレットも作れて結構重宝してます。
コーディングは適当なエディタでしなきゃならないけど
JBuilderみたいに重たくない分快適です。

ってか、JBuilderって重たいわメモリ食うわ余計なファイルを作るわで
はっきり言って使いづらいです。Javaなんて、軽いのが1番良いです。
teikade
791デフォルトの名無しさん:02/01/04 10:59
Java厨房暦3日です。

いまインスタンスメソッドと静的メソッドを勉強していますが、どういうときにインスタンスでどういうときに
静的を使うかがよくわかりません。

class Tyubo1 {
static void say() {
System.out.println("逝ってよし 1");
}
}

class Tyubo2 {
void say() {
System.out.println("逝ってよし 2");
}
}

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

Tyubo2 t = new Tyubo2();

t.say();

Tyubo1.say();
}
}

あ、スペースのインデントがうまくいってません。すみません。
793デフォルトの名無しさん:02/01/04 13:28
インスタンス別に違う変数を持たせたりとか。いろいろ。

class Tyubo3 {
    private int num;
    
    Tyubo3(int i){ num = i; }
    public void say() { 
        System.out.println("逝ってよし" + i); 
    } 
}

class mainTyubo { 
    public static void main(String args[]){ 
        Tyubo3 t1 = new Tyubo3(1);
        t1.say();
        
        Tyubo3 t2 = new Tyubo3(2);
        t2.say();
    }
}
794デフォルトの名無しさん:02/01/04 13:29
まちがえた。

誤> System.out.println("逝ってよし" + i);
正> System.out.println("逝ってよし" + num);
795デフォルトの名無しさん:02/01/04 13:56
>793
なるほど、理解できました。

次はインタフェースなんですが、どんなときに必要なんですか?
いちいちインターフェースを実装する必要ってあるんですか?

各クラスにメソッドを書けばいいじゃないっすか。
>>795
interface よりも クラスの継承の方が先じゃないかな?
797デフォルトの名無しさん:02/01/04 15:25
>>795
あるクラスに必要なメソッドが用意されてることを保証するの、interfaceの重要な役割だよ。
798デフォルトの名無しさん:02/01/04 15:34
>>795
厨房には、interfaceを作ることはまだ必要ありません。
799ななし:02/01/04 17:27
デザインパターンから勉強してもよさげ:)
800デフォルトの名無しさん:02/01/04 20:15
JAVAでシューティングを作りたいのですが、
画像別、角度別にアニメーションパターンを作るにはどうしたら良いですか?
とりあえず、

Image anime[][][]; // 画像を管理する三次元配列
// アニメーションの最大アングル数
final int AAN[] = {1,1,1,1,1,1,1,1};
// アニメーションの最大パターン数
final int APN[] = {1,1,1,1,1,1,2,2};
// 画像ファイル名
final String AFILENAME[] = {"own1.gif","own2.gif","own3.gif","bullet1.gif","bullet2.gif","bullet3.gif","source1.gif","source2.gif"};

// 画像読み込みメソッド
void readImg() {
Image image = getImage(getCodeBase(),AFILENAME[0]); // 適当に初期化
ImageFilter filter;
MediaTracker tracker = new MediaTracker(this); // MediaTrackerで画像の読み込みを監視する

// 配列の初期化
anime = new Image[AKIND][][];
for(int i=0; i<AKIND; i++) {
anime[i] = new Image[AAN[i]][];
for(int j=0; j<AAN[i]; j++) {
anime[i][j] = new Image[APN[i]];
}
}

// アニメーションデータ作成
for(int i=0; i<AKIND; i++) {

image = getImage(getCodeBase(),AFILENAME[i]);
tracker.addImage(image,0);
try {
tracker.waitForAll();
} catch(InterruptedException e) {}

for(int j=0; j<AAN[i]; j++) {
for(int k=0; k<APN[i]; k++) {
filter = new CropImageFilter(image.getWidth(this)/APN[i]*k,image.getHeight(this)/AAN[i]*j,image.getWidth(this)/APN[i],image.getHeight(this)/AAN[i]);
anime[i][j][k] = createImage(new FilteredImageSource(image.getSource(),filter));
}
}
}

// リソース解放
image.flush();
}

としてみたんですが、anime[0][0][0].getWidth(this)が初めの一回のだけ-1を返します。
この原因分かりますか?
回転させた画像作るところ
createImage(new FilteredImageSource(image.getSource(),filter));
ってブロックしない( MediaTrackerでwaitしないと
画像は完成してるとは限らない )んじゃない?
Java2Dを使いましょう。
>>802
アレ使って シューティングゲーム作れるとは思えないけど。
どうせだったら Java3Dとかでテクスチャをスプライトとして
利用した方が現実的だと思われ…
804デフォルトの名無しさん:02/01/04 21:58
あのさ~、Javaで動画加工するようなソフト作りたいんだけど・・・
どのパッケージとか使うの・・・
っていうかどこかそういうHP知らない?

趣味がアニメで出来る言語がJavaだけだから、
少しそういう事をしたいんだよ。
>っていうかどこかそういうHP知らない?
知らな~い
Java Media Frameworkとか
Java Advanced Imagingとかかな

java.sun.comだけでもいろいろ情報あると思うよ
807800:02/01/04 23:08
anime[i][j][k]もMediaTrackerでwaitかけてやったら動作しました。
感謝。
808Σ(゚д゚lll)ガーン :02/01/05 01:49
クイズ$ミリモネア

>>729を反映しました。
その他バグ修正などしました。
問題を少し追加しました。
画像を追加しました。
http://www.geocities.co.jp/PowderRoom-Tulip/5304/quiz/Quiz.html

ソース
http://www.geocities.co.jp/PowderRoom-Tulip/5304/quiz/Quiz.jar
809超初心者です:02/01/05 02:09
頻繁にデータの変更されるデータベースをJavascriptでHPに出したいのです。
解説書を読むと、「*.js」ファイルにデータを書き、それを外部スクリプトファイル
として読み込ませると書いてあります。
頻繁にデータを書き換えるのでそのつど「*.Js」ファイルを書き直すのは
面倒だと思います。
エクセルとかアクセスのデータをCSVファイルなどに変換して、
そのデータを「*.Js」ファイルにさらに自動変換する方法はあるのでしょうか。
それとも、そもそもこうした発想そのものが間違っているのでしょうか?
どなたか教えてください。
810トの名無しさ:02/01/05 02:16
>>809
すれ違いな気が。
JSP/サーブレットで自動変換できんこともないと思うが。
811デフォルトの名無しさん:02/01/05 02:20
>>761
>Java.sql.Types参照
質問前に読んでいたのですが,何が書いてあるのか分りませんでした。
簡単に教えてください。
>>764
>よく考えたらサーバー側の設定値と合わせないと駄目ね。
サーバーはApachで,Tomcatを使っています。関係ありますか?
812トの名無しさ:02/01/05 02:35
>>811
764が言ってるのはDBサーバーのことと思われ
813デフォルトの名無しさん:02/01/05 02:53
>>811
Java以前に、RDB(RDBMS)自体について学べ。
オマエみたいな厨が、RDBを良く知らずに作ったところで、
使い物になるモノはできあがらない。
技術以前の問題。
814デフォルトの名無しさん:02/01/05 06:46
DataSourceの使い方教えてください。
まず、JNDIでlookupして・・・
815 :02/01/05 06:54
>>813
酷い奴だな。初心者スレなのに。
なんかイヤな事でもあったのか?
>>795
自分で独自イベントとリスナを実装してみると、
interfaceがなぜ必要なのか分かるよ。

リスナのコールバックメソッドが呼ばれるのが、
あんなメカニズムになってるとはついぞ思わなんだ‥。
817デフォルトの名無しさん:02/01/05 08:21
>>815
口は悪いけど、言っていることは正しい。
ついでに言うと、"RDBMSとはなんぞや?"をここで説明するのは無理。
自分で調べるべし。ネットにいっぱい資料転がってるから。
818デフォルトの名無しさん:02/01/05 08:25
>>795
あるInterfaceをImplementsした全てのクラスのインスタンス参照を、
Interface型への参照にワイドニング変換する事が自由にできる、また
Interfaceが持っているメソッドがそのクラスには必ず存在することが
保証されている(但し、クラスごとに実装は異なっている)というのは、
場合によってはとても便利である。

言葉でいうとこんな感じなんだけど、どう便利なのかは、ちょっとここで
説明は無理なので、自分で調べるべし。
819デフォルトの名無しさん:02/01/05 13:12
>>806
JMFというのを調べて作りました。
そしたら、なんと、
フルーツバスケットのOPが再生できました!!
感謝!

でも未圧縮CD音質しか再生できなかった・・・。
mpeg4はそのうち pure java で扱えると書いてあったが、
他のFormatを再生するためにはやっぱコーデックを使うしかないの?
ちなみにその辺に関して結構素人なので教えて欲しいです。
JMFの対応フォーマット一覧
http://java.sun.com/products/java-media/jmf/2.1.1/formats.html

これ以外は追加のCodecが必要みたいだね。
MPEG-4のコーデックはIBM製のがすでにあるんだけど
なんかライセンス上の問題があるようで。。。
821デフォルトの名無しさん:02/01/05 14:13
>>820
ライセンスなんて誰でもいいっすよ。どうせ俺は個人で楽しむんじゃい!
フォーマット見せてもらいましたけど、Mpeg1は対応してるみたいですね。
Mpeg2への対応も期待!DivXも対応しないかな?
あと誰か編集っていうかEncodeの方法わかる人いますか?
なんかNetで調べてもDecode(再生)がメインで・・・。
sunのHPのJMFは英語だからExciteでがんばって理解してるのにあまり分からない。(Encodeの方法書いてないっぽい
既存のcodecでEncode行うほうがいいかな?pure java では無くなるけど・・・。
っていうか既存のcodecへはどうやっていくの?
DirectXとか勉強するのかな?う~む素人でスマソ。
エンコード関係ならこのページじゃない?
http://java.sun.com/products/java-media/jmf/2.1.1/guide/JMFCapturing.html
JavaWorldの2000年12月号にも記事があったよ。

あと、コーデックといってもWMPとかのが
そのまま使えるわけではなくて
JMF用のコーデックというものがそれぞれ必要。

普通はPluginManagerが適切なコーデックを選んでくれるから
自分でコーデックの種類を意識する必要はないらしい。
823デフォルトの名無しさん:02/01/05 15:17
>>822
なるほど自動でcodecを選んでくれるのか・・・。
あとは必要なcodecをかき集めてくればいいのか。
分かったよ、あり~。
自作動画編集ソフト作るぞ!
824 :02/01/05 16:37
>>811
NULL値の設定なんて聞いてくるから、どんな凄い使い方してるのかと思った。
そんなところいじらなくてもいいよ。
そこ触る人は100人に一人も居ないと思われ。
825 :02/01/05 18:05
WebにあるAppletで、ファイルの入出力ってできますか?
クラスを教えてください。
アプレットって
そんなんできたっけか?
Appletはローカルファイルにはアクセスできない。
これは仕様。
さんど
ぼっくす
いや、WindowsならIEの秘孔を突けばできるかも。
>>825
ユーザにポリシー・ファイルを書かせろ。そしたらローカルファイルに
アクセスできる。
831デフォルトの名無しさん:02/01/05 23:03
>>825
何で皆アプレットでムリヤリローカルにアクセスしようとすんだろね。
セキュリティ仕様でムリヤリやらない限り出来ないようにしてんだから、
仕様策定の段階でアプレット使わないようにすりゃいいのにね。
>814
ヘルプやサンプルコードも見ないで質問するのもどうかと。
普通はこうだろ。
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("jdbc/" + dsname);
Connection conn = ds.getConnection(user,pass);
あとは、いつもと一緒だ。
今はトレンディ(?)のJTA使うなら、こいつも入れとけ。
conn.setAutoCommit(false);

いじょ
833デフォルトの名無しさん:02/01/05 23:39
キャストで質問があります。

ぶっちゃけた話、class Aのインスタンスを java.lang.Object にキャストして渡し、
受け側で再び java.lang.Object -> class A にキャストしたいのですが、
どうも思うようにできません。

public class A extends java.lang.Object {
}

としたときに、イベントクラスを以下のように作って、

public class MyEvent extends EventObject {
Object obj;

MyEvent(Object source, Object obj) {
super(source);

this.obj = obj;
}

Object getObject() { return obj; }
}

これに、任意のオブジェクトを持たせてイベントの受け渡しを行いたい場合、

MyEvent e = new MyEvent(this, new A());

として、イベントオブジェクトに A のインスタンスを持たせて、
イベントの受け側で getObject() して A のインスタンスを使いたいのですが、

// イベントハンドラ内で
A a = e.getObject();

みたいにしたいのですが、ClassCastException が出ます。
ダウンキャストの問題でしょうか?

ただ、Vectorコンテナでは任意のクラス -> Object にキャストして、
その逆のキャスト(Object -> 任意のクラス)もできているようなのですが、
どうやったら実現できるのでしょうか?
834デフォルトの名無しさん:02/01/05 23:47
>>833
普通イベントリスナに対するイベントは、JVM内部で作られるスレッドからもいろいろ
投げていると思うので、君が作ったEventObjectサブクラスでないインスタンスを拾って
るとおもわれ。

Object o = e.getObject();
if(o instanceof A){
A my = (A)o;
//myを処理
}

とかにしてみるべし。
835833:02/01/05 23:56
>>834
ギャッ! できたッ!!
感動のあまりにちびったヨ!!

ありがとう~。ここの人たち、いい人だよ~。

ほげ~。
Object[]はString[]にキャストできないんでしょうか?
実行時におこられてしまいました(そんなキャストできない)。
Objectの下にStringがいるからといって、
Object[]の下にString[]がいるというわけでは
ないということでしょうか?

Stringを保持しているArrayListから、String[]オブジェクトを
作りたくて、toArray()をつかったら、キャストなしで
コンパイル時にエラー(型が違う)がでて、String[]に
キャストしたら上記のようなことになりました。
837デフォルトの名無しさん:02/01/06 01:12
質問です。過去ログにも同じものがあったらすみません。

「JavaTM 2 SDK, Standard Edition ドキュメント バージョン 1.3」のJDBCのところに、”Java リレーショナル DBMS と呼ばれる、Java 対応の次世代 DBMS が発表される予定です。”
とありますが、これはOracleなどのようなRDBMSのJava専用モノがそのうち発表されるという意味でしょうか?DB界の新星ですか?興味があります。
根本的に勘違いしていたらすみません。

(ドキュメントルートフォルダ)/guide/jdbc/getstart/intro.html#1013731
*ドキュメントのこのページの一番下の方に記述があります*
>>836
List.toArray( new String[] )
使いましょう。
839811:02/01/06 02:25
>>812 さん
>>813 さん
>>815 さん
>>817 さん
ありがとうございました。
問題解決に必要な知識がRDB(RDBMS)にあることが分っただけで収穫です。
使い物になるモノを作れるように勉強中です。
さしあたって今ではないので,>>824の忠告通りほっときます。
840デフォルトの名無しさん:02/01/06 04:20
class Array {
public static void main(String args[]){
int month_day[];
month_days = new int[12];
month_day[0] = 31;
month_day[1] = 28;
month_day[2] = 31;
month_day[3] = 30;
month_day[4] = 31;
month_day[5] = 30;
month_day[6] = 31;
month_day[7] = 31;
month_day[8] = 30;
month_day[9] = 31;
month_day[10] = 30;
month_day[11] = 31;
System.out.println("April has " + month_day[3] + " days.");
------------------------------------------------------------
C:\>java Array
April has 30 days.
841840:02/01/06 04:23
上記のものを
01-今月は何月ですか? と聞く
02-何月かを入力
03-その月が何日あるかを表示
(↑これは上記の結果「April has 30 days. 」のままでもOK)
これを追加し実行させるには何処に手を加えればよろしいでしょうか?
>>841
--- 宿題は自分の力で ---
>>840
とりあえず2月はそれでいいのか?と突っ込んでみたり。

> これを追加し実行させるには何処に手を加えればよろしいでしょうか?

何処に、という質問なら、今 System.out.println と書いてあるあたりに、という答えかのう。
844初心者君:02/01/06 14:50
>>843
1月が0から始めてるしいいのでは?
まあそれはそうと私のも見てくださいませ

class IfElse {
public static void main(String args[]) {
int month = 12;
String koyomi;
if (month == 1){
koyomi = "睦月";
  } else if (month == 2){
koyomi = "如月";
  } else if (month == 3){
koyomi = "弥生";
  } else if (month == 4){
koyomi = "卯月";
  } else if (month == 5){
koyomi = "皐月";
  } else if (month == 6){
koyomi = "水無月";
  } else if (month == 7){
koyomi = "文月";
  } else if (month == 8){
koyomi = "葉月";
  } else if (month == 9){
koyomi = "長月";
  } else if (month == 10){
koyomi = "神無月";
  } else if (month == 11){
koyomi = "霜月";
  } else if (month == 12){
koyomi = "師走";
  } else {
koyomi = "Bogus Month";
}
System.out.println("April is in the " + koyomi + ".");
}
}
845初心者君:02/01/06 14:53
ちょっと長くなってしまう手際の悪いやり方だけど
これベースでと考えて
これJDK1.3で実行した場合 結果は上手く【April is in the 卯月.】で表示されます?
もし間違ってるなら指摘よろしくお願いします
846 :02/01/06 16:40
すんまそん

public static void main(String[] args);{
for(int i = 1; i<10; i++){
for(int j = 1; j<10; j++){
if(i * j < 10)
{System.out.print("\t" + i * j);}
else {System.out.print(" " + i * j);}}
System.out.println();
}
}

これをwhileで書きたいんですけど
なんかうまくいきません
やっぱ ネタ心者ってスレタイトルが不吉なのか…
841,845,846 って宿題教えてクンを装ったネタだよね?ね?
848デフォルトの名無しさん:02/01/06 20:52
wrapper(ラッパー)って何ですか?
>>845
3行目で
int month = 12;
とかなってますが、これだと師走になるんでは。
>>849
いや、だからネタでしょ?

>>848
単発スレの後始末(削除依頼だ)しといてくださいね。
851 :02/01/06 22:54
>>847
じゃぁどこで聞けと?
852ビギ奈:02/01/06 23:32
独習JAVAで勉強していますが、

class TestString {
public static void main(String args[]) {
StringBuffer sb = new StringBuffer("abcde");
System.out.println(sb);
a(sb);
System.out.println(sb);
}

public static void a(StringBuffer sb) {
sb = new StringBuffer("wxyz");
}
}

をコンパイルして実行すると、
abcde
abcde
と出力されるのですが、ここは
abcde
wxyz
と出力されない理由がわかりません。どなたかご存知でしたら
教えていただけませんか。
>>852
ヒントだけ。

class TestString {
 public static void main(String args[]) {
  StringBuffer sb = new StringBuffer("abcde");
  System.out.println(sb);
  a(sb);
  System.out.println(sb);
 }

 public static void a(StringBuffer sb2) {
  sb2 = new StringBuffer("wxyz");
 }
}
で、
abcde
abcde
と表示されると思うけど理由わかるよね。
854ビギ奈:02/01/06 23:55
「a(sb)のsbはオブジェクトのsbでなくて、引数のsbを意味
している。」ということでしょうか?
855ビギ奈:02/01/07 00:03
>>853
852のソースで、mainメソッドのsbとaメソッドのsbは異なる
オブジェクトだから、ですね??
>>855
オブジェクトと変数は別物よ。
変数はただのオブジェクトの入れ物。

Java の参照型変数ってC言語のポインタみたいなもんだからさ。
↓のコードで
abcde
abcde
って出力されるのは分かるか?

void a(char*);

int main()
{
char* str = "abcde";
cout << str << endl;
a(str);
cout << str << endl;
}

void a(char* str)
{
str = "wxyz";
}
変数のスコープと配置領域についての知識が必要と思われ。
ついでに言うとポインタじゃなくて参照に近いな。
858ビギ奈:02/01/07 01:02
>>856,857
ありがとうございます。もう少し勉強してからまた
お聞きします。
859 :02/01/07 01:17
みんな酷い教え方してるなー。
正しい解答。

new すると参照が壊れて新たなインスタンスが生成されてしまいます。
newを使わないで代入すれば正しく動作するでしょう。
860ビギナー2:02/01/07 01:31
私も最近同じ壁にあたりましたが…(笑。

javaプログラミングBlack Book(インプレス)
   「変数のスコープを理解する」(192ページ)

を読んで理解できました。
この本、結構いいですよ~♪
861 :02/01/07 01:34
ん?この場合はスコープの問題じゃなくて
a()内の参照とインスタンスの問題だよ。
sb=a();
とかやってるのならスコープの問題だけど。
>>859
> みんな酷い教え方してるなー。
オマエガナー

> newを使わないで代入すれば正しく動作するでしょう。
しねーよ。
863ビギナー2:02/01/07 01:51
>>861
あ!。
そうですね。
恥ずかしい!顔から火が…(T∇T)

逝ってきます。
864 :02/01/07 01:55
以下のa()改良で正常動作確認済み。氏ね!>>862

public static void a(StringBuffer sb) {
sb.delete(0,sb.length());
sb.append("wxyz");
}
865862:02/01/07 01:58
>>864
そういう意味で言ってたのね。
それならちゃんと動作するわな。
ごめん。

いや、>>861の書き方だとさ、単に直接 new を使って書き換えないだけで、
↓みたいにすることだと思ったからさ。

 public static void a(StringBuffer sb)
{
StringBuffer sb2 = new StringBuffer("wxyz");
  sb = sb2;
 }
866862:02/01/07 01:59
>>865 の書き込み、参照ミス。

× >>861
>>859
867 :02/01/07 02:01
それこそスコープの問題だねー。
868逝って良しの1:02/01/07 02:02
コテハン出してJava房への完全勝利宣言をしておこう。
Cならローカル変数staticで宣言するだけで済むのに。
結構面倒だと思った。
>>869
ロートルアホC使いの頓珍漢さが溢れるレスですな。
どこがスコープの問題なんだろう?
872デフォルトの名無しさん:02/01/07 02:23
普通はC++→JAVA
の人が多いと思うけど、
JAVA→C++ってむずかしいのかな?
873862:02/01/07 02:30
>>872
メモリを自力で管理するところとtemplate以外はそうでもないと思う。
まあ、メモリ管理が一番面倒なんだけど。
>>867
というよりは、
Javaでは全てのメソッドが値(または「オブジェクトへの参照」の値)渡し、
値(同じく、または「オブジェクトへの参照」の値)返しだからだYO…

>>873
真性Java厨だと、メモリ管理と言うのが何事なのがわからない人が多いかもね。
JMMにもヒープやスタック、静的領域の概念はあるんだけど…
>>859
>newを使わないで代入すれば正しく動作するでしょう。
代入、で混乱した私は炒って良しでしょうか?
876デフォルトの名無しさん:02/01/07 06:23
スカラー変数を排他的に操作したいとき、どうしてますか?
やっぱり適当なobjectを使ってロックしてます?
>>876
プリミティブ型・長さ1の配列オブジェクトを作って、そいつで
ロック掛けて、0番目を変数として使用してます。
volatileしないでもよくなるので、ちょっと得した気分。
878デフォルトの名無しさん:02/01/07 08:14
>>873
>>874
Javaはたしかにメモリ管理(開放)はしなくてもよいけれど、
他のリソース(ファイルとか)の管理はするから、どちらにしろ難しくないと思う。
879擬人44:02/01/07 10:51
それについてはコレがいいかと。
http://www.puchiwara.com/hacking/
880デフォルトの名無しさん:02/01/07 14:28
javaw.exeはなんのプログラムですか?

こいつがメモリ占有しまくって落ちる事がよくあるので・・・
>>880
JBuilderとか使ってんの?
882えと:02/01/07 14:56
昔、ロータスで出してたJAVA BEANSってのどうなったの?
ぜんぜんバージョンアップしないんだけど・・・
昔かっちゃったのまだ持ってるよ・・
883えと:02/01/07 14:57
上、スマン、「Bean マシーン」とかいうのだった・・
884880:02/01/07 15:00
>>881
使ってます。

よく見たら、JRUNが動いているサーバーマシンでのみ発生しているみたい。
885デフォルトの名無しさん:02/01/07 15:06
アプレットで、あるフォントファイルを読み込んで、
そのフォントで表示する事はできますか?

(アプレットの置いてあるサーバーにフォントファイルを置いて)
887880:02/01/07 16:25
ありがとう
>>876-877
32bitを超えない型ならvolatileで十分。
>885
J2SE 1.3以降ならできるよ
Font.createFont(int fontFormat, InputStream fontStream)
890885:02/01/07 17:21
>>889
なるほど
thanks
891defaultの名無しさん:02/01/07 17:22
javaアプリケーションから、URL指定してブラウザーを起動するには
どのようにしたらいいですか? だれか教えて下され。
Appletじゃないので、applet.getAppletContext().showDocument(URL)
はできないわけで。
892naoya:02/01/07 17:37
すみませんが質問です。
2進数を表示するときに0をつけて表示したいのですが、
どのようにしたらいいのでしょうか。
例えばbyte型の変数に12が入っていてこれを2進表示する際
00001100
のように表示させたいのですが。
よろしくお願いします。
System.out
>>891
コマンドラインからブラウザ起動するのと
同じ方法を取るしかないと思われ。

>>892
簡単なプログラムだったら

for( int i = 0 ; i < 8 ; i++ )
 StringBuffer.append( ( data << i ) & 0x80 == 0 ? "0" : "1" );

で、しのぐとか。
本格的な奴だったら NumberFormatの派生クラスを自作するとか。
む、 == と & ってどっちが強かったっけ?
895891:02/01/07 18:30
>>893
わかりました。ありがとうござる。
>>894
& > == > &&
>>896
さんきゅ
>>894
わからんときは括弧で括れ・・・
>>898
自分で書くときにはそれでいいけどね。

でも、例えば前任者が過労で血ィベロベロ吐いてぶっ倒れたとき、
仕様書もメモも無しでコードだけ手渡されたときとか、
動作を追うのにそういう豆知識ってのはすごい重要なんだよ。
わかってください
>>899
納得。わかりました。
901デフォルトの名無しさん:02/01/07 22:30
後置インクリメントの処理ルール忘れました。
b = (a++) + (a++) * (a++); とか、そういうややこしいやつの。
決まってたと思うのだけれど、教えてくださいませ。
>>899

偉そうなこと言うならそれくらい調べろ。

と煽ってみるテスト
903893:02/01/07 22:57
>>902
一応書いときますと 893 == 894 == 897 != 899 ですので。
モーダルなDialogが可視化したことを感知したいのですがどうしたらいいでしょうか。
Windowリスナを使ってみたら最初にshowしたときしか反応しなくて鬱でした・・・。
糞みたいな質問でも答えないのは無能のあかしだね
>>894
オイしっかりしろ、
A & (B == C)
こんなのありえないだろ。型からして。Cじゃないぞ
907naoya:02/01/08 03:50
>>893
ありがとうございました。
908&rlo;?何はれこ:02/01/08 04:22
>>906
充分ありえるだろ。型からして。Cわかってないぞ
909え?:02/01/08 04:29
>>908
boolean相手に&って意味あるのか?
&&ならありうるが…
910デフォルトの名無しさん:02/01/08 04:48
>>894
(a & b)==c のほうが a & (b==c) より自然だっていうこと?
911C言語&rlo;語言C&rle;:02/01/08 05:14
Cにbooleanってないだろ
boolもないぞ。
912Java&rlo;avaJ&rle:02/01/08 05:20
>>909
すまんJavaスレだった。
JavaならもっとA & (B == C)ありえるだろ。
&と&&の違いわかってる?
913デフォルトの名無しさん:02/01/08 05:30
Ant で junitを使ったソースのコンパイルってのをしたいんだけど、
それが例えば、

<target name="compile" depends="prepare">
<mkdir dir="${build.dir}"/>

<javac srcdir="src/" destdir="${build.dir}" >
<classpath>
<pathelement location="D:\JBuilder4\jdk1.3\lib\junit.jar" />
</classpath>
</javac>
</target>

みたく、絶対パスで junit.jar を指定しないといけない。
これは、自分一人で開発するならこれでもかまわないんだけど
Unix や Cygwin 環境でコンパイルする人にも対応させたいので
なにかいい解決方法をご存じの方、教えてください。
914Java&rlo;avaJ&rle;:02/01/08 05:41
>>913
CLASSPATH使ったら?
あと、なんか設定ファイル読みこめんの?できた気がする。
915デフォルトの名無しさん :02/01/08 12:47
javaはじめたばかりの初心者です。
というか、プログラム初心者なんですが、質問させてください。
たとえば、a.htmlという一つのwebページに、
複数の異なるjavaアプレットを置くにはどうしたら良いんでしょうか?
a.javaというアプレットと、b.javaと言うアプレットを作った場合
a.javaは置くことが出来てもb.javaは置けないですよね?
>>911
C99あたりから出来たような…。
_Boolな。
919893:02/01/08 13:17
>>910 >>906
なんか話題になってましたが
894 は 893を書いた後で
>>( ( data << i ) & 0x80 == 0 ? "0" : "1" )
の箇所がコンパイルエラーにならないか
ちょっと心配になっただけです。
920デフォルトの名無しさん:02/01/08 17:39
socketで通信するとき、
無料のWEB鯖でもできますか?
JAVAのチャットを作りたいので…
>>920
つかその鯖がそもそもServletとかJavaアプリとかperl以外のプロセス実行を
許可してるのか?
922デフォルトの名無しさん:02/01/08 18:56
まだ鯖は決めてないけど。
どこなら使える?
>>922
探すのは難しいだろうね。自分で立てたほうが早いと思う。
924デフォルトの名無しさん:02/01/08 19:17
>>923
そうなんだ。
何とかならないのかなぁ?socket以外でも(他の通信方法があるのか知らんが…
925デフォルトの名無しさん:02/01/08 19:19
一応プロバイダはケーブルのJ-C〇Mで
Java や JavaScript など高度な機能を使用したページを作成できます。
のWebスペースはあるんだけど。
>>925
そりゃどこのサイトだって使えるよ・・・クライアント側で動くんだから。
つかえないサイト探す方が難しいってもんだ。
927920:02/01/08 19:44
(^^;
ソケットはサーバー側なのか…
なんとかならんかねぇ
>>927
無料が前提ならかなり無理っぽい。諦めるべき。

自宅でサーバーマシン(普通のパソコンで良い)を24時間稼働やっとけば、そこで一応動かせるけど。ケーブルなら常時接続でそ。問題なし。

何なら月に数万ほど出せばサーバー1台貸してくれるサービスはあるが・・・それならJavaでも何でも好きなように・・・
929デフォルトの名無しさん:02/01/08 20:55
最近のJavaの参考書ではクラスの修飾子のpublic指定が
削除されていますが、最近の仕様では不用になったのでしょうか?
>>929
最近って具体的には いつから?
っつーか public省いてる参考書の名前キボンヌ
>>929
ンなわけないでしょう。
要らないところには要りませんが、要るところには要ります。
>>929
つーか、修飾子は省略するな。絶対。
どんな言語使っててもね。
>>932
単なる省略じゃなくて、パッケージプライベート(同一のパッケージの
全てのクラスからアクセス可、それ以外は不可)という特別なスコープ
をあらわすんだよ。だから、それを意図しているなら使って良し。
>>933
省略したら protected になるっつーこと?
省略じゃないって。
private と、protected と、public と、何も書かないパッケージアクセスの、全部で4種類あるんだよ。
>>935
クラス修飾子なら
final、abstract、public と指定無し(パッケージ内アクセス許可)の4種。
937920:02/01/08 21:42
自宅サーバー運営費って
1ヶ月あたりどれくらいかかる?
電気代だけでしょ?
>>934
protectedは、サブクラスから(例えサブクラスが別パッケージのものでも)
アクセス可能。

パッケージプライベートは、継承関係が無くても同一パッケージ内でさえあれば
アクセス可能。C++のfriendのイメージにちかいかもね。

つうことで、全然違います。
>>937

回線使用費は?
940920:02/01/08 22:07
5,800円(税抜)
電気代はいくらぐらいだろう
941935:02/01/08 22:14
>>936
はうぁ。クラスのか。良く読んでませんでした。スマソ。
942デフォルトの名無しさん:02/01/08 22:38
JAVAアプリ(アプレットじゃない)を配布するときって
そのまま配らないよね?exeに変換?
943デフォルトの名無しさん:02/01/08 22:39
>>942

ソースコードを配る。
コンパイルは自前でやってもらう。
944デフォルトの名無しさん:02/01/08 22:48
ごめん。書き方悪かった。
JREでclassファイルを開くのがわからんってこと。
これでも意味わからん…。
要するにひとつのフリーソフトとして配布?ってことかな
945デフォルトの名無しさん:02/01/08 22:48
>>944

コンパイルの仕方も知らない奴に使ってもらいたくない。
>>942
コンパイルくらいしてあげなよ。
配布するときは実行batとjarをくれてやる。
実行環境がちょっとぐらい違ったって
実行バッチファイルみりゃ想像つくしな。
バカでもない限り
947デフォルトの名無しさん:02/01/08 22:56
JARはわかった。
実行batか…。がんばるYO!
948デフォルトの名無しさん:02/01/08 23:18
ケーブルTVのって、グローバルIPもらえないんでないの??
>>948
もらえるところもあるしもらえないところもある。
グローバルIPもらえなくても相手がグローバルIPもってれば
コネクションは張れるし。
>>948

うちは毎月何万円も出せばもらえる。ローカルは5500円だけど。
951デフォルトの名無しさん:02/01/08 23:29
わからん…
C:\Progra~1\JavaSoft\JRE\1.3\bin\java -cp ファイル名.jar
だけじゃだめなの?
>>951

いちいちパスを入力しているの?
953デフォルトの名無しさん:02/01/08 23:32
>>952
だからわかんないんだって(^^;
30分ぐらい検索しまくってるけどAutoexec.bat記事ばっかで。
誰か参考リンクください。眠い
>>953

autoexec.batでいいじゃん。
>>951
JAR ファイルの後に main() を持ってるクラス名を指定しなくちゃだめなんじゃないの?
ちなみに JAR にマニフェストファイル入れると JAR のダブルクリックで開けるようになる。
956Σ(゚д゚lll)ガーン:02/01/08 23:41
>>953
ここのJarの所とか調べれば色々書いてありますよ。
ギコ山羊さんも、「チェックしとけやゴルァ!!」と言っています。
http://java.sun.com/j2se/1.3/ja/docs/ja/index.html

ところで、そろそろ次スレに移行する時ですね。
このスレは僕が立てたのですが、次は誰か別な方にお願いします。
AAは控えめが良いみたいですYO!

/*************************************************************
* ↓↓関連リンクに追加した方が良いと思われるスレ↓↓
**************************************************************/

●●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
957デフォルトの名無しさん:02/01/08 23:45
>>954 配布する際にautoexec.batを配布するわけにはいかないのでは?
保存する場所によるのかもしれないけど。

.jar+.batで起動できるやりかたがわかるhpのリンクきぼーん
>>956 ども。
あげちゃってスマソ
まだたってなかったのか…
別に誰でもよいと思うけど
>>957

ああ、手前でコンパイルするときのことを言っているんじゃないのか。
Javaアプリで実行用バッチファイルなんか配ってる奴いるの?
>>961
じゃあどうやるの?それがわからなくて困ってるんです(^^;
Win環境で最新のJREインストールさせとけば、マニフェストで
MAIN-CLASS指定したjarだけでいいんちゃうの?
>>962
http://java.sun.com/docs/books/tutorial/jar/basics/run.html

…チュートリアルにあるじゃん。
965Σ(゚д゚lll)ガーン:02/01/09 00:10
>>961
Sunが配ってますよ。
HTMLConverterとか。
つうかマニフェストが追加できない。なぜじゃ…
app.class と app2.classがあってmainメソッドがあるのはapp.classのほう。
Main-Class: appとだけ書いた拡張子なしのファイルaiueoを作り
DOSプロンプトでjar cfm app.jar aiueo *.classを実行。
jar tf app.jarで見てもMain-Classがない。
なぜですか?質問ばかりですいません

#そろそろスレ消費抑えないと…。
>>951
javac -cp クラスパス ソースファイル
だろ?
autoexec.batに書くのがいやなら、javacする前に
set CLASSPATH=クラスパス
とかしとけ。
>>967
どうでもいいけど、javacに-cpはないよ。

コンパイル時にクラスパスが必要なのは、コアAPI以外のライブラリを
参照している時。そうでなければクラスパスは無しにしておいた方が
何かと便利。

実行のしかたは
 java -jar JARファイル名
マニフェストファイルにClass-Path属性を登録しておけば、-cp云々
とか、クラスパス定義とかはいらないよ。ダブルクリックで起動させ
たいなら、マニフェストファイルには是非参照するライブラリへのクラス
パスを記述しておきましょう(相対パスでも大丈夫なので、JAR分割配布
も可能)。
969入門書が欲しい人:02/01/09 05:18
会社でWebGainのVisualCafe4.5を使うことになりました。
それで入門書を探したのですが、シマンテック時代の入門書しかありません。
WebGainの入門書が欲しいのですが、誰か知ってる人いませんか。
それともシマンテック時代の入門書でも役に立つものなのでしょうか?
970デフォルトの名無しさん:02/01/09 08:12
JMenuについて質問です。
ある条件下で、メニューの項目を灰色にしてセレクトできなく
するにはどうしたらよいのですか?
>>970
setEnabled(boolean)
972デフォルトの名無しさん:02/01/09 08:19
マウスの右クリックイベントを拾うのってどうすんの?
>>972
Component#addMouseListener(MouseListener)
SwingUtilities#isRightMouseButton(MouseEvent)
974消防。:02/01/09 10:55
すいませんけど、教えて下さい。
エディターにひらがなを書くにはどうしたら良いんですか?
素朴な疑問なのですが、Javaのネイティブコンパイラって使われてるんでしょうか?
使われていて有名なものといったら何がありますか?

Windows、Solaris、Linuxの各プラットフォームで探しているのですが。
976デフォルトの名無しさん:02/01/09 11:24
はじめまして。VBからJavaに移ろうとしている初心者です。

swingというのをチュートリアルを見ながらいじっていて、JButtonなどを
表示できるようになりました。感激っす。
でも、ボタンはレイアウトにしたがって、大きさが変わってしまいます。

俺は、JFrameのペインにGridLayoutをセットして、さらにボタンをaddして
います。GridLayoutがいけないのでしょうか?それとも、Javaでは、
固定サイズのボタンは作れないのでしょうか。

どなたか、お願いします。
977デフォルトの名無しさん:02/01/09 11:29
>975
http://www.geocities.com/marcoschmidt.geo/java.html
使われ方は知らない。
>>977
さんくす。調べてみる。
>>975
gcj
980:02/01/09 12:06
↓新スレ立てました。
ネタ心者歓迎!今更ながらにJava相談室  その4
http://pc.2ch.net/test/read.cgi/tech/1010545421/
981
ゴルゥア出て来い引き篭もり!
( ´Д`) < はぁ~1000クレクレ
( ´Д`) < はぁ~1000クレクレ
           ∧_∧    / ̄ ̄ ̄ ̄ ̄ ̄
          ( ´∀`)  < もっと飛ばせ~!!985
         ,,( 、つ,∩ ∩  \______
       ~′とノ ( 'Д`)
        UU ̄ ̄ U U
986じゃあ。
987今日のご飯は緑亀:02/01/13 00:33
987ですかな?
あれ?なんでこのスレ埋もれてるの???

あげ!!



989
990
991
992 ・・・思い出した頃にやってみる。
993
書かせろ~~九百九拾四
カキコカキコ!!

995
あと5つ!!

九百九拾六。


カウントダウン開始!!!
さて・・・

いただきですな。労せず。

九百九拾七
九百九拾八
はぁ~

永かった・・・・・

九百九拾九!!!
    /■\    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ◯( ´∀` )◯ < 1000・・・  ワショーイ!!
   \    /   │
    |⌒I、│    \__________
   (_) ノ
      ∪
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。