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

このエントリーをはてなブックマークに追加
  _、_
( , ノ` )
  \,;  シュボッ
    (),
    |E|

  _、_      Java質問相談スレ パート12だ…
( ,_ノ` )y━・~~~

関連情報は >>2-20 あたりにあります。

Google で検索 ⇒ http://www.google.co.jp/
JavaFAQ で探す ⇒ http://www.gimlay.org/~javafaq/javafaq.html
ご要望によりじゃばこサイト ⇒ http://www.javaco.org/

JavaScriptの質問はWeb製作板へどうぞ ⇒ http://pc3.2ch.net/hp/
パソコンの基本操作に関しては、PC初心者板で質問しましょう ⇒ http://pc.2ch.net/pcqa/

『コマンドまたはファイル名が違います』 >>2
『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』 >>2
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』 >>2

Java(TM) 2 SDK インストールガイド
http://java.sun.com/j2se/1.4.1/ja/install.html

基本的にsage進行でおねがいします。また煽り厨は放置でお願いします。
21:02/11/16 09:48
■■■ 最近多い質問とその答え ■■■
Q. javac コマンドを実行したときに、
『コマンドまたはファイル名が違います』や
『'javac' は、内部コマンドまたは外部コマンド、
  操作可能なプログラムまたはバッチ ファイルとして認識されていません。』と
  表示されてコンパイルできません。
A. javac.exeへのPATHが通っていません。
  http://java.sun.com/j2se/1.4.1/ja/install-windows.html
  を良く読んで、javac.exe のあるディレクトリ(例: C:\j2sdk1.4.1_01\bin )のパスを
  環境変数PATHに追加してください。
  その後、
   Windows98/MEの場合はOSを再起動、
   Windows2000/XPの場合はコマンドプロンプトを新たに立ち上げなおしてください。
  設定したパスが正しければ、javacが使えるようになります。
  それでも同じエラーが出る場合は、設定した値が間違っています。よく見直してください。

Q. javac Hello.java でコンパイルはできるのですが、
 java Hello を実行しようとすると
 『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
 と表示されて実行できません。
A. カレントディレクトリ(.)がクラスパス(classpath)に含まれていません。
 コマンドプロンプトで、
 set CLASSPATH=%CLASSPATH%;.
 と設定する。最後の「;」と「.」を見落とさないように!
 または、
 http://www.gimlay.org/~javafaq/S004.html#S004-02
 を読んでカレントディレクトリ「.」を環境変数CLASSPATHに追加してください。

JavaFAQ 基礎知識
http://www.gimlay.org/~javafaq/S004.html
>>1
モツ
5ヴぁ:02/11/16 15:29
■■■ 無料の統合開発環境 ■■■
【Eclipse R2】
http://www.eclipse.org/downloads/index.php

【Sun ONE Studio 4 (Forte 4)】
http://jp.sun.com/products/software/tools/jde/try/index.html

【NetBeans v3】
http://www.netbeans.jp/dowonload.htm

【JBuilder 7 Personal】
http://www.borland.co.jp/jbuilder/jb7/download/
6ヴぁ:02/11/16 15:30
■■■ Javaの基礎と よくある質問 ■■■
Q. Javaのインストール方法、パスや環境変数の設定方法が分かりません。
A: Java(TM) 2 SDK インストールガイド
http://java.sun.com/j2se/1.4.1/ja/install.html
http://java.sun.com/j2se/1.4.1/ja/install-windows.html

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

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

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

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

このほかのFAQ(良くある質問とその回答)はこちら↓をご覧ください。
http://www.gimlay.org/~javafaq/javafaq.html
7ヴぁ:02/11/16 15:31
8ヴぁ:02/11/16 15:31
■■■ 過去スレの一覧 (2) ■■■
ネタ心者歓迎!今更ながらにJavaを学ぼう!
http://piza.2ch.net/tech/kako/981/981424252.html
ネタ心者歓迎!今更ながらにJavaを学ぼう! その弐
http://pc.2ch.net/tech/kako/993/993358225.html
ネタ心者歓迎! 今更ながらにJava相談室
http://pc.2ch.net/tech/kako/1003/10035/1003569074.html
ネタ心者歓迎! 今更ながらにJava相談室 その2
http://pc.2ch.net/tech/kako/1006/10064/1006408230.html
ネタ心者歓迎!今更ながらにJava相談室 その3
http://pc.2ch.net/tech/kako/1007/10078/1007802486.html
ネタ心者歓迎!今更ながらにJava相談室 その4
http://pc.2ch.net/tech/kako/1010/10105/1010545421.html
初心者歓迎! Java相談室 その5
http://pc.2ch.net/tech/kako/1012/10129/1012968994.html
初心者歓迎! Java相談室 その6
http://pc.2ch.net/tech/kako/1015/10154/1015418174.html
初心者歓迎! Java相談室 その7
http://pc.2ch.net/tech/kako/1018/10186/1018631329.html
初心者歓迎! Java相談室 その8
http://pc.2ch.net/tech/kako/1020/10204/1020453823.html
9ヴぁ:02/11/16 15:32
■■■ 過去スレの一覧 (3) ■■■ (一部 HTML 化待ち)
【初心者・ネタ】Java質問・相談スレ【大歓迎】
http://pc.2ch.net/tech/kako/1021/10218/1021817147.html
【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/tech/kako/1023/10233/1023319551.html
【初心者】Java質問・相談スレ3【大歓迎】
http://pc.2ch.net/tech/kako/1024/10248/1024885660.html
【初心者】Java質問・相談スレ4【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1026601774/
【初心者】Java質問・相談スレ5【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1028096225/
【初心者】Java質問・相談スレ6【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1029774594/
【初心者】Java質問・相談スレ6【大歓迎】(本当は7)
http://pc3.2ch.net/test/read.cgi/tech/1031397913/
【初心者】Java質問・相談スレF【大歓迎】(重複の7)
http://pc3.2ch.net/test/read.cgi/tech/1032944182/
【初心者】Java質問・相談スレ8【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1032944246/
【初心者】Java質問・相談スレ9【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1034303501/
【初心者】Java質問・相談スレ10【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1035570359/
【初心者】Java質問・相談スレ11【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1036142056/

上級者の方で教える技術が無い方は下記スレでダベりましょう。
初心者無視! Java相談室 その9
http://pc3.2ch.net/test/read.cgi/tech/1021555964/
10ヴぁ:02/11/16 15:33
■■■ Java関連スレいろいろ ■■■ (一部 HTML 化待ち)
【統合開発環境】
[Java]JBuilder5[Java]
http://pc3.2ch.net/test/read.cgi/tech/995044723/
JBuilder 7日本語版発売、Personal無償7月中
http://pc3.2ch.net/test/read.cgi/tech/1023102379/
【Meadow】Java開発環境(・∀・)イイ【JDEE】
http://pc3.2ch.net/test/read.cgi/tech/1017214967/
Forte for Java
http://pc3.2ch.net/test/read.cgi/tech/1016161880/
【Java/C/他】統合開発環境Eclipse GM3
http://pc3.2ch.net/test/read.cgi/tech/1033079172/

【サーバサイド】
JavaサーブレットQ&A LV2
http://pc.2ch.net/tech/kako/1012/10127/1012728608.html
サーバーサイドJAVAをまたーり語るスレ
http://pc.2ch.net/tech/kako/1004/10049/1004972840.html

【携帯】
携帯JAVAのスレッド
http://pc3.2ch.net/test/read.cgi/tech/1011977260/
iアプリ
http://pc3.2ch.net/test/read.cgi/tech/1000723476/
i‐MODEのJAVA
http://piza2.2ch.net/tech/kako/975/975428633.html
iアプリでゲーム
http://game.2ch.net/test/read.cgi/gamedev/1005042631/
11ヴぁ:02/11/16 15:34
巨大なJavaリンク集
Java的リンク
http://www.geocities.co.jp/SiliconValley/6064/java_link.html
12ヴぁ:02/11/16 15:36
↑(>>11) はタイトル忘れ

■■■ 民間サイト ■■■
巨大なJavaリンク集
Java的リンク
http://www.geocities.co.jp/SiliconValley/6064/java_link.html

※2chではないので暴れないように。
13ヴぁ:02/11/16 15:37
■■■ 撲滅させたいかた、死滅を心配してるかた ■■■

CとJavaを比較した場合Cの良いとこと悪いとこ
http://pc.2ch.net/tech/kako/1009/10097/1009707596.html

Java撲滅委員会
http://pc.2ch.net/tech/kako/996/996848309.html

●●JAVAって死滅しちゃうの????●●
http://pc.2ch.net/tech/kako/1005/10051/1005159122.html
●●JAVAって死滅しちゃうの???? PART2●●
http://pc.2ch.net/tech/kako/1006/10060/1006053686.html
●●JAVAって死滅しちゃうの???? PART3●●
http://pc.2ch.net/tech/kako/1008/10081/1008162230.html
14前981:02/11/16 16:14
>>1さんおつ!


>>前スレ982さん
げっ!マジで?やっぱり…?

しかし、1.3入れてて印刷できなかったんだけど
ランタイム1.2入れたらなぜかブラウザの印刷で
まんま出てくるようになった。てことはやりようによっては可能?

業務用で配布するものなので、100%印刷出来る環境を
作らねばならないんだけど…
15ヴぁ:02/11/16 16:24
>>14
PDFどうよ?

印刷向けにはPDFが使われることが多いようだけど。
>>14
必ずAppletを使わなければならない?
何を作ってるのか良くわからんが、WebStartっていう手もある。
PDFも1つの手だが、Excelなんかを直接操作する手もあるけど?
17前981:02/11/16 17:03
>>15-16
ありがとう!作っているのは、
HTML+JavaScriptで、XMLを読む業務用のデータベース検索システム。
CD-ROMからの直起動が条件で、いずれはWeb対応…ということで
この言語に決まったらしい。(IEなら大抵どこでも入っているから、
XMLパーサとJavaランタイム、IE6だけ同梱すればすむとのこと)

で、検索結果をグラフ表示するのにAppletを使ってて、
グラフクリックで検索画面へページ移動させたいので、今のところ
JSObjectクラスとかでJavaScriptと連携して実現しているのですが…
グラフ印刷が出来なくて困っているのです。

PDFでどこまで出来るかよくわかってないんですが、
動的に作られたデータをHTML&JavaScriptだけでプログラミングして
帳票化するのは可能なんでしょうか?
>>17
>HTML+JavaScriptで、XMLを読む業務用のデータベース検索システム。

2スレにわたる壮大なネタか。
19前981:02/11/16 17:05
Excelのグラフも使えれば楽なのですが、
それだとクリックされた項目に応じてページ移動っていうのが
どうにもスマートに出来なくて。

FinePrintとか使ったらそのまま出ますかね?
自分のマシンでは、ランタイム1.2.1を入れた途端にちゃんと
印刷されたので、環境次第で出来るんじゃないかと
かすかに期待してしまっているのですが…(^^;
20前981:02/11/16 17:06
>>18
ネタならいいんだけど、そんな仕様になっちゃったから
不自由だらけで困ってるんですよ…
>>17
SVGという手もあるでしょ?
22前981:02/11/16 17:29
>>21
調べてみた所、こんなん出てきました。いい感じです。
http://www.atmarkit.co.jp/fxml/askxmlexpert/026svg/26svg.html

そもそもAppletでグラフ作ってる時点で間違ってたのかな…(´д`;
しかし、JavaScriptとも絡ませてイベント処理させるとなると
今の知識ではAppletしか思いつかなかったんです。

画面上の描画と動作はApplet、印刷ボタンが押されたら
印刷用にPDFかSVGで帳票を描画…ならいけるかもしれませんね。
>>22
Appletを使うってことは結構複雑な制御なんだね。
>>22
サーバーサイド使ってるんだよな?
なら、クライアントに直接bmpを返す手もあるぞ。

ちなみにプロフェッショナルJSP 下に
bmp、svg、pdf生成の例がある。
25前981:02/11/16 17:44
>>23
うーん…そうでもない…気も……。

円グラフと積み立て棒グラフの描画のみだす。
Applet内の項目のクリックイベント拾って画面遷移をするのに
JavaScriptを使ってます。
XMLやHTML使ってるのに今はまだスタンドアロンだから
画面間のデータの受け渡しにやむなくCookie使ってる始末です。
>>25
サーブレット側で画像書けば?と。
27前981:02/11/16 18:08
>>26
とりあえず今の時点では、手元で動くだけで
ネットワークは使っていないので、Appletしかないと
思ってたのですが…Appletじゃ書けないですか?
>>26
そう。
いずれはweb対応らしいので汎用的なのが良いかと。

bmpの場合、遷移も印刷も簡単だと思う。
svgの場合、プラグインがキツイ。また、仕様も理解しないといけないし。
pdfの場合、どうやって描画するかが問題。
FOP、pdflib、iText? どれでやっても結構大変。
1年前にpdf生成をやったけど、日本語処理がかなりきつかった。
acrobatのバージョンによって、FOPについてたサンプルでエラーもでたりしたし。

>>27
いまいち要領を得ない。
ネットワーク使って無くて、htmlとは? サーバーは必要ないの?
手元で動かすだけなら、appletではなくて、swingでも良いんじゃない?
jdk1.3を使ってますが、
frameクラスを継承したクラスではsetBackground(Color.gray)が反映されますが、
Componentクラスを継承したクラスでは反映されず、無視されます。

さらには、Componentの方ではgetWidth,getHeightは呼び出すとフリーズし、
getSize().height、widthはうまく動きます

原因がわかるかたがいたら、教えてください。
>>29
抽象スーパークラスだからじゃないのか?
31前981:02/11/16 18:28
>>28
「いずれWeb対応にする→HTMLにすればOK」程度で決まったらしいです…
ブラウザで見る、即ちHTMLだ、って感じで。
きっとホムペ作りの感覚だったのでしょうが…上司だから…

今は、ネットワークに接続しないで、手元にある
XMLファイル、JavaScriptを書いたHTMLを
ブラウザで見るだけのものなんです。かなり無理してます
>>31
(((( ;゜Д゜)))ガクガクブルブル
>>30
ありがとうございます!!!
すぐ下のCanvasクラスを使用したら解決しました。
>>31
appletの必然性を全く感じない。
web対応というのもどの程度か分からないが、
いずれweb対応するというならservletがいいんじゃない?
それが一番最適な気がする。
35前981:02/11/16 18:43
>>34
そうですね…。仮納品が目先に迫っているので
今は現状のままなんとかしないといけないんですが、それで提案してみます。

確かに必然性はありませんが、Appletにこだわるというより
この仕様上でイベントも処理できるグラフ機能を実現するものが、
現状では他に思いつかなかっただけなんです…

なんでこんなことになってんダロ  。・゚・(ノд`)・゚・。
CD-ROMから直接起動が前提ならServletなんか使えないんじゃないのか?
最初からWeb前提でServletにするか、HTML+JavaScript+Appletの限界を追求するか
1.2で印刷できて1.3で印刷できないんなら、1.4.1でも試して、印刷できればラッキー
できなければ他の手を考える。
37デフォルトの名無しさん:02/11/16 20:35
JDBCについて質問なのですが、
連続してクエリを投げるときって、Statementを再利用しても良いのでしょうか?
それとも1回1回つくりなおすのでしょうか?

Statement stmt = conn.createStatement();
stmt.updateQuery(....);
stmt.updateQuery(....);
stmt.updateQuery(....);

それとも・・・
Statement stmt = conn.createStatement();
stmt.updateQuery(....);
stmt = conn.createStatement(); <-- もう一回作る
stmt.updateQuery(....);
stmt = conn.createStatement(); <-- さらにもう一度
stmt.updateQuery(....);

3837:02/11/16 20:36
updateQuery(...) じゃないや、 executeUpdate(...) だった・・・。
すみません。
39前981:02/11/16 21:01
>>36
最初から仕様に無理があるんですよね…。
やっぱり結局のところは>>36ですね。

1.2だけ入れてだめで、1.4もダメだったんで
打開策探してたとこなんすけど、もう最初っから
無理な仕様なんだと割り切ってその場しのぎで
なんとかするっきゃないと。

一応、PDFあたりで考えることにします。
丁寧にいろいろ意見くれた方々、ほんとにありがとう。

40デフォルトの名無しさん:02/11/16 22:00
コンパイラは何を使えばいいでつか?
Ruby!!!!!!
JSObjectを使おうと思ったんですが、ちゃんとパスが通ってるのにうまくいかないので
思い切ってライブラリのjarを解凍してnetscapeパッケージごと
同ディレクトリにおいてコンパイルしたら、コンパイラがバグりました。

sunに連絡して下さいとか出たんだけど、メールした方がいいの?
質問させてください

完成したappletと、appletから呼び出されるクラス(仮にA.classとする)を
FFFTPでネット上に上げてブラウザで見るとうまく表示されず、
ブラウザの下のバーを見るとA$1.classというファイルを読みこもうと
してるようでした。

コンパイル時に確かにA$1.classは生成されていたので
FFFTPであげてみると実行できました。

この$1が付くクラスは何なんでしょうか?
気にしなくてもいいのでしょうか?
44デフォルトの名無しさん:02/11/16 22:38
>>43
無名クラス
>>44
ありがとうございます。
グーグルでたくさん引っかかりました。
これから勉強します。
46XNap:02/11/16 23:05
>>988 >>989
ありがとうございました。
うまくいきそうです。
質問させてください

あるクラスでKeyListenerを付けて、上下のキーが押されたら
キャラクターが動くというものを考えていましたが、
TextFieldにフォーカスが与えられると当然のように動きません。
マウスを使ってTextFieldからフォーカスを外すと、もう一度
入力を行いたいときはマウスを使ってTextFieldを選択しなくては
なりません。

TextFieldにフォーカスが与えられたままキーイベントを拾うことは
できないでしょうか?
>>43
イベント処理なんかでインナークラスを使うと
そういうのが生成されるんじゃなかったっけ

インナークラスを使わなければ出来てこないよ
>>47
TextFieldにそのKeyListener貼ったら?
>>47
TextFieldにも同じイベント処理を行うリスナーを貼る
>>49-50
ありがとうございます!
これからやってみます!
JAVAにチャレンジしてみようと思って
JDK落としてる。とりあえずJDKだけでいいんだよね?
>>52
JREとSDKどっちだよ。と。
質問させてください。

あるアプリケーションで、ユーザーに色を選ばせてその色で
グラフィックを描写することを考え、choiceクラスによる色選択と
itemStateChangedメソッドによる色変更を行いましたが知識が
無いせいかプログラムが長く面倒です。

String s=((Choice)e.getItemSelectable()).getSelectedItem()+"";
として、
if(s.equals("red"))c=Color.red;
と今はしています。
これより良い方法はありませんでしょうか?
色は10色ぐらいから選びたいです。
別にchoiceじゃなくてもかまいません。
使用するべきクラス名だけでもかまいませんので教えてください。
5552:02/11/17 00:15
>>53
あ、ごめん。SDK。
最新版では、配布用起動ツールもjava.exeみたいです。

とりあえず、コンパイルに成功しました。
これからお世話になると思いますのでよろしく。
56名無し:02/11/17 00:20

JTreeの例ってみんな1つrootがあるんですけど、
複数のrootをcomponentにaddできるのでしょうか?

root
|-A
| |-A1
| `-A2
|-B
| |-B1
| `-B2
じゃなくて

A
|-A1
`-A2
B
|-B1
|-B2
みたいにしたいってことね。
>>56
大元の線は消せたと記憶。消せれば表示的には似たような状態になる。
58名無し:02/11/17 00:36

調べたらJTreeのsetRootVisibleで制御できるみたい。
>>56
レスありがとうございます。
5958:02/11/17 00:38
>>56

>>57

>>42
一応連絡してみそ。私の場合はお礼のメールが帰ってきたよ。

>>54
Choice型のクラスに個別の処理を入れるとか。

// 選択したものを受け取って、
Choice c = (Choice)e.getItemSelectable();
// 実行
c.someAction();}

// 例えば、Choiceをこんなクラスにする。
//
public class Choice {
Action a; // 実際にアクションを起こすクラス
public Choice(Action a){
 a = a; // コンストラクタでどんな動作をとるか決める。
}
public void someAction(){
 this.a.action(); // 実行
}
>>60
ありがとうございます。

・・・でも、自分には難しいみたいです(涙
修行します
6260 すまん。:02/11/17 01:00
スマソ。Choiceって独自クラスじゃなかったのな。
1.javax.swing.Actionを参考に。
2.リストに表示される文字は、リストにあるインスタンスのtoString()の値で、
getItemSelectable()で帰ってくるオブジェクトはリストに追加したインスタンス。
これを利用する。
そのオブジェクトに個別のtoString()と処理を加えたらどうだろう。
6360:02/11/17 01:03
あ、ダメや。私のことはもう忘れて。レンガキすまん。
OO してないやり方なら配列を使う。
ハードコーディングしまくりな擬似コード。
Color[] colors = { Color.red, Color.blue, Color.green };
String[] colorsText = { "red", "blue", "green" };
Color c = colors[Choice#getSelectedIndex];
65デフォルトの名無しさん:02/11/17 01:13
質問させてください。
10000行程度のC言語のファイルを読み込んで
キーワードに色をつけたいと思っています。
JTextAreaと比較して時間があまりにかかるので何かやり方が悪いのかと
思うのですがわかりません。

今やっている処理手順は下のとおりです。
1.JTextPaneを生成
2.setText(String)でソースをコンポーネントに入れる
3.キーワードを検索しながら属性を設定していく
4.setVisible(true)を張ったJFrameを表示

この中で2と4で70%ほど時間がかかります。
2でDoscumentにテキストを流し込もうとして解析しているから時間がかかっているのでしょうか?
4で表示時にすべての属性を含めたテキストの描画があるので遅くなっているのでしょうか?

ご存知の方よろしくお願いします。
6665:02/11/17 01:19
補足です
2で30%
4で40%
くらい時間がかかっています。
おしえてください

グラフィック描写の色を頻繁に変更するんですが、
色によっては背景色とかぶって見づらいので、
RGBの各要素に126だけ変化をつけることにして、
g.setColor(new Color((126+c.getRed())%255,
              (126+c.getGreen())%255,
              (126+c.getBlue())%255));
としたのですが、思惑通りに色が反映されません。
ミスを教えてください。
6867:02/11/17 01:25
ああ、ごめんなさい。

cはColorオブジェクトで、背景色が>>67の色、グラフィック描写はcの色で行います。
69デフォルトの名無しさん:02/11/17 01:26
>>67
どんな感じになるのですか?
7067:02/11/17 01:28
>>69
ええと、グラフィック描写を行う色が、赤の場合と青の場合と緑の場合において
背景色が同じ色になります。
しかしながら、grayを選択すると背景色は白になります。
その他、色によって背景色が変化することもあれば
変化しないこともあります。
71デフォルトの名無しさん:02/11/17 01:34
>>67
R (255,0,0) -> (125,126,126)
G (0,255,0) -> (126,125,126)
B (0,0,255) -> (126,126,125)
でRGB純色ならほとんど色が変わらないのは仕方ないと思いますが、
どのような感じを求めているのでしょうか?
7267:02/11/17 01:35
>>71
ぐはっ!ありがとうございます!

単に俺がアホなだけでした(激しく恥ずかしい
7365=69=71:02/11/17 01:40
色味が変わるほうが良いならY,Cr,Cbに変換して
Y=(Y+128)&FF
Cr=-Cr
Cb=-Cb
で明度を変えて、色は補色にしてみるというのはどうでしょうか?
誰か私の質問にも答えてやってください
7467:02/11/17 01:40
>>71
ついでに・・・
文字列を打ちこみ、その文字をColorオブジェクトのフィールドの全色から選びます。
その文字は、g.fillRoundRectによってフレームじみたものを用意し、
その上に文字を指定色で描写します。

これらの文字列がフレームの色によって見づらいので、
各文字色に対応した見やすい色がほしいわけです。
よい方法を知りませんでしょうか?
7567:02/11/17 01:41
>>73
あ・・・同時カキコ・・・

ありがとうございます。試してみます。
7656:02/11/17 02:08

子ノードが非表示の状態でsetRootVisible( false )でルートノードを
非表示にするとツリー全体が非表示になってどうしようもないのですが、
JTreeでデフォルトでExpand状態にするにはどうすればいいのでしょうか?
makeVisible(TreePath path)ってのを見つけたのですが、TreePathの指定の
仕方が分かりません。
>>64
Map を使った方が初期化はめんどくさいが修正するとき楽
画面を定期的に更新したいのですが、
スレッドを使わずにやる方法ってありませんか。
>>76
ROOT の TreePath を得るだけで良いなら
new TreePath(jtree.getModel().getRoot());
makeVisible(TreePath) で出来たっけか?
expandPath(TreePath) じゃなかったっけ?
良く覚えてないけど。
8056:02/11/17 02:53

>>79
間違えました。expandPath(TreePath)ですね。

DefaultMutableTreeNode( )とDefaultTreeModel( )を使うのをやめて
デフォルトのJTreeのまま試したらデフォルトで子ノードが展開された
状態だったので、Default***を使ってたのが敗因っぽいです。
TreeModelをもうちょっと勉強してみます。
同一フォルダ内にアプレットと画像を設置したとき、
Appletで画像を取り込むときは、
Image img;
img=getImage(getCodeBase(),"画像の名前");
でできますが、Frameクラスを継承したクラスの場合、
どのような関数を使えばいいか、また第一引数のurlオブジェクトは
どうすればいいのか教えてください。
8281:02/11/17 03:07
すみません、解決しました!
83デフォルトの名無しさん:02/11/17 03:36
同一フォルダにある全ファイル名を取得してその取得したファイル名を
指定のファイルに書き込むことって出来ますか?
教えてください、お願いします
>>83
File dir = new File("C:\\WINNT");
File[] files = dir.listFiles();
PrintWriter out = new PrintWrite(new FileWriter("filelist.txt"));
for(int i=0; i<files.length; i++){
  out.println(files[i].getName());
}
out.close();
コマンドラインに、
ls > list.txt
と入力する。list.txtは希望するファイル名に変えてくれ
8642:02/11/17 04:40
>>60
あまりに「そんな馬鹿なことやりゃ
コンパイラだって困るよ」みたいなことしたので
なんとなく出しづらいんで(w

でも一応出してみますね。日本語で書いて大丈夫だよね…
>>86
平気。
アメリカのSUNに英語でメール書いたら、
日本語で帰ってきたぞ。しかも、日本人より返答。
88デフォルトの名無しさん:02/11/17 13:08
>>84
フォルダも出力されちゃうんですけど。。。
8942:02/11/17 13:45
>>87
ありがとう
>>88
File#isDirectory() でフォルダかどうかを判定しろカス
   (゚д゚)ウマー
 (゚д゚)(゚д゚)ウマー     (゚д゚)ウマー
(゚д゚)(゚д゚)(゚д゚)ウマー (゚д゚)(゚д゚)ウマー
 (゚д゚)(゚д゚)ウマー  (゚д゚)(゚д゚)(゚д゚)ウマー
   |//         (゚д゚)(゚д゚)ウマー
   |            |//
   |     ワーイ    /
   |   ∧ ∧    /
   |   (,,・∇・)   /    ⊂,'⊃
   | ̄| ̄ ̄ ̄ ̄ ̄~|
   |  |  厨房   |
   |  |    号   _|
    ̄ ̄ ̄ ̄ ̄ ̄

   /  ̄ ̄\               〜〜〜〜
⊂⊃             /\     ⊂⊃
/⊂⊃        \/   \ /\  ⊂⊃  /\
〜〜〜〜        \     \     /\/   \
                        /  /       \
92デフォルトの名無しさん:02/11/17 14:02
すいません、上に書いてあるとおり調べて試したのですが
>>2のjavacエラーがどうしても消えません。ユーザー変数、システム変数
共にC:\j2sdk1.4.1_01\bin に変えたのですが、駄目でした。
どうすればいいんでしょうか?他に変えるべきところはあるのでしょうか?

>>92
JAVAのインストールディレクトリを教えて。
エラーメッセージ教えて。
94デフォルトの名無しさん:02/11/17 15:07
>前954

JFrameを継承したクラスの内部にJPanelを継承したクラスを作って、
paintメソッドをその中に記述したらうまくいきました。

解決です、ありがとうございました。
95デフォルトの名無しさん:02/11/17 16:19
わからなかったので教えてください。

hellow worldを表示させるアプレットを作ったのですが
Winodowsでコンパイルした場合はそのclassファイルをアップロードして
問題なく動作するのですがlinux上でコンパイルしたものを使用すると
何も表示されません。
アプレットでなくSystem.out.printでlinux上でjava xxx と打てば問題
なく表示されます。

この場合どのような問題が考えられるのでしょうか?
96デフォルトの名無しさん:02/11/17 16:23
すみません。初心者なんですが、コンストラクタの使い方で迷ってます。
たとえば、
class X{
int m;
X(){ m = 100; }
}
は、
class X{
int m = 100;
}
のようにもできますよね。先輩に
「こんなときにコンストラクタを書くのは無駄」と言われました。
でも、俺としてはコンストラクタがあったほうがはっきりすると思うんです。
こういうときは、コンストラクタを書かないほうがよいのでしょうか?
>>96
不親切な先輩に代わって説明しよう。つーか教えてやれ、先輩。
上のソースを、下のようにすることは 出 来 な い 。

class X{
 int m = 100;//←ここで宣言したintは、コンストラクタを抜けると無くなってしまう。
}

検索するなら、キーワードは「変数、scope」を中心に。
9896:02/11/17 16:41
>>97
レスありがとうございます。
でも、下のXにはコンストラクタはないんです。
9996:02/11/17 16:42
ちなみに、先輩は、下のコードがよいというのですが、
俺は上のほうがよいと思うんです。
日本語がわかりにくくてすみません。
>>99
ごめん。見間違い。
私も下の方が良いと思う。ただし、それでも私はコンストラクタは書くよ。
理由は、いろいろある。
101デフォルトの名無しさん:02/11/17 17:53
下だったら、デフォルトのコンストラクターが勝手に入ってくるから、
mがグローバルでディファインされてる以上、同じだと思うよ。
102デフォルトの名無しさん:02/11/17 17:54
今、javaとc間で配列を渡すソケット通信を作ってるんですが、
java to java、c to cでの通信までは作れたんですけど
java to c,c to javaになるとconnectionでエラーになって
しまいます。接続さえできれば後は動くはずなんです。
どなたか教えてもらえませんか?
>>102
素直に XML-RPC を使いましょう。
104デフォルトの名無しさん:02/11/17 18:35
>>103
すいません、できればソケット通信でやりたいんですが
>>103
それだけの情報で答えられる奴が居たら神だな。

サーバ側はちゃんとポート開いてるか? バインドアドレスとポートはあってるか?
netstat -a で確認してからクライアントを動かせ。とりあえずこれだけだ。
×>>103
>>102
C側でポートアドレスがhtonsしてない予感
108デフォルトの名無しさん:02/11/17 19:19
>>105
>>107
がんばってみます。
109おれ:02/11/17 19:28
だね。
ポート番号のバイトオーダーが違う気まんまん。
Cで組んだプログラムをMacで動かすと大丈夫だったりして。
11095:02/11/17 19:45
すいません。
>>95の続きです。
classファイルを直接バイナリでみたら最初が
winodowsでコンパイルしたのは
CAFEBABE0003002D00

linuxでコンパイルしたものは
CAFEBABE0000002E00
でした。
linuxのものをムリヤリ上のものに書き換えたところ動作しました。
JDKのバージョン違いとも思い(win1.3 linux1.4)、
-targetで指定してみたのですがうまくいきませんでした。

おとなしくwindowsでコンパイルしてれば解決なんですが。。。^^;
>>110
linuxでjdk1.3を使ったらどうなる?
>>110
アプレットを作ってるということはブラウザで動かしてるんだよな。
-target 1.1 でコンパイルしてみたのか?
11395:02/11/17 20:09
>>111>>112
レスありがとうございます。
-target 1.1でうまくいきました!
1.2、1.3はやってみましたが、1.1はやってませんでした^^;

ありがとうございました。
質問させてください。

TextFieldとChoiceが存在するFrameオブジェクトでの話なんですが、
TextFieldにKyeListenerを付け、ctrl+上下キーが押されたら
Choiceの項目を一つずらすため、
choice.select(choice.getSelectedIndex()+1);
などとしています。
しかしながら、choiceオブジェクトに付けたItemStateChangedには
このことが通知されません。

通知する方法を教えてください。
なければ、どのようなクラスをググればいいか教えてください。
すみません!!>>114は解決しました!
116デフォルトの名無しさん:02/11/17 20:50
JAVAを勉強するためにゲームプログラミングをしているのですが,
SWINGを使ってフレームを描画する際,背景に画像を指定すること
はできるのでしょうか?Graphicsクラスにはなかったのですが,
Graphicsクラスを継承したもっと高級なクラスに存在するのかも
知れないとおもい質問いたしました.
javax.swing.OverlayLayoutとか
超初歩の質問させてください
条件A,B,Cが存在し、
A && B→処理1
(not A) && C→処理2
という制御をjavaで簡単にしたい場合はどうすればいいでしょう?

ちなみに現在は、
if(A &&B){
  処理1
}else if(A==false && c){
  処理2
}
としています
11965:02/11/17 21:09
どなたか65にも答えてやっていただけないでしょうか?
>>116
Graphics.drawImage + Toolkit.createImage

>>118
それでいいのでは?
121118:02/11/17 21:18
>>120
処理をもっと簡単にする記述があるのではと思って質問しましたが、
これでも別に悪くないですね。ありがとうございました。
>>119
RepaintManager でダブルバッファリングを無効にするとか。
質問させてください。

Colorオブジェクトc1,c2が存在し、
c1がグラフィック描画色、c2が背景色だとします。
だんだんc1の色がc2に近づいて最後は同じになるようにするには
どういう処理をすればいいでしょう?

思いついた方法としては、
c1.getRed()、getGreen()、getBlue()で各要素を取り、
c2のそれにThreadを用いてだんだん近づけるぐらいしか思いつかないんです。
コレ以外ないでしょうか?
>>123
java.awt.GradientPaint
>>124 ありがとうございます。ググルで見つけることができました。

もう一つ質問させてください。
プログラムの開発と実行テストを3時間程度(100回程度かも)
繰り返したところ、メモリーの不足っぽい理由でWindowsの画面が
おかしくなり、再起動しました。

開発中のプログラムはThreadのほか、KeyListenerやMouseListenerなどを
付けており、これから原因を調査します。

しかしながら、Javaのプログラムやオブジェクトは終了しただけでは
メモリに逝きつづけることがあるのでしょうか?(素人な質問ですみません)
メモリに残ったものを、後になって検査、排除する方法はないでしょうか?
126デフォルトの名無しさん:02/11/17 21:58
116です.
>>117さん.ありがとうございます.
背景サイズのJLabelにcreateImageで画像を貼り付けて,
その上の(私はアニメーションをしたいのですが)透明下地のコンポーネントに
描画をするという形にすれば,上層でclearOvalしたときに背景画像がでてくる
という理解でよいでしょうか?
>>125
OSをwin2kあるいはXPにすれば改善すると思う
>>127
ご指摘ありがとうございます。
しかしながら、OSのバージョンアップはPCのスペックが許さないので・・・
いまだHDDが8G(涙
質問させてください

Threadの動作中に、たとえばrunメソッド内部で自分の
スレッドオブジェクトにnullを代入するという処理は
エラーは出ませんし、期待通りの動作はしますが
何かが間違ってる気がします。

これは普通の処理なんでしょうか?
130デフォルトの名無しさん:02/11/17 23:19
俺はJava専門の会社にいて本書いたり雑誌の記事書いたりセミナーでしゃべったりして
業界のJavaの動向を知っているつもりでいたが・・・・・・・・
ここを見ると未だにGUIプログラミングしてる香具師が多いのにちょっとビクーリ。
Javaなんて事実上ServerSideJavaと組み込み系しか生き残っていないとおもてたYO
>>129
良くわからんが、参照にnullを入れただけだと推測した。

>>130
私も勉強しなおさなければなと思っているところ。
swingも速くはなってきたしね
質問させてください

2次元配列imgからimg.lengthとimg[].lengthで長さを取ろうとしたら
lengthのlの部分を指して「classがありません」というコンパイルエラーが出ます。
下にソースを張るので、間違いをおしえてください

import java.awt.*;

class ImgCanv extends Canvas{

Image[][] img;
int l1,l2;

public ImgCanv(Image[][] i){
img=i;
}

public void paint(Graphics g){
for(int i=0;i<img.length;i++){
for(int j=0;j<img[].length;j++){
g.drawImage(img[i][j],i*25,j*25,25,25,this);
}
}

}
}
>>133
>for(int j=0;j<img[].length;j++){
for(int j=0;j<img[i].length;j++){
135sage:02/11/18 00:11
>>102 です。
>>107 さんのアドバイスで一応データが流れました。
しかし、送信と受信のデータが異なってしまいます。
できればどなたか御指導ください。
問題のプログラムを上げておきます。
http://jp.y42.briefcase.yahoo.co.jp/bc/holmes_renji/lst?.dir=/programm&.view=l&.src=bc&.done=http%3a//jp.y42.briefcase.yahoo.co.jp/bc/holmes_renji/lst%3f.dir=/programm%26.src=bc%26.view=l
>>134 ありがとうございます!無事コンパイルできました!
>>135
アクセスできない。公開フォルダにしてくれますか?
>>135
見えないけど、データそのものもhtons/htonlしてない予感。
バイトオーダーを意識しよう。
139デフォルトの名無しさん:02/11/18 00:24
>>130
SWTや改善されたSwingは、クライアントサイドとして先々有効な選択肢じゃないの?
Java以外のプラットホームと組み合わせるときのインピーダンスコスト払うよりは、
SもCもオールJavaでできたほうが、楽だと思う。
バイトコードさえ作れればどこでも動くのは、クライアントサイドでも有効じゃな
い?JWSみたいにネットで配信できるし。
>>140
実行環境がクライアントに依存してしまうのがちょっと問題かな。
JVMのバージョンとか、クライアントのハードウェアの性能とか。
C環境に限っていえば自分的にはFlashに惹かれている今日この頃・・・・
>バイトコードさえ作れればどこでも動くのは、
>クライアントサイドでも有効じゃない?

化石発見
>>142 なんか2chっぽい。

今のところ、有料のJava系のクライアントアプリケーションは
バージョン、動作環境を指定しているものが多いみたいね。うちもだけど。
144デフォルトの名無しさん:02/11/18 00:56
あの、プログラム以前のことなんですが、質問させてください。
ウィン2k使用で、PATHの設定をコントロールパネル→システム→環境設定で
C:\j2sdk1.4.1\bin
を追加しました。
ところが、javac としても、そんなもんねぇよ!といわれてしまいます。
ところが、javaと入力するとキチント反応します。

cdでC:\j2sdk1.4.1\binに入った後javacと入力すると反応します。

これって何故ですか?

>>144
スペルミスに気をつけて、
もう一度、PATHの設定をしてみてください。
JavaのおかげでWinの環境変数を理解した人って多そうだね。
いまようやく気づいたけど、>>2はなかなか良くできてるね
148デフォルトの名無しさん:02/11/18 01:04
>>144
環境変数を追加した後OKボタンを押して、
コマンドプロンプトを開きなおしたか?
コマンドプロンプトが環境変数を設定する前のままだと
新しく設定した環境変数は有効にならないぞ。
>>145
javaというコマンドはパスがbinに通っていなくても利くんですね!
;が抜けていたというオチでした。
どうもアリガd
>>149
Windows ディレクトリにある MS の Java コマンドを起動してるだけ。
質問させてください。

Javaにおいて、たった少数のクラスで全てを処理するのと
機能毎に分けた多数ののクラスで処理するのは
動作速度は大きくちがうでしょうか
数にしてほんの10程度ですが、迷ってます。
152デフォルトの名無しさん:02/11/18 01:19
>>149
>>150
Java2SDK(JDK)をWindowsにインストールすると
WINNT\System32ディレクトリにjava.exeがインストールされるよ。
ここはデフォルトでpathが通っているからね。
>>149-150 それは違うよ。J2SEをインストールすると、\j2sdk1.4.0\jre
と\Program Files\java\にそれぞれjreがインストールされ、JAVAHOMEをレジ
ストリに登録。さらに%Windows%\system32\java.exeを置き換える。
置き換えられたjava.exeにはパスが通っているからプロンプトから実行できて
、起動するとレジストリからJAVAHOMEを取得して処理が始まる。
154153:02/11/18 01:20
かぶった。
155デフォルトの名無しさん:02/11/18 01:22
>>151
「おおきく」というのがどの程度を指すのかはわからないが
設計によってはアプリケーション全体の動作速度はかなり変わる。
新しいインスタンスの生成は処理コストがかかるからね。
>>147
良く出来ていても、有効活用されない罠
>>151
悩んでる間に両方書いて試せ。
>>155
ありがとうございました。

もう一つ質問させてください。
TextFieldやButton等のComponentクラスを継承したクラスには、
カドを丸めたりして外観を変える方法は無いのでしょうか?
>>158
ネットに転がってる Look And Feelでなんとかなるかな。
希望どおりにとなると、ちと大変。
>>159
ありがとうございます
ググったらごろごろ出てきました
質問させてください。

現在、BorderLayoutを使用してますが、
BorderLayoutのSOUTHで表される領域の
座標を取る方法があったら教えてください。
>>161
そこに貼ってあるComponentから取れ。
>>162
ありがとうございました。
BorderLayoutクラスのAPIばっかり眺めすぎました
164某JAVA房:02/11/18 02:14
サーバで読み込んだ文字列(String型)をクライアント(Applet)に送信して表示させると
文字化けを起こすのはなぜ?
>>164
どうやって送信してるんだ?
本日はこのスレにて大変多くの質問に答えていただきました。
このスレのみなさま、ありがとうございました。
167デフォルトの名無しさん:02/11/18 05:44
String[] strs = new String[this.strs.length];
for (int i = 0; i < strs.length; i++) {
    strs[i] = this.strs[i];
}
return strs;

this.strsをコピーして返したいのですが、
もっとスマートな方法があったら教えて下さい。
>>167
return this.strs.clone();
あ、キャストしないといけなかったかも…
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Java
171デフォルトの名無しさん:02/11/18 05:50
http://210.143.102.80/upload/index.cgi
すいません。
正しくHPが表示されないので、お願いします

CGIフォルダにアップロードされていた奴を、
ほんの少しいじって、エラーが出たので元に戻してアプしました。
しかし、完全に元通りにしたのに、何故かエラーが出てしまいます。
このソースは、何か可笑しいでしょうか。
前半部分だけ抽出しました。(コレ以降はいじっていません)
宜しくお願いします!
>>171
webProg板で聞け
173171:02/11/18 05:54
サバの中の、CGIフォルダに入っています。
コレより下の部分は、いじってないで省略しました。
174167:02/11/18 05:54
>>168
配列ってcloneメソッドが使えるんですね。
ありがとうございました。
Javaでは「配列は特殊なオブジェクト」です。
176171:02/11/18 05:55
>>172

この板では駄目なのでしょうか・・。
宜しくお願いします
>>171
板のトップに書いてある通り。
|Javascript は Web 制作板、CGI は Web プログラミング板へ。

つーかどれがソースだかもわからんが。
178デフォルトの名無しさん:02/11/18 06:11
http://210.143.102.80/upload/source/d/7923.txt
コレです。
ノートパッドで見てみてください。どこかおかしいでしょうか・・。
レス感謝です
その HTML は別に問題ないと思う。
Premature end of script headers 出てるって事は、
index.cgi がレスポンスヘッダを吐き忘れてたり、
index.cgi の改行コードでもおかしいんじゃない?

まあ CGI の話なら板違いだが。
180デフォルトの名無しさん:02/11/18 06:41
有難う御座います・・。死ぬほど困っているので、助かります。

CGIフォルダに入っていて、アドレスも「a.cgi」というかんじのページです。
少しいじったら可笑しくなってしまいました。
http://www20.tok2.com/home/gekinama/cgi-bin/source3/No_0029.txt

ここにアプしたのですが、
このソースをCGIフォルダにアプすると、
エラーが出てしまいます。
何故でしょうか?
>>180
ナ・イ・ショ
182180:02/11/18 07:04
死ぬほど困っているので教えて下さい
死ぬほど困っているならWebProg板へどうぞ
http://pc.2ch.net/php/

全くJavaの話題じゃないから、ここのスレには興味のある奴も知識のある奴も少ないよ。
向こうの方がCGIやってる人が多いし、回答が得られる可能性も何倍も高い。
184デフォルトの名無しさん:02/11/18 08:23
>>102 です。
ファイルをあげようとしましたが失敗したので http://www.geocities.co.jp/SiliconValley-SanJose/4519/network_client3.txt
http://www.geocities.co.jp/SiliconValley-SanJose/4519/client2.java
どうかお願いします。
>>184
ちなみに、int や short では成功してるんだろね?
186デフォルトの名無しさん:02/11/18 08:48
>>185
ダメでした。
>>186
int や short で頑張ってみ。
16進で表示すりゃ何処がマズいか判るでしょ。
double やるのは その後。
>>184
接続が出来ないんだろ? 問題の切り分けは出来てるのか?
189もう一度・・:02/11/18 10:45
http://www20.tok2.com/home/gekinama/cgi-bin/source3/No_0029.txt

すいません。このHPのソースを見てください。
さっきまで普通に表示されていたのですが、
少しいじったらエラーが出る様になりました。
コレを、CGIフォルダに入れているのですが、
どうしたら直るでしょうか。宜しくお願いします
アスキーモードでアプしても駄目でした。
宜しくお願いします
>>189
困っているならWebProg板へどうぞ
http://pc.2ch.net/php/

全くJavaの話題じゃないから、ここのスレには興味のある奴も知識のある奴も少ない。
WebProgの方がCGIやってる奴が多いし、回答が得られる可能性も何倍も高い。

もう一回書くぞ。ここに答えられる人間はいない。
このスレでは仮に本気だとしても荒らし扱いにしかならない。もう本物の荒らしっぽいけど。

・・・以後放置でお願いします。
191デフォルトの名無しさん:02/11/18 11:21
>>184 です。
色々とやってみたところソケット通信は成功していることが
わかりました。一連の

クライアントから配列をサーバに送る
サーバは配列の出力を行う、クライアントは配列を初期化
サーバはクライアントに配列を送る
クライアントは配列を出力する

という流れでサーバの出力以外は成功しました。javaとCの
doubleの定義って違うんですか?
>>191
C だと double のビットパターンは処理系依存じゃなかったっけ?
Java はちゃんと定義されてるけど。
193デフォルトの名無しさん:02/11/18 11:52
文字列比較演算で、
「AAAという文字列を含んでいるかどうか」
ってどうやってやるのでしょうか?
>>193
boolean containAAA = 0 <= str.indexOf("AAA");
おまえら、swingのメモリーリークは気にならないのか?
全くド素人の質問ゆえ、見当違いな質問を言ってたら申し訳ありません。

今度、perlで作ったcgiとjavaがsocketを通して情報をやりとりする
プログラムを作ることになり自分はjava担当になりましたが、
web製作板とwebProg板にはこれに関する質問に適した場所が
見当たりませんでした。

javaでsocketに関して行き詰まったらここで質問しても
よろしいのでしょうか?
>>196
socketの辺りは書籍を参考にすれば
そうそう行き詰まることはないんじゃない?
それでもダメだったら、どこまで役に立てるか分からないけど質問してみて。
>>197
ありがとうございます。
現在socketに関しては知識が殆ど0で、これから勉強します。
行き詰まったらここでスレ違いにならぬように気をつけて
質問させていただきます。
199デフォルトの名無しさん:02/11/18 14:28
環境:NT4.0、j2sdk1.4.1
Javaを始めたばかりの初心者です。
初歩的なことで申し訳ありませんが宜しくお願い致します。

今、以下のソースがあります。
(d:\study\Test.java)
class Test {
public static void main(String args[]) {
System.out.println("Javaプログラム作成中");
}
}

DOS窓を起動し、d:\studyに移動して
javac Test.javaと実行しました。
コンパイルはうまくいったようなので次に
java Test
と実行すると

Exception in thread "main" java.lang.NoClassDefFoundError: Test

と出てしまいます。

実は先日まではちゃんと動いていたのですが、先日Tomcatとか色々
入れたりした後、削除しています。

何度やっても実行がうまくいかないので「j2sdk1.4.1」を再
インストールもしました。が、やはりダメでした。

自分には原因がつかめません。
何かこんなことは?というのがあれば宜しくお願いします。(__)
>>198
石けんのねただな。
201デフォルトの名無しさん:02/11/18 14:37
>>199
参考ページを見ていたら解決しそうな感じの記事がありました。
まだ、なにをすればいいのか解決していませんが、先にお詫びと
思い書きました。
申し訳ありませんでした。
202デフォルトの名無しさん:02/11/18 14:45
>>199
d:\studyにclasspathは通っているか?
203デフォルトの名無しさん:02/11/18 15:02
クラス xxxx.Hoge.class から
Hoge あるいは Hoge.class を取得するのに
getClass().getName() の結果を substring するよりいい手段はないですか?
204デフォルトの名無しさん:02/11/18 15:05
>>202
おっしゃる通りclasspathが通っていませんでした。
が、気になるのは以前はこの設定をしていないでも動いていたことです。
(j2sdk1.4.1しか入れていなかった頃)
NTなので今回システムプロパティ>環境>システム環境変数に入れま
したが、確かに以前は入れていませんでした。

参考書にはclassの探し方は、まずカレントディレクトリ〜と書いてある
のですが、質問前にやっていたのもd:\studyでしたし...。
ともあれclasspathを設定することとあったので、今度から必ず記述して
おくようにします。
ありがとうございました。(__)
SDK(J2SETM v1.4.0_03)を使っています。
自分のPCでは問題なく動くのですが、ネットにアップしてほかのPCから見ようとすると、
ブラウザに
load: class j01 not found
と表示され見えません。
ためしに、そのPCにもSDKインストールしてやると動きました。
普通のJava Appletって、新たにランタイムインストールしなくても見えますよね?
どうしたらよいのでしょうか?よろしくお願いします
206デフォルトの名無しさん:02/11/18 16:18
>>205
IEに限って言えばデフォルトのJVMはバージョン1.1相当だから、
javacのオプションで-targetをつけてみろ。
javacの オプションの使い方はこの辺
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/tools.html
207デフォルトの名無しさん:02/11/18 17:17
>>2のサイトにあるようにPATH追加したんだけど、そしたら今度はnetstatとか出来なくなってしまいました。
これって元の設定とかに戻せるんですか?
208デフォルトの名無しさん:02/11/18 19:17
JScrollPaneで勝手に下スクロールしてくれる
ようにはできるんですか?できるなら
どう設定すればいいんすか?onegaisimasu
質問させてください。

appletからボタンを押すことによってframeを継承したクラスのウィンドウが
立ちあがる仕組みを作ったのですが、生成されたWindowの一番下には
「警告、アプレットウィンドウ」と出ます。

jdbとかいうデバッガについて調べたのですが、アプレットにはどう
適応していいか載っておらず、警告を取り去る方法が思いつきません。

Appletの警告が出る原因を知る方法があったら教えてください。
211↑間違い:02/11/18 21:54
212209:02/11/18 21:59
アプレットをブラウザで見る分には警告で済みましたが、
なんとなくAppletviewerで見たところ、Frameを生成する
ボタンを押した時点でdos窓にエラーが多数出ました。
が、エラーの意味がよくわからないので教えてください。

Exception occurred during event dispatching:
java.lang.IlliegalArgumentException: cannot add to layout: constrait must be a string

at java awt.CardLayout.addLayoutComponent(CardLayout.java:146)
at java.awt.Container.addImpl(Container.java:375)
以下同じような英文
>>209
「警告、アプレットウィンドウ」
これに関してはあきらめてくれ。
もしかしたら、何か方法はあるのかもしれんけど。
>>212
CardLayout.addLayoutComponent()あたりを使ったか?
215209:02/11/18 22:21
>>214
いえ、p=new Panel(cl=new CardLayout());
として、あとはpに2つほどaddし、最後に
p自体をadd(p)として画面に表示してるだけです。

cl.next(p); はキーイベントを拾ってから呼ぶので
今回はこの部分は関係無いと思われます。

つまり、clは生成してるだけで、メソッドを一つも呼ばないうちに
エラーが出ています。
217209:02/11/18 23:19
cl=new CardLayout();
p=new Panel(cl);
list1=new memlist(10);
list1.add("ゴースト1");
list1.add("ゴースト2");
list1.setBackgroundColor(east_c);
p.add(list1);
add("East",p);

↑これの2行目でエラーが出てるようです。
お願いします。何がいけないのか教えてください。
218デフォルトの名無しさん:02/11/18 23:28
>>209

SecurityManager#checkTopLevelWindow(java.lang.Object)
がtrueをかえすように、セキュリティポリシー書き換えてしまえ。

Permisson設定名は、
AWTPermission showWindowWithoutWarningBanner。
219209:02/11/18 23:43
>>218
ありがとうございます

でも、自分には難しいです(涙
早速調べます
最近3日に一回くらいの割合で CLASSPATH 系の質問する奴がいるな。
classpathで検索してもスレッドが無いからじゃないでしょうか?
しかし、classpathだけでスレッドを立てるのも変な話ですな
classpathのことなら俺に聞けスレでも立てて常時アゲとくとか
いっそのこと FAQ を板のトップに書いておくとか。
3 日に一回、クラスパスの設定方法とハマりどころをコピペしとくとか。
クラスパスも知らないで質問する奴は見てもわかんねーか。
質問させてください。

javaでMenubarを利用しているのですが、
ブラウザで見た時はaltを押しても何も起きず、
appletviewerで見た時はMenubarがアクティブになります。

「どのようなブラウザやアプレットビューワであれ、
altキーを押してもメニューバーはアクティブにならない」
というようにする場合にはどのようにすればいいのでしょうか?
>classpath
>>1 と『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』 >>2
>>2 の情報で十分だろ。

質問が出たら >>2 をミロ。で終わり。これで80%は解決する。
227デフォルトの名無しさん:02/11/19 05:20
アプレットじゃなくてアプリケーションで
ボールが適当な移動をするプログラムを作りたいんですが、
あれです、ブロック崩しみたいにボールが勝手に動くだけなんですが
アニメーションについてわからないため、どうしたらいいかわかりません。
javaでアニメーションの仕方が詳しく載っているおすすめのサイトってありますか?
>>226
ていうか、「>>2 を見ろ」で解決しなかった残りの20%は何やってもダメだから、
Java の世界からはお引き取り願ってもいいような気が。
while (ブラック・ショールズ方程式を
Javaで書き上げたお方がいない)
wait();
ソースきぼん
/* 自己中スマソ */
>>229
いいからググってみ?
231229:02/11/19 10:06
>>230
http://opinion.nucba.ac.jp/~tkenichi/java/Finance/BlackScholes/BlackScholes.html
アプレットは発見できたのですが、ソース公開してないぽいです。
切なげです。
232229:02/11/19 10:13
連続書き込み
http://village.infoweb.ne.jp/~fwin8680/sansu/bsf.htm
でjavaScriptによるものがあったのですが、
これをjavaでやっちまえばいいですね。すまそ。
逝って来ます。
233229:02/11/19 10:19
/* 最後にもう一回逝かせて */
http://home.online.no/~espehaug/SayBlackScholes.html
発見しますた。。。
234230:02/11/19 11:36
だからググれと…次からは >>1 をよく読めよ。
235 :02/11/19 13:12
StreamConnector stdin_to_socket = new StreamConnector(System.in,serverOutput);
今までDOSからキーボード入力していたものを、
アプレットのボタンつくり、この部分に渡したいのですが
どの用にすればよいでしょうか?
俺思ったんだけど、中学で習った解の公式は答えどう出るんだろうな。
重解になるからプログラムだと気になる・・・・・・・・・
早速作ってみます。
237デフォルトの名無しさん:02/11/19 13:53
>>191 です。
なんとか通信ができるようになりました。
エンディアネスの問題だったらしく気づくまで
苦労しました。レスして頂いた皆さん
ありがとうございました。
>>236


いや、あの式±があるだろ?
もともと二つの式なんだよ。だから答えが二つ出て当然。

重解は文字通り二つの式の解が重なった場合。
239デフォルトの名無しさん:02/11/19 14:15
import java.awtのawtってなんの略ですか?
241デフォルトの名無しさん:02/11/19 15:26
オマエラ、JBuilderで作成したアプリの実行ファイルの作り方教えろよ
JBuilder と一緒に配布する必要があります。
ローカルネタでよければ、javaenum.c を元にして、JVM.DLLを列挙する。
jvmload.cの、BOOL jvm_loadJavaVM(LPCTSTR pszPath, LPCSTR *vmOptions)
を呼び出して、JVMを作成する。
g_javaVM変数を元にして、クラスメソッドを呼び出す。

そんな感じで、自己解凍書庫を作成してください。
別に、java.exe のソースコードを元にしてもいいですけど。
JVM.DLLのGCの部分をPerlと同じで、
参照カウンタをメインで利用するように書き換えたいのですが、
その場合、どこからどんなライセンスを取得する必要がありますか?
教えてください。
やっぱり、OOにGCは必須だと思いますが、Perlの方がクライアントアプリに
は向いている動作をしています。
>>246
下から2行目の後半から電波っぽい。
>>247
それって全部電波って意味?W
249login:Penguin:02/11/19 18:22
javaでデーモンちっくに端末切り離して
バックグラウンドで動かすのってどーやるの?
250名無しさん@Emacs:02/11/19 22:17
>>249
OSは?
251デフォルトの名無しさん:02/11/19 22:29
パッケージって何のためにあるのですか?
するとしないのではぜんぜん違うのですか?
参考書見ても、書き方は乗ってても何故するのかあんま載ってない・・・
>>249
Javaサーブレットという選択肢はいかが?
>>251
じゃぁ、今からたくさんの自作クラスを使ったアプリケーションを組んでみよう。
20クラスくらいで、クラスのネーミングに困り始め、
30クラスくらいで、各クラスの役割がごっちゃになり始め、
50を超えたその時に、パッケージの重要性を認識できるようになるだろう。
254デフォルトの名無しさん:02/11/19 22:44
>じゃぁ、今からたくさんの自作クラスを使ったアプリケーションを組んでみよう。
なんで??
255253:02/11/19 22:45
>>254
Javaで。
クラスが増えてくるとクラス名の頭に ACX とか EPY とかカテゴリ別の
名前付けたくなってくるだろ。それって jp.co.xxx とかいうパッケージ名
つけるのと本質変わらないということ。
目からウンコが落ちた
>>256
じゃあカテゴリ別の名前をつければいいだけの話しじゃないですか。
>クラスが増えてくるとクラス名の頭に ACX とか EPY とかカテゴリ別の
>名前付けたくなってくるだろ。
ならないだろ。別に。
>>259
100とか1000とかクラスを作ったことが無いからそういうことが言えるんだ。
>>260
>>259 はコボラーなので絡んではいけません。
パッケージは、たくさんの人で組む時に便利なことがある。
ユーティリティ系クラスは別にしておきたい、という考えもある。
>>262
煽るわけではないが
つまり、一人でやるときはあまり意味がないと?
意味があるか無いかは、使う人の力量に比例する。
Jakartaのライブラリあたりで、パッケージ使われてなかったらすげえ困りそうだ。
パッケージが無かったら、VMがクラス探すの大変だろ。
階層化されてるから、クラス探すのが速いんだよ。
ほかの理由は、>>256
267デフォルトの名無しさん:02/11/19 23:22
結局プログラマーにとっては不要なんですね
268デフォルトの名無しさん:02/11/19 23:22
なんでパッケージを付けると、ディレクトリを作成しなくちゃいけないんですか?
>>268 そうだっけ?
270デフォルトの名無しさん:02/11/19 23:24
jarをダブルクリックすると自動起動するのってありますよね?
それはどうやれば出来るんでしょう?
271デフォルトの名無しさん:02/11/19 23:28
Javaツールってどんなのがあります?
jdk以外のアプリケーションだと何があります?
272デフォルトの名無しさん:02/11/19 23:29
>>271
一太郎Ark
273デフォルトの名無しさん:02/11/19 23:31
Javaっていいの?
なにが?
Javaっていいともー
ソウデスネー
>>270
マニフェストにMain-Class:の行を指定して、それをJARファイルに含める。
マニフェストの最後は、1行空ける必要があったかもしれん。

例、
Main-Class: HelloWorld
278デフォルトの名無しさん:02/11/20 00:11
JTableで好きなセルにカーソルを当てることってできますか
>>278
マウスでクリック〜!
つか、正直質問の意図がわからんぞ
バカが答えるなって
281278:02/11/20 00:22
>>279
すみません。直接触ったりするのはなしです。
プログラムでカーソルを好きなセルへ当てることはできますか
>>281
プログラムからイベント発生すればいいだけやん。
try {
ResourceLoader loader = new ResourceLoader();
image = loader.getImage("neko.jpg");
if (null != image) {
setIconImage(image);
width=image.getWidth(this); height=image.getHeight(this);
System.out.println("width="+width+"height="+height);
}
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
↑の実行結果が、”width=-1height=-1”になるようなのです。。。
アイコンはちゃんと表示されます。イメージのロードは出来ています。
誰かご指導お願いしますm(__)m
284デフォルトの名無しさん:02/11/20 00:31
MIDPです。
2002-11-19(火)というStringをDate型に変換するにはどうしたらいいですか?
java.util.Date d = new java.util.Date("2002-11-19(火)")
だとエラーになります。
>>283
この類の質問も多いねえ。
イメージのロードメソッドって、ロードおわる前にかえってき
てしまう、非同期処理メソッドが多い。そういうときは、おわ
るまで待機するスレッドなり何なり用意しましょう。
>>284
Dateのデータに曜日はイランデショ。
new Date("2002-11-19");
もし文字列フォーマットが↑でないなら、java.text.SimpleDateFormat
つかえ。
>>284
SimpleDateFormatを使う。か、
2002-11-19(火)を分割して、Calender型のオブジェクトにセットしていく。
288278:02/11/20 00:44
>>282
イベントを発生ですか
MouseEventなんかを自分でnewしてイベントを発生させる
ようにすると言うことですか?
289283:02/11/20 00:50
>>285
メディアトラッカーで出来ました。
ありがとうございました。
290284:02/11/20 00:52
ezplusだと
java.util.Date()
の戻り値が2002-11-19(火)なんですよ。
とりあえずjava.text.SimpleDateFormat 試してみます。
>>290
戻り値ってtoString()のこと?
出した文字列でDateを再構築できないなんて、アホなライブラリだね。
きっとその仕様決めた人間は気が利いてるとか思ったんだろうな。
いかにも大企業日本人SEがやりそうな典型的近視眼低脳行為でつね。
>>278
行選択するときは、こんな感じ。
table.getSelectionModel().addSelectionInterval(from, to);

セル単体で選択したいときは、TableColumnModel から同じように
ListSelectionModel を取り出してみて。

>>282 の言ってることは意味不明だから気にしなくていいよ。
293284:02/11/20 01:08
あ、はい。DateをStringにしたものがです。

いろいろやってみたのですが
java.util.Date d = new java.util.Date(java.lang.String)
みたいにStringを引数にしてやることが出来ないみたいです。

はぁ。鬱 ezplus…
>>291
ほう、ArrayListを、toStringした結果から、ArrayListを構築できるとでも?
295278:02/11/20 01:13
>>292
セルの選択の場合にはListSelectionModelを使うのですね。
ご丁寧にどうもありがとうございました。
>>293
普通できない。
Formatクラスを使う。
>>280=282=291でつか?
正直ばかかと・・・あふぉかと・・・・・
煽られて悔しかったんですね(ワラ
299249:02/11/20 02:14
>>250
linux 2.4.18 で
java version "1.3.1"
Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.3.1-FCS)
Java HotSpot(TM) Server VM (build Blackdown-1.3.1-FCS, mixed mode)
FreeBSDでもいいんだけど、portsから入れたjdk13って
Server VMはいってなかつた

>>252
servletエンジンに待たせてIFをHTTPにするですかー
なるほど..でも単体(Server VM)で動く方がいいなー
300デフォルトの名無しさん:02/11/20 03:12
サーバサイドプログラミング(Javaサーブレットから、JSP、EJBなど)をする上で
開発環境として便利なものがあれば教えてください。
Linux
EJBコンテナ:JBoss
Servletコンテナ:Tomcat
IDE:EclipseJDT
OS:Linux
全部無料でそろうね。
303デフォルトの名無しさん:02/11/20 06:58
Labelでの文字列、自動改行してもらうにはどうすればいいですか?
304303:02/11/20 08:16
textarea使えばいいんですね。

検索もせず聞いて申し訳なかったです。

ここのみなさん優しいので・・・甘えすぎ・・・かな・・・。逝ってきます。
JAVA APPLETで表示させたグラフィックを印刷させたいんですが、どしたらよい?
306デフォルトの名無しさん:02/11/20 14:31
すみません。質問なんですが、
SwingをGUIで編集する方法はどのよなものがありますか?
JBuilder、Forteと試したんですがイマイチだったので。
JBuilderが最強です。
JBuilderの使用許諾コードの取り方がワカラン・・
多分javaより難しいぞ。

気付いたら某のコミュニティIDとやらを取得させられてた。(藁

これは質問でなく寝たなんで虫で結構。
ワカランのは本当だが・・(司
309名前::02/11/20 16:17
ファイル名の拡張子を抽出したり、ファイル名からディレクトリ名だけを抽出するにはどのクラスを使えばよいですか
310名前::02/11/20 16:21
それと、CBuilderの
・IncludeTrailingBackslash は,パス名の末尾に円記号がない場合に円記号が付加されたパス名を返します。
のような関数はありますか
これくらい自分で作ればよいのだけれども、用意されているなら使いたい
>>309
File
>>309
>ファイル名の拡張子を抽出したり
ext = filename.substring(filename.lastindexOf('.')+1);

>ファイル名からディレクトリ名だけを抽出する
dir = filename.substring(0,filename.lastindexOf(File.separatorChar));

あとは java.io.File と java.lang.String をちゃんと調べろ。
313名前::02/11/20 16:28
>>311>>312
ありがとサン
特定のファイルがシンボリックリンクかどうかを調べたいのですが、
java.io.File にはそれらしきメソッドが見当たりませんでした。
ググっても見付かりません。こういうことは java からできないんでしょうか。
315デフォルトの名無しさん:02/11/20 19:52
Math クラスのような static なメソッドだけを保持するクラスと、
String のようなインスタンスを生成して substring() のように処理を行わうクラスがありますが、
メモリ使用量やらパフォーマンスやら(何でもいいんだけど)どう違うのか教えて。
316デフォルトの名無しさん:02/11/20 20:03
>>314
Pure Javaだとないと思う。

>>315
インスタンスを生成するとパフォーマンスが悪くなる。
だから速度が必要な箇所ではインスタンスを使い回したりするらしい。
317デフォルトの名無しさん:02/11/20 20:08
TomcatでJSPやclassファイルをサーブレットを通じて表示するとき
webapps\ROOT\WEB-INF\classes\に入れたファイルを
http://localhost:8080/servlet指定させるのですが

これはclassファイルはclassesフォルダに入れなければいけないと言う決まりですか?
それともファイル別に分けたほうがいい程度ですか?

あと何故、ROOT下のディレクトリのWEB-INF\classesを表示するときに
http://localhost:8080/WEB-INF/classesでは表示されなく
http://localhost:8080/servletで表示されるのですか
318おひえてくん:02/11/20 20:48
img = createImage(int, int);
で作成したイメージオブジェクトの大きさを変更するにはどうしたらいいんですか?

例えば、
img = createImage(100, 100);
で作成したものを、
img = createImage(200, 300);
で作成したものと同じ大きさにするには、

img = createImage(100, 100);
img.??????(200, 300);


>>318
ときに、リファレンスは読みましたか?
320おひえてくん:02/11/20 20:54
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
321おひえてくん:02/11/20 21:00
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。 
323 :02/11/20 21:00
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。   
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
324おひえてくん:02/11/20 21:00






















2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
>>317
>これはclassファイルはclassesフォルダに入れなければいけないと言う決まりですか?
決まりです。

ここに書かれている疑問、すべてServletの仕様で決められていることです。
326デフォルトの名無しさん:02/11/20 21:31
java.awt.MenuBarって色指定できんのかえ?ショボ。
>>326
ときに、リファレンスは読みましたか?
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
2行も書き込むなボケ!
知っているなら関数を1行書くだけでいいだろう。
知らないオマエは黙って見てろ。
知ってる人が書いてくれるから。
>>326
ときは天正16年1月。稲葉一鉄は、秀吉より、聚楽第行幸に際して上洛するよう命令を受ける。
330デフォルトの名無しさん:02/11/20 22:29
>>325
そうなんですか?
ありがとうございます
あと何故、ROOT下のディレクトリのWEB-INF\classesを表示するときに
http://localhost:8080/WEB-INF/classesでは表示されなく
http://localhost:8080/servletで表示されるのですか

これも「そういうもの」でしょうか?
そうです。すべてServlet様の御意志です。
初心者として質問するのはいいけどさ
もっと調べてこいといいたい質問も多いよね
333デフォルトの名無しさん:02/11/20 22:50
twip論理値をピクセルに変換したいのですがいかがしたらいいでしょうか。
334デフォルトの名無しさん:02/11/20 22:55
>>327
読みましたよ?
すいません、このスレ直接関係ないんですけど。
jdbgmgr.exeのウィルスの対処法知ってる人いませんか?
1:今すぐネットからそのPCを隔離
2:ウイスル除去ソフト投入
俺的には、Swing、AWT、SWTなんかいらない。
MozillaのLAF使わせてくれ。
338おひえてくん:02/11/20 23:20
>>334
ありがとう。でも、名前を「おひえてくん」にしてないじゃん。

img = createImage(int, int);
で作成したイメージオブジェクトの大きさを変更するにはどうしたらいいんですか?

例えば、
img = createImage(100, 100);
で作成したものを、
img = createImage(200, 300);
で作成したものと同じ大きさにするには、

img = createImage(100, 100);
img.??????(200, 300);

それで、319は俺と同じで、リファレンスを見ても理解できる
レベルに達していないんでしょ?
初心者は黙ってろよ。どうせオマエも、この後の解答を
見ることによって勉強になるんだから。
>>338
単に大きさを変えて表示したいだけなら、
graphics.drawImage(img, x, y, 200, 300, null);
とかすればよろしい。

どうしても大きさを変えたイメージを作りたいなら、
Image img2 = createImage(200, 300);
img2.getGraphics().drawImage(img, 0, 0, 200, 300, null);
とかしてみ。
>>338 ときに、リファレンスは読みましたか?
341デフォルトの名無しさん:02/11/20 23:38
>>338

>>334>>326なんですが。
出来るなら早く教えてちょ。
java.awt.Image#getScaledInstance(int,int,int)

おまえらJavadocくらい嫁よ・・・
343おひえてくん:02/11/21 00:05
>>339
ありがとう。
大きさを変えるなら、drawImage()でよろしいよね。
でも、今やりたいダブルバッファリングでは、
後でサイズ変更できた方が便利だと思うんですよ。

http://mascot.mis.ous.ac.jp/javaken/11_14a.html
の1番下の、4.update()をオーバーライドして画面を消さないようにする。
のソースとか、普通はinit()でサイズが決まるけど、
アプレット表示中に画像を交換した場合とか、
オフスクリーンバッファのサイズ変更ができると便利じゃない。
>>342
javadocの検索方法を教えて
345デフォルトの名無しさん:02/11/21 00:17
AXISでSOAP通信させたいのですが、
同期だと重い処理させてるとき、
クライアントがタイムアウトになってしまいます。
非同期通信って可能なんでしょうか?

また、どんな風に書けばいいのでしょう?
>>345
org.apache.soap.transport.smtp
フリーのプロファイラで使い勝手の良いものってありませんか?
【初心者】Java質問・相談スレF【大歓迎】
にて

せっかくなんで質問します。
Java Appletでスロットゲームを作ってるのですが、3つのドラムをそれぞれ独立して動かしたいのですが、
どうすればいいでしょうか?
後、WAVEとかの音声を流したいのですが、どうすればいいでしょうか?

と説明し、

スレッド
AudioClip

結局3つのドラムは動作の同期ととらないとイカンと思うから、
スレッド分けないほうがいいと思うけどね。

?管理するクラス作れば?
それにJavaで同期って簡単だと思われ。

という回答がえられたのですが、まださっぱりわかりません。
現在ドラムを独立させるのを奮闘しているのですが、
いまいちうまくいきません。
どうすればいいでしょうか?
>>348
現在、どこまで出来ていますか?
どの辺りがうまくいっていませんか?
各ドラムの表示を変更するくらいのことであれば、

本体    ←ドラムスレッドA(次に表示したい絵柄をセットする)
(描画する) ←ドラムスレッドB(〃)
      ←ドラムスレッドC(〃)

でも良いと思いますよ。
350349:02/11/21 06:39
上の方法だと、各ドラムの回転速度が異なってしまうか(滝汗
なんとな〜く、スレッド使わなくても、できる予感。
351 :02/11/21 13:59
λ...... ここ変だよ・・        λ......       λ......
  λ......            λ...... 失敗だったネ…
 λ......      λ......
        λ......                  λ...... 逃げていく…
    λ......             λ......
                λ......
 λ......       λ......          λ...... みんな逃げていく…
λ...... ここ変だよ・・        λ......       λ......
  λ......            λ...... 失敗だったネ…
 λ......      λ......
        λ......                  λ...... 逃げていく…
    λ......             λ......
                λ......
 λ......       λ......          λ...... みんな逃げていく…
352多分、超初心者:02/11/21 14:51
APIリファレンスと見ると、良く1行に集約したコード例が載ってますが、次のような場合、
new Object()以降の{}の使い方の意味が良く分かりません。
どう解釈したら良いですか?[JConboBox#AddItemより]
(と言うより、これをキッチリ書くと、どう言うコードになるか変換してほすぃ)
---
private Object makeObj(final String item) {
return new Object() { public String toString() { return item; } };
}
---
>>352
無名クラス、anonymous class で検索しな。
>>347
ここの奴はリークを気にするような奴はいないんじゃない。
とりあえず走ればOKと言う奴が多そう。
>>355
プロファイラって実行性能検査ツールだと思ってたよ。
メモリリーク検出ツールだったのか。
357デフォルトの名無しさん:02/11/21 15:51
import java.awt.*;
public class Test extends java.applet.Applet{
Button btn;
public void init(){
add(btn = new Button("クリック"));
}
}

ボタンが表示されないのはどうして?
358デフォルトの名無しさん:02/11/21 16:16
できてますた。
359デフォルトの名無しさん:02/11/21 16:42
iWidthとiHeightはグローバルなint型変数です。

public void xx() {
 int i;
 i = 80 + iWidth + iHeight;
 textarea.setText(i);
}

これを、iを使わずにできるだけ簡単に書くとどうなるんですか?
Cではmalloc/freeの実行回数が一致しているかどうかで
メモリリークが行われていないことを調べることはある。

でも普通は性能のボトルネックを調べるために使う。
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jvmpi/jvmpi.html
でも読め
361352:02/11/21 17:00
>353,354
 ありがとう。謎が解けました。
 提示して下さったURLも大変勉強になります。
 精進致します。
>>359
public void xx() {
 textarea.setText(String.valueOf(80 + iWidth + iHeight));
}

で、どうっすか!
363デフォルトの名無しさん:02/11/21 17:17
public void xx() {
 textarea.setText((80 + iWidth + iHeight));
}
364デフォルトの名無しさん:02/11/21 17:32
>>362++
デキマン!
プロファイルとるのは
java -Xprof className でもそれなりにできるよ
便乗でメモリ・リークを発見するいいツールってある?
VM をモニタすれば?
HttpURLConnectionでShift_JISのHTMLをGETしてるのですが、
文字化けしてます。
普通にShift_JISのファイルをFileReader(BufferedReader)使って
読んでも化けません。
何が違うのでしょうか?
369デフォルトの名無しさん:02/11/22 00:05
EJBとBeanの違いがわかりません
参考書にはEJBはサーバ側、beanはクライアント側のコンポーネント
とか言ってるけど、何のことか意味不明です
>>368
HttpConnection con;
BufferedReader r = new BufferedReader(
new InputStreamReader((con.getInputStream())));

ってやってるかい?Readerが、内部でJavaの内部文字
コードであるUnicodeにエンコードしてくれるんだよ。
>>369
Beanはgetter、setterのメソッド命名規則を規定してあ
るだけの、単なるクラス。
EJBは、RMIサーバオブジェクトである特殊なBeanの一種。

物凄く簡単に言うと、こんなかんじ。
>>369
君がエンタープライズなWebシステムを構築するのでもない限り、EJBは必要ない。
ましてや個人の趣味でプログラムする程度であれば、存在そのものを忘れていて構わない。

>>372
概ね同意ですが、EJB==Webというのはどうかと・・・
CORBAサーバオブジェクトとホボ同等だから、分散処理を使用する
全てのシステムで使用することが可能です・・・
>>368
所詮Javaは精度の低いFacade。何も知らない人間には使えない。
>>372
でもEJBコンテナってWebAPサーバにしかついていないからね。
そもそもJ2EE自体がWebに特化したものに近いから、Servlet、JSP、EJBあたりは
ほぼ「=Web」といっていいんじゃないかなぁ?

Beanって参考書とか見ると
よくお絵かきソフトみたいに貼り付けるとか言ってるけど

具体的にあのgetter、setterの部分で何をしてるの?

private String id;

public void setid(String id){
id = strId;
}
public void getid(){
return id;
}

参考書とかのこれだけみるとこの部分で何をしているのかよくわかりません
>>370
サンクスコ
InputStreamReaderで"MS932"指定したらできました。
Beanを話題にする場合は、まずクライアントのGUI Beanの話題なのか、サーバのBusiness Logic Beanの話題なのかをはっきりさせないと混乱するよ。
>>375
JBossはEJBコンテナオンリーだよ。
ServletコンテナはJettyやTomcatだし。
多くのAP鯖が同梱しているけど、別に強制するわけじゃないさ。

>>376
メソッド命名則(setXX,getXX)を利用して、リフレクションで
アクセスを行うような仕組みを作ると、その上でbeanを便利に
使えるよね。アクセサをアクセサ名(シンボル名じゃなくて"文字
列"で!)で指定してコールできるわけで。ちょっと考えてミソ。
>>678
サーバの方です
誰か、Javaのコンパイルエラーを英語にするオプションとか知らない?
教えてください …( ´Д⊂ヽ
unix系だったら環境変数LANGをCにするとか・・・
winだと知らない
383デフォルトの名無しさん:02/11/22 03:19
>>381
日本語だと困るのか?
>>381
いま WindowsXP でやってみたけど
us してから javac すりゃ メッセージ英語になるね。
385デフォルトの名無しさん:02/11/22 08:02
JavaBeans
・Javaが動作する環境ならどこでも使える。
・使う側から"new"というキーワードを用いる等して明示的にインスタンスを生成する。
・プロパティと呼ばれる、インスタンス変数を持つ。
・インスタンス変数はprivateで宣言し、クラス外からその変数の値を取り出す/書き込む
 ときにはgetter/setterと呼ばれるメソッドを通して行う。
・デフォルトコンストラクタ(引数のないコンストラクタ)を持つ。

EJB
・EJBコンテナと呼ばれるEJBを実行するための環境が必要。
 J2EEアプリケーションサーバはEJBコンテナを含んでいる。
・EJBを使う側(EJBクライアント)からは直接インスタンスの生成/削除はできない。
 インスタンス管理はEJBコンテナが行う。
・EJBクライアントはEJBのオブジェクトへの参照を取得するためにホームインターフェース
 を実装したホームオブジェクトを使う。
・EJBクライアントはEJBに実装されたメソッドを直接呼び出すことはできない。
 リモートオブジェクトを通してEJBコンテナに対してメソッドの実行を指示する。
・各メソッドの戻り値と引数の型はシリアライズ可能な型でなければならない
・EJBコンテナがトランザクション管理機能を持つので、トランザクション機能の実装が容易。
386デフォルトの名無しさん:02/11/22 13:13
基本的なjava覚えてきてやっとjavaができる!とおもたら、
この一年servletでずーっとタグばかりなんですけど、スキルあがるんでしょうか?
>>386
自分でフリーソフトでも作ればいいじゃん。
388デフォルトの名無しさん:02/11/22 14:07
やりたい事は決まっているのに、どうやって組めばいいのか分からない・・・
こういうときは「デザインパターン本」を参考にするの?
>>388
in your brain
タイピングゲームを作りたいのですが、
一秒間にどれくらい打つと上級者とか中級者とか値がわかりません。
大体上級者って一秒間にどのくらい間違えずに打つのですか?
>>390
5マン/s
>>390 (w
>>391
そんなに打てるかよ。
MG-42機関銃が一秒間に約550発だぞ。
メインクラス
X軸・Y軸
入力↓↑→←

 A B C D E
..________________
1|.....|.....|.....|.....|.....|  ■w
2|.....|.....|.....|.....|.....|  □x
3|.....|.....|.....|.....|.....|  ◎y
4|.....|.....|.....|.....|.....|  ★z
5|.....|.....|.....|.....|.....|
6|.....|.....|.....|.....|.....|

30の座標 4つの要素

子クラス
X軸の要素A〜E・Y軸の要素1〜6・部品wxyz

例 A1w B3z E6y・・・
人間が機関銃に負けるかよ
メインクラス
X軸・Y軸
入力↓↑→←

 A B C D E
..________________
1|.....|.....|.....|.....|.....|  ■w
2|.....|.....|.....|.....|.....|  □x
3|.....|.....|.....|.....|.....|  ◎y
4|.....|.....|.....|.....|.....|  ★z
5|.....|.....|.....|.....|.....|
6|.....|.....|.....|.....|.....|

30の座標 4つの要素

子クラス
X軸の要素A〜E・Y軸の要素1〜6・部品wxyz

例 A1w B3z E6y・・・
メインクラス
X軸・Y軸
入力↓↑→←

 A B C D E
..________________
1|.....|.....|.....|.....|.....|  ■w
2|.....|.....|.....|.....|.....|  □x
397デフォルトの名無しさん:02/11/22 15:43
JNIはどうですか?
ていうかスレが見当たらないのでたてていいでうか?
java native interfaceだっけ?
触ったことないけど、Cとかと共通性がどうたらこうたら・・・・・
誰か教えてくれ。
>>397
>スレが見当たらない
検索しろ
http://pc3.2ch.net/test/read.cgi/tech/1033795664/l50
>>397
俺が2ゲット宣言する。
>>398
ときに、リファレンスは読みましたか?
教えてください

Canvasを継承したクラスでダブルバッファ処理を行おうと思い、最初に
Image off;
Graphics o;
として、コンストラクタでは
off=createImage(getSize().width,getSize().height);
o=off.getGraphics();←ココ
とすると、上で示す部分でNullPointerが発生します。
アプレットとはやりかたが違うのでしょうか?
>>402
ときに、リファレンスは読みましたか?
>>403
あうぅ・・・ぬくもりが感じられませぬ・・・
ImageとかGraphicsのAPI見ても、何が間違ってるのやらさっぱりです
>>404
コンストラクタ内では取得できないよ
406デフォルトの名無しさん:02/11/22 21:03
意地でもコンストラクタでやるために
java.awt.image.BuffererdImage
使ってみるとか。
初心者が質問し、初心者が解答する。
408デフォルトの名無しさん:02/11/22 21:21
無限ループを作るとき、while(true)とfor(;;)のどっちがいいのでしょう?
どっちでも同じような気がするのですが。
>>408
好きな方を使え。私はfor派
>>407
煽るだけの能無しくん登場( ´,_ゝ`)
回答が正しいかの最終的な判断は個人にゆだねられるのです。
ネタをネタと(略
412デフォルトの名無しさん:02/11/22 21:53
教えて下さい。
同じ設定で動いていたサーブレットが動かなくなりました。
OSはW2K、以下のエラーで困ってます。
Apache Tomcat/4.0.6 - HTTP Status 503 - サーブレット invoker は現在利用できません
--------------------------------------------------------------------------------
type Status report
message サーブレット invoker は現在利用できません
description The requested service (サーブレット invoker は現在利用できません) is not currently available.
server.xmlのContextに/homeで設定。
例えばHelloというサーブレットに/home/servlet/Helloで動くのに
/home/servlet/***で上記のエラーがでます。
以前は動いていたのですが突然動かなくなりました。
503って過負荷とかかかったときのメッセージですよね?
誰か解かる方いませんか?
>Apache Tomcat/4.0.6 - HTTP Status 503 - サーブレット invoker は現在利用できません
web.xmlに<servet>と<servlet-mapping>を追加しる

あとtomcat invokerでググれ。4.06,4.1.12/servlet/* のinvokerマッピングはデフォルトでOFF
>>413
シャーベットが食いたくなった。
415デフォルトの名無しさん:02/11/22 23:06
Eclipseや一太郎ArkのPluginのように、あるディレクトリに置いたJarファイルを自動で読み込む、
といった動作を行うにはどうしたら良いのでしょう?
コマンドプロンプトからなら、
java -Djava.ext.dirs=[MyDirectly] -jar sample1.jar
のようにすれば[MyDirectly]にあるJarファイルがクラスパスに通されるんですが
sample1.jarをダブルクリックで起動させる場合、マニュフェストファイルにどのように記述すれば良いんでしょうか?
Class-Path=[MyDirectly] のような記述をしても、読み込むJarファイル名まで書かなければ、読むことが出来ません。

プログラム自体で、Jarファイルを読み込みにいくといった方が良い方法なのでしょうか?
File[] f = new File("Directory").listFiles( filter(*.jar) );
URL[] u = { f[0].toURL(), ... , f[N].toURL() };
ClassLoader loader = URLClassLoader.ほにゃらら(u);
で、クラスローダー作れるよ。Javadoc調べてねん。
1行目は new MatcherFilter("*.jar") クラスを自作する。
2行目は Jakarta の なんかで簡略表記できるはず。
#LISP最強。Perl最強。Anonymousメソッド希望。
>>415
バッチファイルやシェルスクリプトを起動スクリプトとして使って
特定のディレクトリの jar をクラスパスに追加するとか。
418デフォルトの名無しさん:02/11/22 23:38
グラフィクスに関する質問です.
あるパネルに描かれたデータを別のパネルに
コピーするにはどうすればよいのでしょうか?

思いつく方法としては,パネルに描かれたものを全てVectorクラスの
インスタンス等に保存しておいて,それを参照しながら別のパネルに描く.
といった方法が考えられますが,はっきり言って面倒臭いです.

もっとスマートな方法はないものでしょうか?
例えば以下のようなもの.

// パネルAからパネルBへコピー

Graphics gA = panelA.getGraphics();
Graphics gB = panelB.getGraphics();

Image imageA = gA.getImage(); // こんなメソッドないですが.

gB.drawImage(imageA, 0, 0, null);
419402:02/11/22 23:47
色々調べましたがいまだ解りません。
誰か教えていただけないでしょうか?
420402:02/11/22 23:45
結局わかりません。
誰か教えてください。
ImageProducer あたりかな
422402:02/11/22 23:54
>>419-420
エラーが出たから書き直したら、タイムスリップしてるし・・・もうだめぽ
>>418
PixelGrabberとか。
http://java.sun.com/products/jdk/1.2/ja/docs/ja/api/java/awt/image/PixelGrabber.html

俺、グラフィックスの知識はAWTどまりだから
Java2Dならいい方法あるのかも。
panelA.printAll(panelB.getGraphics())
とかでできたりして。やったことないからワカランが。
paint()かも知れん。試してみてちょ。
> Class-Path=[MyDirectly] のような記述をしても、読み込むJarファイル名まで書かなければ、読むことが出来ません。
class ファイルをクラスパスに追加するときはディレクトリを追加すればいいけど
jar ファイルをクラスパスに追加するときは jar ファイル自体を追加する必要があるのは当たり前。
426デフォルトの名無しさん:02/11/23 02:05
IE6で使う JAVA VM を Microsoft VM から 1.3.1 に変えたい
です、どうすれば良いのかを宜しければ教えて下さい。

スレ違いだとは思いますがプロフェッショナルな方々にお聞きしたほうが
正確かつ確実な解答をいただけると思ってあえてこちらでお聞きしました。
どうか宜しくお願い致します。
JRE のインストール時に設定できる。
>>426
この板の人は性格悪いから煽られるだけだよ。
429デフォルトの名無しさん:02/11/23 02:16
初心者な質問ですが宜しくお願いします。
まずXの1/2乗(√x)ってx^(1/2)ではないのですか?
どうも値がおかしかったので10000^(1/2)でためしたら
そのまま10000が出力されていたのですがどうしたらいいのでしょうか?

もう一つはほかのクラスのテキストフィールドの値を別のクラスで
取りたいのですが方法はテキストフィールドのオブジェクトを生成
int i=Integer.parseInt(オブジェクト名.TextField名.getText());
ではダメなのでしょうか?スレッド内で行ったのですが、コンパイル
はとおって実行時にエラーが出てしまいます。
両方とも私なりに調べてみたのですが・・・
長文になってしまいましたが宜しくお願いします。
>>429
>Xの1/2乗(√x)
Math.sqrt(x);
431426:02/11/23 02:30
>>427

ありがとうございます。
早速JREを再インストしてみます。

>>428

ぅ”・・ そうなんですか...
MLでこんなこと聞けないし・・
もし427さんの方法で出来ないならばおとなしく諦めます。

お二方ともありがとうございました(^^
>>429
Java に冪乗を計算する演算子はありません。
^ はビット和をとる演算子です。
冪乗は Math.pow()、平方根は Math.sqrt() を使ってください。

Integer.parseInt は符号付10進整数以外を表す文字列以外は解釈できません。
数値と符号を表す - 以外が文字列に含まれていると例外を上げます。
s/符号付10進整数以外を表す文字列以外/符号付10進整数を表す文字列以外/
>>431
[ツール(T)]の詳細設定にさりげなくコーヒーカップが増えてないか?
これってJRE1.4以降だったっけ?
>>430>>432>>433
どうもありがとうございます。
Mathクラスを使わないといけなかったのですね。
プログラミング言語自体初めてなので初心者以前の質問すみませんでした。

2つ目の質問は同一クラス内ではうまくいったのですが、
Threadクラスを別に分けたときのみエラーが出ました。
TextFieldないに符号付10進数が入っていれば
429のやり方で出来るということですよね。
今現在そのファイルがないので詳しいエラーが確認できませんが
もう一度後日ためしてみます。
このような質問にどうも有り難うございました
>>408
>>409
ん?while(true)とfor(;;)、どっちでもおんなじなの?
>>431

無理です。
438435:02/11/23 03:24
連カキコすみません。
いま簡単なものを作って試してみたのですが
TextFieldに初期値として何らかの符号付10進数を与えてスレッドを
実行したらエラーは起きず、空白にしておいて自分で好きな
符号つき10進数を記入してスレッドを実行するとエラーが出ました。
エラーはNumberFormatException、Integer.parseIntでエラーがでていますので
自分で値を記入した物は認識されず、TextFieldに何も入っていない状態と認識されたので
このエラーが出たのでしょうか?間違いなく数値と符号以外は文字列にありません。

上レスで述べましたようにTreadクラスを内部クラスにし、実行した場合
上のようなエラーは出ません。又長くなってしまい、意味不明なところも
あると思いますが、考えられる修正点がありましたらご教授お願いします。
「お前は使えない」って言われちまったぁぁぁぁ!
>自分で値を記入した物は認識されず、TextFieldに何も入っていない状態と認識されたので
>このエラーが出たのでしょうか?間違いなく数値と符号以外は文字列にありません。

「間違いなく」なんて抜かす前にparseInt()したい文字列を表示させてみろ。""や[]で囲ってな
>>438
どういう風にスレッドを使っているかわからんが、
synchronized が必要かも。
http://www.gimlay.org/~javafaq/S021.html
JAVAとjavascriptの区別もつかね〜ヤシハケーン!
http://www5b.biglobe.ne.jp/~rpgkj/java/
インターフェイスって結局何なんですか
使う意味ってあります?
参考書って使い方書き方は載ってても、なんでそれが必要なのか全然載ってない
>>443

アプリの見た目、外見。
445444:02/11/23 06:23
あ・・ もしかしてインターフェイス部のことかな?
それなら宣言をするところでっす。
「〜は・・ですよ」とか「〜を使いますよ」ってふうに
アプリに認識させるための場所よ。
>>443
Java言語で学ぶデザインパターン入門
とか、読めばわかりやすいと思いますが。
型じゃなくて interface に対してプログラミングする..
447デフォルトの名無しさん:02/11/23 09:42
>>443
Javaじゃなくてオブジェクト指向のわかりやすい本を見るべし。
インタフェース(Sunの書籍はこう表記する)はオブジェクトの
振る舞いを定義するために使います。
これを使うことによって異なる継承関係のオブジェクトに共通の
振る舞いを定義して共通の型として扱えるようになる。
>>447
まぁ、OOとかを無視するとそのクラスにあるメソッドが存在することが保証されると。

interface hoge
{
public void moge();
}


class a implements hoge
{
}

aにはpublic void moge();があることが保証される。

クラスの継承の流れが違っていても、同じ種類のオブジェクトとして扱える。

クラスA extends クラスB implements インターフェイスE
クラスC extends クラスD implements インターフェイスE
↑どちらもインターフェイスE型として扱える。
インターチェンジみたいなもん
>>445-449
参考書に書いてあるのと変わらない(抽象的な)気がするけど…。

たとえば、ふたつの値をとって大きい方を返す関数を作るとする。
public Integer max(Integer a, Integer b) { ... } ってなるよね。
整数だけじゃなくて、少数も扱いたいとなると
public Double max(Double a, Double b) { ... } も用意するね。
文字の比較もしたいとなると
public String max(String a, String b) { ... } も必要だよね。

こういったときに、引数と戻り値に「比較可能型」という抽象的なものを
指定できたら便利だと思わない? この比較可能型を Comparable とすれば
public Comparable max(Comparable a, Comparable b) { ... } を
用意するだけでいいことになるからね。

そのかわり、Integer, Double, String は比較可能型としての振る舞いを
備えている必要があるから、
public class Integer implements Comparable { ... }
public class Double implements Comparable { ... }
public class String implements Comparable { ... }
となるわけだ。
>>451
それは現時点ではあまり良い例ではないのでは。ほとんどの実装においてComparableの
実装では、異なるクラス間の比較についてはInvalidCastOperation(というようなやつ)
がスローされるはず。
事実、そのmaxの実装は内部で、
if (a.getClass() == b.getClass()) {
...
}
みたくしなければ比較にならないのではないだろか。
#例が良くないといっているのであって、趣旨そのものには同意だが。
#かつ、良い例を出せないというワナ
>>452
Compareble だったら 一番単純なのは
sort() の実装時に便利になるって事でしょ。
>>451 のは例が悪すぎ…
454デフォルトの名無しさん:02/11/23 17:03
jspとjavabeansについて質問です。
JavaBeansのオブジェクトを転送してjspファイルで使用したいのですが、
この場合、2行めのrequestオブジェクトに設定した名前と8行目に設定した
id="obj"のとこは一致させないといけないのでしょうか?
自分はforwardで呼び出されたjspが8行目で値が取り出され使用されていると思っているのですが。


0:呼び出し元:サーブレット部(CtrlServlet.java)
1:myJavaBean myObj = new MyJavaBean();
2:request.setAttribute("obj",myObj);
3:
4:RequestDispatcher rd = getServletContext().getRequestDispacther("/Output.jsp");
5:rd.forward(request,response);
6:
7:呼び出し先:JSP部(Outout.jsp)///////
8:<jsp:useBean id = "obj" class="ctrlServlet" scope="request"/>


今、MSNプロトコルを利用したメッセをJAVAで
作ってるんだが、ソケットの部分がイマイチ
解らないのです。協力者求む
456444:02/11/23 17:55
>>451

余計解りにくいような気がしる。(汗
「何がインターフェイスか」っていう質問の答えになってないよ。
それ以前にインターフェイスくらい自分でググって調べろって感じ。
457444:02/11/23 17:58
あ・・ 失礼、初心者大歓迎スレでしたね。
上のカキコ取り消し。(スマ)
スマスマ
459デフォルトの名無しさん:02/11/23 18:11
テキストファイル(CSV)形式のデータをJOINしたりする便利なパッケージってありますか?
interfaceを使うと、ある属性を持つものをひとまとめにして扱える。

public class FlyableDemo {
 public static void main(String[] args) {
  飛ぶもの flyable1 = new 飛行機();
  飛ぶもの flyable2 = new すずめ();
  flyable1.飛ぶ();
  flyable2.飛ぶ();
  
  飛ぶもの[] 飛ぶものs = new 飛ぶもの[] {new 飛行機(), new すずめ()};
  for (int i = 0; i < 飛ぶものs.length; i++) {
   飛ぶものs[i].飛ぶ();
  }
 }
}

interface 飛ぶもの {
 public void 飛ぶ();
}
class すずめ implements 飛ぶもの {
 public void 飛ぶ() { System.out.println("すずめが飛んでいます..."); }
}
class 飛行機 implements 飛ぶもの {
 public void 飛ぶ() { System.out.println("飛行機が飛んでいます..."); }
}

「何故それが必要なのか」とはずれてる気がするけど気にしない
>インターフェース
解説サイトあげれば済むんじゃねえの
ダラダラここに書くよりさー
462451:02/11/23 18:26
>>444
443の質問の仕方を見ると、インターフェイスが何であるか
まったく分かっていないわけではないと思うよ。
(メソッドを持つことを保証できるとかそういうことは理解しているんだと思う。)

それで、ちょっと説明に挑戦してみたんだけど、ダメだったね。
>>453 のいうように ソートのほうが良いね。
説明の練習なら他所でやれよ
初心者大歓迎なんだからいいんでね? 説明の練習したって。
465449:02/11/23 21:27
朝書いたのわかりづらかったね。
でっかいプロジェクトで、同じような(望まないのに)クラスが存在してしまった時に、
後づけで、それらのクラスにインターフェイスを追加すると、
共通に扱えて便利なことがあります。
466デフォルトの名無しさん:02/11/23 21:48
>>465
なんちゅう使い方しとるんじゃ
>>465
氏ね
インターフォンみたいなもんだろ?
>>465
Javaの評判を下げるような使い方するなアホ
470449=465:02/11/23 22:14
>>469
いや、私がやったわけではないんですけど。恐ろしい。
s/望まないのに/愚かにも/
s/存在してしまった/既にあった/
としてくれても結構。

  これを見た時の折れの気持ちがオマイラにわかるかー
むう、むしろマ板ネタだったのか
>>470
何でそれをワザワザ紹介するんだ(w
>>470
てゆーかあんた便利って言ってるじゃん。
言い訳カコワルイ。
俺もM$言語には可能な限り近寄りたくないな。
分岐の数だけ、オーバーロードメソッドを用意する必要がなくなる。
完成したクラスには手を加えなくても済む。
こういうことかと。どちらかというと設計の問題だな。
SecurityManagerの使い方について詳しいサイトか本知りませんか?
MIDPです。
”あいうえおかきくけこ” と ”あいうえ”
から
”かきくけこ”を導く演算ってありませんか?
>>477
「あいうえお」が「あいうえおかきくけこ」のどこに出現したとしても、
その「あいうえお」を取り除いた文字列を返す。ということで良いでしょうか?
479477:02/11/24 01:37
いえ
絶対に”あいうえお〜”から始まります。
>>479
まず自分のやりたいことをきちんと日本語で書け。そうすればそのままコードに落とせる。
>>479
絶対に”あいうえお〜”から始まるのであれば

String srcStr = "あいうえおかきくけこ";
String resultStr = srcStr.substring(5, srcStr.length()); // 結果
482デフォルトの名無しさん:02/11/24 03:57
どなたか答えてください。お願いします。

僕は、自分で他の言語を学んだくらいの経験しかありません。
つい最近まで、javaは、全然知りませんでした。
会社でJSP、サーブレットを使って、WEBアプリケーション開発をすることになりました。
よくあるJavaでDBを作るんだと思います。(実際、どんなことをするかわかっていませんが)
上司は、その開発を僕に覚えてもらおうという意図があるみたいです。

それで上記の開発をするので、5日間でだいたいのことを覚えて来いと言われ、2冊の本(JSP関連の本とJavaの入門本)を渡されたんですが、できそうにありません。2週間あっても、僕には無理そうです。
なんとかしなければと思い、とりあえず、『やさしいjava(第2版)』(Javaの入門本)って本を4日間ですべて読み、Javaのだいたいのことを理解できました。javaの思想みたいなものを理解した(つもりかもしれませんが)ときは、ちょっと感動しました。
それで意気揚揚とJSPやサーブレットのことが載っている本を見たんですが、僕にはまだ開発ができるほどの力がついていないのが、痛いほどわかりました。
難しいと思いました。その本は、一応、初心者向けのJSP、サーブレットの本なんですが、難しいと思いました。どうやら、SQLの基本的なことも学習するようになっているようで、僕はまだSQLを全然知らないです。

で、質問なんですが、普通、2週間あれば、プログラマ経験がなくても上記の開発をできるようになりますか?上司は当然のように、1,2週間でできるだろうと考えているようでした。僕にはちょっと無理な注文のように思えました。
プログラマ経験者の方はどう思われますか?
目安として、素人が上記の開発ができるようになるにはどれくらいの期間を要すると思いますか?
早い人でどれくらいか、普通の人でどれくらいかということも教えていただけると嬉しいです。
まだプログラマになったばかりなので、こういう事情がよくわからなかったりします。
正直、僕はプログラマに向いてないのかー???と考えてしまいました。(でも、プログラマは今後ももちろん続けていくつもりですけどね。)
どなたか答えてください。お願いします。
マジレス
そんな会社やめちまえ
社名晒せ
>> 僕は、自分で他の言語を学んだくらいの経験しかありません。
あるんだ。
ふーん。
俺の初Javaの仕事は3日で終わったが。4画面10帳票。
486485:02/11/24 04:11
俺が8時間で作ったシステムのデザイン作りこみ10人3ヶ月でやってたよ。
もうね、アフォかと、馬鹿かと。
487デフォルトの名無しさん:02/11/24 04:12
>>483-485
どうもです。
ま、まだみなさん、こんな時間に起きてたんですね。
やっぱり、無茶な要求ですよね。
2週間とかだったら、わからなくもないんですが、5日間では・・・。
>>482 立て読みできん。それとも、コピペネタか?
4日間の半分は無駄に使ってる。
JSP、サーブレットなら、やさしいjava全部読む必要は無かったでしょうに。
時間も無いことだし必要な所だけ覚えて、後は必要になった時にそのつど調べる(覚える)なら
他言語基礎経験ありの人は、5日間で足りる。

タイムリミットは月曜かw
とりあえず、サーブレットとJSPを月曜まで少しやっとけ。
玄人目にも無理。コマンドラインから CVS ファイルの集計するのとはわけが
違うんだから。
社名晒せモルァ 発注したくない
質問に便乗して 30 人月の仕事を 3 日でやった事を自慢したくてしょうがない
コボラーが一匹紛れ込んでいるようで
>>482 怖い会社だ。
新人教育やり過ぎないように気をつけよう。うん、ホント気をつけよう、私。
コボラーというか、電・
494490:02/11/24 04:24
>>491
君に仕事させると単価が上がりそうだな。
逆の意味で発注したくない
SQL 初めて、サーブレットも初めてはきついな。>>489 ではないが
コマンドラインのプログラムやアプレットとはかなり勝手が違うし。

まさか DB の論理設計・物理設計もさせようとしてないか?
もしそうなら早々に社名を晒した方が社会のためになると思われ
496488:02/11/24 04:25
>5日間でだいたいのことを覚えて来いと
あ、無理だよこれ。
>>482 どういう自己紹介したのよ?
497デフォルトの名無しさん:02/11/24 04:26
>>488
すみません。
改行が多いとか表示されて、うまく書き込みできなかったので、
ああいう書き込みになってしまいました。ネタでないです。(w

>4日間の半分は無駄に使ってる。

そうなんですか?まずは、Javaの基礎を固めないと応用(JSP、サーブレット)に
進むことはできないとばかり思ってました。進むことができても、ちゃんと理解
できないだろうと思っていました。
5日間でできるって..SQLも含めてですか?
全部しようとするのは、間違いだと気づきました。どうもです。
とりあえず、JSPやサーブレットに必要なところだけ覚えて、
他は必要になった時に覚えるという方法で勉強していきます。

>>489
>玄人目にも無理。コマンドラインから CVS ファイルの集計するのとはわけが
>違うんだから。

玄人にも無理ですか。コマンドラインから・・・の意味がよくわからない僕には
さらに無理そうですね。
>>494
で、3 日でドキュメントまでちゃんと整備できたわけ? (藁
>>482 ぐちってないで、今後の対策を立てなさい。早急に
500490:02/11/24 04:32
>>489
COBOLの方が教育期間は短いのかもねー。

Javaの場合、開発に関係する良書が少ないのかなー。

サーフィンしても情報が更新されてて、
標準を自分で決めないと手出しできないっす。
期限は月曜日?
個人で言語やってたって何やってたのか知らないけど、さっさと Tomcat でも
インストールしてくれ。あ、初心者なら JRun とかの方がいいかも。
あの、よくありがちなデータベースと Web サーバと簡単なスクリプトを
組み合わせた奴 (FileMaker なのかな) にすれば?
503490:02/11/24 04:36
時にFileMakerって、Relation張れるようになりましたか?(W
AS/400 を買って RPG を使え
505デフォルトの名無しさん:02/11/24 04:39
さ、さすがに社名をつるすのは・・・。

>>495
>まさか DB の論理設計・物理設計もさせようとしてないか?
>もしそうなら早々に社名を晒した方が社会のためになると思われ

まだ入ったばっかりですし。^^;
SQLは、いづれ覚えてもらうと言っておりましたので、
そういう仕事をするかもしれません。
設計からすべてできるようになってもらうみたいなことを言っておりました。

>>496
>どういう自己紹介したのよ?
いえ、特には。ネットワークをよく知り合いの人のを組んであげたり、
自宅でサーバを立てていたり、関連する資格を持っていますが、
プログラムは全くの素人っていうことで入社しました。

>>499
>ぐちってないで、今後の対策を立てなさい。早急に

そ、そうですね。いやまさにその通りだと。(w
506デフォルトの名無しさん:02/11/24 04:42
JTableについて質問です。
デフォルトでレンダラをセットしてない状態だと、セルを選択すると
その行が選択状態の色になります。
ある列だけ表示を右寄せにしたかったのでDefaultTableCellRenderer
を拡張してsetHorizontalAlignment( RIGHT )して列にレンダラをセット
したところ、表示は右寄せになったのですが、セルを選択してもレンダラ
をセットした列だけ選択状態の色になりません。

どうしたら行全体が選択状態の色になるのでしょうか?
507お約束の晒し age:02/11/24 04:42
> さ、さすがに社名をつるすのは・・・。
> さ、さすがに社名をつるすのは・・・。
> さ、さすがに社名をつるすのは・・・。
> さ、さすがに社名をつるすのは・・・。
> さ、さすがに社名をつるすのは・・・。
>>507
逃げやがったな・・・
509デフォルトの名無しさん:02/11/24 04:46
>>501
>期限は月曜日?

たぶん、僕の上司が木曜日に出張から戻ってくるので
そのとき、一緒に始めることになると思います。
3日間伸びただけですね。
IT 業界のためにもぜひ社名をつるしてください。
つるしage
Apple の WebObject って莫迦でも出来る Java の AP 鯖という話なんだが
ぜひ >>482 につるしてもらいたい。

Java じゃなければ macromedia の ColdFusion でも良いでよ。
513デフォルトの名無しさん:02/11/24 04:54
>>510
>IT 業界のためにもぜひ社名をつるしてください。

それは、わからなくもないですが・・・。
上司は早く僕に技術を身に付けて欲しいと思ってるから、
あえて無理な注文をしてきているのかもしれませんから。
まー、本当のところはどう思ってるかわかりませんけど。

できなくても、怒られたりすることはないと思います。
ただ、2週間あればできるでしょうと上司が本当に思ってるようだったので、
本当にそうなのかと思って、ここで質問させてもらったんです。
普通の人はそんなことは無理っぽいということがよくわかりました。
Javaの基本の本に時間をかけていないで、
はやいとこ、本題に取り掛かったほうが良さそうということもわかりました。
「ちるす」だろう。吊るすのはさすがに、ちょっと、かわいそう
さらす?
>>513
単価さげたいだけだろ。
普通の人には楽勝だけど初心者にそんな仕事ふる会社は嫌だ。
むしろ派遣や今猿が初心者に 2 週間程度お勉強させて「Java が出来ます」とかで
人材大放出してくれたおかげで今の惨状があるわけで

客も最近は「Java で【設計が】出来る人」という注文をするようになったようだが
あと、経験十年とか最近見かける。
>>518
マジで?
俺 JDK 0.9 の頃から使ってるけどまだ 7 年目 (?) だよ!! (藁
520デフォルトの名無しさん:02/11/24 05:08
>>516
>普通の人には楽勝だけど初心者にそんな仕事ふる会社は嫌だ。
・・・普通の人は楽勝ですか。。。

>>517
>むしろ派遣や今猿が初心者に 2 週間程度お勉強させて「Java が出来ます」とかで
>人材大放出してくれたおかげで今の惨状があるわけで

僕の会社は大放出はないみたいです。ずっと自社内で仕事をするみたいです。
だから、大放出はないと思いますが...。2年くらいJavaの経験を積んでも
放出できない(相手、企業が求める人材のレベルはもっと高いらしいので)と
言っておりました。
これって、信じても良い話ですか?なんだか、はやいとこ、設計覚えてもらって、
大放出されるのか心配になってきました。(w
ちなみに今猿ってコンサルのことですよね。

>客も最近は「Java で【設計が】出来る人」という注文をするようになったようだが

そもそも、設計って意味もちゃんと理解してないのに。。
                              γ      γ
       ∧_∧                           γ
       (::::::::::: )                       ......................................
      .(○::::::: )                      .::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::........
     ~"''"""゛"゛""''・、                   ...:::::;;;''        ';;;:::::.......
 "”゛""''""“”゛゛""''' "j'                 ...::::;;;''            '';;;::::::.........
 :::::ヘ :::::....ヽ :::;;;ノ  ::(                ....::::::;;              '';;;::::::::::.......
 ::  ゝ  :::::......ノ:;;../  ~~^^ ~~~~~^^^~ ~~^^ ~~^^ ~~~~~^^^~  ~~^^~~~^
>>520
大放出と、自社内かどうかは、あまり、関係ありません。
2年くらいでも放出できない、という話はどうでしょう。
2年後、Javaがあるか、どうか、
その他に、社員への、サポートはありますか?
それから、社メールつるしてください。看板でかまいません。
523デフォルトの名無しさん:02/11/24 05:44
>>522
大放出されるのは嫌だったので、もしかして、会社は
裏では、僕を大放出しようと企てているのかもしれないと不安になりましたです。
当分は、自社で仕事をしたいと思っていたので。
社員へのサポートって?
特にないと思いますけど。
社メールもここにつるすほどのこともない普通の業務連絡のメールしか
来ないですよ。
524デフォルトの名無しさん:02/11/24 05:55
おめーら雑談してないで、>>506に答えて下さい。
>>524
Selected
526デフォルトの名無しさん:02/11/24 09:37
リスト部分がダイアログからはみ出るコンボボックスで選択すると,その後そのダイアログ上のテキストフィールドにフォーカスが来なくなるんだけど,なんとかなりませんかね?
527524:02/11/24 12:13
>>525
DefaultTreeCellRendererにはselectedがありましたが
Table関係にはありませんでした。

getTableCellRendererComponent( )をオーバーライドして
if(isSelected){
 setBackground(selectionBackground);
 setForeground(selectionForeground);
}
などとしてみましたが、今度はレンダラをセットした列全体が
選択色になってしまいました。もうワケワカメです。
助けてください。(泣
528デフォルトの名無しさん:02/11/24 13:03
まったく関係ない話なんですが、Java Web Start って使ってる人いますか?
今まではアプレットでミニゲームなんかをせこせこ作ってましたが、
なんか配布に便利そうな気がしたので、聞いてみます。
探してみたけどどうしてもわからないのでここで質問します。

同ディレクトリのURL上ファイルを読み出す前に
そのファイルの有無をチェックするような命令はありますか?
tryでくくってるのに無いのを読もうとしたら止まってしまうんです。
530デフォルトの名無しさん:02/11/24 14:49
catchするものを、間違えていませんか?
ヘミ
531デフォルトの名無しさん:02/11/24 15:25
>>527
DefaultTableCellRenderer をそのまま使った場合はどうですか?
私はそれで右寄せして,なんの問題もありませんが・・
532デフォルトの名無しさん:02/11/24 15:46
public class Test5 {
public static void main(String[] args){
abc X = new def();
X.abc1();
}
}

class abc {
public void abc1(){
System.out.println("abc1 of abc");
}
}

class def extends abc {
public void def1(){
System.out.println("def1 of def");
}
}

この場合のmainにおけるXはどのクラスを参照する変数なのですか?
abc?def?
ちなみにX.abc1はコンパイル通るけど、X.def1は通らないところをみると
Xはabcインスタンスを参照してる?(なんか言ってることおかしい?)
でもgetClassしてみるとdefが返ってくる・・・
>>532
def
>>532
答え:def


(def)X.def1();
535デフォルトの名無しさん:02/11/24 16:07
keytpyedをつかって文字を入力させようと思ってるのですが
アプレットが表示されても1回アプレットの画面をクリックしなければ
文字が入力できません。
表示されたら即入力とかはできないんですか?
((def) X).def1()
じゃないかな
>>535
出来ないです。
パスワード抜いたりとか出来るからね。
>>532
defです。defにキャストすると、def1()も、コンパイル通ります。
539532:02/11/24 16:14
>>532-534
ですよね。
大体、X = new def() してんだから当然といえば当然ですね・・・
なるほど (def)X.def1(); であればdef1()を実行できるんですね。
だとすると、キャストしていないXというのはdefを参照しているけども
型はabcだからdef1()にアクセスすることを許さないわけだ・・・(あってる?)
540532:02/11/24 16:15
536さん、538さんもありがとう!
「参照の型」と「オブジェクトの型」の違いね。
542デフォルトの名無しさん:02/11/24 16:47
JDBC使ってデータベース接続するところで以下の記述があります。
Class.forName("oracle.jdbc.driver.OracleDriver");

forNameって指定したクラスを取得するメソッドですよね。
取得したクラスはどこいっちゃうのですか?
私のイメージだと取得するっていうのは
変数 = メソッド
っていうことだと思うのですが・・・
Class.forNameには左辺がないし。
コンストラクタで、ドライバー管理クラスのstaticメソッドを呼び出して、
自分自身を登録するとか何とかいう記述を見たことがある。
記憶違いかも。
普通ドライバークラスっていうのは、こういう実装になっているんだけど。
public class XXDriver implements Driver {
  static inst = new XXDriver();
  static {
    DriverManager.registerDriver(inst);
  }
}

そうすると、XXDriver.class と書くだけで、registerDriverが実行される。
それって、Class.forNameと同じなんで。
DriverManager.registerDriver(String)
があれば、DriverManager.registerDriver("oracle.jdbc.driver.OracleDriver");
とか書けるんだけどね。
DriverManager.registerDriver(Driver); しか無いから。
DriverManager.registerDriver((Driver)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance());
これを簡略表記するため、Class.forNameだけで使えるようにした。
一番最初のでもいいと思うんだけど。String
546デフォルトの名無しさん:02/11/24 17:01
質問です。

staticなメソッドを作成した場合、
それが複数のスレッドから同時に呼び出されると
タイミングによっては
それぞれに影響を及ぼすのでしょうか?

例えば
public static int methodA(int a){

 変数aを使った計算

 return 結果

}

のメソッドを、
スレッド1がmethodA(1)している途中に、
スレッド2がmethodA(2)した場合。

でもMathクラスとかは大丈夫でしたよね?
>>546
>でもMathクラスとかは大丈夫でしたよね?

特に共用のメモリ使ってないからな。
548デフォルトの名無しさん:02/11/24 17:14
最近説明するのが面倒な質問が多い。
基本的な事ぐらい勉強してから来い。
>>548
まぁ、

自分より頭が悪い奴が多い−>自分は頭が良い

と言う錯覚から来る傲慢なんだけどな。それ。
気持ちはわかるよ。
550418:02/11/24 17:24
亀レススマソ

>>421, >>423
恐らくうまくいかないですね.
これらのクラスをうまく使おうと思ったら,
結局,パネルからImageオブジェクトを
取り出さないといけないんですよね.

>>424
panelA.printAll(panelB.getGraphics());
面白い方法だと思いましたが,これも駄目でした.
printAllでは,panelAのGraphics(panelA.getGraphics())を
使って描いた部分だけは抽出できませんでした.
paintAllも同様です.



要は panelA.getImage() なるメソッドが存在すれば問題ないのですが.
それか,PrintScreenキーみたいなものがあれば・・・
551デフォルトの名無しさん:02/11/24 17:36
>>549
知識がない人間を以って頭が悪いと形容するは
原石を以ってダイアモンドにあらずと認定すると一般なり。

知識はただ「量」なりて「質」にあらず。
>>551
必要な情報すら集めようともしないのは知識とかを超えた根本的なところだと思われる。
>>551
学習する意欲のない人間の事を「ダイヤモンドの原石」
とか言われてもなぁ、とゆー感じもしますが。
554551:02/11/24 17:41
即ち知識のない人間は「量」の足りないナマケモノと認定すべきが至当なり。
>>551
前文では質が大事だと言っているが,後者では量が大事だと言っている.
これ如何に?
556551:02/11/24 17:43
「ダイアモンドの原石」の比喩は極論。
>>555
俺の論理にココロを打たれ改心した。と考えるのが妥当。
558551:02/11/24 17:43
>>555
いづこに「量」が大事の記述あらんや?
量は大事だよねー。
「量」は「質」へ転化するって習った。
>>559
しばしば反比例もするがね。
弁証法というやつだな。
562デフォルトの名無しさん:02/11/24 18:36
JAVAを覚え始めたばかりの初心者です。

アプレットで簡単なWARゲームを作ってみようと思ったのですが、

○「タイトル画面」
 →音楽と画像を垂れ流し。特定の場所をクリックするとメイン画面へ
○「メイン画面」
 →六角形のへクスで埋められたマップ画面と周りに各種ボタン
○「生産画面」「ヘルプ画面」・・・etc

それぞれの画面には、それぞれスレッド処理・リスナー処理を持っているとして、
状況に応じて各画面の処理をアプレットで行うには、どのようにすれば
よろしいのでしょうか。Panelごと入れ替えるような方法ですと、Appletで
使用可能なgetImageなどがpanelでは使用できなかったりするようです。

どうぞご教示お願いいたします。
>>562
Stateパターンで検索汁
>>563
あるアンチパターン

・パターン名だけでプログラムの構成が伝わると思ってる奴はバカ。
>>564
共通語彙であることこそがパターンの意義なのだが…
#ワケ ワカ ラン
  ワケ     ワカ     ラン
  ∧_∧   ∧_∧    ∧_∧
 ( ・∀・)  ( ・∀・)   ( ・∀・)
⊂ ⊂  )  ( U  つ  ⊂__へ つ
 < < <    ) ) )     (_)|
 (_(_)  (__)_)    彡(__)
>>565
典型的な勘違いくんだな。

ある程度は意思の疎通が出来る。と考えるべき。

どっちにしろパターンをまるまるそのまま適用出来るような場面が早々あるのかと。
お前のカスタムパターンをオリジナルと同じ言葉で表現するのは問題がないか?

そういうことだ。
567デフォルトの名無しさん:02/11/24 18:47
>>564
>>562に「プログラムの構成」という言葉も伝わらないと思われ。
まぁ、>>564も同類か。
>>566
はいはい。説教するだけならマ板に行ってね。
569564:02/11/24 18:49
>>567
>>568
  (俺に)わけわかんねぇこと言ってんじゃねぇ

              ズビシ!
        ∧_∧(⌒)
        ( ´Д` )ノ ~.レ-r┐
       /,   ノ__ | .| ト、
         〈 ̄   `-Lλ_レ′
            ̄`ー‐---‐′
カスタムパターン(プ
>>570
じゃあ改悪パターンか?(藁
久々の祭りのヨカーン
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
>>じゃあ改悪パターンか?(藁
質問者をほっぽりだして解答者にばかり噛み付くという、
ム板名物の役立たずどもが寄ってきました…
>Panelごと入れ替えるような方法ですと、Appletで
>使用可能なgetImageなどがpanelでは使用できなかったりするようです。
PanelからApplet使えば
>>573
オマエモナー
Appletか、Panel拡張オブジェクトかどっちかを保持させりゃー終わりだろ。
/\ |  /|/|/|  ドドドドドドドドドドドド!!
  |      /  / |// / /|
  |   /  / |_|/|/|/|/|     (´⌒(´⌒`)⌒`)
  |  /  /  |文|/ // /  (´⌒(´祭だ!!祭だ!!`)⌒`)
  |/  /.  _.| ̄|/|/|/    (´⌒(´∧ ∧⌒`)`)`)⌒`)
/|\/  / /  |/ /     (´⌒(´(,゚Д゚ )つ `)`)
/|    / /  /ヽ  (´⌒(´⌒  (´⌒( つ |〕 /⌒`)⌒`)
  |   | ̄|  | |ヽ/|  遅れるな!!   ( |  (⌒)`)⌒`)
  |   |  |/| |__|/.   ∧_∧ ⌒`).ドし'⌒^ミ `)⌒`)ォ
  |   |/|  |/  (´⌒(´( ´∀` )つ  ド  ∧_∧⌒`)
  |   |  |/    (´⌒(´( つ/] /    ォと( ・∀・ ) 突撃――!!
  |   |/        ( |  (⌒)`)  ォ ヽ[|⊂[] )`)
  |  /         (´ ´し'⌒^ミ `)`)ォ (⌒)  |
Applet内のローカルクラスとして
Panelのサブクラスを定義しろ。
それを状態ごとに切りかえれ。
578562:02/11/24 18:56
戻ってきたら、賑やかなことに・・・ Σ(゚Д゚)

只今stateパターンで検索して読んでいるところです。
変な質問をしてしまったようで、まことにすみませんでした。
>>577
Stateオブジェクトにそのパネルのファクトリを入れれば良いんだよ!ボケ!!!!!!!
564圧勝。
(´Д`;≡;´Д`)フォォォォ!!
あー、説明聞くと典型的Stateパターンだね。
>>563の言う通りだ。
  ∧∧    ミ _ ドスッ    .     
  (   ,,)┌―─┴┴─――┐ .  . 
 /   つ.    終了   .  .│   
〜′ /´.└―─┬┬─――┘. 
 ∪ ∪      .││ _ε3 .
          ゛゛'゛'゛    .
なるほど、java.lang.Stateでしょうか?
>>584
うっせぇよ!もう!!
586デフォルトの名無しさん:02/11/24 19:11
State implements Factory でいいですか?
Factory getFactory() メソッドをStateクラスに持たせるのですか?
両方あわせて、getFactory() { return this; } しても良いですか?
589デフォルトの名無しさん:02/11/24 19:37

    .∧∧ だめだふりゃー
  ,.、,(゚Д゚ )      /i
 ;'`;、. :,.:∪`゙:゙:`''':,'.´ -‐i
 '、;:.: .、.:',.: .:: _;.;. :.‐'゙゙~  ̄
  `` U U

590デフォルトの名無しさん:02/11/24 21:19
import java.lang.reflect.*;
public class Test {
public static Integer il[] = {new Integer(32)};
public static int id[] = {13};
public static void main(String args[]){
try{
Class cls = Class.forName("Test");
Field f1 = cls.getField("il");
Object o1 = f1.get(null);
System.out.println("class name is "+o1.getClass().getName());
Field f2 = cls.getField("id");
Object o2 = f2.get(null);
System.out.println("class name is "+o2.getClass().getName());
Object obarg1[] = (Object[])o1;
for(int i=0; i<obarg1.length; i++){
System.out.println(obarg1[i]);
}
Object obarg2[] = (Object[])o2;
for(int i=0; i<obarg2.length; i++){
System.out.println(obarg2[i]);
}
}catch(Exception e){e.printStackTrace();}
}
}
/*
以上のプログラムを実行すると17行目でClassCastExceptionがおきます
int型(Primitive)の配列クラスの値を取得する方法はありませんか?
お願いします
*/
591590:02/11/24 21:37
あと、ただの配列だけでなく、
2重配列、3重配列にも対応できる方法がいいのですが
分かりませんか?
>>590 17行目って、おい数えろってか。目印ぐらい付けてくれよん。

>>562
JAVAを覚え始めたばかりの初心者ということなので、
背伸びせずに少しづつ作りこんでゆくのが良いかもしれません。
× Object obarg2[] = (Object[])o2;
○ int[] obarg2 = (int[])o2;
>>590
なぁ、帰ってくるのはObjectであってObject[]ではない気が。
int[] obarg1 = (int[])x;
595590:02/11/24 21:54
>>593,>>594
とりあえずそれで一次配列には対応できるのがわかりました。
ありがとうございます
でも>>591にもあるように
2重、3重それ以上の配列にも対応できるようにしたいんです。
しかもそれをプログラム上で構成できるようにしたいんです。
(int[][] a;とかは書かないで構成したい)
>>595
不可能。
って言うかそんなもん扱いようがないだろう?お前。
597590:02/11/24 21:58
いや、Integer型だとisArray()がfalseになるまでやればできるから
int型の配列でもできないかと思って・・・。
やっぱ無理ですかね?
配列ではなくて、Listを使ってツリー形式で構成しちゃだめですか?
599590:02/11/24 22:02
>>598
ユーザープログラムを読み込む形でやりたいので
もしユーザープログラムにint型の多次元配列があった時の
方法として何かあるのかと思って・・・。
でも無理そうなのでサポート外にしますw
>>599
つぅか壮大な何を作る気よ?
601590:02/11/24 22:08
>>600
ただ単純にユーザープログラムの解析・テストなどです
やっぱ無理そうなので3次元超えたらサポート外としますw
602デフォルトの名無しさん:02/11/24 22:19
>>531
素直に
renderer = new DefaultTableCellRenderer();
renderer.setHorizontalAlignment( RIGHT );
したら期待した表示になりました。
ありがとうございました。

自分手元のSwing関係の書籍&Webで調べながらCoding
してるのですが、このくらいで躓いているのでちょっと先が
思いやられます。
Swingを使ったちょっとしたJavaアプリケーションでソースを
公開しているサイトとかありますか?参考にしたいので。
Sunのチュートリアルとかは肝心な自分のやりたいことが
のってなかったりします。
>>601
int の多次元配列だけだったら

func( Object obj ){
 if( obj instanceof int[] ){
  int[] array = (int[])obj;
  for(int i = 0 ; i < array.length ; i++)
   ......;
 }else{
  Object[] array = (Object[])obj;
  for(int i = 0 ; i < array.length ; i++)
   func( array[i] );
 }
}

最近似たようなのを見たような気もする…
前スレだったかなぁ…
604590:02/11/24 23:04
>>603
それだとint[][]の2次元配列でも上手くいかないんだが・・・
まあ、諦めたことなので分からなければ別にいいですw
>>604
うまくいきますけど
>>604
{int[]} -> {java.lang.Object}
だから、
Object[] object = new int[1][1];
が成立する。

プリミティブ型はそれぞれ別の継承のトップに別個にあると思えばいい。
他の型にも対応するには、全プリミティブ型の判定を書く。
if の連続が嫌なら、I -> int、F -> float って感じの switch を書いてやる。
607デフォルトの名無しさん:02/11/25 00:10
Field#getType()でそのフィールドのClassオブジェクトとっておいて、
Classの種類で分岐+再帰すれば何とかなるんじゃねえの。
ダウンロードしてインストール無しで実行するアプリケーションを
javaで作ろうと思った場合、どんな単語でググればいいですか?

「java windows用 アプリケーション 作り方」等では
見つからないです
1. Executable Jar
2. Java Web Start
Java Web Startはインストールの内に入るかな? 入るか。。
>>609
ありがとうございます。
わんさか見つかりました。
これから熟読します
windows *しか* 使わない人が初めての言語として java を選んだ理由を教えてください
>>612
1.VC++でMFC使うより楽だから。
2.VB使うのはプライドが許さないから。
3.Delphiを知らないから。
4.最近はJavaが使える開発技術者に市場価値があるから。
5.先行き明るそうだから。

こんなもんか?
>>612
だめなの?
>>613
的外ればっかだな・・・
616デフォルトの名無しさん:02/11/25 01:30
excel出力したいのですができるのでしょうか?
csvではありません。
教えてくださいー。
617でふぉるとん:02/11/25 01:35
>>612
単にたまたま雑誌とか人からいいと聞いたからだろ。
たいした考察なんかありゃしないよ。
javaについてまだまだ知らない初心者ですが、質問させてください。

マニフェストとかいうのとjarを使って、自作のアプリケーションが
ダブルクリックで動くらしいのですが、例えばswingに対応してない
環境でswingを使ったアプリケーションを動かすにはplug-inとか
いうやつをDLしてもらうしかないのでしょうか?

DLして、ダブルクリックしただけでswingを使ったアプリケーションを
確実に起動できる方法は、今学んでいるマニフェストとかjarとかの
後に出てくるのでしょうか?

これに関する話題をググるためのキーワードでもかまいませんので、
教えていただけないでしょうか
>>619
Swingに対応していない「環境」では、Swingが動くはずないです。
Swingに対応している環境なら、JREインストールしてあれば普通に
動きます。
>>620
アホな質問してしまってすんませんでした。

素人すぎるゆえ、swingに関係するクラスも全てjarに入れてしまえば
いいのかななんてこと考えてたんです。

awtの範囲でプログラムを組むことにします。
Javaは一回書いたらどこでも動くんじゃなかったのか?
>>622
新しいバージョンになるたびに、ランタイムのインストールが必要。
たとえばJDK1.1の時に書いたプログラムは
その後のバージョンだとずっと動くよ…まあ、99.9%は。
625デフォルトの名無しさん:02/11/25 02:01
616ですが、
http://jakarta.apache.org/poi/
じゃない方法はあります?
そういえば、「javac -deなんとか」で出る、推奨されないメソッドは、
いつ頃から使えなくなるんだろう
>>625
(1)JNIでCOMを叩いてExcelを起動し、それを経由して操作。
(2)OLE2複合フォーマットを自力で作成。

どっちかしかねえだろ。
2がPOI。1はJava-COMブリッジがフリーで転がってるから探せ。
628初心者 :02/11/25 02:08
以前質問させてもらったのですがどうしてもできず、
シンプルな物を即席で作ってみたのですがやはり実行時にエラーが出てしまいます。
TextFieldに値をいれてボタンを押すと+5してくれると思ったのですが・・・
どこがいけないんでしょうか?汚いですけど宜しくお願いします

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

class Test extends JFrame{
JTextField tf;
JPanel p;
JButton bt;
public Test(){
setSize(300,50);
Container c=getContentPane();
c.setLayout(new GridLayout(1,1));
c.add(tf=new JTextField("",5));
c.add(bt=new JButton("+5"));
bt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
Mythread mythread=new Mythread();
mythread.start();
}
});
}
}
つぎにつづきあります
629初心者 :02/11/25 02:09
class Mythread extends Thread{
Test test=new Test();
int number;
public void run(){
while(true){
try{sleep(2000);}
catch(InterruptedException ie){}
number=Integer.parseInt(test.tf.getText());
number=number+5;
test.tf.setText(Integer.toString(number));
}
}
}
public class Testtest{
public static void main(String args[]){
new Test().show();
}
}
終わりです。
実行時なんて嘘つくな。コンパイルと追ってねえだろ。
631初心者 :02/11/25 02:11
あれ?通ってたはずなんですけど・・・
コピペしたあと空白消したりしたので
なんか消してしまったかもしれないです。
今日初めてJbuilder7を起動。 DELPHIそっくりですね〜
とっつきやすくて助かるわ。

プロジェクトウィザードやオブジェクトギャラリを開いてる
ときにヘルプのスクロール等が出来ないのは結構痛い・・
>>619
ActiveXを利用してクリックひとつで
最新のJavaのplug-inをダウンロードしてもらうのが、
もっとも目的にあっているように思います。

ただし必要条件としてダウンロードする相手が
windowsでIEを使っていることが求められます。
もちろんADSLなどの高速な回線でインターネットに接続していることも。
JAVA初心者で、困っています。

EUCで保存されているデータファイルをJavaから読み出したいのですが、
キャラクターセットをうまく変換する方法がわかりません。

データファイルには文字列以外にもInt値などプリミティブなデータが保存されています。
その文字列が保存されている一部分だけをうまくUNICODEに変換したいのです。

文字列の開始インデックスと長さは計算することができます。
ですので、最終的にはバイト列をエンコードするだけでいいのではと考えています。

NewI/Oなど使おうと思っていたのですが、EUC_JPはどうも使えないようで・・・。

どなたか、文字を表すEUCのバイト列をUNICODEに変換する方法を教えてください。
String に変換する方法なら
byte[] b;
String str = new String(b, "EUC_JP");
String str = new String(b, off, len, "EUC_JP");
636634:02/11/25 18:20
>>635
なんと!全く気づきませんでした。
java.io.*とかばっかり探してました・・・。

おかげでうまくいきました。
ありがとうございました!
>>614
WINDOWSだけにしか使わないんだったらJAVAの意味も半減なのでわ
>>637
だめなの?
  ゲラゲラ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  >>637はアホか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ シネヤ クソガ
640デフォルトの名無しさん:02/11/25 20:39
WindowsのためだけにJavaを使うのがいけないというよりも
>>612>>608の質問の仕方につっこみをいれているのではなかろうが。

>>608がググった「java windows用 アプリケーション 作り方」
を見る限り彼はWindows用アプリを作りたいようであるのに、
その質問内容の第一パラグラフにおいては、
「ダウンロードしてインストール無しで実行するアプリケーション」
と記述するのみであり。どのような環境を想定しているのかを明示していない。

>>608
MicrosoftのJavaVMに対応したアプレットで代用するか、
>>633のActiveXでJavaVM1.4をインストールさせてしまうのがいいよ。
そうすれば>>609-610のいうJavaWebStartも
いっしょにインストールされるし。

ただWindowsXPでは、アプレットは
>>633のを使わないと動かないかもしれないけどね。

JavaをやるならOSX用 アプリケーションを作ると楽しいよ。
JWSもプレインストールされているし、ダウンロードしてきたjarファイルも、
ダブルクリックするだけで起動できるし。
学校の勉強でいつも先生は

class BallTest{
public static void main(String args[]){
(以下略)
}

のようにmain関数の前には必ず(String args[])のように、文字列を受け取るわけでもないのにString args[]をつけているのですが、これの意図は何なのでしょう。
JVMが最初に見つけて実行するのがstatic void main(String[])だから。
ためしにstatic void main()に変えて実行してみ

(String args[])は古臭いから(String[] args)にしろ。
>>641
コマンドラインの引数を受け取ってんだけどね.
java BallTest args0 args1
>>608
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/plugin/developer_guide/intranet.html
使って、JREをJavaPluginごと入れてもらうのが一番楽かと。わけわかんなかったら、
http://dlres.java.sun.com/PluginBrowserCheck?pass=http://java.sun.com/getjava/installer.html&fail=http://java.sun.com/getjava/others.html
をクリックさせるだけでもいいけど。
JAVAの知識ゼロなんですが、
JAVAって、コンソールアプリ作ったとしてもJRE必要なんすか?
必要です。VBのプログラムにVBのランタイムが必要なのと
まったく同じ理由です。
>>646
即レスサンクス。
新言語練習がてらコンソールアプリ作って会社で使おうと思ったけど
やめときます。またの機会に。
648デフォルトの名無しさん:02/11/26 00:18
JEditorPaneでフォントサイズを変えたいのですが、setFont()しても変わりません。
いろいろ調べているうちにStyleConstantsとかMutableAttributeSetとかどう使うのか
わからないクラスに出くわしました。
JEditorPaneでフォントサイズをいじるにはここらへんのクラスを使うのが正解
なのでしょうか?
統合しました。


【統合】Java開発環境スレ

  http://pc3.2ch.net/test/read.cgi/tech/1038118138/
650648:02/11/26 01:26
setContentType("text/html")してるとsetFont()してもフォントを
変えることができないみたいでした。タグでフォント指定することにしました。
651バージョンダウン:02/11/26 02:27
JDK 1.3 のJava アプリを JDK 1.1.8 でコンパイルして動かしたいのですが
下位互換性ってどれくらいあるのでしょうか。
移行する時のおおよそのソース書き換えの手間等知りたいです。
宜しくご教授お願いします。。

XNap
http://sourceforge.net/projects/xnap/
652デフォルトの名無しさん:02/11/26 06:37
>>651
1.3には存在して、1.1.8には存在しないクラスが山ほどあるが、
それ使ってるところは片っ端から修正。
653デフォルトの名無しさん:02/11/26 07:25
お返事ありがとうございます。助かりました。
およそ八割と見て、断念しました;;
654デフォルトの名無しさん:02/11/26 07:45
次は Ant を使ったビルドに挑戦しています。
いくつかのソフトはビルドに成功しましたが、XNapというソフトはエラーがでてしまいます。

[user:/xnap2] user% ant
Buildfile: build.xml

BUILD FAILED
Target `unjar-deps' does not exist in this project. It is used from target `jar'.

Total time: 3 seconds
655デフォルトの名無しさん:02/11/26 07:49
build.xml の中の unjar の項目をみますとこうなっていました。
unjarやallというコマンドはターミナルから入力しても見つかりませんでした。
どこに原因があるのでしょうか。。。
<target name="unjar-deps" depends="init">
<unjar dest="${tmpdir}">
<patternset>
<include name="**/*.class"/>
<include name="**/*.properties"/>
<include name="**/*.gif"/>
<exclude name="META-INF/**"/>
</patternset>
<fileset dir="${lib}" includes="**/*.jar"/>
</unjar>
</target>
656デフォルトの名無しさん:02/11/26 07:50
<target name="jar" depends="init,all,unjar-deps">
<jar destfile="${tmpdir}/${output.name}" manifest="xnap/MANIFEST">
<!-- various licenses and text files -->
<fileset dir="${basedir}">
<include name="AUTHORS"/>
<include name="COPYING"/>
<include name="README"/>
</fileset>
<!-- all xnap properties and images -->
<fileset dir="${basedir}">
<!-- Yuk! Why is this file in the root? -->
<include name="plugins.properties"/>
<include name="xnap/**/*.properties"/>
<include name="icons/**/*.png"/>
</fileset>
<!-- all classes and properties -->
<fileset dir="${tmpdir}">
<include name="**/*.class"/>
<include name="**/*.properties"/>
<include name="**/*.gif"/>
</fileset>
</jar>
</target>
657デフォルトの名無しさん:02/11/26 08:00
Antのバージョンが古いから、unjarタスクが実装されてない。
Jakartaイって落してきなさい。
658デフォルトの名無しさん:02/11/26 08:54
お返事ありがとうございます。
現在1.5.1を使用しています。
659デフォルトの名無しさん:02/11/26 10:00
ソースをよく見たところunjarターゲットがコメントアウトされていただけでした。
これをとると万事うまくいきました。
お騒がせしました。
質問なのですが、「通信を受け取ったこと」をイベントとして
GUIを動作させるにはどうしたらいいでしょうか?
何かリスナーを使えばいいのか、それとも他の方法があるのか、思いつきません。
わかる方、どうかよろしくお願いします。
661デフォルトの名無しさん:02/11/26 13:33
数値二桁のコードの十の桁を取り出したいんですが、
Integer div = (Integer)session.getAttribute("CODE");
String kind = Integer.toString(div.intValue()/10);

と書くとClassCastExceptionになりました。
なにかいい方法はないですか。
>>660
通信監視スレッドたてれ。
>>661
Integer.parseInt(session.getAttribute("CODE"));
664660:02/11/26 14:41
>>662
回答ありがとうございます。
しかし通信を監視してもそれをどのようにGUIに伝えて動作させれば
よいかがわからないのです。
もう少し詳しい説明をお願いできますか。

>>661
>>663
こうではないでしょうか?
int div = Integer.parseInt(session.getAttribute("CODE").toString());
String kind = String.valueOf(div/10);
>>663
sessionはたぶんHttpSessionだと思うんですが、
HttpSession.getAttribute()はObject型返却するんで
parseInt()出来ないのでは?

661は明らかにsession.setAttribute()した型がIntegerではないんでは?
666デフォルトの名無しさん:02/11/26 15:17
初心者です。
クラスメソッドというのは、クラス名.メソッド名 という形でメソッドを呼び出せますが、System.out.printlnの場合は「.」が2つついていますよね。
これは何で2つ付いているのでしょうか?
>>664
「通信」がソケット間通信なら、次の処理をバックスレッドで実行する。
ServerSocket socket = new ServerSocket(ポート番号);
Socket soc = socket.accept();
InputStream inStrm = soc.getInputStream();
//通信内容の確認

//通信内容が正しいなら、下のステップを実行する。
javax.swing.SwingUtilities.invokeLater( new Runnable() {
void run() {
//GUIに反映したい処理を記述する。
} });
>>666
ネームスペース。
初心者.666.質問する()
670661:02/11/26 15:44
皆様アドバイスありがとうございます。
>>665
そうです。HttpSessionです。
HttpSession.getAttribute()ってObject型を返すから
何を入れてもObject型になるなら何でもいいやと思って、
setAttribute()は全部String型で入れてました。
Integer型で入れないとInteger型で受け取れないのですね。
これは知りませんでした。
setAttribute()にInteger型で入れたらキャストできました。
ありがとうございました。
>>666
PrintWriter pw = System.out;
pw.println("ほげほげ");
672デフォルトの名無しさん:02/11/26 16:24
シグ2(WINCE)でJPHONE用JAVAアプリ(ゲーム)作りたいんですが、
どうすれば開発環境を整えることができますか?
激厨房な質問ですみません。m(__)m
673660:02/11/26 16:30
>>667
ありがとうございます。
このようなメソッドがあったのですね。
しかしスレッドの力をあらためて思い知りました。

>>670
GETで渡しているのかと思いました。
Windows2000で開発しているのですが、
標準出力にアラビア語を出力しても文字が化けてしまいます。
上手くやるにはどうすれば良いでしょうか?
出力する環境が無いのでわかりませんが、コンソールのコードページを
変更でできませんか?
CHCP 1256
とするとか。
>>628
なんだか、誰も答えないので、、。
インスタンス、スコープ、内部クラスあたりの勉強をすると分かると思うぞ。
じゃなかったら、あきらめてjavax.swing.Timerあたりを覗くと幸せになれるかもね。
677デフォルトの名無しさん:02/11/26 20:01
大量のWebページを取得する場合、SocketクラスとURLクラス、どちらを使った方が
効率的なのでしょうか?
また、URLクラスのメリットがあれば教えてください。
>>668-669
    /\
     / ヽ\
    /  ヽ \             / \
   /    ヽ \__        / ヽ \
  /  ‐_ ヽ     ―――__/   ヽ \
 /        ̄           / __ ヽ \
|                          ̄  \
|                             |
|        ||                   |
|  ゝ_  |||/                  |
|  ( ・ ブ       ゝ__       ┃ ┃   |
|    ̄         ( ・ ̄ ̄ ブ   ┛ ┗  |
|              ゝ__ ノ    ━┓ ┏  |   ┃ ┃
|    __            ̄        ┃  |   ┃  ┃
|     | ̄ ̄ーヽ                  |   ┃   ┃
|     |     ヽ                 |
|     |     |ヽ               |      ━┓
 \   _⊥_    |                |      ┃┛
  \      ̄ ̄ヽ_⊥               |
   \                         |     ┏━┓
    \                       /        ┏┛
     \                     /         ・
     |                   |
     |                   \
    /                     \
   /                       \
>>672
マルチポストすんなボケ。
680デフォルトの名無しさん:02/11/26 21:56
>>677
ドウセあいてはHTTPDで、URL一個ごとにTCPコネクション作り直すしか
ないので、URLConnectionの方がプログラムが簡単になるぶんだけマシ。
HTTPD相手に生のSocket開く必要があるのは、ヘッダ偽造とか、そういう
ことがしたいときだけじゃないかな?
681デフォルトの名無しさん:02/11/26 22:00
>>674
標準出力じゃなくて、AWTかSwingのテキストフィールドに吐いたら?
Unicodeベースで文字記述するから、BMPに収まってる文字なら何でも
オッケなはず。
>>681
のりピー語もオッケですか?
>>682
おそらくBMPに載ってないのでダメ(ワラ
>>675
>>681
ありがとうございます。

結局標準出力では上手くできなくて、Swingで解決しました。
標準出力はPrintStremを上手く設定できれば良かったのかもしれませんが...。

しかし、Unicodeは複雑ですね。
1.5ではサロゲートをサポートするそうなので、今までのツケがまわってくるので
戦々恐々です。
685デフォルトの名無しさん:02/11/27 00:14
Javaで文字化けに困っています。
先生方、どうぞ書き込んでやって下さい。

http://pc.2ch.net/test/read.cgi/mac/1038320589/
>>681
半角¥がバックスラッシュになってしまいまくりすてぃ
687デフォルトの名無しさん:02/11/27 01:57
JavaでWindowつくるときFrameとswingのJFrameのどちらがいいのかな?
>>687 好きな方で。
>>686
バイトアレイ読み込み時のエンコーディングをMS932以外に変更すれ。
>>685
Shift_JISのマルチバイト文字なんか使うな。コレで解決。
691デフォルトの名無しさん:02/11/27 10:42
Object型からInteger型に変換するときって、
一回String型に変換しないと無理なんですか?
一発で変換できる方法ってあります?
>>691
Object o = new Integer(691);
Integer i = (Integer)o;
でいかない?
>>692
なぁさ、そのObject型に入ってるのがどのクラスのオブジェクトか聞かんと答え出せん気がするぞ。
>>693
一発変換の方式はこれしかないし、
間違ってたらClassCastExceptionでるから別にイイジャン!
>>692
何がしたいんだ?
Jakartaに、Converterのサブクラスとして、IntConveterていうのがあります。
nullしょりを省くとこう。
int convertInt(Object o) {
 if(o instanceof Number) {
  return ((Number)o).intValue();
 }
 String x = String.valueOf(o);
 try { return Integer.parseInt(x); } catch {}
 try { return Double.valueOf(x).intValue(); } catch {}
}
2.48E+6 とかの表記に対応していたかどうかは分らない。
桁あふれの場合どうなったかも覚えていない。
697デフォルトの名無しさん:02/11/27 11:18
>>690
お返事ありがとうございます。
Shift-JISとはおっしゃるとおり縁を切りたいです。
実際にはどこの部分を書き換えればいいのでしょうか。

ソース
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xnap/xnap2/xnap/
698デフォルトの名無しさん:02/11/27 12:03
Forte 4って起動するの遅すぎ。起動するのを待ってられないです。
それに使っていると突然、止まってしまったりします。
Forte 4と同じようなGUI環境の軽いオススメソフトありませんか?
>>698
メモリ増やせ。以上。
700デフォルトの名無しさん:02/11/27 12:59
>>698
256Mじゃ足りない。384M以上必須。推奨512M以上。
701691:02/11/27 13:02
>>692,693
なんとなくわかった。さんくす。
>>700
単位もまともに書けないなら黙ってな。
703デフォルトの名無しさん:02/11/27 15:20
byte[] b = ("a").getBytes();

int int_i = b[0];
としたときにint_iからString "a"をもういちど戻すにはどうしたらいいですか?
また、int_i++;とかしたら"b"もとりだせますか?
i++;とかできるなら一覧表があれば教えていただけるとうれしいです
>>703
Character#toString(int_i)
でできるんじゃない?

ただし、サロゲートの問題、結合文字の問題は
良いのかと思ってしまうけど...。
JAVAでひし形を描くにはdrawLineを使って
ちまちま描くしか方法がないのでしょうか?
706703:02/11/27 15:45
Character#toString(int_i)
ですが#はなにがはいるんでしょうか?
>>703
String a = new String(new byte[]{(byte)i});
708デフォルトの名無しさん:02/11/27 16:16
>>706
String str = Character.toString(int_i);
>>705
ひし形を書く専用の機能は無いが、角の座標が決定できれば
drawPolygon() 使って一発で描ける。
>>705
>>709が普通の方法だが、Java 2DのGeneralPathを使って描く方法もあるよ。
相対座標を使いまわせるので、ドローツールなんか作る時にいいかもね。
>709
>710
ありがとうございました。いろいろ試してみます。
712文字化け対策:02/11/27 22:03
if(ch == '゛'){
このダブルクォーテーションのキャラクター゜をバイトコード309cで表記するには
if(ch == "309c"){
とすればよいのでしょうか。
System.out.print(ch);
714デフォルトの名無しさん:02/11/27 22:21
アプリケーションとアプレットの違いってなんですか?
>>714
Appletを継承してるか否か。
716デフォルトの名無しさん:02/11/27 22:24
>>715
アプレットってなんすか??
>int_i
気持ち悪い書き方だね。
お前らListener leakはちゃんと対応しているか?
719愛振キャッシング:02/11/28 01:16
画像のロードでTemporary Internet Filesにキャッシュさせない方法を
教えてください。

画像の読みこみ自体は、getImage()とcreateImage()の2つの方法しか
知りません。どっちの方法もキャッシュに残ってしまいました。

URLConnection uc; の、uc.setUseCaches(false); っていうソースを
利用するとかして、何かいい方法はないですか?
すいません。VectorクラスのtoArray(Object[] a)について質問があります。

1:Vector v = new Vector();

2:v.add("文字列1");
3:v.add("文字列2");
4:v.add("文字列3");

5-1:String[] strAry = v.toArray( new String[ v.size() ] );

5-1行目の部分でClassCastExceptionが発生してしまいます。
次のように、キャストするとうまくいくのですが、理由がわかりません。

5-2:String[] strAry = (String[]) v.toArray( new String[ v.size() ] );


質問事項
1.APIドキュメントには、「返される配列の実行時の型は、指定の配列の型です」と書いてあります。
実行時に、オブジェクトの型( new String[ v.size() ]の部分)を指定しているのに、なぜ、キャスト(String[]の部分)する必要があるのでしょうか?
「v.toArray( new String[ v.size() ] )」の時点で、String型の配列が戻ってくるわけではないのでしょうか?

2.もし、質問事項1の答えが、「戻り値がobject型の配列が返ってくるから、キャストする必要がある」というなら、
なぜ、Object[]をString[]にキャストできるのでしょうか?Object[]の中身はStringだけど、配列自体はObject型ではないのでしょうか?
つまり、この場合は、スーパークラス(Object[])をサブクラス(String[])にキャストすることができないと思うのですが・・・。

以上です。よろしくお願いいたします。
721 :02/11/28 02:20
>>720
1.について
Collectionにはどのクラスが格納されているか分からないです。
だからどのクラスの配列をリターンするか前もって定義することは出来ないです。

2.について
リターンされているObject[]の実体がString[]だからキャストできます。
>>720
例えば
long add( long a, long b ){ return a + b; }
みたいなメソッドを例にとると、
int a = add( 1, 2 ); //×
int a = (int)add( 1, 2 ); //○
なのと(大体)同じ。
制限が緩くなる場合はキャスト不要。
 String str = null;
 Object obj = str;
制限がきつくなる場合はキャストが必要
 Object obj = null;
 String str = (String)obj;

なわけで、
1.
「返される配列の『実行時』の型は、指定の配列の型です」
と書いてあるとおり、
v.toArray( new String[ v.size() ] );
は実行時には String[] を返すけどコンパイル時には
コンパイラは Object[] を返すものとして解釈するので
明示的にキャストが必要。

2.
v.toArray( new String[ v.size() ] );
で実際に返されているのは Object[] でなく
String[] なので『実行時』には ClassCastException は出ない。

のハズなんだけど、ClassCastException が出るって書いてあるな…
コンパイル時に 互換性の無い型 とか incompatible types とか言われない?
うちの jdk1.3.1_05 と jdk1.4.1_01 だとコンパイルエラーになるんだけど。
>>721
>>722
ありがとうございます。

つまり、コンパイル時の型と実行時の型が違うということですね。

コンパイル時の型は、Object[]とみなされるので、コンパイラを通すために
明示的にキャストする必要があるということですね。

そして、実行時にはString[]で返ってくるので、それをString[]でキャスト
しても全く問題に無いということですね。

わかりやすい説明をありがとうございました。

>>722
すいません。上記のコードだと、「互換性のない型」とでます。
違うウィンドウを見てしまっていました。申し訳ないです。。。
724教えてください:02/11/28 12:47
ブラウザのステータスバーに
「stert:アプレットが初期化されていません」というメッセージが出ます。
コードは次のレスに書き込みます
725デフォルトの名無しさん:02/11/28 12:48
うそ?
726724:02/11/28 12:48
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class Lesson15 extends Applet{

Button myBnt;
Panel myPnl;
Label myLab;
TextField myTxt;

続く
727724:02/11/28 12:49
public void init(){

//パネルのインスタンス確保
myPnl = new Panel();

//パネルのレイアウト設定
myPnl.setLayout(new GridLayout(2,1));

//ボタンのインスタンス確保
myBnt = new Button("テスト");

//テキストフィールドのインスタンス確保
myTxt = new TextField();

//パネル内にボタンとテキストフィールド登録とインスタンス確保
myPnl.add(myBnt);
myPnl.add(myTxt);

//全体のレイアウト設定
setLayout(new BorderLayout());

//ラベルのインスタンス確保
myLab = new Label("",Label.CENTER);

続く
728724:02/11/28 12:49
//全体のレイアウトとラベルのインスタンス確保
add("Noth",myPnl);
add("South",myLab);

//ボタンイベント処理
myBnt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//ここにボタンイベント処理を記入
repaint();
//ここまで
}});
}

public void paint(Graphics g){
myLab.setText(myTxt.getText() + "さん、こんにちは");
}
}
729724:02/11/28 12:51
ちなみにコンパイル時にはエラーは出ません
ブラウザで表示する際にエラーが出ます
HTMLは

<HTML>
<BODY>
<CENTER>
<APPLET CODE="Lesson15.class" WIDTH="600" HEIGHT="500">
</APPLET>
</CENTER>

</BODY>
</HTML>

です。
長いソースはうpしろよ

>Button myBnt;
>add("Noth",myPnl);
731724:02/11/28 13:04
くだらないミスで申し訳ない・・・
ありがとうございました
初歩的質問をさせてください。

自分の環境にあるtxtファイルであれば、Appletから
InputStream in=new URL(getDocumentBase(),"ファイル名").openStream();
とすればファイルを読めることを最近勉強しました。しかし、
あるサイトにtxtファイルを置き、別の環境からそのファイルのurlをIEに
居れたら読みこみができるのですが、Appletから、
InputStream in=new URL("http://・・・/ファイル名").openStream();
とやると、com.ms.Securityとかいうのが出て開けません。

どうやらAppletだとセキュリティーポリシーがどうしたこうしたって
話があるようですが、これについて勉強する以外に上記のような
url指定でのtxtファイル読みこみはAppletには行えないのでしょうか?
同じ鯖なら出来んだろ
申し訳ありません。文章が足りませんでした。

サーバーは、Appletを設置している環境とは別な場所にあります。
Appletは任意のIEから起動し、そして各Appletが共通のファイルを
参照することを想定してるんです。

初歩的質問ですみません。
>>734
Sun の java plug-in だったらセキュリティポリシーを
クライアント側で設定すれば読めるけど。

MSJVM の場合は 署名済みcabが必要とかで
Microsoft SDK for Java のマニュアルを参照してくださいってさ。
ところで、 Microsoft SDK for Java ってまだ落とせるんか?
>>735
ありがとうございました。
迷惑ついでにもう一つ質問させてください。

サーバー側のperlを用いたcgiからAppletを起動、終了処理を行い、
そのAppletとクライアントのAppletが通信を行うことはできますか?
もしスレ違いな質問でしたら、この質問に適したスレッドでも
構いませんので教えてください。お願いします。
>サーバー側のperlを用いたcgiからAppletを起動、終了処理を行い、
>そのAppletとクライアントのAppletが通信を行うことはできますか?
よくわかんない。
「そのApplet」ってのは「クライアントのApplet」とは別?
>>731=724
なぜBorderLayout.NORTHを使わないのか子一時間(以下略)
そうすればコンパイラがエラーを発見してくれる。
そういう意味ではくだらないミスというより致命的ミスだな。
>>738
はい。クライアント側は全員が同一のAppletを使い、
サーバー側ではサーバー側専用のAppletを用意します。

通信量が多いプログラムを考えていますが、servletは
レンタルサーバーが全部有料ゆえ、perlで実現しようと思い、
当初の計画では
「各クライアントがサーバーのcgiへ情報をsocketで送る
→cgiがサーバー上のtxtファイルへ書きこみ
→そのサーバー上のtxtファイルをクライアントのAppletが読みこみ」
というものを考えていました(素人ゆえ)

調べてみたら、
「クライアント→サーバーのcgi→サーバーのapplet→クライアント」
という情報伝達の方法があるようなことがどこかに書いてあったので
可能かなと思い、ここで質問させていただきました。
>>740
それはアレですかね?
cgi <-> Applet 通信だと 毎回cgi呼ばれるサーバーが堪らんので
クライアントの誰かを仮にサーバ役にしたてて、
サーバ役のクライアント <-> 他のクライアントで
通信しようというアプローチじゃない?
で、cgiは誰をサーバ役に任命する関係の処理を行うとか。
一昔前 Applet で chat 考えたときの手法だけど。
前述のセキュリティポリシー緩くするなりして
Appletのあるサーバ以外とも通信可能にしておけばできるでしょ。

不特定多数が相手だと一般家庭でも NAT とか ルータ とか
使ってる現在では クライアントの誰かをサーバ役に仕立てるってのは
特定の port を空けといてもらわないといけないとかで かなり面倒だけど。
>>741
ありがとうございます。

確かにクライアントの一人をサーバーにする方法が一番適しているようですね。
P2Pとかいう技術を使って欲しいという要望も仲間から出ています。

とりあえずこれからセキュリティーポリシーというのについて勉強します。
通信が重くなりそうだったら誰かをサバにすることを考え、それでも
無理ならp2pとかいうものを勉強するという方針で行きます。

本当にありがとうございました。
初歩的な質問かもしれませんが教えてください。

XXX.javaという「package AAA」に属するファイルが、
ディレクトリ「AAA」以下にあります
そこにはパブリックなクラスXXXがあり、そのインナークラスとしてYYYがあります。
YYYの完全指定の名前(javahでの表現より)は
AAA.YYYだと思うのですがjavahが動いてくれません。
package名称.クラス名称だと思うのです。

何がしたいのかというと、YYYでnative呼び出しをするため
javahを使ってC++用のヘッダファイルを作りたいのですが、
できあがるヘッダファイルのネイティブメソッドは
java_YYY_メソッド名
となってしまいパッケージ名称が含まれず、Java側から呼び出すことができないのです。
自前でパッケージ名称を付けるとほぼうまくいっているようです。
私のフォルダ構成がおかしいのではと考えてるのですが、
知っておられる方教えてください。
>>743
AAA.XXX.YYY じゃないのか?
JNI 使ったこと無いんでわからんけど。
745743:02/11/28 19:53
>>744
それもだめでした・・・。
現状でできることは
$javah -jni YYY
としてヘッダーファイルを作り、
java_YYY_メソッド名
とできたヘッダーファイルの中身を
java_AAA_YYY_メソッド名
と書き換えて使っています。
なにか根本的なところに間違えがあるような気がするのですが・・・。
うーむ。
>>745
本当に内部クラスか?
内部クラスってのは
public class XXX{
 public class YYY{
 }
}
みたいなYYYで、
public class XXX{
}
class YYY{
}
みたいな YYY は内部クラスとは言わないよ。

あと、クラスパスの設定で
「.」(カレントディレクトリ)を指定してる場合は
ちゃんと パッケージ階層のルートから
javah AAA.YYY してるか?
ちなみに 内部クラスだと
javah AAA.XXX$YYY
で出来るみたい…
747743:02/11/28 20:31
>>746
すみませんでした。確かに内部クラスではありませんでした。
にわかJava使いはこういうところでぼろが出ますね(藁

パッケージ階層のルートでjavahを動かしたところうまくいきました。
>>746,744さん
ありがとうございました
748デフォルトの名無しさん:02/11/28 21:03
4 階調と16 階調で量子化する際には,X0<X1<X2<X3<X4,
Y0,Y1,Y2,Y3 をどうしたらいいのですか?教えてください。お願いします。
749743:02/11/28 21:16
javahはうまくいったのですが、その前に保留していた問題があるので
再度教えてください。

先ほどのネイティブメソッドにおいてstdoutにデバッグ出力をしているのですが、
javaコマンドで起動した場合は表示されるのですが、
javawコマンドだと表示されません。
パッケージ階層がないときには表示されていたのですが、
パッケージ階層を含むと表示されなくなってしまいます。
いろいろ調べてみたのですが、そのような現象は私だけの様子・・・。
パッケージ階層を変更したこと以外は変更してないものでもそうなります。
stdoutはどこになってしまったのでしょう?
750743:02/11/28 21:21
文章変ですね。

×パッケージ階層を変更したこと以外は変更してないものでもそうなります。
○パッケージ階層が変更された以外に中身に変更は加えていません。

です。
>>749
javaw って標準出力への出力を(たぶん標準エラー出力も)
抑止してるんじゃないの? 思うに、
>パッケージ階層がないときには表示されていたのですが
が異常動作で
>パッケージ階層を含むと表示されなくなってしまいます。
が正常動作だと思われ。
752743:02/11/28 22:01
>>751
なるほど。その通りかもしれませんね。
そのような考えは一度も出ませんでした。
もう一度いろいろやってみます。
ありがとうございました。
753デフォルトの名無しさん:02/11/28 22:12
すいません。au向けのPNG画像の
再配布を防止するようにするにはどのソフトで
どのコマンドを埋め込めばいいのでしょうか。
754デフォルトの名無しさん:02/11/28 22:30
次の意味を教えて下さい。

単精度浮動小数点
倍精度浮動小数点
真偽値
Unicode文字
755デフォルトの名無しさん:02/11/28 22:34
アプレットってなんですか??
.
.
true/false
Unicodeの文字
HTML上で動くJavaプログラム
質問者のみなさん、本数冊分の説明をここでしろというのか?
758デフォルトの名無しさん:02/11/28 23:02
はじめまして、最近jabaをはじめた初心者です。
jabaについて質問したいのですがいいでしょうか?
jabaのGridBagLayoutの使い方が難しくてよく分かりません。
あれは本当につかわれているのでしょうか?
どこか色々な使い方を紹介しているページはないでしょうか?
jabaっていいですね。
はい、次
760デフォルトの名無しさん:02/11/28 23:04
次の意味を教えて下さい。

単精度浮動小数点
倍精度浮動小数点
真偽値
Unicode文字
761758:02/11/28 23:06
>>759
嫌がらせですか?同じjaba使いどうし助け合いましょうよ。
違いますよ。さよなら。
jabaじゃなくて、Javaなら答えてくれる人もいるのかもしれませんよ。
764758:02/11/28 23:12
>>762
そんな嫌がらせして楽しいですか?
どうしておしえてくれないんですか?
765デフォルトの名無しさん:02/11/28 23:12
すみませんが質問させていただきたいことがあります。
JNDIプロバイダに指定するクラスについてお聞きしたいのですが
Context.INITIAL_CONTEXT_FACTORYに指定するクラスって
com.sun.jndi.ldap.LdapCtxFactoryなのでしょうか?
参考にしているプログラム(Websphereで動いているサーブレット)が
com.ibm.jndi.ldap.LdapCtxFactoryなので迷ってしまいますた。。。
Websphereで呼ぶサーブレットの場合上記の指定をしなければならないのでしょうか?
現在Websphere-DominoのLDAP連携をやっているのですがJNDIがちんぷんかんぷんで
困っています。
誰か教えてくださるとうれしいです。
>>763
ネタですよ?
767758:02/11/28 23:15
>>765
ここの奴は誰も教えてくれねーよ。とっとと帰った帰った。
>>765
マルチ
769デフォルトの名無しさん:02/11/28 23:39
質問です。
1)
java.lang.reflect.Proxyって何に使うのですか?
プロキシクラスを生成するっていうけど、
デザパタのプロキシパターンと何か関係あるのですか?

2)ローカル変数の変数名を取得する方法ってないのでしょうか?
よくデバッガとかで変数名が表示されますよね。

よろしくです。。
770デフォルトの名無しさん:02/11/28 23:40
>>760
double
float
boolean
char
771デフォルトの名無しさん:02/11/28 23:42
>>769
1 interface の定義かころころかわる、JDBC とか Servlet の
オブジェクトを動的につくるプログラムを書きたいとき。
2 デバッガからだけ使える。class ファイルに書いてある。
reflectionの類では読めない。

>>770
float
double
boolean
char
>>769
2.
Class ClassA;
Field[] fields = ClassA.getDeclaredFields();
for(int i = 0 ; i < fileds.length ; i++)
 System.out.println( fields[i].getName() );
774769:02/11/28 23:48

>>771 サンクス!
もしかしたらjakartaのBCELなら出来るかも。。。
でもBCELは難しすぎてよく分らんし
>>769
2)について
-g つけて javac すればデバッグ情報が埋め込まれるから
デバッガはローカル変数だろうが変数名を取得できるのだろうけど、
javaプログラムからそれらを取得する方法はないと思う。
776769:02/11/28 23:54
>>773
フィールドを取得できるのは知ってました。
ちなみに、getDeclaredFields()とgetFields()の違いって
getFieldsは、宣言してればすべて取得できて
getDeclaredFields()は、publicのメンバのみって感じですか。

ここの人たちは親切だなー。
>>776
逆。
public Field[] getFields() throws SecurityException
 この Class オブジェクトが表すクラスまたはインタフェースの
 すべてのアクセス可能な public フィールドをリフレクトする、
 Field オブジェクトを保持している配列を返します。

public Field[] getDeclaredFields() throws SecurityException
 この Class オブジェクトが表すクラスまたはインタフェースが宣言した、
 すべてのフィールドをリフレクトする、Field オブジェクトの配列を
 返します。これには、public、protected、デフォルト (package) アクセス、
 および private フィールドは含まれますが、継承フィールドは含まれません。
>>776
他人に皮肉言う前に ちゃんと APIのドキュメント読め。
>>774
BCELでも、変数名は無理だったと思う。
>>778
( ´,_ゝ`)
781デフォルトの名無しさん:02/11/29 01:33
7セグのデジタル時計を作りたいのですが、
時計は作れるのですが、そこから7セグ表示にするのか分かりません。
お願いします
>>781
ホンモノのデジタル時計の仕組みを勉強することをお勧めする。
手っ取り早い手段としては0〜9の画像を作っておいて、時刻に応じて表示…とか。
783´,_ ,`ちょぼーん:02/11/29 02:10
日本語入力の状態から、キーイベントをキャッチしたいんだができますかね?

例)
あ → 'a'をキャッチ。
~~
か → 'k'と'a'をキャッチ。
~~
てな感じで。
784デフォルトの名無しさん:02/11/29 02:16
>>782
ホント、java始めたばかりなので・・・
画像とか全くわかりません
>>783
それって InputMethod 使うのじゃダメなんのか?
>>784
画像はコンピュータ上で絵を表現するデータです。
rmic でコンパイルしようとすると
「クラスが見つかりません」と言われます。
hogehoge.classだとしたら
rmic hogehoge
とやっているのですが、何が悪いのでしょうか?
普通にjavacでコンパイルする所までは逝ったんだけど、
その後が続かないよぉ
>>784
わかるようになってからきてください。
import java.awt.*;
import java.applet.Applet;

public class test extends Applet{

Graphics graphic;
Image image;

public void init(){

graphic=getGraphics();
image=getImage(getDocumentBase(),"hoge.png");
}

class thread extends Thread{

public void run(){

graphic.drawString("hoge",10,10); // OK
graphic.drawImage(image,10,10,this); // NG
}
}
}

切り取ったソースですが、このコードで何故かdrawImageの部分でエラーが出ます。
drawStringやdrawLineではエラーが出ないのに、何故drawImageではエラーが出るんでしょうか。
くだらない質問ですいません。
>>789
エラーが出ると書きながらそのエラーメッセージを出さない。
やる気あんのか?ボケ。
test.java:20: シンボルを解決できません。
シンボル: メソッド drawImage (java.awt.Image,int,int,test.thread)
場所 : java.awt.Graphics の クラス
graphic.drawImage(image,10,10,this); // NG
^

このエラー表示で何か分かりますか?
スペースが表示されてませんね。
エラー箇所はgraphicとdrawImageの間のピリオドの位置です。
そんなメソッドないよ・・・か。
thisがImageObserverじゃない、とか
なるほど。ありがとうございます。
graphic.drawImage(image,10,10,test.this);
に変更したら動きました。お騒がせしました。

もう一つ質問があるんですが、
例えば、マウスをクリックするとクリックした位置によって異なったメソッドを呼ぶ場合、
どういう手法がいいでしょうか。
・スレッドにして、決められた位置でマウスがクリックされるまでループ
・マウス待ちになる度にマウスアダプタ生成
等を考えてます。もっとスマートな書き方が欲しいところです。
クリックした範囲かどうかを判断するメソッドと
クリックされたときに呼ぶべきリスナ(でもなんでもいい)

を組にして、そのリストを持ち、
クリックイベントでリストを走査すればいいんでねえの。
リストが複数あるんですよ・・・。
マウスクリックで次のメニューへ進む・・・みたいな感じなんです。
また次のメニューでマウス入力を待つ必要があると。
ボタン使うと、デザイン的にショボくなるので・・・。
>>796
nVidiaのドライバダウンロード画面参照
すいません。言葉足らずで・・・。
こういうメニューではなく、例えば、
絵が画面全体に表示され、その絵をクリックすると、
クリックした場所によって違う絵がまた画面全体に表示され、
その絵もクリックすると、クリックした場所によって、
違う絵がまた画面全体に表示される。
というような感じです。
で、クリックするべき場所が場面によって異なると。

ゲームで使うメニューの処理なんですけどね・・・。
>>798
Stateパターン使え。

と過去の過ちを再現してみる。
>>798
要は、ドラクエのようなメニューを実現したいわけね。
メニューは自前で描画するということでしょ。
やり方しだいだけど、たとえば、
1.ArrayListを用意する。これは、メニューの階層を管理ね。
2.メニューの実装。シンプルにいくなら、Rectangleを属性にしたビーン。
3.リスナーのmouseClickedでまつわけだが、このとき、Rectangleの
 contains(x,y)で、マウス座標を判定してやれば、OK。

最上位に見えてるメニューは、ArrayListの最後の要素だから、
そこにといあわせればOkなのだ。もちろん要素を順次追えば、
後ろにあるメニューをクリックされた場合、前に出すなどの
処理も可能だよ。

この説明でわからなかったら、もう一度聞いて。

別解として、Javaでは複数のリスナーを登録できるので、
メニューオブジェクトごとにリスナーを持っていて、
順次add/removeするって方法もあるけど、
結局判定は必要なので、かえってうざったいと思う。
801デフォルトの名無しさん:02/11/29 11:25
ObjectA, ObjectC の両方が interfaceB を継承(implements)している時、
interfaceB にのっている情報だけをコピーしたい場合、どうすればよいのですか?
ObjectA -> interfaceB - > ObjectC
なるほど。ありがとうございます。
Listでオブジェクトを管理するということですよね。
マウスがクリックされると、リストに問い合わせて条件に合うRectangleを
探索するまではいいのですが、そこからメソッドをどう呼べばいいでしょうか。
思いつくのは、Rectangleを継承したクラスを作ってメソッドを用意する・・・ぐらいですかね。
マウスリスナの中で条件分岐が出来ないので、このへんで詰まってしまいます。

うーん、ListとArrayListとVectorの違いが今一つ分かりません・・・。
802>>
メニューはRectangleのサブクラスでいいと思うよ。
オーバスペックだなって思うなら、x, y, w, hだけ管理しておいて
判定のときにRectangleを生成してチェックでもいいと思う。

マウスリスナの中では特定だけすればOK。
あとは、メニューのほうに実装すれば、いいと思うけど。
質問から逸脱してしまうけど、メニューはメニューアイテムを
複数管理しているよね。ここもどういうやり方にするかによるけど、
メニューアイテムに、実際に行いたい処理を登録できるように
すればいい。メニューは、自分がクリックされたとわかったら、
メニューアイテムの探索に行って、みつかったら登録してある
処理を呼び出す。まあ、あんまり凝ると、独自コンポーネントを
作るのと変わらないことになるから、ほどほどにね。

Listはインタフェースで、登録順序が保障されているわけではない。
ArrayListとVectorは大して変わらんけど、Vectorの方が古い。
ArrayListは、Collection APIが整備されて追加されたので、
一般的に効率がよいと考えられている。
804デフォルトの名無しさん:02/11/29 14:37
タスケテ…

以下の条件を満たすプログラムを作成せよ。
コマンド引数から二つの数値を読みこむ
読みこんだ二つの数値を行と列の数としたint型の二次元配列を生成する。
つまり、実行時に2次元配列のサイズを決定する。
for文を利用し、配列の要素に順に0〜9までの整数乱数を設定する
各要素の値をそれぞれ表示
各行の要素の値の合計を表示
各列の要素の値の合計を表示
全ての要素の値の合計を表示
以下は実行例

% java CheckSum 3 2
a[0,0] = 4 a[0,1] = 6 行合計: 10
a[1,0] = 8 a[1,1] = 0 行合計: 8
a[2,0] = 3 a[2,1] = 6 行合計: 9
列合計:15 列合計:12 総合計:27

文字列を整数に変換するには、Integer.parseInt()を利用。

String s1 = "2";
int m = Integer.parseInt(s1);
>>804
命令口調か。人に物を頼む態度じゃないな。
806初心者:02/11/29 15:37
JAVA初心者です。
NTサーバを管理しはじめたばかりの初心者ですが
ASP・IISのサイトに
JSPで作ったものがあるからこれも入れられないかと
言ってきた人がいるんですが
そんなことできるのでしょうか
こっちのぺーじはASP、リンクでJSPのページに飛ぶなんて・・・??
現在稼動中のサーバなのでうっかりいれたら
不具合が。。。というのは避けたいのです

すみませんがご存知の方がいらっしゃったら
ご教授ください。
よろしくおねがいします。
807デフォルトの名無しさん:02/11/29 15:40
>>804

乱数は以下の形式で求められる。

private int random() {
return (int)(9 * Math.random());
}

引数は以下の形式で求められる。

public static void main(String[] args){

がんばれ。
808デフォルトの名無しさん:02/11/29 15:44
やったことないけど、画面に出力されたらどっちも HTML になんない?
後は a タグなり、ボタン押下でデータを送信するだけじゃないの。
サーバ内のデータのやり取りは知らん。
>>806
JSPを動かすサーブレットエンジンは何ですか?
たぶんIIS->TOMCATで動かすつもりなんでしょうけど、TOMCAT自体は
別プロセスとして動くのでASPに影響与えることはないと思うけど。
>>806
とりあえず中古で良いから別マシン買ってもらえ。そこに Tomcat を入れて
本番機の IIS から(どうやるか知らんけど)繋がるようにして (IIS も Ajp13
なのかな) そこで開発をする。最終的に動くようになったら本番機に持って
いくなりそのまま 2 台構成にするなり決めれ。とりあえず駆動中の本番機上
にいきなり入れて動かすのは止めとけ。
811名前::02/11/29 16:08
ウィンドウが閉じられた時に何らかの処理をしたいんだけど、
WindowAdapterのwindowClosing、windowClosedは右上の×ボタンを押して閉じた時には呼ばれるけど、
setVisible(false)で閉じた時には呼ばれません

何か良い方法はありますか?
>>811
setVisible(false) は「閉じられた」ではなくて「見えなくなった」だろーが。
ComponentListener, ComponentAdapter, addComponentListener() あたりを
調べれ。
813名前::02/11/29 16:10
>>812ありがとサン
調べます
814デフォルトの名無しさん:02/11/29 16:35
gccでTest.javaをコンパイルするにはどうしたらいいんでつか?
815デフォルトの名無しさん:02/11/29 16:39
JAVAアプレットってアプレットの置いてサーバー内の画像なら表示してくれるんですよね?

GUIのボタンと上下左右のキーを両立させるには
いったいどんな手段を取ればいいのでしょうか?

keyPressedで上下左右キーを取得しているプログラムに
GUIボタンを動かす命令を追加したら
キーが効かなくなってしまいました。
>>807
>return (int)(9 * Math.random());
0〜9だったら
return (int)(10 * Math.random());
のほうが良くないか?
818デフォルトの名無しさん:02/11/29 19:02
>>817

いや、それぐらい彼に気づいてほしかった、というのは嘘で
確かに 0-9 なら

>return (int)(10 * Math.random());

ですな。ぽかみすやな>俺
819JPS ◆M0LaMzf5rY :02/11/29 20:30
今日からJAVA始めたんですが、printlnってCでいうとこのputs?
勝手に改行するんだけども。
>>819
改行したくないなら print 使えば良いでしょ。
821JPS ◆M0LaMzf5rY :02/11/29 20:41
>>820
それ使うのもSystem.out.printってやんの?
つまんねえシネ
>>821
ごちゃごちゃ言わずにリファレンス読めや。
824JPS ◆M0LaMzf5rY :02/11/29 20:46
今日から始めたんでわかんないですが。
>>824
Cの時代お前はどうやってプログラム書いてきたんだ?
826JPS ◆M0LaMzf5rY :02/11/29 20:49
>>825
Cの時代?いつのこと?
ネタはスルーして下さい。
初歩的質問過ぎて申し訳ないですが、どうか教えてください。

javaのsocket通信について勉強をしたいのですが、
サーバーサイドのプログラマーの多忙ゆえに
通信が開始できず、開発が滞っています。

勉強したい内容は、自分が担当するクライアントから
socketを用いて250文字以内のString文字列を送り、
そっくりそのまま送った内容を返してもらうというものです。

これをローカル環境において擬似的にでも学ぶ方法があれば
教えていただけないでしょうか?
>828
サーバプログラムを作ったらいいだけではないでしょうか
>>828
・・・擬似つーか、ApacheなりTomcatなりインストールして
localhost内で試験すればよいのでは?
SwingでLookAndFeelを作りたいのですが、どこかに詳しい資料はありませんか?
>>817, 818
Math クラスの random() は乱数としていまいちなので Random クラスを使おう。
>>830
なぁ、どこにもサーブレットなんて書いてないのが疑問だが。

>>828
SocketとServerSocketについて勉強すれば?死ぬほど簡単なので猿でも出来る。
>>828
送信する側で次の処理を実行。
Socket socket = new Socket("localhost", ポート番号);
PrintWriter writer = new PrintWriter( socket.getOutputStream() );
writer.print("送りたい文字列");
writer.flush() // or close() ;

サーバ側
ServerSocket server = new ServerSocket(ポート番号);
Socket soc = server.accept();//データが流れるまでブロック
BufferedReader reader = new BufferedReader( socket.getInputStream() );
String str = reader.readLine();
//後はstrを送り返す。
835デフォルトの名無しさん:02/11/29 22:42
クライアントとサーバのプログラムで、質問です。

クライアント側だけについてです。
2つのクラスを作りました。
1つのクラスにサーバへつなぐために、以下のプログラムを書きました。
public static void main(String args[]) throws IOException{
String host = args[0];
int port = Integer.parseInt(args[1]);
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

Socket server = new Socket(host, port);
BufferedReader from_server =
new BufferedReader(new InputStreamReader(server.getInputStream()));
PrintWriter to_server =
new PrintWriter(server.getOutputStream());

ここで、「他のクラス」からto_serverやfrom_sever、などを呼び出したいのですが、やり方を教えてください。
ようするに、その「他のクラス」からサーバに命令を送ったりしたいのです。
836デフォルトの名無しさん :02/11/29 22:43
>828
「アドバンスドJavaネットワーキング」に乗ってるサンプルを
コピーすりゃすぐできるだろ?全然難しくないぞ?
>>836
すぐ使いたいので貼ってもらえますか?
本などの内容をそのまま不特定多数に転載していいのだろうか?
837はネタ確定。
>>838
別にばれないだろ
>840
ならばせめて、他人をまきこまないように。
つぅか説明用にフルスクラッチするのも大した手間じゃないだろ。
これだから本読むだけでプログラム書けない勘違い厨は・・・。
そう言うならば、書いてあげればいいのに。
口だけだなああああああ
>>835
別のクラスにそのSocketクラスのインスタンスをどうにかして渡してやればいい。
そういう引数のコンストラクタでも良いしセッターでも良いし。
>>845
あの、ソース教えて頂けないでしょうか?
847835:02/11/29 23:34
>>845

846は俺ではありません。

そのインスタンスの渡しかたで困ってるのですが・・・
これはmain関数の中で宣言しているので、他のメソッドから参照できなくて、やりかたがよくわからないのです。

インスタンスを管理するクラスをつくって、
そいつ経由で貰え
849835:02/11/29 23:39
何か勘違いしてたっぽいです。
できそうです。
そういう引数のコンストラクタでも良いし
ダラダラレスすんな
え〜キッチリ書くのめんどいし〜
853デフォルトの名無しさん:02/11/30 00:12
TCPで通信するアプレットを書いています
Threadをつくり
runの中で
BufferedReaderのreadLineを
使っています
アプレットのstopメソッドが呼ばれたときに
そのスレッドを破棄するにはどうしたらよいのでしょうか?
interrupt
855デフォルトの名無しさん:02/11/30 00:18
>>831
折れは他のLAFのソースを参考にした。
856835:02/11/30 00:23
う〜む、、、もうちょっとなのですが、また躓きました。

GUI.java:117: class CntlPanel で宣言されたメソッド void actionPerformed(java.awt
.event.ActionEvent) は、interface java.awt.event.ActionListener で宣言された同じ
シグニチャーのメソッドをオーバーライドできません。それらの throws 節には互換性が
ありません。
public void actionPerformed(ActionEvent e) throws IOException{
^
エラー 1 個


というエラーが出るのですが、actionPerformedメソッドの中でthrows IOExceptionを使い、サーバと通信することはできないのでしょうか?
たぶんこれが最後の質問です。
857デフォルトの名無しさん:02/11/30 00:26
最近ASPからJavaに乗り換えました。
なんかJavaって開発めんどくさいですね。ASPは気楽で良かった・・・。

で質問なんですが、チームでservlet開発する際、Servlet修正してコンパイルの度に
コンテナの再起動しなきゃならないと思うんですけど(再起動しなくて良いものもある
みたいですが)、みなさん どうしてらっしゃるんでしょうか?再起動のたびにセッショ
ンとか切れるし、ほかの人にも影響がありますよね?
各自ローカルに環境を作って開発して、ある程度のところでマージしたりするん ですか?

程度の低い質問ですいませんが宜しくお願いします
> 各自ローカルに環境を作って開発して、ある程度のところでマージしたりするん ですか?
java に限らず普通はそうなのでは
859デフォルトの名無しさん:02/11/30 00:33
>>854
レス ありがとうございます
試してみます
>>857
しょっちゅう「再起動しまーす」って言ってるよ。
ダッセー
862856:02/11/30 00:43
マジで困ってます。
助けてください。
863デフォルトの名無しさん:02/11/30 00:54
質問です
"[LMyClass;]"で表される、配列クラス(要素型はMyClass)を生成したいのですが、
classLoader.loadClass(java.lang.String)では、
配列クラスを生成することができないのでしょうか?
ここで、classLoaderは、URLClassLoaderを使用しており要素型MyClassを
loadClassすることはできます。しかし、loadClass("[LMyClass;")とすると
ClassNotFoundExcptionが出てしまいます。
これは仕様なのでしょうか?
だとすれば、配列クラスオブジェクトをロードするにはどうすればよいのでしょうか?
864名無しさん@Emacs:02/11/30 01:00
>>863
そんなんやろうとした事無いが、多分無理だろう。
つうか目的は何?
VCよりJAVAでもやってた方が楽だし楽しそう・・
>>856
IOExceptionをthrowすんな。javacも困惑してんだろ。
867デフォルトの名無しさん:02/11/30 01:06
>>862
throws IOExceptionを使ってと、いうのなら、
無理ではないでしょうか
868828:02/11/30 01:14
>>829-834
ぐふっ・・・portを"localhost"にするなんて、すごく簡単な内容でした。
本当に申し訳ありません。

しかしながら、動きません(涙
サーバー側もクライアント側もアプレットで、>>834に書いてあるような
ソースを書いたはずなんですが・・・

int b=0;として、多くの行にb++;repaint();とし、paintでは
g.drawString(""+b,10,20);とすることによりどこまで実行できたかを
検査して見たのですが、
ServerSocket server = new ServerSocket(port);  portはint型20000
とした瞬間から動いてないようです。

initはメソッドを一個呼ぶだけで、そのメソッドの内容は
try{
  b++;repaint();
  ServerSocket server = new ServerSocket(port);
  b++;repaint();
  ・・・
としているだけなのに(涙  
>>868

> サーバー側もクライアント側もアプレットで、

アプレットは難しいよ。おまえじゃ無理。
CUIなプログラムにしとけ
870デフォルトの名無しさん:02/11/30 01:21
無理じゃなかった。あぼーん。
871828:02/11/30 01:22
>>869
ありがとうございます。
>アプレットは難しいよ
アプレットであるがゆえにsocketに関して事情が違うという意味でしょうか?

とりあえずそうであると解釈して、サーバー側だけcuiにして
それでも無理だったらクライアント側もそうします。
>>871
>アプレットであるがゆえにsocketに関して事情が違うという意味でしょうか?

アプレットはブラウザで実行できるから、普通のプログラム
とは事情が違うんだよ。Webページ開いただけで、実行されるんだから。
普通に考えてセキュリティホールになるような事はできない。
873デフォルトの名無しさん:02/11/30 01:29
ちょっとお尋ねしますが、Oracleが提供しているBC4Jってどう?
簡単にソース吐いてくれるみたいだけど、
プロジェクトとしての管理・再利用についてはどうなんだろ?
使ってみた人、感想を聞かせて。

875828:02/11/30 01:32
>>872
確かに、サーバー側をアプレットでは無くしたらacceptメソッドまで
行き付きました。
クライアント側もそうすれば動くのでしょうが、もう一つ質問させてください。

AppletからFrameクラスを継承した自作クラスを立ち上げ、そこで
ソケットを使おうとしても同様にセキュリティ関係で無理なのでしょうか?

もし無理な場合、Policytoolとかいうのをいじるしか方法は無いのでしょうか?
最終的に、Appletから起こしたFrame内部でソケット通信をしたいのですが・・・
876デフォルトの名無しさん:02/11/30 01:34
>>864

目的は、"[LMyClass;"のフィールド名やメソッド名を獲得することです。
JBuilderでは、"."を押すごとに、フィールドや、メソッドの一覧が出ますよね。
おそらく、リフレクションを使っているのではないかと思っているのですが…

あと、"[Ljava.lang.String;"などはloadClassできています。
要素型がシステムクラスローダでロード可能な場合は、
配列クラスオブジェクトをロード可能ということなのかな???
>>876
Class.forName("[LMyClass;");
じゃだめなのか?
>>876
>フィールド名やメソッド名を獲得すること
配列は全部一緒だろ
フィールド: なし
メソッド : java.lang.Objectのprotectedじゃないっやつ(9つ)
>>876
配列は全部一緒だろ。
Field: 無し
Method: java.lang.Objectの全publicメソッド
880デフォルトの名無しさん:02/11/30 03:00
質問させてください
RSAを使ってデータを暗号化復号化したいのですが
Cipher.getInstance("RSA");
とすると
java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA
と例外が発生してしまいます。
どのようにしてRSAのCipherを得れば良いでしょうか?
ちなみに公開鍵、秘密鍵のKeyPairは生成できています。

よろしくお願いします。

881880:02/11/30 03:01
すみません。環境を書くのを忘れていました。
Win2k,JDK1.4.1です。
別に聞いてません。
Cipher.getInstance("RSA/CBC/NoPadding");
>>880
1.4 の SunJCE は RSA をサポートしてないから。
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/jce/JCERefGuide.html
885デフォルトの名無しさん:02/11/30 06:48
上手なコメントのサンプルがのっているサイトってありますか?
>>885
上手なコメントってどんなんよ?
887880:02/11/30 10:27
>>883
レスありがとうございます。
>>884
本当ですね。DSAもだめってことは公開鍵方式の暗号が使えないということですね。
残念。
888デフォルトの名無しさん:02/11/30 11:22
javaでベジェ曲線を描くことは可能でしょうか?
そういった関数等ありましたらぜひご教授ください。
890プロの逝って良しの1 ◆MvRbZL6NeQ :02/11/30 13:30
ぐぐれば一杯あるし
>>887
米は暗号の輸出規制うんぬんがあるからねえ。
>>889
GeneralPath使えば書けるよ。
893デフォルトの名無しさん:02/11/30 15:09
みなさんは使う変数を最初に宣言していますか?
それともいざ使う時に宣言していますか?

for文なので使うiやjなどはいいんですけど、Iteratorとか再利用するとき、なんか変
な感じがします。

Iterator it = someSet.iterator();
while (it.hasNext()) {
String value = (String)it.next();
.....
}
....
it = anotherSet.iterator();
while (it.hasNext()) {
value = (String)it.next();
...
}

みたいなコードって読みにくいですか?
Borland JBuilder7 Personal使ってるんだけど、
エディタ中のカーソル位置に文字が入力されてくれない…

たとえば、

「i = 0;」の "0" の前にカーソル置いて何か文字を入力すると
一番後ろ(2バイト後ろ)に入ってしまう…

これって何かの設定ミスでしょうか…

スレ違いスマソ
895895:02/11/30 15:31
ちなみに環境は
win2k + sp3 + sdk1.4.1
JB は Ver7.0.155.110

括弧の強調も2バイトずれてる・・・
896デフォルトの名無しさん:02/11/30 15:40
Javaでスプラッシュ(起動した時すぐ表示されるやつ)
をだすにはどうしたらいいんですか?
(a)JDK1.4で装飾なしウィンドウを出す
(b)JNI→native→ねんじろ!
898デフォルトの名無しさん:02/11/30 15:43
>>893
私の場合はIteratorは、for文の中で宣言しています。
あなたのコードを私なりに書くとしたら、

for (Iterator i = someSet.iterator(); i.hasNext(); ){
 String value = (String)it.next();
 //.....
}

for (Iterator i = anotherSet.iterator(); i.hasNext(); ){
 String value = (String)it.next();
 //.....
}

こうなります。
>>898
893 じゃないけど、
やっぱ Iterator を for() で回すのはヤだなぁ…
こんなのもあり

{
    Iterator it = someSet.iterator();
    while (it.hasNext()) {
        String value = (String)it.next();
        ...
    }
}
>>896
SwingのJWindowでもAWTのWindowでもどっちでもいいです。
すぐに初期化がおわるようなロジックにして(グラフィック1枚貼る
だけが一番楽だろね)すぐshow()しといて、本体GUIアプリの初期化
が終わったらdispose()しなさい。
902743:02/11/30 16:24
>>899
じゃぁこれは?
for( Enumeration e = myVector.elements(); e.hasMoreElements(); ){
  myClass c = (myClass)e.nextElement();
  ...
}
こういう書き方ってコンパイル通るのかな。やったこと無いけど。

for(Iterator i = someSet.iterator(); i.hasNext(); String value = (String)it.next()){
 //.....
}
>>903
無理っす
String value;
for(Iterator i = someSet.iterator(); i.hasNext(); value = (String)it.next()){
 //.....
}
なら通るけど、for文ではループ初回には value はセットされないよ?
906デフォルトの名無しさん:02/11/30 19:19
res=a+b
System.out.println("○○" + res);

この+って何ですか??
907デフォルトの名無しさん:02/11/30 19:19
>>906
+ resの+ってコトです。
>>906
そもそもコンパイルエラー。
909デフォルトの名無しさん:02/11/30 19:21
>>899
廻し終わったIterator参照の残りカスが、for文の外に漏れてろくなことにな
らないので、好き嫌いいってる場合じゃない選択だと思われ。
for(Iterator i=…)は、好みで選ぶんじゃなくて、推奨されるべき形式。
910デフォルトの名無しさん:02/11/30 19:22
>>906
Stringオブジェクトにだけ存在するオペレーターオーバーロード。
Stringのあとにくっついている時だけ、+は文字列を繋ぐ演算を行う。
911デフォルトの名無しさん:02/11/30 19:25
>>910
Stringって何ですか??

>+は文字列を繋ぐ演算を行う。
実行した時にres=10なら
○○10
って結果になることですか??
>>909
for(Iterator v = list.iterator();v.hasnext();)

ダサイよ・・・。
913デフォルトの名無しさん:02/11/30 19:28
>>912
ダサいとかそういうレベルの話じゃなくて、イテレータ参照のスコープ
という論理的な理由に基づく決定をしろという話。
>>913
forの意志に反する。
>>909
だったら >>900 のが好き。
>>913
その割に浸透してないよね。
for文自体がダサイ
918デフォルトの名無しさん:02/11/30 19:58
>>911を教えて下さい。
>>918
試せばいいじゃん。あほなのか?
> Stringのあとにくっついている時だけ、+は文字列を繋ぐ演算を行う。

Javaってこういうセンスのないsyntax sugarがあるからダサいよね。
VBみたい。
921デフォルトの名無しさん:02/11/30 20:08
お願いします。

Tomcatとapachは連携されてます。
1.まず、Tomcatを起動し、apachを起動する。
2.そして、以下のように記述されたtest.jsp(サンプルのファイル)を作る。
<%@ page contentType="text/html;charset=Shift_JIS" %>
<html>
<head><title>テスト</title> </head>
<body>
<% out.print("<p>テスト1</p>"); %>
テスト2
</body>
</html>
3.このファイルをC:\Program Files\Apache Tomcat 4.0\webapps\sampleに保存する。
4.IEを立ち上げ、http://localhost/sample/test.jspを打ち込む

アクセスすると、表示結果は本来、以下の結果を期待しています。
   
 テスト1
 テスト2

しかし、結果は以下のとおりなんです。
  
 テスト2

javaの文が解釈されていないようなんです。
これはどういう問題が考えられますか?
j2sdk1.4.0はインストール済みなんですが。。
922デフォルトの名無しさん:02/11/30 20:19
Stringって何なのですか?
1.5まで待てば、foreachが使えるのでそれまで待て。

ちなみにオイラはfor派。スコープが気になるからね。
foreachって・・・C#のパクリ?
926デフォルトの名無しさん:02/11/30 21:16
他にもあるっしょ。昔からいろんな言語で foreach
私もfor派。学習に使ったオープンソースのコードがそうやってたからという情けない理由から。
1.5なら
generics
autoboxing of primitive types
もあるからねぇ。
相当記述性が上がりそう。
マジでパクリだな。boxingなんてモロ。
929デフォルトの名無しさん:02/11/30 21:48
perlもだんだんパクリ言語と化してきた。と一緒の話でしょ?

930デフォルトの名無しさん:02/11/30 21:51
ezplusです。
メール送信したいのですが、ezplusの資料をコピペしても動きません。

IMAP4MailConnection conn = ( IMAP4MailConnection ) Connector.open( "mailto://[email protected]" );
conn.addTo( "[email protected]" );
conn.addCc( "[email protected]" );

どこがいけないのでしょうか?
それとも他に宣言する物があるのでしょうか?
AA a = new BB(); // BBはAAを継承している。
foo(a); // ←こうした時に

public void foo(AA a){}
public void foo(BB b){} // こちらが呼び出される。

こういう動的(?)オーバーロードって1.5からですか?それとも反対意見で消滅?
>>928
C#そのものはJavaのパクリではないのか?
とか釣られてみるテスト。
(パクリ云々だったらLispとかPrologぐらいしか無傷ではすまないんじゃ)
>>878-879
そりゃ違う。
Java言語仕様的には配列ってのは以下のようなオブジェクト。

Field: length(public final int型)
Method: java.lang.Objectのpublicメソッド9つ + clone()
実装しているInterface: java.lang.Cloneable, java.io.Serializable

http://java.sun.com/docs/books/jls/second_edition/html/arrays.doc.html#64347

だが、new Object[1].getClass().getMethods()とかの結果とは微妙に異なるがな。
# バグ?
934J:02/12/01 02:53
javacでGUIアプリを作って、javaで実行したときに必ず、

Warning: Cannot convert string "-watanabe-mincho-medium-r-normal--*-140-*-*-c-*-jisx0208.1983-0" to type FontStruct

と警告が出力されるのですが、原因と対策を教えてもらえないでしょうか?
アプリ自体は動くのですが、気持ち悪いので...
(CUIアプリでは出力されません)
環境はRedHatLinux8.0 + Java2 SDK 1.4.1_01 です
>>934
font.properties(.ja(_redhat))
937デフォルトの名無しさん:02/12/01 04:31
>>897>>901
レスどうもです。
SwingのJWindowですることにしました。
AWTのWindowだと親ウィンドウ指定しなきゃいけないみたいなので
938デフォルトの名無しさん:02/12/01 05:08
Java ついでに overrideもパクってくれ
>>937
>AWTのWindowだと親ウィンドウ指定しなきゃいけないみたいなので
nullじゃだめ?
>>938
おれも override 宣言パクってほしい。
パクればパクるほど今のJavaが糞ってことが露見されていきますなぁ(w
>>941
じゃあ最新鋭のC#もくそな訳だが(藁
>>938
override宣言導入するメリットは何ですか?
して欲しくないメソッドfinal指定すれば十分では?
スレ違い
945デフォルトの名無しさん:02/12/01 11:52
>>939
ownerがnullだと例外が投げられる
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/awt/Window.html#Window(java.awt.Window)
946デフォルトの名無しさん:02/12/01 12:07
アプレットは
そのアプレットをダウンロードしたマシンとしか
通信できなかったような記憶があります
本当でしょうか?
ソースも示していただけると
ありがたいです
>>943
スーパークラスのメソッドをオーバーライドしてるのに気づかない (たまたま
同じ名前を付けてしまった) ポカミスを避けられる。
948デフォルトの名無しさん:02/12/01 13:13
皆さんIDEは何をつかってらっしゃるのですか?
それともjavacでがんばってる?
俺は昨年まで javac + 秀丸派だったのだが Eclipse スレが立ったおかげで
Eclipse を使うようになった。

Eclipse マンセー!!
2ch マンセー!!

# いまだに Eclipse スレ 1 を立てたのが IBM っぽい気がするんだが…
950↑典型例(´∀`):02/12/01 13:18
>>948
なんだかんだでJBuilder。
javac : IDE = 8 : 2。 私の場合、javacはAntから使うことが多い。
952デフォルトの名無しさん:02/12/01 13:48
この前Javaを始めたものですが
JavaDocの見方がわからなく困っています。
フォルダがたくさんあってその中にHTMLがたくさんならんでいますが、
あれは自分でHTMLを探さなければならないのでしょうか?
index.htmlみたいなのからたどっていくことはできないのでしょうか?

JavaDocの一番賢い見方を教えてください。
>>952
IDE使う。
>>952
apiというフォルダを見つける♥
index.htmlというファイルを開く♥
左下のフレームから、目的のクラスを選ぶ♥
955名無しさん@Emacs:02/12/01 14:29
>> 948

ちょっとコード書くだけなら、エディタ+javacでいいけど、
ちゃんとやるなら、IDEがある方がいい。
漏れは、emacs+jde+ant
>>947
eclipse とか使っていれば implement や override が表示されるから問題ない。
957952:02/12/01 14:40
>>953
IDEを使うと、VBみたいにカーソルあててF1とかで簡単に見れるのですか?
もしそうだったら生産性だけでなくJAVAの教育にもIDEはいいかも!
>>954
ありがとう!みつかりました!みなさんここから辿っていたのですね・・・

ついでにもう1つ簡単な質問してもよろしいでしょうか?
ServletAPIを使用する場合はみなさんどのようにAPIを調べているのですか?
(Java API仕様のドキュメントには載っていなかった(と思う))
958デフォルトの名無しさん:02/12/01 14:45
春だな〜
>>970
次スレよろしく。
960デフォルトの名無しさん:02/12/01 14:50
>>957
J2EE APIドキュメント(ワラ
>>956
> eclipse とか使っていれば
そういう条件付きじゃなければ問題がある時点でだめってこった。
>>957
>JAVAの教育にもIDEはいいかも!

いいえ、ふつうに駄目にします。
>>961
Javaがアレなのは既出
>>961
俺は言語仕様はなるべく軽くして、ツールで補完するのが好き。
教育が終わったのにIDEを使わない奴はDQN
っつーか override なきゃダメとか言ってる連中もアレのような気がする。
Java がアレなのとは また別の話で。
>>966
ダメと言っている奴いるか?
あればくだらないところではまることがなく便利だってだけだろ。
>>996
Eiffel みたいなのもいいと思うよ。
書くのがだるいけど。
メールで携帯壊す方法をおしえてくださ。
>>969
頭おかしいんですか?
971デフォルトの名無しさん:02/12/01 15:57
>>877
Class.forNameでは、ロードできない(リソースの位置を知らない)MyClassなので、
無理みたいです。

>>878
おっしゃる通り、配列クラスのフィールド、メソッドは要素型によらないと思います。
あらかじめフィールドやメソッド名を用意しておく方法をとれば解決できると思うのですが、
私は頭がカタイので、配列クラスもそうでないクラスも、同じ<クラス>なのでリフレクションを
使う方が私の思考にあっている思い、仕様上不可能なのか?また、なぜそういう仕様なのか?
ということが知りたいのです。
ご教授おねがいします。
【初心者】Java質問・相談スレ13【大歓迎】
  _、_
( , ノ` )
  \,;  シュボッ
    (),
    |E|
  _、_      Java質問相談スレ パート13だ…
( ,_ノ` )y━・~~~

関連情報は >>2-20 あたりにあります。

Google で検索 ⇒ http://www.google.co.jp/
JavaFAQ で探す ⇒ http://www.gimlay.org/~javafaq/javafaq.html
ご要望によりじゃばこサイト ⇒ http://www.javaco.org/

JavaScriptの質問はWeb製作板へどうぞ ⇒ http://pc3.2ch.net/hp/
パソコンの基本操作に関しては、PC初心者板で質問しましょう ⇒ http://pc.2ch.net/pcqa/

『コマンドまたはファイル名が違います』>>2
『'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。』>>2
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』>>2

Java(TM) 2 SDK インストールガイド
http://java.sun.com/j2se/1.4.1/ja/install.html

基本的にsage進行でおねがいします。また煽り厨は放置でお願いします。
■■■ 最近多い質問とその答え ■■■
Q. javac コマンドを実行したときに、
 『コマンドまたはファイル名が違います』や
 『'javac' は、内部コマンドまたは外部コマンド、
  操作可能なプログラムまたはバッチ ファイルとして認識されていません。』
 と表示されてコンパイルできません。
A. javac.exeへのPATHが通っていません。
 http://java.sun.com/j2se/1.4.1/ja/install-windows.html
 を良く読んで、javac.exe のあるディレクトリ(例: C:\j2sdk1.4.1_01\bin )のパスを
 環境変数PATHに追加してください。
 その後、
  Windows98/MEの場合はOSを再起動、
  Windows2000/XPの場合はコマンドプロンプトを新たに立ち上げなおしてください。
 設定したパスが正しければ、javacが使えるようになります。
 それでも同じエラーが出る場合は、設定した値が間違っています。よく見直してください。

Q. javac Hello.java でコンパイルはできるのですが、
 java Hello を実行しようとすると
 『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
 と表示されて実行できません。
A. カレントディレクトリ(.)がクラスパス(classpath)に含まれていません。
 コマンドプロンプトで、
 set CLASSPATH=%CLASSPATH%;.
 と設定する。最後の「;」と「.」を見落とさないように!
 または、
 http://www.gimlay.org/~javafaq/S004.html#S004-02
 を読んでカレントディレクトリ「.」を環境変数CLASSPATHに追加してください。

JavaFAQ 基礎知識
http://www.gimlay.org/~javafaq/S004.html
↑ 1と2書いてくれたら残りのリンク追加します(整理済み)。
975デフォルトの名無しさん:02/12/01 17:05
import java.io.PrintWriter;
と記述した場合のPrintWriterクラスのclassファイルは
一体どこに格納されているのですか?
>>975
記述してもしなくてもrt.jarの中でしょうなあ
>>974

http://pc3.2ch.net/test/read.cgi/tech/1038731106
新スレ立てといたので
あとはよろしくお願いします。
978デフォルトの名無しさん:02/12/01 20:20
オブジェクト指向って
よくオブジェクト=インスタンスであると書いていますが
これだとJavaでのオブジェクト指向というのは
インスタンスをよく使う言語と言う事ですか?
979デフォルトの名無しさん:02/12/01 20:24
>>978
C++でも両方同じ意味で使います。
980デフォルトの名無しさん:02/12/01 20:36
オブジェクト指向=インスタンスを使おう

・・・意味不明
>>978
このスレも残り少ないし、ネタにマジレス失礼。
オブジェクトと言う言葉は、文脈によって指している概念が異なるので、
文脈に沿った答えがいろいろあると思う。

クラスとインスタンスの違いは理解していると思うのだが、たとえば、
分析や設計の初期段階では、両者を区別しないでオブジェクトとして
扱うことがある。また、メタクラスなどを論じている場合は、クラスも
オブジェクトだし。だから、あらゆる局面でオブジェクト=インスタンスと
いうわけではないよ。まして、オブジェクト指向のオブジェクトは、
インスタンスという意味ではないよ。

一般的に、オブジェクトの日本語訳はモノとか目的とか対象という感じだけど、
要は、システム化対象をできるだけ現実に近い形でシステムに写像しようと
いうのが、オブジェクト指向の本質的な意味だと思うよ。
Eiffelあたりだと、クラスメソッドがCreateとか言語で制限かけているから、オブジェクト=インスタンス
だが、C++にしろ、Javaにしろクラスに静的なメソッドやフィールド(このての言語のキーワードだとstatic
となるが、Smalltalkだとクラスメソッド、クラス変数となる)が定義できるから、メタクラスを抜きにしても
クラスもオブジェクト(=メッセージの受け取り手)だ。
オブジェクト=インスタンスと決め打つヤシや、メイヤー本しか読んでないと思われ
983java:02/12/02 00:22
携帯のjavaゲームが作りたい〜〜〜
本やサイトを一通り見たけどさっぱりわかりません
どうすれば いいんだ
984デフォルトの名無しさん:02/12/02 07:57
>>983
J2MEのサイトをしっかり読め
>>982
また本厨が出たよ・・・。
1000get。
            ∧_∧
     ∧_∧  (´<_`  ) 流石だな、兄者。
     ( ´_ゝ`) /   ⌒i
    /   \     | |
    /    / ̄ ̄ ̄ ̄/ |
  __(__ニつ/  VAIO / .| .|____
      \/____/ (u ⊃