\ | /
⊂⌒⊃ ⊂⌒⊃ ―‐ ● ―‐ ⊂⌒⊃ ⊂⊃
⊂⊃ / | \ ⊂⊃
⊂⊃ ⊂
/~\へ/~\へへ/~\/~\へ/~\へ/~\へ/~\へヘ/~\/~\ヘ/~\/~\
,,、,/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
,,,,| 立った立った!Javaの新スレが立った! |,,,,,,/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
,,,,\________ __________/,,,,,| Javaの質問はここでしようね! |
||=||=||=||=||=||=||∨=||=||=||=||=||=||=||\___ ________/
,,,,,,, ,,,,, ,,, ,, ,,, ,,, ∧_∧ ,, , ∧_∧,, ,,,,, ,, __ ,,,, ,,,,,∨ ,,,,, ,,,, ,, ,, ,,,,,, ,, ,, ,,,,
,, e@@e ,,,,,, ,,, ( o´∀`) ,,,,, (∀・ ; ),,,, , | || ,,, ,,,, e@@e , ,,,, ,,, ,,, ,, ,, ,,,,,, ,
,,, (, ゚д゚) ,,, ,,⊂ ⊃,,, ,,⊂⊂⌒ヽ、, ,,, |!____i|| , ,,,♪ (・∀・,)_ノ ,,,,, ,,,, ,, , ,,,, ,, ,
,~(( ,,), ,,,, ,,,○( ノ ,,,, プル )) )○/_/) ,,,, ,, とと,,__つ , ,, ,, ,, ,, ,, ,,
,,,, ,UUU∧,,, ,,,,,, )__)_) ,, ,,, ,(( (_(_ノ ))プル,,,,◎ ,, ,,, ,, ,,,,, ,,,,, ,,, ミ ピョン
| | / ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\| |,,,,,,,,,| |,,, ,,,| |,,, ,,| |,,, ,,,| |,,, ,,| |
| |,| 書き込む前に
>>2-10 をチェックしとけやゴルァ!! || |二二| |二二| |二二| |二二| |二二| |
| |,,\___________________/| |,, ,,,,,| |,,,, ,,,,| |,,,,,,,,| |,,,, ,,,,| |,,,,,,,,| |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>2 過去ログの一覧
>>3 Javaの基礎と よくある質問 (初心者はここをチェック!)
>>4 サーブレットとかJSPとかサーバサイドとか携帯電話とかJBuilder5の質問はこちらへ
>>5 Javaを撲滅させたい方、死滅を心配してる方はこちらへ
* 諸般の事情により、リンクがずれる事もあります。
トラ・トラ・トラ! ワレ スレタテニ セイコウセリ!
1にAA貼るんじゃねーよ。
8 :
デフォルトの名無しさん :01/12/08 19:09
おつかれ! AAナイス
9 :
デフォルトの名無しさん :01/12/08 19:20
そのAAだが、何故柵に囲まれてる?w
>>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って出力させるとすると。
In article
>>15 , デフォルトの名無しさん/15 wrote:
> 数字を指数表現にしたい場合はどうすればいいんですか?
> 例えばfloat x=123;ってした場合1.23E2って出力させるとすると。
gやfじゃない方法で?
方法は別に何でもいいです。gやfと言われてもわかりませんが。
In article
>>17 , 15/17 wrote:
> 方法は別に何でもいいです。gやfと言われてもわかりませんが。
そうですか。
19 :
デフォルトの名無しさん :01/12/09 13:17
In article
>>19 , デフォルトの名無しさん/19 wrote:
>
>>18 > 教えてやれよ、知ってるなら
どういう教え方をするのが一番いいかはよく心得ています。
22 :
デフォルトの名無しさん :01/12/09 13:22
>>21 あーわかったよ。じゃその教え方を見守らせてもらうよ。
最後まで導びいてあげろよな。(藁
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を相手にしているのはム版で開発した人工無能だ
>>25 良く分からないけど、
本当にprivateな要素にアクセスできるのかなー?
%eだろ
31 :
デフォルトの名無しさん :01/12/09 17:37
>>28 通常はprivateにはアクセスできないのだけど、
アクセスのパーミッションいじれば出来る。
が、やり方わかんね~。
>>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の
基本だろうよ。
Javaって不便なんですね(藁
>>31 本当だ。JavaFAQにできるって書いてあった。
でもやり方までは書いてなかった。
>>35 基本はな。プライベートスコープのアクセス許可は基本とは思えん。
設計ミスってるか、汎用ホワイトボックステストツールくらいしか
用途が思いつかんが。
39 :
デフォルトの名無しさん :01/12/09 18:25
>>34 これでprivateも支配できるのか~。ありがと!
>>39 外からprivateメソッドやフィールドをコールする
コードはコンパイルとおらないから、
java.lang.reflect#Method.invoke()で実行時に
コールすべし。だが、そんなことしてどうするの?
どうでもいいけど昔のネスケVMはprivateに アクセスできるバージョンがあったらしい
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だよ~"と表示されるはず。
54 :
デフォルトの名無しさん :01/12/09 23:38
Javaで印刷するとき、印刷プレビューを表示させることってできる?
>>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); みたいなかんじでいけるっしょ
どうでも良いけど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.* が読み込めないと判断したか?その経緯を述べよ。
61 :
MAKKY ◆QVBQLRg6 :01/12/10 09:34
教えてください!せっぱツマッテマス。 JavaScriptである一定の範囲だけ (例えば1枚のHTMLに入力部分と集計部分があるHTMLの集計部分だけ) 印刷するにはどうすれば良いのでしょうか? くだらない質問ですいません。
>>61 選択して、印刷時に「選択範囲だけ印刷」するように指定。
つーか、板違い。 キミ、ノータリン?マヌケ?首吊りなさいよ
63 :
デフォルトの名無しさん :01/12/10 09:39
>>62 でもプログラマンコ板でこち行けっていわれましたよ?
まだ
>>61 みたいなやついるんだね。なんだかすごくなつかしい。
>>63 ギャハハハーッ!
正真正銘のマヌケだぜー コイツ!
JavaとJavaScriptの区別もつかないなんてよぉー
>>60 簡単なプログラムの頭に
>import javax.ejb.*;
を加えてコンパイルしただけなんですが、存在しないという
エラーが出ます。なにか間違ったことをしてるんでしょうか。。
61です。 ん?62は私じゃ無いのですが・・・ 確かにこっちだよって言われました。。 実は会社でいきなりやる事になって真剣に悩んでます。。 JavaScriptの板ってあるのでしょうか?? ホントにすいません。。
javac に -d オプション付けてみたら何故か通りました。 何だか分かりませんがお騒がせしました・・・ どうも。
70 :
MAKKY ◆QVBQLRg6 :01/12/10 09:50
>>69 さん
ありがとうございます!!そちらに書きこみます!
>67 たしかにこの板であってます。 でもこのスレは「Java」。 探せばでてくるかと。
>>62 さん
ありがとうございます。。ただえっと。。フォームとかで区切れてなくて
作ったら使うのは何も知らないおいちゃん達なので
ボタン一つで出来る様にしたいかったのです。。
RESありがとうございます。。
WEBの方に行って見ます。。
皆さんお騒がせしました!+ありがとうございました!!
73 :
デフォルトの名無しさん :01/12/10 09:52
>>66 JAVAをどういうインストールしているの?
bin までの Path と、src/javax までの Path を教えて
そういえば、この板のトップのローカルルール&案内って
めちゃシンプルだね。なのに
>>61 的な迷子があまり出ないのが不思議?
(いや、俺が知らないだけでけっこういる?)
>>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 ね。
なるほどなあ。。「スクリプティング」か。
79 :
デフォルトの名無しさん :01/12/10 10:02
1.3.1 なのに CLASSPATH の設定が必要なのはどうしてなのでしょうか? 誰か教えてくれませんか?
そろそろ出かけなくては。。77さんありがとう。帰ってきてからやってみます。
>>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で
できました!(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つめは次に書きます。
もう一つの質問です。 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修飾をフィールドに付けると、初期化(初回代入)以外代入できない
フィールドになります。プリミティブ値もオブジェクト参照の値も書き換え
できません。複数回代入の可能性がある場合、コンパイラがハネます。
>>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(の状態)を変更しない
という宣言です」と書くべきでしょう。
>>98 ありがとうございます。ImmutableObjectの方はまだ勉強が足りなくて
わからないのですが、雰囲気はわかりました。
ありがとうございます。
>>99 ごもっともです。訂正ありがとうございます。
なお、96の例は、
class X{
private int data;
int getData(){ return data;}
}
とすべきでしたね。恥ずかしいです。
>>100 要するにGETTERしかないオブジェクトというだけですよ。
C++でも同じでしょ?
プリミティブ型には、それに対応するImmutableObject
クラスが全て用意されてます。java.langパッケージです。
値を取り出すのにいちいちメソッドコールすることになる
ので、実行時のオーバーヘッドも多少あるわけで。
でも、コレでやるのがJavaの方針らしいので、諦めてください。
>>101 重ねての解説ありがとうございました。
勉強してみます。m(__)m
>98 > Integer intobj = new Integer(10); > とすると、intobj.intValue()の戻り値は常に10です。 ちょっとごめん、よそから foo.intobj = new Integer(5); とかされたらアウトだよね? そういう意味ではプリミティブ変数で持つのと 同じような気がするんだけど
>>103 final Integer intobj = new Integer(10);
と、複合技で使いましょう。
final int i = 10; と同じような気が・・・
ううー、すまん。なんかそんな気がしてきた… というか、なんか無意味な事を書いてきたような気がしてきた。 ゴメンナサイ。キエマス。
107 :
96じゃないけど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
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
あ、うそかも。まあいいや。FontMetricsはあってる。
119 :
デフォルトの名無しさん :01/12/11 14:22
年月日時分の日付データをふたつつっこんで、 その時間間隔を分でほしいんですが、 なにかいい方法あったら教えてください。 例) 2001年12月11日14時20分 2001年12月11日15時30分 をつっこんで 70 を得る
121 :
デフォルトの名無しさん :01/12/11 16:14
仕事で見る事多いから、 1にAAやめとくれ
>>121 それはどうかと思うが、1にAA載せるのもどうかと思う。
123 :
新スレ気付かず2に書いたので、こっちにそのまま書く :01/12/11 16:16
文字を、 wordのワードアートのようにいろいろ装飾して表示させたいですが、 良いライブラリとか(できたらフリーで)公開されているの、知りませんか? ちょっと検索かけたのですが、いまいちみつかりませんでした 自作するしかないのかな (影付程度ったら、すこしずつずらして書くなどして、実現できそうなんだけど、 複雑なやつが・・・)
124 :
java厨 :01/12/11 16:39
Oraclの最新版のJDBCドライバって JDBC2.0完全準拠ですか? TYPE_SCROLL_INSENSITIVEの指定でcreateStatementすると 例外発生するんですが…
>>123 標準でついてくるJava2Dでまだ不満でも?
JDKについてくるJava2Demoを起動してみてみた?
>>125 ごめんなさいです。
Oracleの…じゃ~なくて
Oracle用のWeblogicServer6.1用のOCIドライバのことです…。
BEAのサイトを見る限りダメそうなんですが…
>>121 >仕事で見る事多いから、
おいおい(藁
>>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) を割り当てようとしました。」というのも、、 してねーじゃん!!としかおもえません。 どなたか、アドバイスおねがいします。
すみません 勘違いしてその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にしなかったのが問題です。
>>134 レスどうもです。
理解しました。言語仕様書にもそう書いてありました。
で、interfaceのメソッドはデフォルトでpublicになる」
ということを覚えました。
でも、なぜコンパイラが勝手にそうしてくれるのかが
腑に落ちません・・・
>>136 interfaceとは何か? どういう時に使用するのか?
がわかれば、納得できると思う。
>>136 なんでだろ~?
privateが無いのはわかるけど、
無修飾のパッケージアクセスが駄目なのはなんでだろ~?
⌒⌒⌒⌒〇⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒
o
。
(´-`)
>>139 というか、この
>なんでだろ~?
というのはインタフェースに限らず、
ふつうのクラスでも、
パッケージアクセス限定のクラスにpublicメソッドが
定義されている以下のような場合、
-----------------------------------------------
package A;
class Test
{
public void f() { }
}
----------------------------------------------
がコンパイルOKということに対する
「なんとなく変な感じ」と同じと思うがどうでしょう?
で、これがコンパイルOKなのは、
「ダメにしなければ、危険なことが発生することがないからOK」
とでも解釈しておけばいいのかな~??
interfaceって、その名の通りクラス間のインターフェースを規定する
物だから、privateにしてどうするよって事なんだが...
# オープンソースですと言っておきながら「ソース見たいなら会員登録
# すれ」と言ってるようなもん、ってのはちと例えが悪いか。
>>140 の場合、同一ソース内/パッケージ内のクラスからはpublicという
意味なので、別に変ではないでしょ。
>>141 そうかな~
そもそも、
>同一ソース内/パッケージ内のクラスからはpublic
を明示的に示すのが、「アクセス修飾子なし」な
わけでしょ?
つまり、
>>140 の例でいうと
public void f() { }
と書いても、外からは
void f() { }
と同じ・・・・・でもないか、そっか、そっか、、
public void f() { }
と書けば、package Aの中でTestをextendsする
publicクラスを書いて f() をオーバーライド
したときに、それが public であることを保証
できるね。
ということで
># オープンソースですと言っておきながら「ソース見たいなら会員登録
># すれ」と言ってるようなもん、ってのはちと例えが悪いか。
というのも分かる。
あーすっきりした。
>>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にパッケージアクセスのメンバを許してくれてもいいのに・・。」
と言う事です。
とりあえず、
「パッケージアクセス限定クラスの中にpublicメソッド
があっても、それは無意味ではない」
というのは理解しました。なので
>>140 で
>がコンパイルOKということに対する
>「なんとなく変な感じ」と同じ
というのは間違ってたということです。
されはOKなんですが、やはり、私も依然として
>「パッケージアクセスのinterfaceが有るんだから、
>そのinterfaceにパッケージアクセスのメンバを
>許してくれてもいいのに・・。」
というモヤモヤは残ってます。
「この抽象メソッドは同一パッケージ内でのみ実装を許す」という
制限をしたいケースは、基本APIのインタフェース
には無くても、実務プロジェクトではありそうですしね。
パッケージアクセス限定クラスにpublicメソッドが 「あってもいい」などという程度の理解をしてはいけない。 ポリモルフィズムを理解すれば、外部から直接インスタンス 生成はできないが、Interfaceあるいはスーパークラス インスタンスの参照を通じて、外部からアクセスされる事 があるクラスはいくらでもあるだろうことはスグに思いつく と思うんだが… JDBCのConnection実装クラスインスタンスなんかはその例だろう。 Connecitonインターフェイスの実装クラスであるドライバ固有の Connecitonコンクリートクラスは、大抵publicじゃないぞ。
>>145 >パッケージアクセス限定クラスにpublicメソッドが
>「あってもいい」などという程度の理解をしてはいけない。
いや~勉強になります!m(__)m
JDBCのコンクリートクラスを検証してみてから、また来ます。
>>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 のイベントしか取れてないのです。 どなたか方法分かる方いますか?
すみません。 よくよく調べてみたら、自分のプログラムのaddAjustmentListener()を呼んでいる個所に バグがあっただけでした‥‥。 鬱氏。
150 :
デフォルトの名無しさん :01/12/12 15:45
String型の中身の文字コードはなにで構成されていますか? UNICODE?
>>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 ) );
}
153 :
デフォルトの名無しさん :01/12/12 18:39
JDK1.1相当で2つのTextAreaのスクロールをシンクロさせることは できますか?
154 :
URL ログイン :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にアクセスするにはどうすればよいでしょうか?
詳しい人どうぞよろしく。
155 :
URL ログイン :01/12/12 19:14
ファイナンスの自分のWATCH銘柄の表をリアルタイムで取り込みたいのですが、そのためにはログインしている必要がありますが、 USERNAME:PASSWRD@YAHOO.COM....とやってもIEではないのでうまくいきません。
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 やプロキシ接続はブラウザがやってくれる)。
>>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批判が起こるんだよ・・・
Tool 1.j2ee -verboseでサーバを起動 2.deploytoolでデプロイツールを起動 Toolを使用しないやりかたを今調べてる途中なんです。 いきなりToolを使ったんで、このToolは何をしてるんだろうと? 疑問に思ったので、コマンドラインからの動作を知りたいと、 2.の疑問に関しては、趣味ですから。
164 :
デフォルトの名無しさん :01/12/13 08:08
161 も 162 も痛すぎる...
161 のような質問は初心者なら仕方が無いが、 162 は痛すぎる。
>>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の公式ホームページ等の ダウンロード以外の手段で たとえば雑誌の付録についていますか?
168 :
class -> exe :01/12/13 18:45
169 :
べんきょうちゅう :01/12/13 19:55
素朴な疑問なんですが。 配列の長さを知りたい時って、 arg.length でOKでしょ? なんで文字列の長さになると arg.length() って、かっこがうしろにつくの? このちがいはなに??
170 :
デフォルトの名無しさん :01/12/13 20:36
>>169 メンバ変数とメンバ関数(メソッドともいう)の違い。
(厳密に言うと配列のlengthは純粋なメンバ変数と実装がちがうが)
172 :
べんきょうちゅう :01/12/13 20:57
>>170 ありがとー。
配列のlengthはメソッドじゃないのかぁ。
どういうしくみになってるんだろう?
よかったら教えてください。
173 :
デフォルトの名無しさん :01/12/13 22:42
仕事でJavaをすることになったんですが 入門書として、これはいいぞというものがありましたら 教えてください。
確かに配列の length は納得いかないよな・・・ 代入できるわけでもなし・・・ なぜなんだろう?あれ。
176 :
デフォルトの名無しさん :01/12/14 00:36
>>166 javaでサーバーサイドをやってるにもかかわらず、
>SessionBeanはThreadを使ってはダメですが、クラスBをThread化するのは
というのは・・・・
サーバーサイドはマルチスレッドプログラミングができないと痛いよ。
rmiを通してますってあらかじめ書いてるのも笑えるな。
rmiの仕組みがわかってれば、残りは自分で工夫すればいいだけの話だ。
それにしても、RMIを運用できるほどハードに余裕のある会社があるとは・・・
それとも、プロトタイプか?
俺にはEJB関連の用語が蛇足でくっついてきてる気がするんだが、
そこに意図があるのかもしれないので、答えは書かないでおこう。
177 :
デフォルトの名無しさん :01/12/14 00:48
>>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 と、やっても日本語ヘルプも出ない だれか、情報ないっすか?
アプレットで、 Graphics2D#fillなどで図形描画した上に、JLabelを張りたいんです。 強引に、↓の用にすれば出来ました。 //labelはJLabel、g2はGraphics2D label.paint(g2); 何故こんな事をしたいのかと言うと、 漫画のフキダシのような物を描画してから、台詞をJLabelで書きたいからです。 JLabelだとhtmlとか使えるし、いろいろ楽かなと。 もっとエレガントな方法は無いでしょうか?
>>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 パブリック・スタティック・ファイナル・イントー!
必殺技の名前みたいだ
>>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型に変換するにはどうしたらいいですか?
キャストすれ
いつもお世話になっています。 抽象クラスとインターフェースの違いについて教えてください。 問題は、どのように使い分けるかです。どちらも、多数のサブクラスの 共通部分を取り出すために使えると思うのですが、使い分ける理由が わからないのです。 もしかすると、一部のメソッドの定義を書きたければ抽象クラス、 メソッドの定義をまったく書かなければインターフェースということで しょうか? よろしくお願いします。
インターフェイスには マーカーインターフェイスという使い方も
195 :
デフォルトの名無しさん :01/12/14 16:28
ベクトルから取り出したオブジェクトを(int)とキャストしてもエラーをはくのです。
>>194 早速ありがとうございます。
でも、マーカーインターフェースってわかりません。(泣
できれば、わかりやすくお願いします。
clone関数つかうときってさ、 Cloneableインターフェイスをimplementsするでしょ? なにもメソッドをもたないで、それを実装するクラスがある属性を もってるって知らせるためのやつ。
>>197 ぜんぜん、わかりません。
私は質問する資格すらないのでしょうか?
199 :
デフォルトの名無しさん :01/12/14 16:53
どうしたらいいんだYO!!!!!!
じゃあクローンのことは忘れよう。 とりあえずインターフェイスって複数の継承できるでしょ? あと抽象クラスは部分実装ができると。 あとは日下部大先生にでも聞いてくれ(w
俺はどうしたらいいんじゃ?
>201 int? Integerにキャストせよ。
Integerにキャストした後どうしたらいいの? それで、もうint型として使えるの?
intじゃなくて Integer型! どうしてもint使いたいならvectorつかわず配列をつかうべし。
>>200 わかりました。(と思います。)
ありがとうございます。m(__)m
日下部先生は嫌でございますです。
Integer型からintに変換するにはどうしたらいい?
Integer型のメソッド、 intValue()をつかえば、現在のオブジェクトの値を int型でかえしてくれる。
210 :
デフォルトの名無しさん :01/12/14 19:15
Javaで遅くなる一因って何ですか?(マシンスペックは除く) 今、アプリケーションを作っていて恐ろしく遅くなってしまって 使い物になりません。原因がいろいろ考えられるのですが、 特に足を引っ張っている原因がいまいち分かりません。 Swingは使っていません。
osはなに?メモリー不足→ページング発生、てのがありがちなパターンだけど。
"java -Xprof クラス名" で起動すると何に時間使ってるか見れるよ
>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っぽく扱って
区切り文字をスペースにすれば
ひとつずつよめるんじゃない?
>>217 ありがとうございます。
でもTokenなんとかがよくわかりません。
調べる先のヒントでも教えていただけないでしょうか?
お願いします。
みなさん、1行にいくつかデータのあるファイルの
読み込みはどうされているのでしょう?
StringTokenizerクラスをつかうのだ
>>219 ありがとうございます。助かりました。
こんなクラス、初心者本にはないですよね?
でも、ファイルからの読み込みなんかはこれでよいわけですね。
本当にありがとうございます。
222 :
デフォルトの名無しさん :01/12/14 21:12
JavaCardAPIを用いてJavaCardアプレットを作っているのですが、 デスクトップPCなどで動作させるJavaCardとのデータの やり取りなどを行なうアプリケーションはJavaで作成できるのでしょうか? JavaCardAPI・Java2SEのAPIドキュメントなどを漁ってみたのですが、 該当するAPIが見つかりません。
>220 あ、ファイルからならStreamTokenizerだよ
sscanfやsprintfたいなことがしたいなら、 java.text.MessageFormatを使いましょう。
Win32APIでならWindowsForSmartCardSDKを用いれば ホストコンピュータ側のアプリケーションを作成できることは分かったのですが。 なんとかJavaで作りたい(^^;
>>222 JavaCardってなあに?
やり取りとやらのプロトコルが既知のものなら、それにあわせて
ソケットなりなんなりで会話すればいいじゃん。
JavaCard=内部のアプリをjavaでかけるICカードです。 プロトコルはISO7816が使えればいいんですけど。
230 :
べんきょうちゅう :01/12/14 23:13
225さん、ありがとうございます。 カンシャ、カンシャ、カンシャ(ライオンキングのCMのまね) ところでまた質問があるのですが。 ①スレッドA、Bを流す。 ②Aがロックをとっていろいろと実行する。そのあとwait();が呼ばれる。 ③Bが実行される。notify(); がよばれる。 このあと、またAがロックを取って動き始めると思うんだけど、 その時ってどこからの実行になるの? wait(); の次の行からの実行?それともまたrun()以下をはじめっから? 教えてください。
232 :
べんきょうちゅう :01/12/14 23:17
>>231 すんません。
まったくもってそのとおりでした。
でもありがとう!!
EJBの規則ではSessionBeanをスレッド化してはならないよね?知ってた?
234 :
デフォルトの名無しさん :01/12/15 00:05
ObjectStore PSE/Proに画像を 格納することは出来るんでしょうか? 出来るとすればどうやればよいのでしょうか。 Java.awt.imageクラスを使うのか、強引に 文字列で読み込ませるのでしょうか。 教えてくれ君ですみませんがご教授お願いいたします。
メンバってインスタンスの事? メンバ関数とかメンバ変数とか言っている人がいるけど. {インスタンス|静的}{関数|変数} なら知ってるんだけど.
実体無くてもメンバーはメンバー。
>>235 俺も使ってたけど
特定のクラスのメンバではない変数や関数がないJavaでは
意味のない単語だったね。不適切だったかも。
もともとC++の用語と思われ。
>>235 関数ってなに?メソッドじゃないの?
・・・って言い返したくなるのは、なぜだろう。
>>223 >>226 ありがとうございます。(レスが遅れてすみません。)
とても勉強になりました。
私の課題は、1行ごとに
Taro 23 15
のようなデータのあるファイルから個別のデータを読み込んでいくことです。
StreamTokenizerもMessageFormatもぜひ理解し使いこなしたいのですが、
当面はちょっと難しそうです。
今回は、readLineで一行ずつ読み込んで、StringTokenizerで分解して
いこうかと思います。特に「バカな方法」ではないですよね。
(ざっと見た感じでは、StreamTokenizerは高機能すぎて今の私には猫に小判です。
MessageFormatはまだ読めていません。)
ありがとうございました。
Javaで600×500の画像を使うのはおかしいでしょうか?
スレッドって、sleep命令は必ず入れたほうがいいですか? HSPだとwaitという同じような命令を使わないと処理が おかしくなるのですが。
245 :
デフォルトの名無しさん :01/12/15 02:19
Rubyなら出来ます!!!!!!!!!!!!!!!!!!
RUBY>>>>>>>>>>JAVA==HSP
>>243 一定時間ウェイトを入れる時にはsleep()を使う。
ただ単にほかのスレッドへスイッチするチャンスをVMに
与えるだけならyield()ってのもある。
でもVMの実装によってはスレッドのスイッチは勝手に起きるから
yield()が無駄になることもある。
でもJavaの錦の御旗でもある互換性の確保をしたかったら
時間がかかる処理にはループの中にyield()を入れておくべき。
Javaチャット作りたいんだけど難しいですか? 作り方でてるいいサイトあったら紹介してください!
>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 に書かれているのとフォント名が全然違ったり して、ウォーニングがたくさん出てイヤ! そんな問題を回避する方法、教えてケロ!!!
256 :
java厨 :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; ってどういう意味ですの?
258 :
java厨 :01/12/15 21:50
コンパイルは成功します。 Appletviewerを使うと Exception occurred during event dispatching: Java.lang.NullPointerException ~ と出てしまいます。 ためしに↓を描画させようとしたのですが失敗。。。 Image testhoge=getImage(getCodeBase(),"uo.jpg"); 思いっきり厨房ですがよろしくお願いします。
.4 これの事ね
>257 .4fは0.4fと同じ意味
>256 もしかしたら × Image cropped_image = createImage(prod); ○ cropped_image = createImage(prod); かも
262 :
java厨 :01/12/15 22:23
>>261 ためしてみましたが、結果は同じようです・・・。
うーん
ついでにこれもなおしておきました。
× Image full_image = getImage(getDocumentBase(),"field2.gif");
○ full_image = getImage(getDocumentBase(),"field2.gif");
264 :
256java厨 :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); }
>>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
アップレットを作りました。 しかし、そのアップレットをブラウザで読み込むと ブラウザの動きが悪くなりました。 この状態はブラウザの昨日を落とすまで続きました。 このための対策とは何か質問をしています。 答えを与えてください。
>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()しても、アプレットに反映
されないのですが、どうすれば反映させる事ができるんですか?
>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)} ;
>>280 ありがと、勉強なたよぉ~
好きになっていいですか?
282 :
デフォルトの名無しさん :01/12/16 05:32
>>276 ひょっとしてAWT使ってる?
SWINGに変えればマシになるかも。
>>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を付けているのは なぜでしょうか? お願いします。
>>287 ども。1.3以降では、そんなことができるんですね。試してみます。
プラットフォーム毎に微妙にフォントサイズが違って… という問題も
本質的に回避できそうですね。すごく嬉しいかも。
IBMのSDKのdownloadの所から落せるフォントって何のためにある
のか判らなかったけど、コレに使えってことなのかな。
291 :
デフォルトの名無しさん :01/12/16 09:43
質問3です。連続質問で本当にすみません。
>>288 のクラスを継承しようとすると、dataがprivateでは使いにくいと
思いprotectedにしてみました。
しかし、調べてみると、サブクラスを同じファイルに書くなら、protected
を付けるより何も指定しない方がアクセス制限がかかることがわかりました。
みなさんは、こういう場合どうしていますか?
つまり、サブクラスは同じファイルに書かないようにするとか、
同じパッケージに入れないとかの不文律でもあるのでしょうか。
いろいろアクセス制限で悩んでいる初心者です。
よろしくお願いいたします。
>>290 > プラットフォーム毎に微妙にフォントサイズが違って… という問題も
> 本質的に回避できそうですね。すごく嬉しいかも。
まさにその目的のために実装された。TrueTypeの自力描画。
294 :
べんきょうちゅう :01/12/16 13:57
今Javaの本を読んでいたんですが。 「イミューダブルオブジェクト」ってなに??? イミューダブルっていう単語の意味すらわからず(涙)、 ネットで検索してもちっともひっかかりませんでした。 知ってる方がいたら教えてくださいー。 お願いします。
>>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が言語仕様にないのよ
レスありがとうございました。今日一日レスを待っていたかいがありました。
>>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ドキュ見直せよ…
書籍やWEBで msg.setSubject( subject, "iso-2022-jp" ); とやってるもんで。
>>304 こんな質問にちゃんと答え下さってアリガトウです!!
>>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();
ってやってみ。
>>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 取って試してみたら、同じエラーが出ましたよ。
>>323 >>325-326 どうもありがとうございました。無事コンパイルできました。
一瞬できなかったんですけど、staticがないのは盲点でした。
実行はできたんですが、結果は真っ白なウインドウが出てくるのみ・・・
プログラム自体を見直す必要があるみたいです。
なので逝ってきます。
書き込んだ直後に何がいけないのか気づきました。 肝心の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でしたらご容赦ください。
対策とどういう風にやってるかってことです。 言葉足らずですいません。
質問す。お願いします。連続の読み込みなんかで 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ファイルをスクリプトと解釈しないブラウザを使えばいいんじゃない?
>>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"));
悪い、まちがっちまった。けど、やっぱり おんなじだったけど・・・? String s; do s = datainputstream.readLine(); while(!s.equals("ss"));
javapしてみたら、Stringが中にある方がステップ数が短くなったけど。
>>250 ですけど、誰もわからないんですか?
早く誰か教えてください。
345 :
デフォルトの名無しさん :01/12/18 07:26
>>250 >>344 int val;
と
val = JOption.hogehoge....
に分けてから、また試してみ。
>>344 >>250 の抜き出した1行にはおかしな所が見当たらない。
処理系のバグが250の見当違い。
経験的に言って250の見当違いに56億4千万カノッサ。
本気で答えてほしければ
再現できるぎりぎりまでソースを切りつめてUP。
その途中でだいたい原因に気づいてしまう物だけど。
JARで固めて InputStream in = getClass().getResourceAsStream(fileName); とか。
>>349 レス有難うございます。
僕も最初はjarにする方法を考慮したのですが、
一般のユーザーが、自由に問題を編集できるよう、
jarで固めないで、普通のテキストファイルにしておきたいんです。
けど無理なんですかね~。
>350 同じサーバ上においてさえあれば JARに入れなくても同じ方法で読めるはず。
>>351 本当だ、読めました。有難うございます。
非アプレットで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/
JAVAをDOS窓でコンパイルするとログが多いと読めないのですが、どうすればよろしいでしょうか? 先輩方お教えください。
Jikesって、JDK1.1ベース? パフォーマンスとかどうよ?
九九の表をつくろうとおもいます。 for文ならできるんですがwhile文になるとよくわかりません。 whileって二重にしてよくつかうんですか?
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メソッドに
して切り出すんじゃない?
どうせメソッドコールの深さ気にしても仕方ないような環境なんだし。
370 :
デフォルトの名無しさん :01/12/19 00:05
誰か助けてくださいませんか… SwingなんのですがJTextFieldを配列で、 例えば、 ●private JTextField tf_x1,tf_x2,tf_x3; を ●private JTextField tf[]; とする事は可能でしょうか? どなたかお願いいたします。
ええと…文字型…ですよね? 文字型…配列ですか?
>>372 配列を宣言すればそのまま使えると思っているに1票。
>>373 あ、いやちがうんです。
一応new演算子使ってやってるのですが、
コンパイル成功しても、元のプログラムのように動作しないので…
>>374 「元のプログラム」と違うと思われるのはどの辺?
詳しくは、上記の ●private JTextField tf[]; の後に ●p.add(tf[0][0]=new JTextField("",4)); ※pはJPanelのObjectです。 としているのですが、まずいのでしょうか? 引き続き、どなたかおわかりになる方いらっしゃいましたら、 お願いいたします。
>>375 あ、はい。元は、
●private JTextField tf_x1,tfx2;
の後に
●p.add(tf_x1=new JTextField("",4));
としています。
根本的に組み間違えている、という事でなければ、
もう一度再考してみます。
>>377 あ、ごめん。
聞き方悪かった。
動作として、違うと思われるのはどういう所?
テキストフィールドが表示されないとか、そういう事じゃないよね?
こちらこそ失礼しました。 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 それ(配列オブジェクト作らずに代入)ってコンパイル時に
エラー吐かない?
>>380 あっ…出来ました!
380さん、そして皆さん、どうもありがとうございました(^^
ここで教えてもらったように、誰かにも返してあげたいと思います。
それではまた。本当にありがとうございました。
>>380 JTextField配列の初期化されてない所までアクセスしようとしてない?
例えば、
p.add(tf[0][0] = new JTextField("",4));
って、[0][0]しか初期化してないのに、
tf[1][1].setText("foo");
とか。
これだと、tf[1][1]はnullだから、例外吐く。
追伸 レスの間にも…!381さん、382さんどうもありがとうございます(^^ 有用な情報になるかはわかりませんが、 コンパイルの時は、なぜかエラーは出ませんでした。 参考までに…環境は、Java2SDK、エディタはCPadでした。
>>384 微妙に間違った理解してるので、ちゃんと勉強してください。
>>387 えっ。すんません。
どの辺が間違ってるのか是非。
煽りじゃなく、勉強してる最中なので
>>382 tfがローカル変数なら、未初期化変数使用だか
なんだかでコンパイルエラーでるかもね。
クラスメンバやインスタンスメンバだと実行時まで
nullかどうかワカランから、コンパイルじゃはじけ
ないでしょね。
>>388 説明すると長くなる。それより自分で適当な教科書読んだほうが早い。
オブジェクト参照の配列オブジェクトについて、Let'sお勉強(藁
>> 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
In article
>>362 , デフォルトの名無しさん/sage/362 wrote:
> 九九の表をつくろうとおもいます。
> for文ならできるんですがwhile文になるとよくわかりません。
じゃあまずforでどう書いているのか見せてよ。
> whileって二重にしてよくつかうんですか?
forはどうなんですか??
# 54ペイジを見れば一発でわかるんだろうけどね ;)
yahooチャットの音声チャットってどういう仕組みなんですかね? LiveConnect駆使しまくり?
>>362 Kusakabe Youichiって人が来たらよく考えて発言しなさい。この方馬鹿で応用利かない人だから・・・
難しいなら無視をしようね。
>395 まさかとは思うがC言語の本じゃあるまいな
>>394 ちょっと見とれてしまった。
計算量がネックになるような処理で
最新のJITコンパイラやHotSpot付きの環境なら
Cと同程度の速度はでるらしいね。
最終的にバイナリに落とす際につかえる最適化テクニックに
大差はないってことなんだろうな。
#Javaの速度のネックになってるのはGUIとGC、
#あとJITコンパイルを含む広義のクラスロード。
コンストラクタってわかりやすく説明したサイトありませんか? いろんな本を読んだんですけど、長々しく解説してるだけでわかりにくくて・・・
401 :
デフォルトの名無しさん :01/12/19 19:00
>>400 初期化用のメソッド(関数)。
一言で済んでしまった。
で、なにがわからない?
402 :
デフォルトの名無しさん :01/12/19 19:26
>402 オブジェクト
404 :
デフォルトの名無しさん :01/12/19 19:45
Java VM用の、アセンブラって無いかなぁ~ 携帯向けのコンテンツなんで、JITも効かないし、 でも、ブート周り作るのは大変そうだなぁ~
405 :
デフォルトの名無しさん :01/12/19 19:46
メニューとかボタンの文字が汚いのはなんとかならないの?
Java が TrueType を自力で展開してて、ヒント情報の処理をやってないからじゃないかな・・・ JDK 1.4 だとヒント処理もするんだっけ?
>>407 ありがと、
おもろい、色んな事やってる人いんのね、
参考なった。
>>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
417 :
デフォルトの名無しさん :01/12/19 23:17
たまたまね、サブクラスでスーバークラスのprivateメソッドと同じシグネチャのpublicメソッドを書いたの。 そしたらね、サブクラスのそのメソッドを呼んでも、スーパークラスのが呼ばれちゃうの。 しくしく。
そ、そりは設計が‥(略
設計しなおしてきます。 スマソ。
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じゃないの?
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配列に読みこんで解釈実行。
432 :
JAVAマジ初心者 :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
>>435 あ、まぎらわしい書き方しましたが、stringはJTextFieldに入力された
ものをgetText()でStringにしたものなので、データタイプはStringです。
なのでおかしくないと思ったのですが…。
>>423 >>424 レスありがとうございます。
意見が割れてるような...ということは、
まあ、好きな方で、ということっすね。
AWT使って散々七転八倒した後にSwing使うと、 少々重いのなんて我慢しようと思えるようになるYo!
AWTのボタンを、位置を座標で指定して配置する事はできますか? あと、一度配置(add?)したボタンをなくす事はできますか?
不可能です。諦めてください。
442 :
デフォルトの名無しさん :01/12/20 14:24
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:|"ってなんだ?
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で固める時
に一緒に固めるというのも良い。
>>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());
>>457 うまくいきました。
ありがとうございました。
>>458 僕が
>>435 で
>>457 と同じ事を教えてあげているのに!(プソプソ)
ところで質問なんですけれど、
Stringをユニコードエスケープ(\uXXXX)に変換するにはうすれば良いのでしょうか?
native2asciiみたいなのをプログラム中で行いたいのです。
char c = string.charAt(i); String result = Integer.toString(c, 16) かな
>>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だと例外を投げずに、セットしていないフィールドには ちゃんとデフォルト値が入っていますがこれは仕様外ですか?
>>464 やっぱりそうですよねぇ。
ていうか、各コンポーネントに、それぞれ相手を持たせてリンクさせるってのは
設計思想そのものが間違ってますよねぇ(鬱)。
まぁでも不慣れなJavaで二日で作れって言われたからしょうがないかなー。
今度機能追加を要求されたら設計しなおそうっと。
>>464 独自イベント作ってリスナも作ってやってみました。
なんか簡単にできた。確かに面倒だけど。
でもやっぱり隠蔽できるのはいいにゃーと思った。
JAXP1.1はもうどこにも配布されていないのでしょうか? もし、もうどこにもないのでしたら、 その中のcrimson.jarというファイルがどうしても欲しいのですが どこか別のパーサに入ってないでしょうか。 jaxp.jarとxalan.jarはJAXP1.2に入っていました。 どうぞよろしくお願いいたします。
471 :
デフォルトの名無しさん :01/12/22 00:24
Javaのおすすめの参考書教えてくんろ。初心者向けので頼んます。
オイラはあんまり最近の入門書は知らないなぁ。 ・むかーし(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
474 :
468です :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?
swingベースです
479 :
デフォルトの名無しさん :01/12/22 02:51
@@@@@@@@@@@
書けたああああああああああああああああああ
すみませんでした 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では、やはりエラーが出る。
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
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
>>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 データの構造
データの保存形式
やりたい処理
を個別に説明しろ
>>497 さん 説明不足ですみません。
単語がずらーとならんでます。
action
abstract
again
:
一つの単語で一行です。
txt形式です。
で、たとえばagainが一度入力されたら
again
action
abstract
のように先頭にくるようにして元のファイルに保存したいのですが。
最新入力時刻順でソートじゃないの?
書き出す処理がわからないのかな? BufferdWriterでwriteしてnewLineの繰り返し。 で最後にflushを忘れずに。
501 :
デフォルトの名無しさん :01/12/23 13:03
よろしくお願いします。 アプレットだとAppletContextのshowDocumentで ブラウザで他のページに飛べることが分かったのですが、 アプリケーションでブラウザを起動するにはどうすれば よいのでしょうか?
504 :
アプッレット :01/12/23 20:41
をアプリケーションに書き換えるのは大変? わりとかんたん?意外と複雑?
505 :
デフォルトの名無しさん :01/12/23 20:43
>>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を使っています。
>>500 さん
ありがとうございます。それで一度やってみます。
>>499 さん
自分の方法だと、最近に入力したものほど上に並ぶと思うのですが、
最新時刻入力順とは違ってくるでしょうか。もしくは
かんたんにソートすることができるのでしょうか。
>>509 え。getProperties()がSystemクラスのメソッドだってだけじゃないの?
つか、なんで、自作のEnvクラスからgetProperties()で呼べると思ってるの?
俺、何か勘違いしてる?
>>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
520 :
デフォルトの名無しさん :01/12/24 12:25
>519 やっぱ音が無いと。
521 :
Σ(゚д゚lll)ガーン :01/12/24 12:26
>>520 あれ?
音は付けているんですが聞こえませんか??
>>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してるだけなのに。
何故だろー?
jdk1.3.1でjavacでコンパイルしたところ ”シンボルを解釈できません”のエラー ”javax.servlet.ServletException"の ServletExceptionクラスが見つからない、なぜ教えて
J2SEにはjavax.servletパッケージは入ってないよ。 JSDKかJ2EEいれよう。
529 :
デフォルトの名無しさん :01/12/24 21:33
ルータを通してインターネットにアクセスしています。 LANの中の一つのパソコンで動かすプログラムで、ルータが外部にアクセスするグローバルIPアドレスを 取得したいのです。 何か良い方法はないでしょうか?
REMOTE_ADDR を返す cgi を作って、それを呼び出す
他で流されたんですが、アプレットビューアートとか皆さん使ってます? もし使ってて軽くてイイのがあれば教えて。
IEとかMozillaとかかなぁ 何か問題が? > アプレットビューアー(ト)
IEだと更新しても最新のに、ならならいんです。 私の設定がだめなんでしょうか?
IEはの場合は"Ctrl+更新ボタン"じゃないと 再読み込みしてくれないよ。 ・・・ってそれはローカルの場合だけだったかな? どうでもいいか。
出来ましたありがとう。 私がIEの使い方を知らない馬鹿だっただけかw
ひょっとしてって…と思ったんですが 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は就職に失敗した学生の妄想です。
>>530 やはり、それぐらいしか方法がないのですね。
どうもありがとうございました。
>>541 聞こえたよ。Javaは1.3.1_02。
> 有難うございます。
こちらこそ。
>>538 現実問題Javaは早々死滅しないと思うけど。
「Javaは死滅しちゃうの」っていうスレタイトルは、
現場開発者の「Javaよ頼むから早く消えてくれ」っていう願いだと思え。
546 :
IMAGE :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);
}
}
547 :
IMAGE :01/12/25 12:05
とうコードですが、なぜかURLの個所でエラーがでます。 //のローカルGIFは表示されます。コンパイラのバグしょうか? 詳しいひとお願い。
つうか、素朴な疑問なんだけど、Javaが死滅したら、 今現在Javaを使っている案件(特にサーバサイド)とかは 何で開発されることになるんだろうか?
549 :
デフォルトの名無しさん :01/12/25 12:58
その心配は愚問でしょう 今現在Javaを使っている案件 が死滅したら そのときはじめて Javaが死滅した と言えるものだからね。
>>549 逆に、「Javaは死んだ」とか言ってる人たちは、
現在のJava案件をどういった技術で実現するつもりなのだろう?
> 現在のJava案件をどういった技術で実現するつもりなのだろう? ってのは、「Javaの代替技術としてどういうものを考えているのか?」という話ね。 日本語が不自由でスマソ。
いつから Java はコボラーが設計して VB 厨がコードを書くようになっちまったのか... Java の良い所を生かした OOD でがんばっているプロジェクトもあることを忘れないでくれ...
>>551 そりゃなんででも出来ると思うよ。
ソフトウェアの力は無限大ですから。
Javaのもともとのコンセプトは
馬鹿でも組めるOO
って思想だし。
もちろんきちんと組めばポテンシャルは無敵でしょう。
VMによるけど
hiroko@eagle-mail.com
馬鹿でも組めてしまう、というのは不幸なことでもある。
>>554 >Javaのもともとのコンセプトは馬鹿でも組めるOOって思想だし。
だれが言ってるんだよ。
558 :
デフォルトの名無しさん :01/12/25 13:20
>>529 (cgiが使えない)市販のルータだったら、ルータのWebインターフェースをHTTPで叩けば取得できるかも。
>>553 OOD目指して頑張っているOO厨の存在も許してやってください‥‥。
VB知りません‥‥。
>>554 いや理論的には確かにそうなんでしょうけども、Javaを用いたことによる
生産性って(Java)以前よりは確実に上がってますよね?
CやC++、その他の言語などでもできるとは思いますけど、
例えばプロジェクトの期間との闘いとかもあったりして、
Javaのスケーラビリティと適用範囲にマッチするような代替技術って、
あんまり思いつかないんですよね。
でもそれは単にオイラの経験が浅いだけかも。
はいはいみなさーん、ここはネタ心者スレですよー。
561 :
IMAGE :01/12/25 13:59
>
>>550 どうもありがとう。助かったよ!みなさんもよいお年を。
562 :
デフォルトの名無しさん :01/12/25 17:00
生産性については、 言語そのものよりもメンバーの習熟度のほうが影響でかいです。
563 :
Σ(゚д゚lll)ガーン :01/12/25 17:57
564 :
IMAGE :01/12/25 20:53
いちばん単純なタイマーイベントのソース教えて
>>558 529じゃないんだが、それが一番手っ取り早いよなぁ・・・
566 :
IMAGE :01/12/25 22:44
実行時に黒いDOS窓を非表示にする方法がわからないので、おしえて!
ショートカットで"javaw Hoge"とか
568 :
IMAGE :01/12/25 22:56
ありがとう。でも前にアプリケーションがわでコントロールした記憶があるんだ。
>>560 ネタ心者を歓迎はするけど、ネタ心者専用ではないと思う也。
570 :
デフォルトの名無しさん :01/12/26 04:16
>>566 Main-Classをマニフェストファイルで指定しておいてある
JARを作って、Windowsのエクスプローラとかからダブル
クリック。「java -jar Hoge.jar」コマンドは、今の
WindowsとJDKなら、コンソールから入力する必要なし。
571 :
IMAGE :01/12/26 10:48
>>570 ありがとう。以前javaコードでDOS窓非表示を指定してうまくいった記憶があるんだけど、勘違いなのかな。
検索しても見つからないし。
javaw使いナはれ
573 :
IMAGE :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);
}
574 :
IMAGE :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"); }
575 :
IMAGE :01/12/26 15:35
というコードです。 30秒ごとに画面をリフレッシュするんだけど、めちゃくちゃやってるので、いちいちwinndowがアクティブになります。 どうすればよいか教えて!
>>575 画面をリフレッシュというよりは、30秒ごとJPanelオブジェクトを追加してる
ように見えるが気のせいか?
577 :
IMAGE :01/12/26 15:58
まったくおっしゃるとおりです。。
578 :
IMAGE :01/12/26 17:48
それで具体てきにどうやって解決すればいいかな? いろんな所のソース組み合わせて作ったから良く理解してないんだ。
579 :
Σ(゚д゚lll)ガーン :01/12/26 19:45
581 :
Σ(゚д゚lll)ガーン :01/12/26 21:56
>>580 見てもらって有難うございます~。
真中にはギコとモナーの絵が表示されるはずです。
何も表示されませんか?
MediaTrackerの使用方法が悪かったのかと思い、
若干プログラムを修正してみました。
これでも見えないでしょうか?
(もしかしてサウンドも聞こえないかな?)
後、環境は何でしょう。
アンチエイリアスのせいで文字がかすれて読みづらい気が。 AA切るか文字大きくするか飾り文字にするかしたほうがよいと思うですよ。 あとは問題なく動いたよ。(J2SE1.4Beta3 + Win2k
583 :
Σ(゚д゚lll)ガーン :01/12/26 22:05
584 :
Σ(゚д゚lll)ガーン :01/12/26 22:14
>>582 ありがとうございます。
>AA切るか文字大きくするか飾り文字にするかしたほうがよいと思うですよ。
AA切ると文字がギザギザになってしまい、
文字の大きさも、コンポーネントの大きさに対して適切な大きさになるように
アプレットの中で計算しています。
だから、AAを切ってフォントを変えて見ますね。
どもでした~!
ごめん、583みたらいい感じだよ。 うちのフォントがおかしいだけなのか… ちょいと調べてみる。582は気にしないでちょ。
586 :
添削してちょ :01/12/26 22:26
明日の発表の文面なんだけど^^; JAVAは良くわかんないので、間違ってそう(;_;) (先輩の原稿の丸写しだけど、この先輩もよくわかってないのです) インターフェースとは、初期化されない変数とメソッドの宣言のみをまとめたもので インスタンスを生成したり、オブジェクトとしての実態を作りません。 インターフェースは「interface」を使い宣言します。 インターフェースをオリジナルのクラスに組み込む為には、 オリジナルクラス宣言で「implements」を使い組み込むインターフェースを指定します。 ただし、複数のインターフェースを同時に組み込む事はできません。 インターフェースを組み込んだクラスは、インターフェースに宣言されたメソッドを 追加する必要があります。
587 :
Σ(゚д゚lll)ガーン :01/12/26 22:28
>586 >ただし、複数のインターフェースを同時に組み込む事はできません。 できるぞ。複数。
>>586 -------------------------------
>インターフェースとは、初期化されない変数とメソッドの宣言のみをまとめたもので
インターフェースの変数は自動的にfinalなので、必ず初期化しておく必要があります。
>オブジェクトとしての実態を作りません。
インターフェースはオブジェクトの1つです。
>オリジナルクラス
僕にはよく分からない用語です。
>ただし、複数のインターフェースを同時に組み込む事はできません。
複数のinterfaceをimplementsする事が可能です。
>インターフェースを組み込んだクラスは、インターフェースに宣言されたメソッドを
>追加する必要があります。
abstractクラスではその限りではありません。
591 :
デフォルトの名無しさん :01/12/26 22:37
サーバサイドJavaスレが沈みきっているので、ここで聞きたいんですけど・・・。 よくサーバサイドだとMVCモデルっていって、JSP、Servlet、Beansで処理を分割してるんだけど、 業務処理はなんでわざわざBeansなんでしょうね? 普通のクラスライブラリを作って、それをロードするのと、Beansにするのと何が違うんだろう? 誰かBeansでなければいけない理由とか説明してくれる方います?
>オリジナルクラス コンクリートクラスといいたかったのでは?
>誰か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 すばらしい!
早速採用させてもらいます~。
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
ディレクトリにファイルがあるとファイルが削除できないので、 良い方法はあるだろうか?
>>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みてみそ
>>622 これってそういう手法だったんだぁ。全然わかんなかった。
ソース調べてきます。
625 :
Σ(゚д゚lll)ガーン :01/12/27 23:30
626 :
Σ(゚д゚lll)ガーン :01/12/27 23:36
>>595 についてですが、
jarファイルの中のリソースを取得するには
URLではなくJarURLConnectionを使わなければ駄目みたいですね。
595さんに感謝です。
>>626 横幅が大きすぎるよう。700~800ぐらいまでにしといてほしい。
628 :
Σ(゚д゚lll)ガーン :01/12/28 00:10
>>627 画面幅を固定値から、画面幅の90%に変えてみました。
どうでしょー?
なんかスレッドのタイトルのフォントを破壊する方法があるらしいんだけど知ってますか?
>>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 あまりサイズを小さくすると、
フキダシの文字が飛び出ちゃったりします(^^;
あと、画像も小さくなるとつぶれて汚くなってしまふ。
どうしよー。
>>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流。
>>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()呼ぶほうがいいぞ。
あ。コードの上から2行までは無視してください(^^;
ちょっと昔のソフトとTCP通信とかやってて パケット内にコマンドとかがあると ついついメソッドを配列で呼びたくなるんだけど (Cで関数を配列にいれて呼んでたような感じ) Javaでも技術的には可能?
>>651 Class#forName(String)
Class#newInstance()
Method#invoke(Object, Object[])
653 :
デフォルトの名無しさん :01/12/29 04:15
>>651 デザパタならCommandパターンとかいうやつかな。コマンドインターフェイス
作っておいて、継承したコマンド実装クラス作って、場合によってはマクロ
コマンドクラス(コマンドクラスインスタンスのリスト)も作っておく。
そいつをSerializableにしておいてクライアントから投げて、サーバで実行
してもらうってのはどうでしょ。別にコマンドクラスは、実装を全てする
必要はなくて、サーバにあるメソッドを呼び出すだけでも良い。そうすれば
マーシャリングコストや送受信コストもたいしたモノにならない。
…文章だと分かりずらいね。UML書ければ一発なんだけどね。
ネイティブメソッドってよくつかう?
>>558 >>565 早速やってみました。
ローカルサーバも外部サーバも正常にアクセス出来るのに、
なぜかどうやっても、ルーターだけアクセス出来ない…。
と思ったら、改行を\r\nで渡してやればオッケーでした(汗
こういうのってどうなんでしょうね。
どうも、サンクスです!
656は真性
657こそ真性
俺が真性ですが、なにか?
660 :
デフォルトの名無しさん :01/12/29 23:57
最近のJREで、appletタグでJava Pllug-in立ち上がるのって どういう手段でMSVMとすり替えてるんスかね? 何かオフィシャルな方法があるのか、 それともSunが裏技的な方法使ってるのか。 前者か後者かで信頼性大きく変わると思うんで知りたいッス。
Mochaよりいい逆コンパイラってないんすか? リフレクラスでいちいちメソッド調べるの辛いんで、我々はMocha使ってます。 まぁ、逆コンパイルできないようにしてあるのもあるけど、関連会社同士でBeanの交換する時にはプロテクトしてないんでみんな影でやってます。 Mochaについて「駄目よ」て言う人いますが、その方の意見も聞きたいです。 Mochaよりいい逆コンパイラ教えてください。
>>656 そうですか・・・
結局、結城氏のデザパタ本にあったコマンド・クラスもどきを作って
そのなかでcaseで振り分けて各オブジェクトの各メソッドを
呼び出すようにしました。
パケットにコマンドやら対象オブジェクト(の通し番号)やらが
入っているような通信方法って、いまいち扱いにくいですね。
相手もJavaならもう少しうまく出来ると思うんですけどね・・・
>caseで振り分けて そのダサさに気付かないのがJAVA使いに痛いところ。
664 :
デフォルトの名無しさん :01/12/30 00:32
>>662 この際JNIで直接ソケットと通信プロトコル弄ったら?
>>663 いやーどうもすみません。
C上がりの人にとってはちょっとダサい方法ですよね・・・
(誰にでもわかる方法だからメンテは任せやすいんだけど)
で、これをどうにかする手段ないかなぁと思ってたのですよ
667 :
デフォルトの名無しさん :01/12/30 00:54
>>665 "の"じゃなくて"に"です。
まっとうなJava使いはswitch caseは殆ど使いません。
>>667 じゃあ
>>651 のような場合、どうすればよりJavaらしいのでしょうか?
マジでスキルアップ図りたいのでご教示願います。
>>668 Serializeオブジェクト投げ合って、分岐の代わりにポリモルフィズム
使いなよ。保守を楽にしたいなら普通そうしない?
通信コストが大きいのが問題なら、仕方ないからサーバーにコマンド
のマップ置いといて、その中の特定のコマンドを選択起動するメソッド
だけ持たせたメッセージにするとかしたら?
Serializeオブジェクト使うってことは コマンド受け取るたびにその処理を行う オブジェクトを生成するってことだよね。 あんまり効率よくないような気がするんだけど。。。
>>670 作る必要なんか無いじゃん。
サーバの初期化の時に準備しとけばよいでしょ。
>>671 は判っていない。
Javaしか知らない奴にそんな難しい質問しても無駄。
>671 いや、そのやり方が効率いいとは思うんだけど 669の言ってるのはそれとはちがうっしょ? > Serializeオブジェクト投げ合って っていってるから。 669のやり方ってなんかメリットあるんだろうか、と思ったもんで ちょっと書いてみたです。
ごめん、なんか>669の後半を読み違えてた。 ねます。すまそ
RMI使え、終わり
前門のswitch case後門のRMI
>>669 サーバサイドのプログラムは今のところJavaとの置き換えは
考えてもらえていません。
よってそこんとこはどうにもならないです。
うーむ
>>675 普通はそうなんだけど、その機構が中で何やってるかを想像できない、
プライドだけ高くてアホなリーダが、RMI使うのを嫌がるんだよねー…
電文のフォーマットが分からないと落ち着かないんだってさ。
だったらTCP以下のレイヤーの話はいいのか?と思うんだが…
CORBAだのRMIだのだって、TCP層の上位レイヤのプロトコルの1つで
しか無いと思うんだが…
>>677 じゃあクライアントサイドでJNI。それしかない。
>>679 なんかこういうと反感買いそうだけど
そこでJNIってのもなんかおかしな話ですよね?
JNIってCで言うところのインラインアセンブラ的位置付けの機構ですよね
Javaじゃ手の届かないところとか速度向上とかをなんとかする最後の手段
という認識なんですけど・・・
CORBAっとけ。
>>677 Javaなんだからしょうがないよ。贅沢言わない。
switch_caseを100個ぐらい(かな?)並べるしか。
>>677 無名オブジェクトを配列に入れといて、そいつらのメソッドの中で処理を書く
なり、適当なメソッドを呼び出すなり、ってのではダメなの?
HashMaoにリスナーぶら下げとけばいいんでないの?
魔王?
ハッシュ~ん大魔王♪
何人か適当なフカシこいて煽ってるアホがいるな。
新種のJava房2種類確認ですな。 1)Java用語適当に並べるだけで内容は支離滅裂。 2)UML書ければ設計できると思ってる勘違い君。 病気だよお前ら。
>>688 暇な冬厨は、朝っぱらから他人をこき下ろすくらい
しかやることが無いらしい。ご愁傷様。
おまえら ここでくだらないカキコミをしてるヒマがあったら 勉強しろ。
プログラミングやデザインはセンスの問題だと改めて認識させられる
レスですなあ。>この数十レス
>>690 コーダーは勉強して一生懸命ライブラリ暗記して下さいね。
しかし冬厨の季節だな、やっぱ まあマニヤ気取りは程ほどにして、学校の宿題でもやってなさいってこった
右クリックしたときにメニュー(サブメニューも)が表示されるクラスを作りたいと思ってます。 テキストエリアで右クリックしたら、「もとに戻す」「全て選択する」とかアレです。 右クリックした時の処理はいいのですが、表示をどうすればいいのかわかりません。 swing中のメソッドは何を使えばいいのでしょうか? 直接jmenuとか使えるのでしょうか? よろしくお願いします。
>>693 JPopupMenu で、
イベントきたら popup.show() とかだっけ?
他にも swingの作法でやらなきゃいけない事
あったような気がしたが… 忘れた。
質問する前に自分でもっと良く調べたほうがいいかも…
>>694 表示したいコンポーネントに前もってaddしておかなくていいのかな?
696 :
デフォルトの名無しさん :01/12/30 22:19
returnステートメントって、複数の変数返せる? return x,y; みたく。
>>696 できません。
参照で返すか、構造体で返しましょう。
>>696 できません。
で、何でそんなことしなきゃならないの?
は?複数の変数を返すのは良くある事だよ?
てゆーか、複数の変数を返さなきゃいけないときって、 ほとんどないと思うんですけど、例えばどんな時? たとえばX座標Y座標みたいなのならクラス作ってオブジェクトで返すし、 複数のX座標を返すなら配列で返すし、 まったく関係ない変数同士なら設計を見直すべきだと思うし。
>配列で返すし ここ、つっこみどろ? ねーねー、つっこみどころ??
>>701 値返すのに配列使うのがそんなに珍しいかな?
>>700 x、yの例だとTとGと初期値入れて放物線のシミュレーションかな。
704 :
デフォルトの名無しさん :01/12/30 23:46
bitmapを表示するにはどうすればいいの? gifとpngとjpegならサポートしてるみたいだけど…
>>704 JAI --Java Advanced Imaging API--
とかゆーの使えってのが FAQだったよーな。
俺は使ったこと無いけど。
あとは自力で読みこむとか。
BMPファイルの資料はMicrosoftの
サイト漁ってれば出てこないかな…
(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勘違い厨房逝ってよし
>>710 クラス?メソッドの間違いだろ。ヴァーカ!
>>710 そうやっていろんなところに同一のパラメータ利用したswitch文ちょこちょこ
ちりばめて、保守性低いソースつくってんのね。
あとで面倒みる人が大変だ。
>>710 の後のひとはご愁傷様。
>>709-710 プログラムスイッチは保守性下げるし、
switch_caseはインタプリタやコマンドでは使わざるを得ない。
Cならジャンプテーブルでやるがね。
つうか、そんな低レベルの癖に語ってんじゃねえよ。
なんか先週末あたりから、ジャンプテーブル好きのロートルC馬鹿が はびこってるな。
ここ2-3日Java覚え立てで浮かれている才能の無い馬鹿のカキコが 目立つな。
あ、おれ、たまにswitch case のお化け作るよ。 保守性? よくわかってる人がきれいだって思うソースより、馬鹿でも理解できるように書いたほうが手離れいいこともあるからな。
719 :
デフォルトの名無しさん :01/12/31 05:04
漏れの同僚で、ソース綺麗なんだけど、動かないやつがいたな。 あと、各クラスにタレントの名前、メソッドには、CDタイトル付けるやついた。 そいつが言うには、各処理とタレント名前、CDタイトルとかきまってんだってよ、 でも、意外とそいつスキルあった。
>>719 ていうか、隠蔽されている部分ならともかく、クラス名とかメソッドとかに
自己流で名前付けるのっていいのん?
>>720 他と共有する事が絶対にありえないなら、いいの…かな?
やっぱりダメだ。引き継ぎできないもん。
JDK1.5からSTLみたいな 概念がはいるってマジ?
もうβ晩が公開されてるし
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
>>728 おしまいになったあとでもライフラインが使えちゃうのね。
730 :
Σ(゚д゚lll)ガーン :02/01/01 21:54
732 :
Σ(゚д゚lll)ガーン :02/01/02 01:09
>>726 switchを減らすのは、別に流行でやるわけではないよ。
ある1つのパラメータを原因とする分岐がソースのいろんな所に
分散していて、保守で辛い思いするような間抜けな設計を、回避
するのが目的だよ。
全廃はできないと思うよ。する必要もないし。
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); }
あの、言い忘れてたんですけどJAVAの参考書をやってて interfaceのところでこう書いてあったんでやったら コンパイルエラーで・・・。
737 :
デフォルトの名無しさん :02/01/02 02:29
>>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);
}
}
だったら どこでコンパイルエラー出るかは判るか?
>>741 えーと、まずTest2のhoge()がstaticじゃないので
main()から呼べないって言うのはわかるんですが、
もう一個の意味がよくわかりません・・・。
>>742 class ClassA{
public void hoge1();
protected void hoge2();
private void hoge3();
void hoge4();
}
の hoge1 ~ hoge4 は別のアクセス権限を持つのは判る?
publicはパッケージ外からのアクセス許可 protectedは同パッケージと、継承したクラスからのアクセス許可 privateはそのクラスのみ 指定なしは同パッケージ内からのアクセス許可 ですよね?
初心者相手だったら class ClassA{ public void hoge1(){ } protected void hoge2(){ } private void hoge3(){ } void hoge4(){ } } って書きなおしたほうが良いのか?
>>740 できたんですけど、なんかパッとしません。
newするとしないのとではどう違うのでしょうか?
そそ、 class A{ public void hoge(){ } } class B extends A{ private void hoge(){ } } んで、がダメなのは判るよね
>>742 クラスメソッドとインスタンスメソッドの区別がついてない?
>>747 だめなんですか?
オーバーライドじゃないんですか?
・・・ってやってみたらダメだった。
>>734 のエラーと同じだった。
これが意味がわからないんです・・・。
あー
>>747 のエラーの意味はわかります。
Test.java:12: Test2 の hoge() は Test1 の hoge() をオーバーライドできません。ス
ーパークラスでの定義より弱いアクセス特権 (public) を割り当てようとしました。
そのままですね。
privateをpublicにしたら通りました。
でも
>>734 ではTest2のhoge()にpublicをつけてるのに・・・。
publicより強いアクセス権はないんですよね?
>>734 734の書きこみどおりだと hoge() には publicついてないね。
書き忘れたんじゃない?
>>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 付けただけでは インスタンスメソッドを インスタンス無しで呼ぼうとしてるよ っつーエラーが出てコンパイルできないと思うけど。
class A{ public void hoge(){ } public static void hoge2(){ hoge(); } } で、エラーんなるのは判るよね。
わかります。 staticコンテキストから読み込めない。
で、疑問は解決って事で俺寝て良いですか?
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にしとけば?
FontMetricsクラスのcharWidthメソッドを使って幅サイズを返すのに fm.charWidth('a'); となるらしいですが、 帰ってきた値はどうやって使用するんでしょうか? 値がaに入るのでしょうか? ・・・教えてください。
>>760 よく考えたらサーバー側の設定値と合わせないと駄目ね。
>>766 冗談ではなくわかりませんので教えてください。
よろしくお願い致します。
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 を呼び出せばいいんでしょ?
めちゃんこ厨房な質問で恥ずかしいんですが、教えて下さい。 メモ帳を使ってプログラムを書いて、コンパイルしようとしたら。 エラー Hello.java を読みこめません。 ってなっちゃうんですけど、どうしたら良いんでしょうか? メモ帳で「名前をつけてファイルを保存」すると、どうしてもテキストファイルに なってしまうんですが、これが原因でしょうか?
そうです。DOS窓を開いて copy con Hello.java と打ち込んでから、プログラムを記述してください。 打ち終わったらCtrl+Zで保存されます。
>メモ帳で「名前をつけてファイルを保存」すると、どうしてもテキストファイルに なってしまうんですが、 "Hello,java"って""で囲めばいいよ
s/,/./
>>774 さん
出来ました、ありがとうございます。
超初心者用の本を買ってきて見ながらやってるんですが、教えていただいた
ような事がのって無いんで困ります。
過去レスを読んでるとレベルが違うみたいですが、親切に答えていただいて助かりました。
>>773 ありがとうございます。
>copy con Hello.java
>と打ち込んでから、プログラムを記述してください。
この通りにやってみたら、
Hllo.javaを上書きしますか?
って聞いてきました。これにYESで答えればMS-DOS上で、プログラムが
記述出来るって事ですか?
やってみたんですか、 Ctrl+Zを押しても保存が出来ません。
DOS窓って言うのはMS-DOSプロンプトの事ですよね?
773はネタだ。捨て置けい。
つか、これからプログラムを勉強しようという者が メモ帳でコーディングってのはどうかと思うよ、実際。
とりあえず 適当なエディタを ベクターあたりから おとしてくるのをオススメする。
ヲタプロならいざ知らずJava入門程度ならツールなんてどうでもいいだろ。 それにvectorのヘタれツール漁る暇があったらforteかjbuilder使えばよろし。
>>771 オプションを変換するとか色々めんどい。
jvcとjikesくらいならまだしも、jview.exeとjava.exeの差を吸収するなんて、
考えただけでも。
ヘタレツールとは失礼な。本当の入門者だったら
>>779 ぐらいのほうが分かりやすい
と思うよ(設定も簡単だし)。IDEはさてそろそろなんかアプリでも作りますか、
ってなってからの方がいいと思う。まあツールいじってるうちになんとなく分かっ
ちゃうっていう人は別だけど。
皆さんどうもありがとうございます。
>>779 さんに教えてもらった所でエディターを落としてきて、解凍して使ってみました。
なんとかうまく行きそうです。
皆さんのおかげで前に進めます。(感謝、感激でございます)
また厨房チックな質問をする事が有るかも知れませんが、よろしくお願いします。
ウィンドウの中に●を書いて、マウスで移動できるようにするプログラムを作るにはどういう設計でいけばよいですか? もっともスマートな方法でお願いします。
788 :
デフォルトの名無しさん :02/01/04 04:42
>>787 その程度で「もっともスマート」な「設計」となると、スマートじゃない方法が、あんまり思いつかないなぁ…
789 :
デフォルトの名無しさん :02/01/04 05:10
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を作ることはまだ必要ありません。
デザインパターンから勉強してもよさげ:)
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だけでもいろいろ情報あると思うよ
anime[i][j][k]もMediaTrackerでwaitかけてやったら動作しました。 感謝。
808 :
Σ(゚д゚lll)ガーン :02/01/05 01:49
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して・・・
>>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を再生するためにはやっぱコーデックを使うしかないの?
ちなみにその辺に関して結構素人なので教えて欲しいです。
821 :
デフォルトの名無しさん :02/01/05 14:13
>>820 ライセンスなんて誰でもいいっすよ。どうせ俺は個人で楽しむんじゃい!
フォーマット見せてもらいましたけど、Mpeg1は対応してるみたいですね。
Mpeg2への対応も期待!DivXも対応しないかな?
あと誰か編集っていうかEncodeの方法わかる人いますか?
なんかNetで調べてもDecode(再生)がメインで・・・。
sunのHPのJMFは英語だからExciteでがんばって理解してるのにあまり分からない。(Encodeの方法書いてないっぽい
既存のcodecでEncode行うほうがいいかな?pure java では無くなるけど・・・。
っていうか既存のcodecへはどうやっていくの?
DirectXとか勉強するのかな?う~む素人でスマソ。
823 :
デフォルトの名無しさん :02/01/05 15:17
>>822 なるほど自動でcodecを選んでくれるのか・・・。
あとは必要なcodecをかき集めてくればいいのか。
分かったよ、あり~。
自作動画編集ソフト作るぞ!
>>811 NULL値の設定なんて聞いてくるから、どんな凄い使い方してるのかと思った。
そんなところいじらなくてもいいよ。
そこ触る人は100人に一人も居ないと思われ。
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を処理
}
とかにしてみるべし。
>>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[] )
使いましょう。
>>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.
上記のものを 01-今月は何月ですか? と聞く 02-何月かを入力 03-その月が何日あるかを表示 (↑これは上記の結果「April has 30 days. 」のままでもOK) これを追加し実行させるには何処に手を加えればよろしいでしょうか?
>>840 とりあえず2月はそれでいいのか?と突っ込んでみたり。
> これを追加し実行させるには何処に手を加えればよろしいでしょうか?
何処に、という質問なら、今 System.out.println と書いてあるあたりに、という答えかのう。
>>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 + ".");
}
}
ちょっと長くなってしまう手際の悪いやり方だけど これベースでと考えて これJDK1.3で実行した場合 結果は上手く【April is in the 卯月.】で表示されます? もし間違ってるなら指摘よろしくお願いします
すんまそん 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 単発スレの後始末(削除依頼だ)しといてくださいね。
独習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
と表示されると思うけど理由わかるよね。
「a(sb)のsbはオブジェクトのsbでなくて、引数のsbを意味 している。」ということでしょうか?
>>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";
}
変数のスコープと配置領域についての知識が必要と思われ。 ついでに言うとポインタじゃなくて参照に近いな。
>>856 ,857
ありがとうございます。もう少し勉強してからまた
お聞きします。
みんな酷い教え方してるなー。 正しい解答。 new すると参照が壊れて新たなインスタンスが生成されてしまいます。 newを使わないで代入すれば正しく動作するでしょう。
860 :
ビギナー2 :02/01/07 01:31
私も最近同じ壁にあたりましたが…(笑。 javaプログラミングBlack Book(インプレス) 「変数のスコープを理解する」(192ページ) を読んで理解できました。 この本、結構いいですよ~♪
ん?この場合はスコープの問題じゃなくて a()内の参照とインスタンスの問題だよ。 sb=a(); とかやってるのならスコープの問題だけど。
>>859 > みんな酷い教え方してるなー。
オマエガナー
> newを使わないで代入すれば正しく動作するでしょう。
しねーよ。
863 :
ビギナー2 :02/01/07 01:51
>>861 あ!。
そうですね。
恥ずかしい!顔から火が…(T∇T)
逝ってきます。
以下のa()改良で正常動作確認済み。氏ね!
>>862 public static void a(StringBuffer sb) {
sb.delete(0,sb.length());
sb.append("wxyz");
}
>>864 そういう意味で言ってたのね。
それならちゃんと動作するわな。
ごめん。
いや、
>>861 の書き方だとさ、単に直接 new を使って書き換えないだけで、
↓みたいにすることだと思ったからさ。
public static void a(StringBuffer sb)
{
StringBuffer sb2 = new StringBuffer("wxyz");
sb = sb2;
}
それこそスコープの問題だねー。
868 :
逝って良しの1 :02/01/07 02:02
コテハン出してJava房への完全勝利宣言をしておこう。
Cならローカル変数staticで宣言するだけで済むのに。 結構面倒だと思った。
>>869 ロートルアホC使いの頓珍漢さが溢れるレスですな。
どこがスコープの問題なんだろう?
872 :
デフォルトの名無しさん :02/01/07 02:23
普通はC++→JAVA の人が多いと思うけど、 JAVA→C++ってむずかしいのかな?
>>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はたしかにメモリ管理(開放)はしなくてもよいけれど、
他のリソース(ファイルとか)の管理はするから、どちらにしろ難しくないと思う。
880 :
デフォルトの名無しさん :02/01/07 14:28
javaw.exeはなんのプログラムですか? こいつがメモリ占有しまくって落ちる事がよくあるので・・・
昔、ロータスで出してたJAVA BEANSってのどうなったの? ぜんぜんバージョンアップしないんだけど・・・ 昔かっちゃったのまだ持ってるよ・・
上、スマン、「Bean マシーン」とかいうのだった・・
>>881 使ってます。
よく見たら、JRUNが動いているサーバーマシンでのみ発生しているみたい。
885 :
デフォルトの名無しさん :02/01/07 15:06
アプレットで、あるフォントファイルを読み込んで、 そのフォントで表示する事はできますか? (アプレットの置いてあるサーバーにフォントファイルを置いて)
ありがとう
>885 J2SE 1.3以降ならできるよ Font.createFont(int fontFormat, InputStream fontStream)
891 :
defaultの名無しさん :02/01/07 17:22
javaアプリケーションから、URL指定してブラウザーを起動するには どのようにしたらいいですか? だれか教えて下され。 Appletじゃないので、applet.getAppletContext().showDocument(URL) はできないわけで。
892 :
naoya :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の派生クラスを自作するとか。
む、 == と & ってどっちが強かったっけ?
>>898 自分で書くときにはそれでいいけどね。
でも、例えば前任者が過労で血ィベロベロ吐いてぶっ倒れたとき、
仕様書もメモも無しでコードだけ手渡されたときとか、
動作を追うのにそういう豆知識ってのはすごい重要なんだよ。
わかってください
901 :
デフォルトの名無しさん :02/01/07 22:30
後置インクリメントの処理ルール忘れました。 b = (a++) + (a++) * (a++); とか、そういうややこしいやつの。 決まってたと思うのだけれど、教えてくださいませ。
>>899 偉そうなこと言うならそれくらい調べろ。
と煽ってみるテスト
>>902 一応書いときますと 893 == 894 == 897 != 899 ですので。
モーダルなDialogが可視化したことを感知したいのですがどうしたらいいでしょうか。 Windowリスナを使ってみたら最初にshowしたときしか反応しなくて鬱でした・・・。
糞みたいな質問でも答えないのは無能のあかしだね
>>894 オイしっかりしろ、
A & (B == C)
こんなのありえないだろ。型からして。Cじゃないぞ
907 :
naoya :02/01/08 03:50
908 :
&rlo;?何はれこ :02/01/08 04:22
>>906 充分ありえるだろ。型からして。Cわかってないぞ
>>908 boolean相手に&って意味あるのか?
&&ならありうるが…
910 :
デフォルトの名無しさん :02/01/08 04:48
>>894 (a & b)==c のほうが a & (b==c) より自然だっていうこと?
911 :
C言語&rlo;語言C&rle; :02/01/08 05:14
Cにbooleanってないだろ boolもないぞ。
912 :
Java&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 環境でコンパイルする人にも対応させたいので なにかいい解決方法をご存じの方、教えてください。
914 :
Java&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は置けないですよね?
_Boolな。
>>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 そりゃどこのサイトだって使えるよ・・・クライアント側で動くんだから。
つかえないサイト探す方が難しいってもんだ。
(^^; ソケットはサーバー側なのか… なんとかならんかねぇ
>>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種。
自宅サーバー運営費って 1ヶ月あたりどれくらいかかる? 電気代だけでしょ?
>>934 protectedは、サブクラスから(例えサブクラスが別パッケージのものでも)
アクセス可能。
パッケージプライベートは、継承関係が無くても同一パッケージ内でさえあれば
アクセス可能。C++のfriendのイメージにちかいかもね。
つうことで、全然違います。
5,800円(税抜) 電気代はいくらぐらいだろう
>>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 だけじゃだめなの?
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
957 :
デフォルトの名無しさん :02/01/08 23:45
>>954 配布する際にautoexec.batを配布するわけにはいかないのでは?
保存する場所によるのかもしれないけど。
.jar+.batで起動できるやりかたがわかるhpのリンクきぼーん
まだたってなかったのか… 別に誰でもよいと思うけど
>>957 ああ、手前でコンパイルするときのことを言っているんじゃないのか。
Javaアプリで実行用バッチファイルなんか配ってる奴いるの?
>>961 じゃあどうやるの?それがわからなくて困ってるんです(^^;
Win環境で最新のJREインストールさせとけば、マニフェストで MAIN-CLASS指定したjarだけでいいんちゃうの?
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)
すいませんけど、教えて下さい。 エディターにひらがなを書くにはどうしたら良いんですか?
素朴な疑問なのですが、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
981
ゴルゥア出て来い引き篭もり!
( ´Д`) < はぁ~1000クレクレ
( ´Д`) < はぁ~1000クレクレ
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ( ´∀`) < もっと飛ばせ~!!985 ,,( 、つ,∩ ∩ \______ ~′とノ ( 'Д`) UU ̄ ̄ U U
986じゃあ。
987ですかな?
あれ?なんでこのスレ埋もれてるの??? あげ!!
989
990
991
992 ・・・思い出した頃にやってみる。
993
書かせろ~~九百九拾四
カキコカキコ!! 995
あと5つ!! 九百九拾六。 カウントダウン開始!!!
さて・・・ いただきですな。労せず。 九百九拾七
九百九拾八
はぁ~ 永かった・・・・・ 九百九拾九!!!
/■\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ◯( ´∀` )◯ < 1000・・・ ワショーイ!! \ / │ |⌒I、│ \__________ (_) ノ ∪
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。