3
4 :
デフォルトの名無しさん :03/04/07 21:12
Javaって気軽に使えるの?
5 :
デフォルトの名無しさん :03/04/07 21:18
>5のURLをNGワードに入れますた。
JavaとC#をNGワードに入れますた。
どこのどいつのアンチJavaがなめたことをしやがったか知らんが 一体削除依頼出してスレ立て直すべきだな
9 :
デフォルトの名無しさん :03/04/07 21:42
またアンチMSの自作自演か。(ゲラ
10 :
デフォルトの名無しさん :03/04/07 21:43
Java厨必死だな(嘲笑激藁
アンチJavaも往生際が悪いな。 アク禁にされないと直らないのかい
12 :
デフォルトの名無しさん :03/04/07 21:46
JavaMail使って、IMAPサーバと通信するサンプルを、JSPで作れって言われたんですが、 Java自体素人な所為でサッパリです。 クライアントアプリでもいいので、IMAP4と通信するサンプルとかって、 どこかにないでしょうか? +激しく助けてください+
13 :
デフォルトの名無しさん :03/04/07 21:47
今日オライリーのJavaプログラムクイックリファレンスを見てたんですが 2.8LinkedListでわけ分からなくなりました。 オブジェクトの比較でなんで算術演算子=が使われてるのかな。 「オブジェクトへの参照型」というのがなんかぐちゃっとした感じで......
a
aa
aaa
aaaa
aaaaa
aaaaaa
Javaはもうすぐ死滅します
aaaaaaaa
aaaaaaaaa
Javaやるぐらいなら.NETやるよなあ、普通。
aaaaaaaaaa
aaaaaaaaaaaa
荒らしてるのはJava厨。(嘲笑禿藁
27 :
デフォルトの名無しさん :03/04/07 22:00
たとえば入力チェックとかで、一メソッド内でいくつもtry-catch してるのって美しくない?
catchしてメッセージ出してthrowしないのは美しくない
throwsなんて要らないよ。
>>29 うん。いらないね。残念ながらJava使いはそんなのじゃ釣れないのだよ
throwsもcatchもExceptionだけで十分。例外の詳細は不要。
C#は例外の詳細分かるけどな(w
っていうかJava自体が要らないよ。 客も開発者も誰も得してない。
34 :
デフォルトの名無しさん :03/04/07 22:09
throwsでcatchした例外を再度スローする云々じゃなくて、一メソッド内に いくつもtry-catchがあるのはどうかってこと。 たとえばチェック用メソッドがあって、それがスローする例外が複数あるけど、 いろんなチェックメソッドを親メソッドが呼んでて、チェックメソッドが 同じ例外をスローする場合、1つのtry-catchじゃ区別できないでしょ? だから複数try-catchがメソッド内に記述されちゃうの。ほかにいい方法ない?
35 :
デフォルトの名無しさん :03/04/07 22:16
統合環境みたいに、自動インデント機能を自作のエディタにつけたいときは、どうすればよいんでしょうか? また、統合環境みたいにポップアップで単語を補完する機能をつけるには、どうすればよいんですか? 秀丸エディタなどは、何言語で書かれているのですか?あのような高度な機能は、Javaでは無理なのですか?
36 :
デフォルトの名無しさん :03/04/07 22:20
>>35 秀丸エディタが何言語で書かれてるか?おまえそんなの
自分で調べろよ!
>>35 特定の条件の時、特定の文字列を特定の場所に挿入する。
特定の文字が入力された場合、ウインドウを表示し、インクリメンタルサーチを実装する。
あれ、オーナードローだからキャンバスみたいなのを扱える言語なら欠けると思う。
> 統合環境みたいに、自動インデント機能を自作のエディタにつけたいときは、どうすればよいんでしょうか? 前行のインデント調べて自分で付けろよ。 > また、統合環境みたいにポップアップで単語を補完する機能をつけるには、どうすればよいんですか? 単語のデータベース作って自分で付けろよ。 > 秀丸エディタなどは、何言語で書かれているのですか? C/C++ じゃねーのか? > あのような高度な機能は、Javaでは無理なのですか? C/C++ だろうが Java だろうが C# だろうがお前には無理。
39 :
デフォルトの名無しさん :03/04/07 22:24
>>34 チェックメソッド毎にスローする例外を分ければまとめてTry-catchできる
んじゃね?
それがうまい設計かは折れも自身ないんだが。。
>>32 このレベルの話ならC#でもJavaでもさしてかわらんだろう。
C#ならどうする?
テンプレートを張る準備をしてくれ(させてくれ) レス番号を一致させたいので
______
/_ |
/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (5 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < こんなサイトを見つけた
|| | | | \ ┃ ┃/ \ 正直、スマンカッタ
| || | |  ̄ \_________
http://www.saitama.gasuki.com/kensuke/
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
おい、さっきからべたべた他へのリンクはりつけてるやつ、もうやめろ。
58 :
デフォルトの名無しさん :03/04/07 22:56
あるデータベース上のテーブルごとに クラス作って そのカラムをフィールドにしてにセッターゲッター作って その中身はUPDATEやSELECTにすればどうなるの?
>>58 ワケ ワカ ラン♪
∧_∧ ∧_∧ ∧_∧
( ・∀・) ( ・∀・) ( ・∀・)
⊂ ⊂ ) ( U つ ⊂__へ つ
< < < ) ) ) (_)|
(_(_) (__)_) 彡(__)
どうなるのってどういうことよ。。。
getCodeBase()について質問です。errorで、NullPointerExecptionとなります。 読み込むファイルは同じディレクトリに置いています。 Appletをextendsし、ファイルを読み込むためだけのクラスを作り、 Bloader=new BasicLoader(); test=Bloader.Xloader("XXX.wrl"); というように読み込んでいます。 下のが、読み込み用クラスです。 public class BasicLoader extends Applet { public BranchGroup WRLloader(String filename){ .... try { loader=new cv97.j3d.loader.VRML97Loader(); character=loader.load(new URL(getCodeBase(),filename)).getSceneGroup(); } catch(IOException e) ..... といった感じなんですが、原因が良くわかりません。どなたか教えてください。
>>61 > 原因が良くわかりません。
アプレットでのファイルの扱いについて理解してないからだと思われ。
63 :
デフォルトの名無しさん :03/04/08 01:11
x86 solaris上でJava IDE開発環境の製品ってありますか。 Sparc版対応(JBuilderとか)は見かけるのですが、x86版に対応したもの は見かけないので・・・ Windowsで作ってx86 sokarisでコンパイル(プログラム動作可能) できるのであればその方がよいですか・・・
>>63 別にsolaris固有のことをしなければWindowsで作ってWindowsでコンパイルして
動作確認して、Solarisに持っていけば?
>>63 ???
Java製ならどこでも動くはずでは…
>>58 getter 呼ぶたびに SELECT が、setter 呼ぶたびに UPDATE が実行される
わけだろ? 糞以外のナニモノでもないな。
>>65 そういう発言すると、アンチJava厨がよろこぶ。。。
> Windowsで作ってx86 sokarisでコンパイル(プログラム動作可能) > できるのであればその方がよいですか・・・ X86 Solaris 版 JDK があるので Win で作って Solaris でコンパイル というのも十分出来ますが、開発ルール的な制約で出来ないという話?
>>64-66 何か自分の勘違いぽいです。
OS・マシン異種はVMで吸収してくれるのを度忘れしてました。
Java使用目的がDBアクセス方面でなのですが、使いやすい製品とか
ありますか。
正式サポートしてるところだとJBuilderとかSUN ONEあたりがあったの
ですが、いまいちとれがよいのかよくわかりませんでした。
(IDE環境がベストです)
>>68 とくに制約とか、といわけではないです・・・
すみません単に自分の勘違いみたいです
>>69 GUIが必要ないのであればEclipse
GUIが必要であればJBuilder/SunONEStudio
GUIが必要でお金がないのであればSunONEStudio
Solaris固有の部分はだれか一人でIDE使わずにやればよい。
Win側の開発用にその動きをエミュレートするスタブ作っておく。
>>71 グッジョブ。
SunOneは結構良さげだったぞ。
でも、漏れ的にはEclipseだな。
GUIも、SWT使うんだったらEclipseでnp。
個人的にはJBuilderガス機です。
貧乏人は氏ね IBM WebSphere Application Developer
>>71 凄くわかりやすいレスどうもです。
GUIは絶対条件なので(他開発者がVB開発者なので)
JBuilder/SunONEStudioで考えてみようかと思います。
ぶっちゃけ会社購入なので、金銭は気にしていないという感じです。
>>75 GUIが必要、というのは、開発する対象が、ということだけど。
>>74 IBM WebSphere Application Developerは、
推奨メモリ768Mの実用1Gのお化けだから、マジで貧乏人死ねる。
つーか、WSADはeclipse2.0ベースだから、WebSphere使わないんだったら
eclipseでも一緒だよ。
ということでやっぱりeclipseに一票。フリーだからまず使ってみたら?
78 :
デフォルトの名無しさん :03/04/08 05:23
ねえ、SUNONE4快適に動く環境って どれぐらいのPCなんですか? 私は、Pen4の2.4BGHzでメモリー512MBなんですけど 遅いですね・・・ 実は、SUNONE使うために自作PCに変えたんですが・・・ もっと、上のランク買えばよかった? 起動時間は遅くてもいいんです。 でも画面切り替えとか遅いち、マウスのクリックとか 反応鈍いので困ります あ〜せっかく快適なPCに乗り換えたのに・・・ Pen3の500MHz メモリ192MBのノートと変わらない・・・ 気に入ってるんだけどなSUNONE・・・ さくさく動いている人のPCのスペック教えてください
79 :
デフォルトの名無しさん :03/04/08 06:17
Windows環境でC:\appにapp.jarがあり(アプリケーション本体)、 c:\app\dataにreadme.txtとimage.jpgがあるとして、相対パスで 読むには、 BufferedReader br = new BufferedReader(new FileReader("data\\readme.txt")); ImageIcon ic = new ImageIcon("data\\image.jpg"); とかやりますが、これをOS非依存でやる方法はありませんか。
80 :
デフォルトの名無しさん :03/04/08 06:21
>>78 えーと
>>79 ですが、SunONEを快適に動かすのは現状むずかしいと思います。
Pen4環境ならHTつき3.06GHzとメモリ1Gとかなら、まあ許せるスピードで動く
んじゃないかと思いますが。Athronだったら2800+以上でメモリ1Gとか。
どっちかというと、Pen4よりはAthronの高クロックモデルのほうがSunONEには
向いているような気がします。
>>79 OS依存の起動スクリプトを対象OSの数だけ書いて、
そこにC:\appを環境変数CLASSPATHに追加するスクリプトを書く。
Java側からreadme.txtやimage.jpgを読むときはこんな感じで。
BufferedReader br = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/data/readme.txt")));
ImageIcon ic = new ImageIcon(getClass().getResource("/data/image.jpg"));
詳しくはjava.lang.Class#getResource(String)を参照
>>78 俺が見たのはソラリスで動いてたけど、
重い感じは受けなかったな・・・
実はすげえモンスターマシンで動いてたのかも。
83 :
デフォルトの名無しさん :03/04/08 09:54
プログラムをちょこっとかじったことがある人間向け?の クラス、メソッドとかJAVAの基本部分が詳しく書いてあるお薦めの本を教えてください。
>>83 誰にも分からない
java講座(本じゃないが)
>>81 どうもありがとうございます。あとで調べてやってみます。
java.awt.image.BufferedImageに 既存にある画像ファイル (C:\temp\aaa.bmpとか、C:\temp\bbb.jpgとか) を格納したいのですが、方法がわかりません。 お手数ですがどなたかおしえてください。
>>78 JDK1.4.2βを使ってみるといいかも。
bin\ide.cfgを書き換える必要があるけど。
あと、メモリー512ならide.cfgのメモリ設定を -J-Xmx96m とかにして96MBメモリを割り当てるとか。 128MB割り当てると、GCの時間が長くなったけど、1.4.2なら大丈夫か。
91 :
パート20の7?? :03/04/08 17:08
javaでmvを多数叩くとブロックする、という質問をしたものです。 なんとか解決しました。ありがとうございました。 デーモンでは判らなかったのですが、 本番環境でコンソールで動かすと、thread panicとやらが出ていて 検索するとファイルディスクリプタが足りないということでした。 > Process process = Runtime.getRuntime().exec(command); > process.getErrorStream().close(); > process.getInputStream().close(); > process.getOutputStream().close(); と修正し、 /etc/system修正と ufile -n 4096としてとりあえず回避しました。 上のは有効かどうか検証しきれていないのですが・・・ Fileオブジェクトにrenameがあるのは見落としていました。 以前copyを探して見つからなかったので、今回は見ていませんでした・・・
javaのエンコードで質問です。 やりたい事としてはSJIS文字列→EUCエンコード→URLエンコードです。 String sjis_word = "あ"; String euc_word = new String(sjis_word.getBytes("EUC_JP")); String urlencoded_word = java.net.URLEncoder.encode(euc_word); sjis_word:あ euc_word:、「 urlencoded_word:%A4%A2 となるんですが、"あ"→"を"にすると sjis_word:を euc_word: urlencoded_word: になってしまいます。 euc_wordに格納する時のsjis_word.getBytes("EUC_JP")は正常に動作しているんですが・・・ バグですかね?もしご存知の方いれば、教えてください。 環境はWindows2000+JDK1.3.1_04です。
>>92 文字コード変換とURLエンコードを一緒こたんにするのは・・・
>>92 java.net.URLEncoderのencode(String s, String enc)
を使えば?
95 :
デフォルトの名無しさん :03/04/08 19:03
オイオイ… 1.String sjis_word = "あ"; →SJISじゃねえよ。あえて言うならUTF-16BE。コンパイルしてんだろ? 2.String euc_word = new String(sjis_word.getBytes("EUC_JP")); →EJC_JPじゃねえよ。Charset=EUC_JPのバイト列をVMのデフォルト エンコーディング→UTF-16BEのコード変換して作ったバイト配列を持っ ているString。そんなぐちゃぐちゃなバイト列に、もはや意味はないと 思うが。 たのむから、いい加減な知識でCharsetを扱うなよぅ…
AppletStub をどうやって設定するか分かりません。 そもそも、AppletStubが設定される条件とはなんでしょうか?
>>96 >あえて言うならUTF-16BE
BigEndian と決まっているわけでは無いと思われ。
>>98 Javaのクラス内定数リテラルは、きまってんだよ。
だから中途半端な知識で語るなってばさ…
Javaって昔標準化してたんですか? その辺の経緯を知りたいのですが。
しまった、俺が馬鹿でした。メモリ内部でBEかLEかは、ワカランね…
>>100 いまだにISO標準でもECMA標準でもないような気がしますが。
撤回したんじゃなかったっけ。
皆さんありがとうございます 1.4.2+使用メモリUPで試してみようかな・・・
>>79 こういうの使っちゃえば?
質問の意味と違うかな?
public class FileRootGet {
public static void main(String[] args) {
File[] f=File.listRoots();
for(int i=0;i<f.length;i++){
System.out.println(f[i].toString());
}
System.out.println(File.separatorChar);
}
}
>>104 その場合、jar自体にそういうリソースも含めといて、ClassLoader#getResource()
とかで取るのが良いのです。ネイティブのファイルシステムのクビキから
解放されます。
>>105 あ〜そうなんですか勉強になります
理由としては、
>>104 みたいにやるのは
ClassLoader#getResource()よりも負荷がかかるからですか?
すんまそんやっぱ
>>79 の意味を間違って捉えていました
108 :
デフォルトの名無しさん :03/04/08 23:32
質問です。 Javaクライアント(アプリケーションorアプレット)から 別マシン上のEJB直接を呼び出すにはどうしたらよいですか? おそらくネーミングサーバにアクセスしてJNDI経由で呼び出すと思われますが、 その設定はどのようにやるのでしょうか? APサーバ依存になってしまうのですか?
>>108 ハァ?なんでクライアントに設定が必要なのよ。必要なのはAPIのクラ
スファイルだけ。それだって、サーバーからClassLoaderで実行時に
ダウンロードしてもいい。
設定が必要なのはサーバ側だけ。「普通に」EJBの登録作業するだけ。
通信インターフェイスがサーバ依存になるようなEJB鯖は、EJB鯖じゃないぞ(ワラ
110 :
デフォルトの名無しさん :03/04/09 00:25
最近javaを勉強し始めたんですが、 javaのVMとかってどうやってつくってるのですか? 機械語で作ってるんですか? 本気でわかりません。 どなたか教えていただけませんか?
C++ とか。
112 :
デフォルトの名無しさん :03/04/09 00:27
するってーと、JAVAもCでできてると解釈してもよろしいのですか?
114 :
デフォルトの名無しさん :03/04/09 00:31
>>113 何を言ってるのかヨクワカランが、コンパイラはJavaでできてます。
115 :
デフォルトの名無しさん :03/04/09 00:35
質問が有ります。 JbuilderのプロジェクトをEclipseにインポートすることって可能ですか? いろいろ試してみたのですが、なかなか見つかりません。 だれか情報もってませんか?
116 :
デフォルトの名無しさん :03/04/09 00:38
>>115 単にソースコードのルートをJBのプロジェクトのそれに指定すりゃ言いだけチャウのけ。
あーごめんなさい。 コンパイラはJavaなんすか。 もう自分の中では、鶏と卵、どっちが先にできたのか? みたいな感じパニくってます。 Javaでできてるコンパイラもコンパイラとして動く前は なにかしらのソースだったんすよね? 一番最初のJavaどーやってコンパイルされたんですか?
118 :
デフォルトの名無しさん :03/04/09 00:41
119 :
デフォルトの名無しさん :03/04/09 00:42
>>117 こういう人間に「じゃ、世界最初のCのコンパイラは何で書いたんでしょう?」とか
聞くとおもしろいかな。
歯車を使った機械で材料を歯車に加工できるだろう? それと同じだ
>>120 世界最初のCコンパイラはどーだか知らんけど、
C のサブセット版みたいなのを作ってから
それを使って C のフルセット版を作ったって話をどっかで聞いた。
サブセット版を何で作ったかは忘れた。
>>122 不完全な鶏が、完全な鶏に近い卵をだんだん産んでいった、ということでつね?
Javaで使えるint の最大値を返すメソッドを教えてください。
125 :
デフォルトの名無しさん :03/04/09 02:58
>>109 サーバ側だけでEJBの設定をして、
クライアント側に何も設定しないとすると、
クライアント側で「どのネーミングサーバにアクセスしに行くか」
って情報はどこから取ってくるのでしょうか?
おそらくEJB取得のコードは下記のようになると思いますが、
(ServiceLocaterを使えという突っ込みは置いておいて)
このときネーミングContextはどこから取ってくるんですか?
設定しないと取得できないと思っているのですが、
意識が違ってますか?
Context ctx = new InitialContext();
Object obj = ctx.lookup("java:comp/env/ejb/XXXX");
XXXXHome ejbHome =
(XXXXHome)PortableRemoteObject.narrow(obj, XXXXHome.class);
XXXX xxxx = XXXXHome.create(〜);
linuxの/dev/dspをCで使っているのですが、Javaで利用してみたいなと ふと思いました。Cのioctl()などの操作をJavaから行なう事は可能ですか?
>124 何処かにあったはず。docみるよろし。
>>127 (´-`).。oO(javax.sound.sampledでは不満なのだろうか?)
ネットができない人のためにJREを一緒に配布したいけど 大丈夫なんでしょうか? たぶんドキュメントに記述される「再配布」にあたるのですが 回りくどく書いてあるのでちと不明です。 あと、DirectInputのようなゲームパッドなどの入力を 受けるものってあるのでしょうか? 知ってたら教えてください(;゜Д゜)ノ
>>129 (´-`).。oO(jdk1.2で使おうと思っているのだが・・・・・)
134 :
デフォルトの名無しさん :03/04/09 07:16
JavaからCOMを呼ぶことはできるのでしょうか?
135 :
デフォルトの名無しさん :03/04/09 08:19
JavaでCSV形式のファイルを読み込んでJTableに表示するサンプルプログラム どこかにありませんか?
138 :
デフォルトの名無しさん :03/04/09 09:47
コマンドライン引数を解析するのに良いクラスはありますか?
139 :
デフォルトの名無しさん :03/04/09 09:53
141 :
デフォルトの名無しさん :03/04/09 11:59
ActiveXってなんでしょうか?
142 :
デフォルトの名無しさん :03/04/09 12:15
インスタンスをnewして、処理を行った後、 インスタンスを破棄してリソースを明示的に開放したいのですが 可能でしょうか? なお、ガベージコレクションによるリソースの開放は パフォーマンスの低下につながる為、出来る限り使いたくありません。 どうでしょう??
>>142 インスタンスが占有しているメモリ領域を開放するのは無理。
ファイルハンドラやソケットなどを開放するのはまた別な話だが。
144 :
デフォルトの名無しさん :03/04/09 12:33
>>143 回答ありがとうございます。
やっぱ、ガベージ様に頼るほかに道はないのか.....
あぼーん
147 :
デフォルトの名無しさん :03/04/09 14:26
>>142 Object#finalize()をオーバーライドして、使っていたリソース(配列に
nullを入れたりとか)を開放するんと違うの?
148 :
デフォルトの名無しさん :03/04/09 14:39
データグラムとは何ですか?
>>147 それって意味のある行為なのか?
単にコードの量が増えてるだけのような気がするが。
>>148 UDPパケットのこと。
ほんとはちょっと違うけど、この解釈でも困らない。
Javaの場合、PerlのCPANのようなところはあるのでしょうか?
>>152 Jakartaかな。
CPANにあるようなものはJavaでは標準になってることが多いけど。
>142 素朴な便乗質問なのですが、Javaのガベージコレクションは パフォーマンスが低下するのでしょうか?
がちょーん。古のBASICと同じってことでつか。
-Xincgcなら止まらない。 メモリサイズが無限に増えつづけるがいつか解消されるだろう。
160 :
デフォルトの名無しさん :03/04/09 17:54
interfaceをimportするのって、普通?なのでしょうか なぜimplementsではないのでしょうか
>>154 ただし、シューティングゲームみたいにタイトなリアルタイム性が求められる、
とかの特殊な用途でもない限り、殆ど問題にならない。
>>160 List list = new Vector();
とかやるときは import するけど、そーゆー事ではなくて?
>>160 importの意味を間違えているだけでは?
>>163 確かにそうかもしれません
っていうか、違いがわからないです
>>164 importはプログラム内でインタフェース名やクラス名を記述するときに
パッケージを指定しなくてもいいようにするだけ。別にimportを指定
しなければならないわけではない。
166 :
デフォルトの名無しさん :03/04/09 19:17
JDK1.3.1にて。 ディレクトリ階層の深いところに、いきなりファイル作るのは無理ですか? "/foo/bar/hoge/test.txt" みたいなファイルを、間のディレクトリ含めていきなり作成したいんです。 String data = "テストデータ"; FileOutputStream outFileStream = new FileOutputStream( "C:\\foo\\bar\\hoge\\test.txt" ); OutputStreamWriter outWriter = new OutputStreamWriter(outFileStream); BufferedWriter bufWriter = new BufferedWriter(outWriter); bufWriter.write(data , 0 , data.length()); bufWriter.close(); こんなことすると、java.io.FileNotFoundExceptionがでちまいます。。。
File file = new File("C:\\foo\\bar\\hoge\\test.txt"); File dir = file.getParentFile(); dir.mkdirs(); OutputStream out = new FileOutputStream(file); ...
168 :
デフォルトの名無しさん :03/04/09 21:51
Javaを古いバージョンのものから、 JDK1.4.1にバージョンアップするにはどうしたらいいんですか?
>>168 バージョンアップは出来ない。
古いのを消してから新しいのを入れるとか、
新しいのを入れて古いのも消さないとか、すればいい。
>>168 ちゃんと設定すれば複数バージョンの共存は可能です。
ディスクスペースが残り少ないとか、
JDKなんぞ一つで十分、ってんなら話は別だけど。
サンクスです。 明日やってみまっす。
java.nio.cs パッケージのソースはどこで入手できますか?
>>172 > java.nio.cs パッケージのソースはどこで入手できますか?
sun.nio.cs でした。
174 :
デフォルトの名無しさん :03/04/10 01:50
現在クライアントアプリケーションからEJBを使って開発予定です。 その時には下記のどっちの携帯が好ましいのでしょうか? クライアントAPから直接EJBを呼ぶ方法と クライアントAPからHTTPリクエストを返してServlet→EJBと呼ぶのでは どっちが好ましいでつか?
175 :
デフォルトの名無しさん :03/04/10 01:53
176 :
デフォルトの名無しさん :03/04/10 01:58
177 :
デフォルトの名無しさん :03/04/10 02:01
>>175 どういう場合どっちを使うべき見たいな指針ってありませんか?
下記の違いの認識であってますか?
■Http+Servletを使わない(直EJB)場合のメリット
クライアントの実装が簡単
■Http+Servletを使った場合のメリット
ファイアウォールを超えられる
178 :
デフォルトの名無しさん :03/04/10 02:03
>>176 145じゃないけど、そういうことになる。
J2EEはクライアント100台に配布するという使い方は考慮
されていないからね。
>>177 HttpServlet相手にJavaクライアントアプリが会話するのも、
別に難しくはないよ。RMIコールの変わりにHttpConnecitonで
ObjectStream作ってSerializableを投げあえばいいだけだ。
>>176 URLClassLoaderで解決できないの?
EJBと会話できるなら、クラスのダウンロードの可能なはずだが。
だから、HTTPのデメリットである「糞遅い」とメリットの「FW超え」の トレードオフだけちゃうかな。
あ、もいっこあった。 HTTPServletということは、HTTPサーバとServletコンテナの実体が、 サーバー側に余計に必要だな。
>>183 PrintStream内部で
object.toString()
しているからです。
なのでpantsの中でtoString()をオーバーライドしておけばprintln(Object object)時の
動作を変えることができます。
>>186 >PrintStream内部で
>object.toString()
してないよ。厳密には。
あ、PrintStream#println(Object) ってあったのか…
APIのソースを抜粋。
java.io.PrintStream
public void println(Object x) {
synchronized (this) {
print(x);
newLine();
}
}
public void print(Object obj) {
write(String.valueOf(obj));
}
java.lang.String
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
というわけで、
>>183 の場合は、結果的には、toString() を明示的に呼び出している、ということでした。
だからソースなんて要らねっつの API 読め 読みほどけ こにょこにょ
191 :
デフォルトの名無しさん :03/04/10 10:27
JAVAを勉強したいのですが アプレットは勉強しない方が良いですか?
192 :
デフォルトの名無しさん :03/04/10 10:39
193 :
デフォルトの名無しさん :03/04/10 10:46
今サーブレットを勉強しているのですが、 クラスファイルを一旦削除してしまうと、もう一度追加しても 「HTTP Status 503 - サーブレット」のエラーが出てしまい、実行できません。 どうしたら良いのですか?
194 :
デフォルトの名無しさん :03/04/10 10:51
レス遅れスマタ。。。
>>167 クスコ!! ヽ( ・∀・)ノ
195 :
デフォルトの名無しさん :03/04/10 12:48
やい!もまいら! 文字列の最後から4文字を抜き出す方法を 教えていただけませんでしょうか。
str.substring(str.length() - 4); 4文字未満の時のことは知らん
String str = "それくらいAPIみて調べろ。ボケェ!"; String subStr = str.substring(str.length() - 4); System.out.println(subStr); // <- "ボケェ!"を出力
>>195 str.substring(str.length() - 4);
str のメソッドの引数に str 自身を使っていいんですかとかいいそうな気がするな
さんきゅ!助かった! APIはメソッドの概要だけ見たんだけど...... スマソ!調査不足を許してぇ。
201 :
才甲金 ネ右一 :03/04/10 16:01
JAVAで実装されたSQLサーバーを WEBサーバーに埋め込みたいんですけどどうすれば出来ますか?
>>201 やりたいことを整理して考え直すか質問しなおす。
>>158 ですが、よろしくお願いします。
何が原因かわかりません。
204 :
デフォルトの名無しさん :03/04/10 16:16
とりあえずWEBサーバをキックしてフックして SQLサーバーにアッパーかな? で、最後にWEBサーバにパンチでオーけっぇぁsjうぇk
馬鹿家畜以下立上極悪ムヒ電波腐乱ノ メ几 火戸王里土鬼里貝イ氏月ヒ里予良卩目木又 し ろ
>>203 どれどれ優しいお兄さんが答えてあげようね
(直リンが 403 ではじかれたので、
いちいちうpろだTOP行ってから探し当てて ダウンロード中)
って jar に test.txt はいっとらんやんけ。
jar から読み込んだ class に対しては
getResource する相手も jar に入ってなあかんかったように思うが脳
>>207 jarファイルにtest.txtいれとけってのは至極もっともな指摘だけど、
きっと、test.txtはjarファイルに入れたくないんじゃないかな?
ユーザー固有の設定ファイルにしたいとか。
そうしたいならjavaの実行オプションで-classpath .\data とかすればOK?
java -classpath .\test.jar;. test とかやって起動すればできるかも。
210 :
デフォルトの名無しさん :03/04/10 17:11
コマンドプロンプトから文字列を入力し 判定するにはどうしたら良いですか? 下記はコマンドラインから END が入力されるまで ループという処理なのですが END を入力してもループを抜けません!! while( ( s = br.readLine() ) != "END" ){ 何故なのか教えてください!!
>>210 readLine() って一行読み込みだから、
ENDとしか書いてない行を入力したときにループを抜けます。
>>210 while( ( s = br.readLine() ).equals( "END" ) ){
と equals 使った方がよさげ。
Javaぐらいだよね。文字列に=が使えるくせにオブジェクトの比較になるのって。 FAQになるほど誰もが引っかかる。
すぐ慣れるけどね。
なれが必要ってのは悪いことなんだけどなぁ。
ひっかかるのはスクリプトやらやってた連中でしょ。 C/C++ から来た連中って引っかかるか?
C++ みたいに、言語仕様上演算子が拡張可能ならよかったのかも知れんな。 String に = を必要とすることなんてまずないもんな。
ちゃうかった == だった
221 :
デフォルトの名無しさん :03/04/10 17:49
コレクションってなんですか? 簡単な説明をよろしく
222 :
デフォルトの名無しさん :03/04/10 18:12
>>184-190 ありがとうございました。おかげでスッキリしました!
API 読みほどきます。
>>206-209 どうもすみません。ご指摘のようにclasspathの指定をつけて
みましたが、やはりJARから起動すると読めないようです。
これから、ファイルセパレータを環境から取得する方法(
>>206 )
を試してみます。
>>226 動いたよ。
17行目の"data/test.txt" を "/data/test.txt" に変更して、
java -classpath .;test.jar test
とすれば動く。
>>228 の変更いらないね。そのままで
java -classpath .;test.jar test
とやっても動く。なんだ、もう解決してるよ
こちらのミスのようで、どうもすみません。 改めて確認してみます。
>>228-229 classファイルを直接実行すれば動くんですが、JARから起動しようと
すると動きません。つまりやりたいのは、
java -jar test.jar [必要ならオプション]
で動くようにすることです。
java -jar test.jar -classpath .;test.jar
では動きませんでした。
java に -jarオプションをつけると、クラスパスの指定が無効になるようでした。
javaコマンドのマニュアルにこう書いてありました。
>このオプションを使用すると、指定した JAR ファイルがすべてのユーザクラスのソースになり、ユーザクラスパスのほかの設定は無視 されます。
-jarオプションを使う限り、java.lang.Class#getResource()でjarファイルの外の
リソースにアクセスすることはできない、ということか。
ところで、
>>230 の方法だとプラットフォーム依存以前にカレントワーキングディレクトリ依存に
なると思うんだけど、いいの?
>>233 基本的な疑問だが、なんでJarの外にリソースだけださんといかんの?
プラットフォームフリーにするなら、Jarに含めて一緒に配れよ。
それならgetResource()でとれるから。
>>234 Jarに含めていっしょに配ってもいいですが、ユーザによる「遊び」が
面倒になります。
たとえば、ビットマップボタンの画像を差し替えたいとか、データだけ
差し替えて遊ぶようなことがやりにくいわけです。
あと、アプリケーションで作ったデータファイルをサブディレクトリに
格納したい場合も外部にディレクトリを持たないといけません。
>>233 要するに、SwingアプリケーションでJARをWクリック、もしくはJARへの
ショートカットなり何なりをWクリックで起動できればいいです。
カレントワーキングディレクトリはJARの存在する場所で、そこから相対
パスでサブディレクトリにアクセスできれば問題ありません。
237 :
デフォルトの名無しさん :03/04/11 05:47
>>235 そんなの拡張子をZIPに変えて解凍してもらって云々・・・っていうのを
マニュアルに書けばいいじゃんか
「お遊び」できるユーザーならそんくらい説明書いときゃ出来るだろ?
それか、お前が自動でデータ差し替えプログラムもいっしょに配布すれば?
そんぐらいできるだろ?
>>236 それからな、マニフェストファイル編集しないとそれは出来ない
しかも、俺の経験上
JARファイルダブルクリックで起動できるのはWindowsだけ
殺伐としてまいりました。
>>236 Windows上で、Explorer上のアイコンのダブルクリックで起動させたいということなら、
javaコマンドを実行するVBScriptを書くといいんじゃない?俺はやった経験がある。
一応シェルスクリプトも用意して、マルチプラットフォームを謳ってみるとよいかと。
>>239 大抵の人は、Win用のbatファイルと、UNIX用のshファイルを、起動用に
準備しているね。
ダブルクリックでJarが起動できるのは、Windowsが拡張子Jarに対して
javawを実行するようにレジストリでマッピングされているからでぇす。
拡張子xlsのファイルでエクセルが自動的に起動するのと、おんなじでぇす。
でもって、それはWindows独自の機能でぇす。
>>236 それを本気でやりたいなら、インストーラ作りませう。
Windows用にはlnkファイルを作って、デスクトップやスタートフォルダ
やプログラムフォルダに張っとけばオケ。
自分で作ったクラスファイルを配列化して、そこにクラスをコピーしているのですが、 新しくオブジェクトを入れたときに前のオブジェクトまで連動して値が変わってしまいます。 なんでなんでしょう?? MyClass[] mc = new MyClass[3]; for (int i=0; i<mc.length; i++) { mc[i] = getMyclass(); if (i != 0) System.out.print(mc[i].getValue() + " "); // ここの値と System.out.println(mc[i].getValue()); // ここの値が一緒になる } タスケテ キヴンヌ
>>242 > 新しくオブジェクトを入れたときに前のオブジェクトまで連動して値が変わってしまいます。
文脈から察するに
if (i != 0) System.out.print(mc[i-1].getValue() + " ");
ではないのか?
244 :
デフォルトの名無しさん :03/04/11 10:08
> 243 ぐはっ! カキコミスです。 ソース上はそうなっていますです
ちなみに MyClass[] mc = new MyClass[3]; int wk[3]; for (int i=0; i<mc.length; i++) { mc[i] = getMyclass(); wk[i] = i; if (i != 0) System.out.print(mc[i-1].getValue() + " "); // ここの値と System.out.println(mc[i].getValue()); // ここの値が一緒になる if (i != 0) System.out.print(wk[i] + " "); // ここの値と System.out.println(wk[i]); // ここの値は異なる } と、なっています
>>244 じゃぁ getMyclass() が同じインスタンスを返しているのだろう。
↓のコードを入れて見れ。
if(i != 0 && mc[i] == mc[i-1]){
System.out.println("同じインスタンス");
}
>246 「同じインスタンス」は表示されませんでした・・・ ヽ(TДT)ノ
>>247 じゃあ getValue() が同じ値を返すようなインスタンスを getMyclass() が
返しているのだろう。てかそもそも getMyclass() ってなにやってんの?
通信でサーバーから帰ってきた電文を いろいろ加工してプロパティに保存するクラスです class MyClass { private static int prValue; public static int getValue(){return prValue;} public static void setValue(String str) { //いろいろなしょり } } 大雑把に、こんな感じです。
>>250 貴様。eclipseにコピペして実験してみた俺が馬鹿みたいじゃないか
とりあえず動かしたいなら
>>250 のstaticを全部外せ
本でも読んでstaticの勉強しろ
ついでに何でstaticをつけたのか教えてくれ
>>250 短期的なアドバイスとしては、static宣言をなくせ。今後main以外でstaticを使うな。
長期的なアドバイスとしては、Javaやオブジェクト指向の本を1冊買ってきて
staticな変数、メソッドとはどういう意味を持つかを勉強しなおせ
__,,,,_ /´  ̄`ヽ, / 〃 _,ァ---‐一ヘヽ __人__人__ /~ト=. i /´ リ} ) キ ( /ヽ_ノノ三 | 〉. -‐ '''ー {! .) . タ .( , く _/三.__ | | ‐ー くー | ) l ( / ./三./ ノ }三 リ ´゚ ,r "_,,>、 ゚'} ) l ( /、__ /=/`ー' /三.」 ト‐=‐ァ' !. ) l ( / ,/丶 /三三三 i、 ` `二´' 丿. ) l ( / /ヽ、 /三三三. - .|、` '' ー--‐f´ ) .!! ( /,/ _,∠ -┬―‐┬┬‐=="'' ‐<..,,_|_|"'''‐-、 ⌒Y⌒Y⌒Y ,.-:「 ;:''' ! :! L..ノノ三- 、_ ハ. iヘヽ、 /|:! ,! ::::-=二王 ̄三 ̄ ̄ `'′入oヽ ´‐\ |:|:! | i'''""" !  ̄ !丁 ヽ三. ト、 ̄o ̄]ニヽ ヽ'''""ヽ || ! ! ,| ,;:::-┬―――三'三. |  ̄ ̄ lニヽoヽ__,,,...`、 || !| | :::: l三|= |三. | ノ_,ヽ. ヽ_,,,.| ヽ|l,l|l___;;;;;__ノ三!= /三三  ̄ ̄_,,.. -ヽ. ヽ
255 :
デフォルトの名無しさん :03/04/11 11:53
servletで質問です。 ERROR: Cannot forward. The current resource (XXXXX) has already obtained the Writer or Stream. servletからJSPにforwardすると、上のエラーメッセージが出るんですけど、いったい 何が悪いんでしょう。さっぱりわかりません。
>>255 その前にどっかで出力してるんじゃないのか?
英語嫁
257 :
デフォルトの名無しさん :03/04/11 13:49
出力しちゃダメなの?
258 :
デフォルトの名無しさん :03/04/11 13:55
言われたとおり、出力部分をコメントにしたら動いたよ。 ありがとう♪
概念的な質問で申し訳ありませんが、JFCとJavaBeansの違いを 何方かご教授ください。
コマンドラインからパスワード入力させたいんだが System.in から エコーバックなしで読み出す方法ってなかったよね?
理解します他・・・激鬱 鬱堕氏脳
>>237 >そんなの拡張子をZIPに変えて解凍してもらって云々・・・っていうのを
マニュアルに書けばいいじゃんか
それはいやだ。デベロッパとしてもユーザとしても。
>>262 そんなののマジで書いてるわけないじゃん
>それか、お前が自動でデータ差し替えプログラムもいっしょに配布すれば?
>そんぐらいできるだろ?
こっちが、本命だろうな
インストラーって言っても、ただファイルコピーすればいいだけだから
そんなプログラムぐらい楽勝だろ?
おまけで進歩バーでもつけときゃ完璧だな
ま、そうなるといろいろ考えないといけないことが多くなるから
初心者にとっては勉強になると思う
それから
>>242 よ
int x;
System.out.println(x+"");
なんてやってるプログラム久々に見たよ
まあ、好き好きだが・・・
>>259 JFCはJavaBeansである
としか言い様がない
265 :
Java初心者 :03/04/11 17:10
質問です。 LinkedListを使っているのですが、 この内容を定期的に保存する必要があります。 保存用のスレッドがあるのでそちらにメソッドを追加して処理するつもりです。 が、ここでちょっと気になることがあります。 メソッドの引数にLinkedListを指定しているのですが、 値渡しなら問題のですが、参照渡しだと問題があるように思います。 Javaは値渡しだと思うのですが、どうなんでしょう? 今のところうまく動いています。
Javaは参照渡しですよ。 java.util.Collections.synchronizedList java.util.Collections.unmodifiableList java.lang.Object.clone java.lang.Clonable
267 :
Java初心者 :03/04/11 17:30
早速返答ありがとうございます。 APIを参照したところ、 cloneはシャローコピーであるようなんですが、 参照のコピーが作られたという認識で問題ないでしょうか? ということは、保存中もListが変更されうるということになりますよね? また、Collections.synchronizedListを使うということは、 複数スレッドによる非同期アクセスを防ぐということで、 保存用のスレッドは、Listのロックなどを意識せずに目的を 果たせるということなのでしょうか? すみませんが、ご教授ください。
268 :
http://www.agemasukudasai.com/movie/ :03/04/11 17:35
269 :
デフォルトの名無しさん :03/04/11 17:41
JavaBeansの分かりやすいサイトってないですか?
270 :
デフォルトの名無しさん :03/04/11 17:46
Javaのシステムクラスのソースコードってどこにありますか?
>>271 一体俺は何を見ていたのだろう……
くだらない質問に答えてくれてありがとう&申し訳ない
273 :
デフォルトの名無しさん :03/04/11 20:14
Javaで作った形態素解析ツールって誰か知りませんか? Sen以外で。
antのビルトインコマンドjavacでclasspathに複数のjarを指定するのってどうやればいいですかね?
普通にコマンドで指定してやるやり方同様に "C:\otoko\tintin.jar;C:\onna\manko.jar" ってやればいいんじゃないの? パス区切り文字はWinなら; UNIXとかなら:だけど プロパティから取得するのがいいのか?
まちがった 上のは忘れてくれ 何個書いてもいいみたいだよ <classpath> <pathelement location="build/lib/${app.name}.jar" /> <pathelement path="" /> </classpath>
278 :
デフォルトの名無しさん :03/04/11 21:32
>>17 君望のマナマナルートってよくネタとして聞くけど、どういう話なの?
すまん誤爆
>>274 <fileset>使って、特定のディレクトリ配下の*.jarを
追加するとかいうのも便利。
>>240 bat,sh使うくらいならやっぱantのXMLファイル使ったほうがいいだろ
これでプラットフォーム非依存度が高まるだろ
>>237 マニフェストファイルの記述もantだけで記述すると楽
>>282 お前はユーザへの配布モジュールにAntを含めるのか?
それと、Antタスクの起動=JVM起動をどうするんだ?
HttpURLConnection でサイトにつなげて getResponseCode() で 300 番台が帰ってきたときに、 どの URL にリダイレクトしたがっているのか調べる方法はありますか?
>>284 getHeaderField("Location") の値を取れ。ただし 300 番代が必ず Location
を返すわけではないので注意。めんどくさかったら setFollowRedirects(true)
でやれ。
286 :
267 Java初心者 :03/04/12 01:34
どなたか
>>265 ,267
についてそれでいいのか教えてくれませんか・・・・。
お願いします!
>>285 > getHeaderField("Location") の値を取れ。ただし 300 番代が必ず Location
> を返すわけではないので注意。
幾つか試した範囲では、すべてうまくきました。
ありがとうございます。
288 :
デフォルトの名無しさん :03/04/12 02:37
>>278 はいはい、お答えします
いわゆる、マナマナはSMのSなんです
で、孝之を縛って首輪して
まさに奴隷扱いで、マナマナの部屋から一歩も出れない状態です
あのルーといくと、話が10月中旬ぐらいにまで長引く
やってて嫌になる・・・
HTTPクライアントを作る場合、URLクラスとかHttpURLConnectionとか 使うのがいいか、Socket使って細かいところまでいちいち書いたほうが いいのか、どっちがいいでしょう。 前者のほうが楽できるけど、後者のほうが後々融通がききそうな印象。 いやぶっちゃけ2chのdatを取得するのにどうするかってことなんです けどね。 gzip/defrate転送でスレごと取得する場合と、既得スレッドの差分だけ 取得する場合があるんで、どうしたものかと。
Windowsで、マイドキュメントやらマイコンピュータが入ってる デスクトップフォルダーのFileインスタンスを生成するのには どうしたらいいでしょうか? javax.swing.filechooser.FileSystemView.getFileSystemView().getRoots()[0] でそれらしいのが返ってくるのですが、これで listFiles( java.io.FileFilter ) とやると、マイコンピュータとかが消えてしまいます。 listFiles()だとうまくいくのですが、そのあと自前で フィルターかけるのが面倒なもので。 本当に初心者の質問で申し訳ありません。
291 :
デフォルトの名無しさん :03/04/12 03:39
>>289 そういう情報っていうかどういうフォーマットでデータ配布してるのか
おしえてください
おれも、つくりてぇ
292 :
デフォルトの名無しさん :03/04/12 03:42
>>290 あーおれもそれ考えたことあるよ
俺も結局できなかった
しかも、CD−ROMやフロッピーのドライブ名取得しようとすると
「ディスクがない!」か「アクセスできない」かどっちか忘れたけど
エラーダイアログが出てくる始末(エクリプスでさえコレだからやっぱJava特有のものか?)
>>290 マイコンピュータやごみ箱などはファイル(およびフォルダ)じゃないでしょ?
>>293 レスありがとうございます。本当に初心者なもので。
というか、getRoots()[0] で得られるデスクトップ・フォルダーの listFiles(FileFilter)が
うまくいかないんです。listFiles() だけなら、配列の一番目に「マイ コンピュータ」
が入るのですが、全部通すFileFilterを使っても、listFiles(FileFileter)だと、
「マイ コンピュータ」が返ってこないのです。
「マイ コンピュータ」は、isDirecotry()でtrueを返してくれますし、
マイ コンピューターの中のAドライブは、
javax.swing.filechooser.FileSystemView.getSystemDisplayName(File)
で、「3.5 インチ FD (A:)」を返してくれます。
デスクトップのlistFiles(FileFilter)だけうまくいかないのが解せないのです。
javax.sound.*のソースってどこで手に入るんでしょうか。
296 :
デフォルトの名無しさん :03/04/12 10:12
FreeBSDでJavaを使っているのですが URLEncoder.encodeでエラーがでてしまいます。 Wrong number of arguments in method. out.print(URLEncoder.encode(select,"Shift_JIS")); どうすればいいのでしょうか?
>>289 どうせ差分とるのもURL指定でしょ?
HTTPヘッダを自力で解析するのは面倒だし、相手はHTTPサーバに限定されている
ことがはっきりしているんだから、HttpURLConnection使ったほうが楽だよ。
Fileを読み込んだとき、バージョンによって 読み込めない、扱えない文字とかあるのでしょうか?
>>299 バージョンは関係無いと思うが、テキストファイルのとき、
Javaプログラム内部のStringオブジェクトにエンコードす
る時に正しいエンコード指定しないとバケラッタになってまうよ。
>>298 Shift_JISです。
Linuxではちゃんと動くのに・・だめなんですか?
>>301 Javaのバージョンが1.2か1.3なんじゃないの?
java.net.UrlEncoder#encode(String, String)は1.4からだよ。
FreeBSDのJavaって、1.4のパッケージの配布してたっけ?
ライセンスの都合でソースのみだったような気がするんだが。
303 :
デフォルトの名無しさん :03/04/12 14:14
xmlファイルに、たとえば 身長:175 体重:60 みたいな情報を保持しておいて、 そしてそれをjavaで値(175と60)を取得したいときには どういう書き方がスマートできれいなんでしょうか・・。 常々コーディングのセンスの無さにとまどっているんで 見本みたいな感じで書いて欲しいです。 贅沢いってごめんなさい。
304を無視リストに入れますた
>>303 XML の書き方がわからんのか、
XML ファイルへのアクセスの仕方がよくわからんのか、どっちなんだ?
XML ファイルを ODB 的に利用したいなら Relax や RelaxNG が向いている。
データファイル的に利用するなら sax や dom 使えば良い。
ライブラリを使いたくなければ自分でパーサ書け。
>303 XMLの読み込みって、DOM、SAX、JAXB、Digester...の解があるので コーディングセンスを語る例としてふさわしくない 別の出せ
>306 ありがとうございまっす! xmlの書き方とアクセスの仕方を 他のサイトで勉強してきました。 なんとかなりそうでっす! あとは、eclipseでマウスでさくさくGUIのパーツをはっ付ける プラグインの導入の仕方でつまづいてまっす。 なにか有益な情報をご存知でしたら ご教授願いたいです。
310 :
デフォルトの名無しさん :03/04/12 17:10
Object[] obj という配列を String型の配列に変えるいい方法は無いですか? String[] s=new String[obj.length]; for(int i=0;i<obj.length;i++){ s[i]=obj[i]toString(); } 今のところこうなってます ちなみに、このobjっていうのはArrayListの要素から得たものなんです なんで、入れたときにはString型でいれてんのに とりだすときはObjectなのかよくわからんよコレクションは・・・
>>310 これでどうよ?
ArrayList list = new ArrayList();
list.add("uma-");
list.add("mazu");
list.add("ii!");
String[] array = (String[]) list.toArray(new String[list.size()]);
or(int i = 0; i < array.length; i++){
System.out.println(array[i]);
}
java.util.ArrayList#toArray()の戻り値がString[]型だったら、
ArrayListにはStringオブジェクトしか入れられないでしょ?
>>311 レス、ありがとうございます
そうか、もうひとつの
toArrayメソッド使うんですか・・・
何のために
toArray()と、toArray(Object[] obj)
なんていうのが存在するのかと思ってました
ありがとうございます
いやじつは最初 String[] array = (String[]) list.toArray(); ってやって 「Object[]型からString[]にはキャストできません」 見たいなこといわれて、あきらめて 310のやりかたしか出来ませんでした
java.io の BufferedReader.java を読んでいたら、 bufferLoop: charLoop: というのを見かけたのですが、この foo: というのはどういう意味ですか? こういうコロンの使い方は初めて見たのですが。
>>314 多重ループとかを抜けるのに使う、ラベル付のループだと思われ。
316 :
デフォルトの名無しさん :03/04/12 21:38
jspからservletにvectorを渡す方法を教えて!
317 :
デフォルトの名無しさん :03/04/12 22:06
winXPでソースファイルをコマンドプロンプトを使って javacにかけようとすると以下のエラーが出ます。 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 java2はインストールしてるんですが何が足りないのでしょうか?
「'javac' は、内部コマンドまたは外部コマンド」 でググってみ。 つか、まさかこんなにヒットするとは(w
びっくりした、こんな長い文章でもヒットするのか…。 どうもです、ページ見てやってみます。
>>316 ない。あるにはあるが、それでおまえがやりたいことはできない。
リクエストをまたいで保持したいオブジェクトはセッションに入れろ。
だからってなんでもかんでもセッションに入れるのはだめだぞ
322 :
デフォルトの名無しさん :03/04/12 23:27
>>320 servlet→jsp→servletなんです。
それて、最初のservletで「vectorをjspに渡す」これはできたのですが、
そのまま、jspで受けたvectorを最後のservleteに渡したいのです。
323 :
デフォルトの名無しさん :03/04/12 23:32
>>320 解っていると思うのですが、何がしたいかと言いうと
servlet→jsp→servle...etcで
どこかのservletで作成した状態を、他のservletやjspで参照したいのです。
なんちゅーか...c++で言うstaticみたいな???ですかね。
java初心者なもんで表現足りなくでゴメンなさい
>>323 そのVectorオブジェクトを参照してもいい状況は?
1. 同じユーザの、同じリクエスト。
2. 同じユーザの、別のリクエスト。1回アクセスしたら以降のリクエストでも見える。別のユーザには見えない。
3. すべてのユーザのすべてのリクエスト。あるユーザのリクエストで生成されたVectorオブジェクトが他のユーザにも見える。
325 :
デフォルトの名無しさん :03/04/13 00:00
>>297 289ですが、そうですね、HttpURLConnectionのほうが楽できそうですよね。
HTTPのリクエストヘッダでいうところの、If-Modified-SinceとかRange関係
の指定の仕方が今いちわかんなかったりしますが、とりあえずAPI仕様を
調べてみようと思います。
え?そういうこと?ひょっとして、Jspからservletにフォワードしてる? 例えばこんな感じで。 <jsp:forward page="someServlet"/> それならservletからJspにフォワードするときと同じ方法で共有できるよ。 request.setAttribute()でセットして、request.getAttribute()で取ってくる、と。 そもそも何でそんなことを?Jsp→servletのフォワードは普通はしないしする必要もないんだが。
>>323 Java初心者というより、Web初心者だな。
なんかHttpURLConnectionってコンストラクタがprotectedなんですが、 継承して使えってことですかね。なんかいいサンプル教えてもらえませんか。
>>329 >なんかHttpURLConnectionってコンストラクタがprotectedなんですが、
>継承して使えってことですかね。
public abstract class HttpURLConnection extends URLConnection
~~~~~~~~
ところでバーチャルマシーンとインタプリタってどう違うのですか? 呼び方の違いですか?
334 :
デフォルトの名無しさん :03/04/13 06:30
Javaに関する本や記事を読んでいると、時々 「粗粒度のオブジェクト」や「細粒度のオブジェクト」 という単語に出会うのですが、この「粗粒度」、「細粒度」 という形容詞はJavaの世界ではどういう意味なのでしょうか?
>>334 クラス分けをどのくらい細かさで分けたか
っつー尺度をかっこつけていうとそうなる。
関連するような属性やメソッドをある程度ひとくくりにまとめているようなクラスは粒度が「粗い」といえます。 たとえば、DBのレコードを表現するためにDateやその他のクラスを集約し、データ操作に関する 機能をカプセル化しているようなクラス粒度が「粗い」といえます。 対して、たとえばDateクラスのような、小さなクラスはクラス粒度が「細かい」といえます。 要はクラス上の「大きい」「小さい」です。
>>335 ,336
さっそくありがとう。
でもまだ今ひとつピンとこないのですが、
例えば Integer とか Boolean クラス等は、
「超」細粒度なクラスと言えるってことですよね?
Redhat系の最新のLinuxにRPMのJ2SE1.4.1_02を入れたのですが、 JavaWebStartは/usr/java/j2sdk1.4.2/jre/bin/*.zip に入っているzipを展開してinsutall.shを実行しろということで、 JavaWebStartをインストールしたいディレクトリを指定して実行してインストールを完了し 無事に実行することができたのですが Mozilla, KDEのKonquerorからjnlpファイルをダブルクリックしても直接JavaWebStartが 起動しないようです。 関連付けをしないといけないようですが、 実行時に使用するプログラムを JavaWebStartをインストールしたディレクトリのjavawsファイルなどを手当たり次第に 選んでやってみたのですが、どれもエラー、または何も起きない状態で、 WindowsのようにjnlpファイルからJavaアプリケーションが起動することも、 JavaWebStartにアプリケーションが登録されることもありませんでした。 プラグインを指定しないといけないのでしょうか? それとも、Mozillaを一旦アンインストールしてNetScapeを入れないといけないのでしょうか?
339 :
デフォルトの名無しさん :03/04/13 09:28
Javaを使ったブラウザを作りたいんですが、何か良い情報はありませんか? JEditPaneは使わない方向でお願いします。
>>339 昔の俺を思い出すよ。
その時点での結論は「ない」。
>>339 とりあえず、Swing, Java2D, XMLパーサ。
HTMLの構文解析が面倒臭い。
Java3Dのことも書いてる「動く**グラフィックス」という(タイトルだったろうか)紅いJava
本にブラウザのサンプルが載っていた。
>>341 JavaScriptの解析とかはどうしようか?
なかなか夢の広がる回答だ。w
>>339 IEコンポーネントとJava-COMブリッジとか(ワラ
>>340-
>>343 皆様ありがとうございます。
>>340 ショボーン
>>341 つまり自前で実装せよということですか?ちょっと大変そうですね。
IEのコンポーネントを貼り付けるみたいに簡単にできるようなライブラリはないんでしょうか。
JEditPaneにもっとがんばってもらえると一番いいのですが、googleを表示させただけでショックを受けました。
>>343 当然ながらWindowsでしか動きませんよね?Javaの意味があんまりない。。。
うーん。Netscapeを貼り付けたりできないんでしょうか?NetscapeならLinuxにもあるので・・・。
>>344 なんでIEやNN、Mozilaが、あんなに色々紆余曲折があったのかを
考えてみそ。
>>342 JavaScriptだけなら、Rhinoに丸投げも可能かも。
>>338 現実世界で言う「原子」に近いと思います。
347 :
デフォルトの名無しさん :03/04/13 13:11
348 :
デフォルトの名無しさん :03/04/13 13:13
あと、XMLパーサでXHTMLを表示するのがあったから ソースコードを解析してみれば何とかなるかもしれない
あのーもしかして、1.4.xでコンパイルしたJAVAアプレットは 過去の古いバージョンのVMでは動かないんでしょうか? というか、一般にネット上にあるJAVAアプレットは普通どの バージョンでコンパイルとかしてますか?
>>350 つうか、1.4で新しく追加になったAPIは、それ以前のJREには
存在しないわけで。
>>349 ありがとうございます!Mozillaを使って作ることにしました。
やっぱり一から作るのは大変そうなので^^;
解説ページは中途半端ですが何とか自分でやってみます。
for (int i = 0; i < 10) ; i++){ stack.push(new Integer(new Random().nextInt())); } ↑のようなふうにすると乱数がすべて同じになりますが、 何故なんでしょう?(仕様です、というのはわかりますが・・・) Random()は最初の一回しか呼ばれないということでしょうか。
>>353 オイオイ。
Randomインスタンスが同じseedで毎回生成されなおして、毎回その初回の
変数生成をよびだしているから。
Random r = new Random();
for (int i = 0; i < 10) ; i++){
stack.push(new Integer(r.nextInt()));
}
JavaアプレットよりFlashのほうが スムーズに動くような気もするが
356 :
デフォルトの名無しさん :03/04/13 15:36
>>355 人の目に直接見せる部分はな。
Flashでは真似できない幾何学的処理、細かいロジックや計算などをさせると
はて、どうしたことか。
FlashだけではJava3Dのようにはいかない。
a
aa
aaa
aaaa
>>354 なるほど・・ちゃんと呼び出されてはいるんですね。どもでした。
というか種値が同じだと毎回同じ数字が出るんじゃランダムといえな(ry
aaaaa
aaaaaa
>>356 >Flashでは真似できない幾何学的処理、細かいロジックや計算
そんなのは無いと思われ
JavaなんてFlashに負けるだろうけどね。
Servlet・JSPしかできないPGの単価が40万円程度まで下がってるけど、 それでもJava使い続けるの? もうJavaにおいしい部分もないよ。
JSPしかできないくらいならJavaScriptに強い方が重宝されるしね。
Java関連企業もほとんど姿を消したね。 やっぱり無理が祟ったんだろうな。
>>61 種が同じなら発生乱数は毎回同じでないと、状況の再現をしたいときに困る罠。
Javaに限らず、擬似乱数発生器は大体同じ仕組み。
でもって、ホントに乱数が欲しいなら、毎回種を変更するのがセオリー。
たった今のシステム時刻System.currentTimeMillis()を与えるのが一般的。
馬鹿がとうとうコッチにきたか…
System.currentTimeMillis()って致命的なバグがあるよね。 それでこのメソッド使って性能測定して、JavaはC++より速いとか吠えてたアホがおったけど。
JAVAってApplet専用言語だろ? もう死滅していいよ。
Swingってフォントの見た目がダサいから絶対普及しないよね。
>>371 >System.currentTimeMillis()って致命的なバグがあるよね。
致命的なバグって何よ?
馬鹿が無知をさらけ出すスレになりました。
必死だなと言いたいところだが
少なくとも
>>373 だけは納得いく
>>376 それはデフォルトフォントが腐っているだけのことで、Swingの出来とは
関係無いだろ。設定なり、プログラム内部でなり、好きに差し替えろよ。
>>378 アプリ独自のフォント設定ファイル等を作って そこで設定すれば良いのでは?
ショシンシャノヒトガカワイソウナノデ コノスレハアラサナイデ…オネガイ
381 :
デフォルトの名無しさん :03/04/13 16:35
やっぱりJavaって面倒でダメだな。 .NETならWindowsUpdateから自動的に入れるだけだもんな。
>>378 アプリ内部で変更してやれよ。お前やり方知らんのか?
384 :
デフォルトの名無しさん :03/04/13 17:20
cobol、c、c++、vb、vc、javaで偉いのはどれ?
385 :
デフォルトの名無しさん :03/04/13 17:36
しかしアレだな。Javaってすごくおもしろい。
387 :
通りすがり :03/04/13 17:53
FW切らないとwindowsupdateがまともに動かないのできついです fontの設定だったらエンドユーザでもREAD.ME作ればいいんでないかい
388 :
デフォルトの名無しさん :03/04/13 17:57
389 :
デフォルトの名無しさん :03/04/13 17:58
FW = FireWorks(Macromedia)
393 :
デフォルトの名無しさん :03/04/13 19:26
C言語みたいにメモリを確保する命令はJAVAではなんと書くのでしょうか?
395 :
デフォルトの名無しさん :03/04/13 19:33
>>394 えと、メモリ上の何領域ですか?ヒープ領域を使いたいのですが・・・
396 :
デフォルトの名無しさん :03/04/13 20:20
>>393 えっとね、
int ii = 0;
これでいけるはずだよ!
>>393 そういうのは無い。変数を宣言して、代入するだけでメモリを確保してくれる。
後は、変数のスコープだけ気を付ければいい。
>393 malloc相当のものはない。 オブジェクトを複数保持したいのならArrayListなどのjava.util.*のコレクションフレームワーク 文字列を追加、削除したいならStringBuffer ファイル、ネットワーク経由のIOならjava.io.*の*Streamなり*Reader/Writer を使うとよい
400 :
デフォルトの名無しさん :03/04/13 21:01
>>399 なぜコレクションフレームワークの話になるの?
VMのスタックじゃなくて物理メモリ領域を確保したいのなら、
C言語で実装してJNIで呼んだらいいじゃん。
意味があるかどうかは別として。
393です。 みなさん色々とありがとうございました。
402 :
デフォルトの名無しさん :03/04/13 21:04
>>399 そんなこと言うから「とんこつラーメン臭い」って言われるんだよ。
>399 何をしたいんだかわからんが、 物理メモリ領域確保は問題解決のための手段でしかないんだから その問題解決にふさわしいJava流の手段を使えばってことでわ?
>400 の間違いね
405 :
デフォルトの名無しさん :03/04/13 21:42
何にせよ、Javaやるんだったら低レベルなことより クラス設計覚えたほうが飯食えるぞ。
なにでもめてるのかシランが java.nio.ByteBuffer#allocateDirect() Since JDK1.4
OSに直接お願いして、JMMヒープの外にメモリ確保する命令ですよ。 ByteBufferに対する強参照がなくなると自動的に解放されますし、 GCによるヒープ内移動なども発生しないですし、便利どすえ。
408 :
デフォルトの名無しさん :03/04/13 22:35
OSにお願いならシェルじゃない?
409 :
デフォルトの名無しさん :03/04/13 22:35
シェル!?
シエル
411 :
デフォルトの名無しさん :03/04/13 22:52
サーブレットとサーバサイドの違いが訳分からん。
サーブレット:Servletをextendしたもの。 サーバサイド:サーバ上で動くもの。
>>411 HTTPサーバ、UDDIやSOAPサーバ、EJBコンテナその他もろもろ
を動かす場所が「サーバサイド」
サーブレットは、Serlvetコンテナ上で動かすモジュール。
サーバーサイドで動くものの一つ。
>>413 クライアントでSOAPサーバ動かしちゃいかん法律もあるまい。
415 :
デフォルトの名無しさん :03/04/13 23:25
>>413 UDDI、SOAPがわからん。概要説明きぼんぬ。
416 :
デフォルトの名無しさん :03/04/13 23:25
サーブレットはサーバサイドの中の一つという解釈でいいんですかね?
>>415 SOAP:ぶっちゃけ、電文がXMLの分散オブジェクト
UDDI:SOAPその他のサーバプロセス用DNSみたいなもん
418 :
デフォルトの名無しさん :03/04/13 23:53
javaで扱える数字は、long型の9223372036854775807が最高の数字なのですか? どなたかお願いします
419 :
デフォルトの名無しさん :03/04/13 23:56
なんかさっきから宿題を聞いてるだけのような
System.out.println(Long.MAX_VALUE);
1_4_1 って、アプレット動かないの?
424 :
デフォルトの名無しさん :03/04/14 00:48
電文って古臭いから扱いたくない。電文フォーマットなんて糞食らえ。 だいたい、1バイトずれるとか面倒臭いんだよ。 ホスト連携って今も電文が標準なの?
> だいたい、1バイトずれるとか面倒臭いんだよ。 頼むからお前はプログラムしないでくれ。
>>424 どんなシステム上でも、1バイトずれたらバグ/不正データ扱いですが。
>>424 XML-RPCだろうがSOAPだろうがEJBだろうが、ホスト間で投げあっている
のはTCPストリームで、その下はIPパケットのはずだが。
フォーマットは全部きまってるはずだがなあ…
428 :
デフォルトの名無しさん :03/04/14 01:03
429 :
デフォルトの名無しさん :03/04/14 01:20
StringBufferクラスに文字を代入したときに、メモリサイズとか気にしなくて良いんですか?
サーブレット、JSP、JavaBeansがそれぞれどんな内容なのか 教えてくだされ。概要だけでいいです。
431 :
デフォルトの名無しさん :03/04/14 02:17
MVCの Modelに相当するのがBean Viewに相当するのがJSP Controllerに相当するのがServlet 今更、MVCがわからないとは言わないだろうけど。
>>431 わからないも何も、答え書いちゃってんじゃん
433 :
デフォルトの名無しさん :03/04/14 02:42
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp/class ってどういう意味?
class HelloWorldApp { public static void main(String[ ] args) { System.out.println("Hello World!"); } } このソースを実行すますた。
出来たよ。 サンクス
437 :
デフォルトの名無しさん :03/04/14 03:33
ディレクトリのリストを作成するにはどうしたら良いですか?
438 :
デフォルトの名無しさん :03/04/14 03:40
ライブラリの解説でも見れば?
439 :
デフォルトの名無しさん :03/04/14 05:52
>>437 File、JTreeなんか使ってゴリゴリ書け。
440 :
デフォルトの名無しさん :03/04/14 08:09
441 :
デフォルトの名無しさん :03/04/14 15:13
配列の要素数を知る方法はありますか?
>>441 int[] array = new int[100];
array.length == 100
443 :
デフォルトの名無しさん :03/04/14 15:36
下記のような処理で、setCursor でカスタムカーソルを使っている所為で、 再XOR描画で消去するときに、ゴミが残ってしまいます。 しかしできればカーソルは変えたいのです。 repaint() は重いからやらないとして、何かいい方法はありますでしょうか。 private Point P; public void mousePressed(MouseEvent ev) { P = ev.getPoint(); drawInv(); } public void mouseDragged(MouseEvent ev) { drawInv(); P = ev.getPoint(); drawInv(); } private void drawInv() { Graphics g = getGraphics(); g.setXORMode(Color.white); g.drawString("(^-^)", P.x, P.y); g.setPaintMode(); }
>>445 1.マウスを消す
2.カーソルを変更
3.マウスを表示
ではまずいの?
ぐあ マウス→マウスカーソルの間違い
レス見る限りでは、いまからjavaを始める人が多ね。
>>446 press 〜 release 間だけ、
setCursor(null) してシステムカーソルに戻しました。
操作直前までカーソルが顔変えてれば、
一応用は足すので我慢いたしますです。
JAVAで簡単なの作ったんですが(ボタンが3つあるだけのウィンドウ)、 ウィンドウをサイズ変化した時の再描画が異常に遅いんです。 元々そういう物なんですか? 教えてください
>>450 そういう個別の事情だったら、まず開発環境やら何やらを
余すところなく提示すべきかと。情報小出しは解決を遅ら
せるだけだよ。
452 :
デフォルトの名無しさん :03/04/14 20:06
業務でJavaをやるって事は、 J2EEまで出来なきゃ通用しないの?
454 :
デフォルトの名無しさん :03/04/14 20:50
じゃ、J2EEできれば業務で使えるレベルになるの?
455 :
デフォルトの名無しさん :03/04/14 21:20
456 :
デフォルトの名無しさん :03/04/14 22:44
Javaは学習しやすいので こういったJavaをちょっと理解したやつが プログラマになろうと企んでいる おまえら、J2EEはどうでも いいからもうちょっと基礎やってから来い 現実は甘くない
具体的な使い方を教えていただけないでしょうか?
「フィールド」扱いされているメソッドとそうでないメソッドの違いはなんですか?
459 :
デフォルトの名無しさん :03/04/14 22:55
>>444 おい、俺も はしのえみ好きだ
しかも、知る人ぞ知るRCカーグランプリ時代から
460 :
デフォルトの名無しさん :03/04/14 22:56
>「フィールド」扱いされているメソッド そんなのあるのか? staticメソッドのこと言ってんの?
>>460 Method型のフィールドなのだろうと好意的解釈。
462 :
デフォルトの名無しさん :03/04/14 23:03
ネーミングサービスは何のためにあるんですか?
463 :
デフォルトの名無しさん :03/04/14 23:05
>>458 痴呆がここに一人と。あえて反応してみる。
466 :
デフォルトの名無しさん :03/04/14 23:24
Method型のフィールドだと?そんなもんあるわけないだろ。将来的にも考えられない。 属性が振る舞い持ってんのかよ。もうちょっと気の利いたネタ使え。
ボクの考えたMethod型のフィールド class Hoge { Method method; } class Method { }
469 :
デフォルトの名無しさん :03/04/14 23:44
>>467 リフレクションのMethodはクラスだろ。確かにMethod型フィールドなんだが
今言ってるのとは意味合いが違うと思われ。
ボクの考えたMethod型フィールド class Hoge { public void hogeHoge() { System.out.println("Hello");} field = null; }
>>469 class Hoge {
String str;
}
おまいはこれをString型のフィールドとは言わないのか?
俺はString型のフィールドだと言うが。
おまいらヌルいネタ引っ張るなぁ。 プロパティのアクセサ (getter/setter) のことだろ。
>プロパティのアクセサ この言い方って何となく違和感あるよな。 privateなフィールド(プロパティ)のアクセス制限を行うならそれでも良いけど、 動的にデータを用意するアクセサを書いた場合、「プロパティ」と言う実体はどこにもないわけで。
>>472 てふてふはString型のメンバと言ってしまいまつ。
>>475 中に実体はなくても、外から見たらあるなら、差し支えないでそ。
プロパティっていわねえだろ Javaじゃ
メンバっていわねえだろ Javaじゃ
Javaにメソッドなんてない!
グローバル変数っていわねえだろ Javaじゃ
>>483 研修で、public staticの変数だけ定義したクラスを定義して、
そこらじゅうで参照更新するプログラム書いた新入社員がいた。
ある意味感心した。
構造体を再現したかったと思われ
static 変数と構造体は意味的にぜんぜん違う
ラベルの字と色をブリンクさせたいのですが、静止状態です。 このコード一部なんですけど、どこか変な所ありますか? やさしくて素敵な先生、よろしくおながいします。 private MyLabel myLabel; public void init() { myLabel = new MyLabel(); myLabel.setFont(new Font ("Serif", Font.PLAIN, 12)); myLabel.setForeground(Color.red); myLabel.setBackground(Color.black); c.gridx=0; c.gridy=1; c.gridheight=1; c.gridwidth=GridBagConstraints.REMAINDER; add(myLabel, c); public void actionPerformed(ActionEvent e) { // if statemnets...... else{ try{ m.put(new String(nameField.getText()), new Employee(nameField.getText(),Double.parseDouble(payRateField.getText().trim()))); msg.setText("The employee has been added to the collection."); checkLabel(myLabel); }catch (Exception err){ System.out.println(err.getMessage());}}}
続きです。 public void checkLabel(MyLabel myLabel)throws Exception{ msg.setText("LabelTEST");} class MyLabel extends Label implements Runnable{ int interval; String myLabel; MyLabel (String myLabel, int blinkSpeed){ Thread t = new Thread (this); t.start();} public void run() { for(int i=0; i<100; i++) { try{ Thread.sleep((int)(Math.random() * 1)); } catch( InterruptedException e ) { System.out.println("Interrupted Exception caught"); } Color oldForeground = getForeground(); setForeground(getBackground()); setBackground(oldForeground); }} public void setMsg (String newMsgLabel){ myLabel = newMsgLabel; throw new NullPointerException();} public void setInterval (int newInterval){ interval = newInterval; throw new NumberFormatException();}}
>>489 気づいた点だけ。
Thread.sleep((int) (Math.random() * 1));
って、なんだこりゃ?
static でない内部クラスに static なメンバが宣言できないのは何故ですか?
>>490 本当だね。
Thread.sleep((int) (Math.random() * 1));
て 一体全体なんなんだろう? 自分でも何をやっていたのか
記憶にないです。
Thread.sleep(interval); に変更しました。
チョコチョコ変えてみたら、まあまあブリンクするようになったので
もうひとがんばりします。
先生ありがとうございました。
493 :
デフォルトの名無しさん :03/04/15 14:47
下記のプログラムをFrameをextendsせずに書く方法はありますか? どなたかご存知の方がいれば教えてください。 import java.awt.*; import java.awt.event.*; public class FrameDemo extends Frame implements ActionListener { public static void main(String args[]){ Alert al = new Alert(); //アラートを表示する al.setVisible(true); al.setSize(200,100); } public void actionPerformed(ActionEvent ae){ dispose(); } }
つづきを書きます。 /* アラートを表示する */ class Alert extends Frame implements ActionListener { Alert(){ super("Alert"); Panel pc = new Panel(); Label label = new Label("アラートを表示します"); pc.add(label); add(pc, "Center"); Panel ps = new Panel(); Button ok = new Button("OK"); ok.addActionListener(this); ps.add(ok); add(ps, "South"); pack(); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ dispose(); } }); } public void actionPerformed(ActionEvent ae){ dispose(); } }
>>493 あります。でも extends してる意味を分かる方が先だと思うよお兄さんは。
ときに、 FrameDemo まで extends Frame implements ActionListener してる意味 0 だね
import java.awt.*;
import java.awt.event.*;
public class FrameDemo {
static Frame f;
public static void main(String args[]){
f = new Frame("Alert"); //アラートを表示する
Panel pc = new Panel();
Label label = new Label("アラートを表示します");
pc.add(label);
f.add(pc, "Center");
Panel ps = new Panel();
Button ok = new Button("OK");
ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae){
f.dispose();
}
});
ps.add(ok);
f.add(ps, "South");
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
f.dispose();
}
});
f.pack(); f.setVisible(true); f.setSize(200,100);
}
}
きったねぇプログラムだ。
でもあんまり元とかけ離れると、どこが変わったか分かんないだろうし。
>>493 が上達するのにはしばらくかかっちゃうかもな。
おら知らね。
>>496 さん
レス感謝です。もっと勉強します^^;
JAVAで作ったツールを知人に譲りたいのですが、 jarファイルってアイコンは変えられないんですか? OSに依存しないように変えたいのですが・・
無理です。そんなの Java 関係なし。 あなた、Mac でも Win でも GNOME でも PalmOS でも PocketPC でも 同じアイコンになってるファイル見たことありますか?
配列の要素を削除する方法を教えてください。おながい。
503 :
デフォルトの名無しさん :03/04/15 17:48
>>502 それだと、中身のデータがなくなるだけで
要素自体はなくならない
つまり、
>>501 のやりたいことは
たとえば、int[] array=new int[5];
として
array[3]を消して
array.lengthを「4」にしたいと思われる
配列ではこのようなことはできないので
java.util.ArrayListなどをつかえばよい
>>503 ありがと。java.util.ArrayListとやらをさっそく調べます。
>>504 ほかの言語やってたもんで。
506 :
デフォルトの名無しさん :03/04/15 19:05
Frameクラスのshow()メソッドを使ってウィンドウを表示させたとき、 左上にウィンドウが表示されるのですが、 これを中心に表示する方法はありますか?
>>506 Toolkit.getDefaultToolkit().getScreenSize();
と
win.getSize();
使って計算して真ん中にもってくるとか。
ちなみにWindows だと下のタスクバーは無視したサイズ。
もっとずばりのやり方あるかも知れないけどこんなとこで。
>>507 早いレスどうもです
おかげで中心に表示することができました。
ありがとうございました
>>508 これから心がけてみます。
アドバイスどうもありがとうございます。
>>508 あ、やっぱりそんなのが出来たんだ。
不勉強でスマソ 知識が増えたよありがトン
513 :
デフォルトの名無しさん :03/04/15 22:10
なんであんたらそんなにGUI? このGUIマニアめが
GUIが不満だからだろ?
515 :
デフォルトの名無しさん :03/04/15 23:05
class HelloWorld{ public static void main(String[] args){ JFrame win=new JFrame("HelloWorld"); win.setVisible(true); } }
JAVAでは2次元配列は配列の配列として扱われるようですが、 皆さん実際に2次元配列を使う場合、どのように実装しているのでしょうか? 縦、横から配列をとりだしたり、縦と横を入れ替えたりする場合は しこしこ作っていくしかないのでしょうか?
518 :
通りすがり :03/04/16 00:18
行列あつかうクラスって有るの?
520 :
デフォルトの名無しさん :03/04/16 00:21
最近俺が明らかにしたんだけど、 【インスタンスは使う直前に生成すると最も良いパフォーマンスを発揮する】 よって、プーリングするときには古いインスタンスから順に借用しましょう。 あとね、バイトコードは3回コンパイルしたら最適化が促進されるんだよ!! 大発見!JITのコードを解析した結果です。 StashJIT.java(922行目〜) for (int ii=1; ii<compileCount) { optimize(); if (compileCount>=3) { amazeOptimize(); } }
523 :
デフォルトの名無しさん :03/04/16 01:33
>>521 StashJITってなんですか?
SunJITの内部?そんなもんココで公開していいのかオイ。
汎化関係のクラスのどちらかを再コンパイルしたら、もう一方もコンパイルしないと 変数の値が不整合になる。という指摘をリーダーから食らいました。 もまいは rt.jar を再コンパイルしてるのかと小一時間。そうかと思えば、同僚が 「コンパイルしなくていいです。ほらここにダイナミックリンクって書いてあります。」 結論は正ししが、行頭に「DLLファイルとは、」って書いてありました。 もまいさん、Javaやってるんだよね?と。 もうダメです許してください。
>>524 変数の値は不整合にならないけど、
アクセスレベルは不整合になったりする。
char c = 'c' があったときに、これを String 型に変換するにはどうすればいいのでしょうか? いまは、定義どおりに char[] tmp = {c}; String str = new String(tmp); とやっているのですが、これではさすがに迂回しすぎだと思いまして。
>>526 Character.toString(c);
String.valueOf(c);
"" + c;
どれでも好きな奴を。
528 :
デフォルトの名無しさん :03/04/16 05:27
おい、例外の発生するタイミングって プログラム起動ごとに違うんでしょうか? 以下のソースをコンパイルして実行してみそ 何回も実行させると、順番が変わる なんで? ちなみにアサーション使ってるのでコンパイル&実行時には オプション指定してね アサーション特有なんですか?この動作は・・・
529 :
デフォルトの名無しさん :03/04/16 05:29
public class ArrayTest { public static void main(String[] args) { System.out.println(1); System.out.println(2); System.out.println(3); assert false:4; } } //期待する動作は1,2,3と表示されて最後に例外のメッセージ出るはずなんだが・・・ //表示タイミングがずれてるだけなのかな?
530 :
デフォルトの名無しさん :03/04/16 08:04
>>529 1つ言えることは、コンソールに描画する処理の前にプログラムは終了している
ということだ。
531 :
デフォルトの名無しさん :03/04/16 08:33
postgreSQLに接続するための、 JDBC postgresql.jar をソースからコンパイルして、作成したのですが、このjarファイルは、 どこに置いたらいいのでしょうか? パスを設定すればどこにおいても良いと思うのですが、一般的に、どこかに置く物とか暗黙の決まりとかあるんでしょうか? JAVAの本体は、/usr/local/j2sdk1.4.1_02 においてます。
>>531 Tomcatでプーリングでもするなら、$CATALINA_HOME/common/lib、
webアプリからJDBCならWEB-INF/lib、スタンドアロンでJDBCなら
JDKには置かずにアプリに同梱したほうがよいかな。
$JAVA_HOME_jre/lib/extに置くと勝手にクラスパスに追加されるから、
その手もあるが・・・
習作としてAppletでテキストビュアーを作ろうとしています。 テキスト全体の色を変更することは出来るのですが、 テキストの一部の色を変更する方法がわかりません。 いまはSwingのJTextAreaで作ろうとしていますが、これが無理の原因なのでしょうか? やりたいことは、指定したキーワードを色を買えて表示することです。 他のクラスを使えば出来ることならば、そのクラスを教えてください。 お願いします
534 :
デフォルトの名無しさん :03/04/16 14:43
再帰処理中に、java.lang.OutOfMemoryErrorになるんですが、 深い階層までを再帰処理し、その階層毎にオブジェクトのインスタンスを作ることが 必須の場合、何かOutOfMemoryErrorを避けるためのポイントはあるでしょうか?
>>527 > Character.toString(c);
> String.valueOf(c);
> "" + c;
ありがとうございます。
やはり、簡単に出来るんですね。
>>534 java -Xmx512M -Xms512M hoge.hage.Main
>>534 それだけじゃオブジェクトプールやfly weightパターンを使えとしかいえないな。
でもその前に、再帰の終了条件が間違って無限に再帰呼び出ししている可能性を
疑ったほうがいいんじゃない?
538 :
デフォルトの名無しさん :03/04/16 15:10
539 :
excel 290 :03/04/16 15:19
JDBC、XMLはIBMが作ったって本当ですか? 天才のプログラムは複雑だなーと思っていたんですが、某スレでC++臭いだのふるいだの汚いだの言われていました。 本当のところ、IBMはだめなのでしょうか?
>>538 再帰かどうかにかかわらずそれだけのデータが必要なら相応の領域も必要
だろう。データベースでも使って必要なときに必要なレコードだけを FETCH
するようにするとか。
541 :
デフォルトの名無しさん :03/04/16 15:30
>>532 どうもありがとうございます。
PostgreSQLにも無事コネクトで来ました。
もう一点問題が出てきたのですが、
EUC-JPで、テーブルを作成したのですが、
内容を表示させるときに、文字化けしてしまいます。
Stringクラス内がunicodeで処理されてるようなので
// 文字コードを EUC_JP からUnicode へ変換
name = new String(name.getBytes("iso-8859-1"), "EUC-JP");
kana = new String(kana.getBytes("iso-8859-1"), "EUC-JP");
このような処理をかましてるのですが、やはり文字が化けて表示されます。
やり方自体は間違ってないでしょうか?
>>541 大間違い。オプションさえ正しく設定してれば最初からUnicodeで取得できる。
>>539 XML じゃなくて初期の XML パーサ (xml4j) だろう。あれは IBM の何とかさん
(日本人) が作ったものだ。Java 版と同時に C++ 版も作ったわけだが、本人
いわく「双方でなるべく共通のインターフェースになるようにした」らしい (無駄)。
しかしどうみても Java 版は C++ を移植ついでに初めての Java お勉強と
いうスタンスだったため、手続き型コールバック設計、バグりまくりの悲惨な
状況だった (いまでも Xerces に受け継がれている)。まぁ HandlerBase
などというアフォな名前を見つけた時点で Java 風 OO まで理解できていない
人だとは思ったが。彼の方は今 AlphaWorks に所属しているはず。とにかく、
アプリで XML を扱う部分が激しく汚くメンテ不能になりがちなのは全部
こいつに起因しているのは確か。
JDBC の最初のころは「ODBC の Java 版」を作るというスタンスだったため
ある程度は仕方がない。しかしインターフェースの定義をきっちり詰めなかった
ため、しばらくの間は DB が違うとまるっきり挙動が違って標準化した意味が
ないというマヌケな期間があった。ただ RDBMS の基本設計からして JDBC
程度の API 設計が相応だろう。
IBM はダメか? IBM を一くくりで語るには大きすぎる。IB2 も WebSphere も
AIX, RS/6000, zSeries, Power4 どれもすばらしいと思う。要はピンキリで
IBM とは営業基盤を共にした世界的な商業団体だと思えば良い。創価と同じ。
ソフトウェア設計的には、入社当初から社内に流れる COBOLER の空気ってのが
あって、OO ではないし古臭いし汚いが一通り設計して確実に動かすってのが
暗黙の社風。
ちなみに ServletWorks や WACs の開発をした人ならわかるだろう。 Java はじめて 3 ヶ月くらいの連中が Java の利点を生かしきれてなく、 WebSpher + DB2 しか動かないくせにはげしく糞で小手先の手間だけを 激しくかけることで工数を稼ぐのに「IBM だから」という理由で使われる ばかさ加減。
545 :
デフォルトの名無しさん :03/04/16 16:43
すんません ど素人の質問ですが 処理中ダイアログを表示するにはどうすればいいですか? ダイアログの中のラベルを表示する前に目的の処理が終わってしまうので ダイアログの枠だけが表示→非表示になってしまいます。
546 :
デフォルトの名無しさん :03/04/16 17:08
>>545 すぐに終わっちゃう処理なら
しょうがないと思う
それか、もうチョイ遅いマシンで試すとか・・・
ちなみに、そうゆことやるときは
普通はスレッド使わないといけない
547 :
動画直リン :03/04/16 17:13
超初歩的な質問です。 WinXPでJAVAを使おうと思っているのですが、 JBuilderとVisual-Jとどっちか使いやすいでしょうか。 同僚は使っている人は半々といった感じですが。
549 :
デフォルトの名無しさん :03/04/16 17:54
>>548 そんなの、自分で使ってみて考えろ。
自分で何でもできないなら、プログラムなんて
ヤ メ チ マ エ よ
551 :
デフォルトの名無しさん :03/04/16 18:33
てか、なんで同僚に聞かないんだ? ココで聞くより早いじゃろ?
>>541 Postgreをconfigするときに、ロケールとマルチバイトのサポート
するように引数つけたかい?
漏れのとこでは化けないぞ。
Postgre7.3だが。
>>541 > // 文字コードを EUC_JP からUnicode へ変換
> name = new String(name.getBytes("iso-8859-1"), "EUC-JP");
> kana = new String(kana.getBytes("iso-8859-1"), "EUC-JP");
iso-8859-1 は Latin-1型では?
>>555 たぶん541の意図としては、もともとnameにはEUCのバイト列のまま
入っていると思っていて、それをbyte[]にそのまま取り出したいから、
現在の実装では変換テーブルで手を加えられることがないiso-8859-1を
指定すればいいと考えているってとこじゃないかな。でそれを再び
String(byte[], String enc)すれば正しい内部状態でStringが得られるだろう
と考えていると。
>>541 おれは、Postgresを使ったことないからわからんが、一般的に
文字化けがおこったときはまず一文字ずつhex dumpしてどういう状態
になっているか確認するのが先決。試行錯誤するのはその後。自分の
立ち位置がわからんのにふらふらしても仕方ないでしょ。
558 :
デフォルトの名無しさん :03/04/16 23:58
Linux + J2SDK 1.4.1 の環境で、 java と打って出てくるメッセージが英語になってしまっているのですが、 これを日本語にするにはどのようにすれば良いでしょうか? 環境変数を変更するのでしょうか?
localeをロケールと書いて広めてしまったのはSunらしいね。
561 :
デフォルトの名無しさん :03/04/17 00:22
だれか、EclipseのGEFをつかったプログラムなんて作った/知ってる人いませんか? GEFの使い方が全然わからんのだ。Eclipseスレで聞いても無反応だし。
すまん、GEFとEMF間違えた。
で、もうしわけないんで探してきた。 eclipsewikiにチュートリアルあった。
565 :
デフォルトの名無しさん :03/04/17 02:19
以下のようなプログラムがあります。 Untitled2のmethod1()の処理が終わるのを待たないで Untitled1クラス内の以降の処理を進めたいのですが可能ですか? 以下のようなコーディングだとUntitled2のmethod1() の処理が終了するまで、その行以降の処理されないと思うのです。 class Untitled1 { Untitled2 untitled2 = new Untitled2(); Untitled3 untitled3 = new Untitled3(); //Untitled2 untitled2.method1(); //Untitled3 untitled3.method1(); return true; }
566 :
デフォルトの名無しさん :03/04/17 02:25
Runnable Interfaceを使用しています。 run()で ラベルのフォントを変更したいのですが全然変更せず font1が使われるだけです。 どのようにしたら font1->font2->font1ー>font2 という風に できるのですか? public void run(){ Font font1 = new Font("Arial", Font.BOLD, 14); Font font2 = new Font("San Comic", Font.PLAIN, 8); Font oldFont = getFont(); Font newFont = font2; oldFont = newFont; 先生ご教授お願いします。
571 :
デフォルトの名無しさん :03/04/17 05:52
>>570 おいおい、そのコードだと
ただFontのインスタンス生成しているだけだぞ
でもって、Fontインスタンスをとっかえひっかえしてるだけだ
ラベルに対してsetFontしないとダメじゃないかぼけぇ
スレッド以前の問題だ
そして、そのままだとフォントが変わるのが早すぎるために
望みどおりの動きにならないとおもう
なのでThread.sleep(1000);
の一行を入れてやれRunnableなんて実装する必要なし
だが、これで本当に動くかは俺もわからない
やったら、レポヨロ
じゃなくて run が自動的にループするんだと勘違いしてるんじゃないか? public void run() { //フォント作る while (true) { try { Thread.sleep(1000); } catch (InterruptedException ex) { } //フォント変更 } } こんな感じだぞ。 while は適宜止めないとあかん。 例えば Label が画面から消えてもう使わなくなるときとか。
573 :
デフォルトの名無しさん :03/04/17 11:18
jspからhtmlに処理を移したいときはどうすればいのですか? forwardですか?
先生方、どうもありがとうございました。 〆切間近という事でおお焦りで頭ちゃんと働いてませんでした。 ちなみに、Ifを使ってみたら動きました。 こんな感じ ー> class MyLabel extends Label implements Runnable{ int interval; MyLabel (String label, int blinkSpeed){ super(label); interval = blinkSpeed; new Thread(this).start(); } public void run(){ Font font1 = new Font("Arial", Font.BOLD, 14); Font font2 = new Font("San Comic", Font.PLAIN, 12); while (true){ try { Thread.sleep(interval); } catch(InterruptedException err){} Font oldFont = getFont(); if (oldFont==font1){ setFont(font2);} else { setFont (font1);} repaint(); }}
575 :
デフォルトの名無しさん :03/04/17 14:30
plug-inに詳しい方いらっしゃいますか?
576 :
デフォルトの名無しさん :03/04/17 14:43
アプレットからMS−IME制御したいんですが・・・ できます?
579 :
デフォルトの名無しさん :03/04/17 15:11
plug-inでSSLプロトコル経由でサーバのファイルを読みたいのですが BufferedReaderで読みたいのですが、読めません。 ちなみにHTTPだと読めました。 どうすれば、SSLでファイルを読むことができるかしっていらっしゃいますか? ------アプレットソース------- URL url = new URL(getCodeBase(), "test.txt"); InputStream in = url.openStream(); InputStreamReader isr = new InputStreamReader(in,"SJIS"); BufferedReader br = new BufferedReader(isr); //バッファ読み込み可能になるまでループ while (br.ready()==false){ ※ここでfalseのままバッファが読み取り可能にならない } ------アプレットソース-------
580 :
デフォルトの名無しさん :03/04/17 15:18
コマンドラインからファイル名を受け取り、 コンソールからそのファイルに書き込む文字列を読み取って ファイルを作成するプログラムを作ってるんですが、なかなか上手くいきません。 なぜかファイルには何も書き込まれないんですが 何処がいけないんでしょうか・・ import java.io.*; class Filecreate { public static void main(String args[]) { try { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String s; while((s = br.readLine()) != null) { FileWriter fw = new FileWriter(args[0]); BufferedWriter bw = new BufferedWriter(fw); bw.write(s); fw.close(); break; } isr.close(); } catch(Exception e) { e.printStackTrace(); } } }
>>580 bw.flush()をcloseの前に呼べ。
ていうか、閉めるのはfinallyにしろ。
おお、出来ました。即レスさんくすこ! flush()も使えない俺ってなんて馬鹿なんだろう
>>579 API とJavaPlug-in は別の話だと思うが。
あと、URLからopenStreamしたら当然HTTPで
ストリームがオープンする。
URL url = new URL(getCodeBase(), "test.txt");
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(false);
conn.setUseCaches(false);
/*
ここでUser-AgentとかAccept-Encodingなど必要なものをconn.setRequestProperty()で設定
*/
conn.connect(); //サーバに接続
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream));
//ここでbrから読む。
と、組んではみたものの、これで動くかはわからないので
あとは自分で調べてなんとかしてくれ。
584 :
デフォルトの名無しさん :03/04/17 17:22
>>392 Thanks. いずれTomcatやJ2EEをうごかすためのサーバにする予定ですが、
Netscape, Konqueror両方ともjnlpファイルをクリックしてJavaWebStartを
起動することに成功しました。
>>579 http:// でロードしてたら getCodeBase() は
http:// になるわけだが
アプレットのコードも当然
https:// でロードしてるんだよな?
あと入力できるようになるまでとか言ってビジーループすんのはヤメレ。
ready() は次の読み込みがブロックなしで行えるかどうかをチェックする
ものだ。上記のコードではぜんぜん意味がないし、そもそも ready() が
必ず false を返しているかもしれない。
>>579 ready()は、使えないメソッドNo1です。
Java で SE と EE はどの当たりがどれくらい違うのでしょうか? ずっと当然のごとく SE で組んできたのですが、ふと EE とはどう違うのかと思いまして。 将来 Java プログラマーになりたければ、SEではなく、 EE のほうで普段から組んだほうがいいのですか?
588 :
デフォルトの名無しさん :03/04/17 19:57
Javaで文字コードの変換を行いたいのですが、やり方がわからなくてこまっとります。 ヒントでもいいので、なんか情報ください・・・ Shift_JIS → iso-2022-jp に変換したいのですが・・・
> 589 素敵クラスは無いですか そうですか・・・
すごいあれなんですが・・・ パス設定できないので binフォルダ内に移動してbinフォルダ内にあるjavaソースをコンパイルしようと思ったのですが できませんでした(javac 〜〜.java といれて内部コマンド〜認識されません) やはりパスを通さないとダメなんでしょうか
>>588 byte[] ISO2022JPBytes = (new String(ShiftJISBytes, "ShiftJIS")).getBytes("iso-2022-jp");
Microsoft Windows NT、2000、および XP - パスを永続的に設定するには、次のようにします。 [スタート] から [設定]→[コントロールパネル]→[システム] の順に選択します。 Microsoft Windows NT では [環境] タブを、Microsoft Windows 2000 では [詳細] タブを選択し、 次に [環境変数] を選択します。[ユーザ環境変数] と [システム環境変数] で [PATH] を探します。パスを追加する場所がわからないときは、ユーザ変数の [PATH] の最後に追加します。パスの一般的な値は次のとおりです。 C:\j2sdk1.4.1_<version number>\bin ここなんですが システム環境変数とユーザー環境変数の両方のPATHに C:\Program Files\Java\j2re1.4.2\bin (自分のPCのインスト設定) を入れればいいんでしょうか
環境変数のPATHってみなさんのはどうなってるのでしょうか DOS画面でpathってうつと全然違うパスになってるようなのですが
596 :
通りすがり :03/04/17 21:51
システムだとユーザー全体に設定されるかららくちん ユーザーだと他の人に適用されないから不具合を見つけやすいかもしれない だれかXP/2000用にWSHで自動設定スクリプト書いて下さい
597 :
デフォルトの名無しさん :03/04/17 22:03
>>594 システムでも、ユーザでもいいから、
環境変数欄の末尾に追加すればいいんだよ。
;で区切られているはずだから、
(既存の設定パス);C:\Program Files\Java\j2re1.4.2\bin
とする。
設定が終わったら、コマンドプロンプトでsetと打って確認
リンクのとこ何度もみたけどできないよ〜 OS:XP システム環境変数 変数名 PATH 変数値 C:\Program Files\Java\j2re1.4.2\bin
>>(既存の設定パス) ってなんですか?だれか教えて
ここは「Java初心者」のスレではなかったのか。
>>600 ああ。断じてお使いのOS初心者未満の集うスレではない。
602 :
デフォルトの名無しさん :03/04/17 22:40
「PATHを通す」っていうことが どういうことかわからない なんでそれをやるのかわからない人は ティンティン見せてみなさい 先生待ってるからな
603 :
デフォルトの名無しさん :03/04/17 22:49
実際のところ、 Javaのソースコードって UTF-8 で保管したほうがいいんですか?
>>604 いやそういう事言ってんではないと思われ
既存のパスってどこのパスですか?あ、もしかして自分で消しちゃったかも
>>603 ServletやXMLで日本語扱うんだったらそうした方がいい。
>>606 export JAVA_HOME=/usr/java/j2sdk1.4.1
export PATH=$PATH:JAVA_HOME/bin
set JAVA_HOME=c:\j2sdk1.4.1
set PATH=%PATH%;JAVA_HOME\bin
J2SE と J2EE って何が違うんですか?
綴りとか
語感もな
J2(´・ω・`)エス(・∀・)イィ!! J2(・∀・)イィ!!(・∀・)イィ!!
javac.exeってそういうのは存在しないんでしょうか できる気がしないんです、他にコンパイラとかないでしょうか
JDK(Java Development Kit) コンパイラ無し SDK(J2SDK)JDKのアップグレードリリース コンパイラ蟻 これJDKダウソしてたのでコンパイラは無しだったようです これでやっとで(ry・・('A`)
615 :
デフォルトの名無しさん :03/04/18 18:00
<form method="post" action="/servlet/XX/XX/XX"> <input type="submit" name="price_name" value="更新"> <input type="hidden" name="maker_name" value=XX> <input type="hidden" name="maker_name" value=XX> </form> これをJSPに書くと、サポートしていないというエラーがでるんですが、 何か間違ってますか?
616 :
デフォルトの名無しさん :03/04/18 18:14
JAVAコーヒーのおいしい店知りませんか?
617 :
デフォルトの名無しさん :03/04/18 18:19
>>609 SEは第二版、EEは第八版。
当然ながらEEの方が新しい。
>>615 <%@ page contentType="text/html; charset=Shift_JIS" %>
かな?
619 :
デフォルトの名無しさん :03/04/18 19:31
誰か教えて! LinkedListを返すメソッドを作ったんです。 作ったメソッドの中でイテレータでまわして表示させるのと 帰ってきたリストをイテレータでまわして表示させるのとが違うのです。 ループの回数は正しいようなのですが、内容が変なんです。 こういったやり方はまずいのでしょうか? toArrayとかを使えばよさそうな気もしますが、 キャストに失敗してしまって・・・・。 だれか助けてください!
変なのはお前の質問
変なのは周りにいる仲間
java重すぎ
貴様のPCが重いんだよ お前の彼女もな
public Object[] toArray(Object[] a) で型を教えてやってキヤストすりゃいいでないの。 ていうことじゃなくて?
627 :
ログイン時の裏方処理 :03/04/19 00:46
今、右と左にフレームに分け、左をログイン画面にして、ログインに成功したら、 右画面をメニュー画面に変えるようなJSPを作成しています。 ただ、やり方が分かりません。ただ単にログインボタンを押したら右画面を変更するとか、 パスワードが正しいかをチェックする事などはできますが、2つ一度にやる方法がわかりません。 一般的にこのような場合どういう風にしているのでしょうか?
こっちでレスを進めていいのか? ログインボタンを押すとパスワードをチェックして、ログイン可・エラーの2つに分岐する。 ログイン可だったらメニューを表示、 エラーだったら元の画面を表示するか、エラー内容表示の画面にすればいいのでは?
630 :
ログイン時の裏方処理 :03/04/19 01:02
>>629 さん
どうも、ありがとうございました。分かりました。右側のフレームに処理を渡してからやると方法で解決できました。
今まで、左フレームでログイン処理を行い、それからJavaScriptを使って右側の画面をエラー画面か、メニュー画面を表示しようとしていましたが、無理だったようです。
単純に<form action="right.jsp">としてから、以降の処理を行えば簡単にできますね。
>>628 さん
どうもすみませんでした。
631 :
デフォルトの名無しさん :03/04/19 01:08
質問させて下さい 当方全くの初心者なんですが、 マウスオーバーのやり方はこれでいいのでしょうか? ブラウザで確認しても、どうもうまくいきません <script language="javascript" type="text/javascript"> <!---------------------------------------- // Define Swapping Function function _in(nam,num) { if (document.images) { document.images[nam].src = img[num].src; } } function _out(nam,num) { if (document.images) { document.images[nam].src = img[num].src; } } // Preload Navigation Link Buttons if (document.images) { var img = new Array(); img[0] = new Image(); img[0].src ="/testimage/ai_02.gif"; img[1] = new Image(); img[1].src ="/testimage/ai_03.gif"; } //----------------------------------------> </script> <--略--> <table width="600px" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="600" height="120" valign="top"><br> <a href="#" target="_blank" onMouseOver="_in('mmm','0')" onMouseOut="_out('mmm','1')"><img src="/testimage/ai_01.gif" width="600px" height="30px" alt="#" border="0" name="mmm"></a> </td>
>>615 inputタグの最後を、
<input .... value="">
ではなく
<input .... value="" />
にしたほうがいい。
荒らしに反応スンナ
>>632 したほうがいいが、しなくても普通に動く
あのう‥(。_。;)
>>631 う〜ん。このスレはJavaスレなのでJavaScriptはWebProg板かWeb製作板で
聞いてみてくださいとしか・・・・
>>635 このスレ最初の方荒れてるけど
とりあえず
>>43 を読んだらWebProg板へ
JavaとJavaScriptは違うよ
なるほど、身近な人に違うと聞かされてたんですが、、だめですね(>_<) 誘導感謝です。
>マウスオーバーのやり方はこれでいいのでしょうか? >ブラウザで確認しても、どうもうまくいきません うまくいかないのに「これでいいのでしょうか」と聞く思考回路が信じられない
String クラスの int indexOf(int ch) なるインスタンスメソッドは どういう意味なんでしょう? 「文字 ch が最初に現れる位置を返す。」となってますけど、 ch は int なんですが・・・ 試しに使ってみても -1 が返ってきます
あぅ事故レス、てか unicode ですか? \uxxxx ではなくてこれを使うシチュエーションがあるって事ですかねぇ。
642 :
デフォルトの名無しさん :03/04/19 10:32
くだらない質問でごめんなさい。 取得したイメージの解像度(使い方あってるかな・・・)を 72dpiで指定するにはどうしたらよいのでしょうか?
>>640 普通にchar渡せよ。
str.indexOf('あ');
644 :
デフォルトの名無しさん :03/04/19 11:11
>>640 ドウセ1文字ごとの値比較は、実行時にはintに拡大変換されて行われる
わけで、そのメソッドの中でchar→intへの拡大変換を毎回やってしま
うとその分そのメソッドは遅くなってしまうわけで。
こういう頻繁に呼ばれうるメソッドでは、ちょっとのロスも問題になる
ことがあるわけで。
たとえば
>>643 みたいに書いた場合、コンパイルの時点で最適化を掛けて、
実行時のキャストのコストをなくす余地があるわけで。あるいはユーザが
明示的にint値を常に渡せば、キャストしないですむわけで。
>>644 >明示的にint値を常に渡せば、キャストしないですむわけで。
でも、どっかでキャストは起こるっしょ。
646 :
デフォルトの名無しさん :03/04/19 11:14
>>645 それを回避する余地をユーザに与えているわけさ。
プログラムの実装によっては毎回キャストしないようにも出来るでしょ。
647 :
デフォルトの名無しさん :03/04/19 11:15
まあどうせ、String内部のchar配列の中身の側は、毎回拡大 変換されるわけだが。
648 :
デフォルトの名無しさん :03/04/19 11:16
下のようなアプレット(キーボードを押すと画面に表示されるだけ)を書いたのですが、 this.requestFocusがあるのにappletviewerを起動してすぐキーを押しても反応しません。 アプレット画面を一回クリックすると反応します。 どうしてrequestFocusが働いていないのでしょうか。 import java.awt.event.*; import java.applet.Applet; public class Keyboard extends Applet implements KeyListener { String str = ""; public void init() { this.requestFocus(); addKeyListener(this); } public void paint(Graphics g) { g.drawString("キーボードで文字を入力してください",25,40); g.drawString(str,25,70); } public void keyPressed(KeyEvent e) { str = str + e.getKeyChar(); repaint(); } public void keyTyped(KeyEvent e) {} public void keyReleased(KeyEvent e) {} }
649 :
デフォルトの名無しさん :03/04/19 11:19
>>644 「余地」つーか、643の例は定数だから、コンパイル時に
解決してintに変換しておくってのは言語仕様上必須。最適化とか
実装うんぬんの例としてはちょっと適切じゃないね。
自己レス。 paint()に requestFocus() を入れたらできました。よくわからないけどinit()じゃだめみたいです。
>>651 init() はブラウザにロードされたときに呼ばれる。
このときはまだ peer コンポーネントをもらえてない。
存在しない GUI にフォーカスが渡ったとしても、どっかの過程で剥奪され、
そのあとコンポーネントが表示されてるんだろう。
paint() は当然コンポーネントが表示されてから呼び出されるから OK.
start() でもいいかもしれない。
>>652 GUI関係は、よくハマルんだよなこういうの
呼び出す順番を変えたりすると全然ダメ
まあ、動きを理解すれば当然なんだが・・・
requestFocus()時にExceptionでも吐いてくれればわかりやすいのになあ。
655 :
デフォルトの名無しさん :03/04/19 13:27
JavaWorld今月号のコラムに、AWT/Swingには「シングルス レッド規則」ってのがあるってのがあったけど、みんな知ってた? 画面更新を引き起こすイベントは全て、invokeLater()または invokeAndWait()でイベントキューにほうりこまにゃナランら しい。でないと厳密には動作は保証できないとさ。
656 :
デフォルトの名無しさん :03/04/19 13:59
クラス=グローバル関数置き場 という理解でよろしいでしょうか?
>>656 ヴァカですか? 全部の関数はクラスの中にしか置けません。
>>658 ボケですか?Javaに「関数」はありません。
関数でいいじゃねーかよーぅ
>>656 に説明するために言ったんだよーぅ
勿論普段はサブルーチンて言ってるよーぅ
>>655 スレッドに詳しいなら常識。
そこらの人たちはまったく理解していないでしょうね。
イベントドリブンなプログラミングをやってた身としては別に驚かない。
664 :
デフォルトの名無しさん :03/04/19 15:08
pc初心者板で聞いたんですが、答えがかえってこなかったので・・・。 当方、OSウィンドウズme使用者です。 dos上でのjavaコンパイルがうまくいきません 上手くいかない可能性として 1・javaファイルのテキストエディター関連付けを行う時に間違えてjava.exeを選んだ。 2・autoexec.batの設定を書き換える時に間違えてしまい、そのまま再起動したこと。 です。 どうすればいいですか? よろしくお願いいたします。
1.どうコンパイルしようとしているのか 2.どううまくいかないのか 3.autoexec.bat はどうまちがえたのか 4.1,2それぞれなおしたのか。その場合どうなおしたのか 5.昨日つけたゆで卵のなべの火は俺はちゃんと消したのか 5が一番重要
テキストエディター関連付けとは何?
>>664 まああれだ。PC上級者になるまで諦めろ。
>>664 コンパイルできない原因になりそうなのは、2。
関連付けも普通のエディタに修正しておいた方が良いでしょう。
PC初心者がJavaやるもんじゃないよねえ。
670 :
デフォルトの名無しさん :03/04/19 15:41
>>665 1
javac (クラス名).java
2
「コマンド、またはファイル名が正しくありません」
と表示
3
よく覚えてないけど
SET PATH=C:\j2sdk1.4.1_01\bin:\WINDOWS;C:\WINDOWS\COMMAND
とかだった気がする。
4
テキストについてはファイルのプロパティから正しく関連づけられました。
pathのほうも、正しく
SET PATH=C:\j2sdk1.4.1_01\bin;C:\WINDOWS;C:\WINDOWS\COMMAND
にしました。
5
最近風邪引いて扁桃腺がいたいので心配ないと思う。
以上です。
よろしくお願いします。
オムライスくいてぇ
>>670 Windows MEにおけるパスの設定はautoexec.batで行うわけではないのが原因。
おそらく
>>1-100 に張られたリンクのどこかにMEでのパスの設定方法があると思うのでそこを参照。
>>655 結城たんのスレッド本読むまで知らなかったよ。
JavaチュートリアルのSwingのページにしっかり書いてあったが。
□お知らせ□
諸事情によりテンプレの位置がずれています。
>>43-53 を参照ください。
674 :
デフォルトの名無しさん :03/04/19 18:27
java初心者です。よろしくご教授ください。
サウンド編集プログラムを作っているのですが、
http://jewel.eli.hokkai-s-u.ac.jp/~megmog/node91.html ↑
ここの文章にあるようなことをしたいのですが、分からなくて困っています。
byte[] abData = new byte[EXTERNAL_BUFFER_SIZE];
nBytesRead = audioInputStream.read(abData, 0, abData.length);
↑
まずこのようにしてデータを配列に放り込む。
↓
配列データを加工
↓
☆配列をAudioInputStreamに書き戻し。
↓
ファイルにWAVファイルで保管
ここの☆の部分が分かりません。
1。バイト列からByteArrayInputStreamを作る。
2。ByteArrayInputStreamからAudioInputStreamを作る。
そうなんですが???です。
適当にやってみたらゴミみたいなWAVファイルがでしますた(涙)
どなたかよろしくご教授ください。
Java 初心者がさうんどへんしゅうぷろぐらむ、 ヴォケ! コロシマスヨ? イッペン、ブチマスヨ? Wrap すれば? とだけ言っておく。あともう来んな。
>>674 多分AudioOutputStreamもあると思うぞ。
あなたには「身のほど知らず」という言葉を贈ります。
>>672 リスナのメソッド自体はEventDispatchスレッドから叩かれるから、
問題ないんだよね?でもそれ以外のスレッドでやっちゃダメってこと
だよね?
public void actionPerformed(ActionEvent e){
view.repaint();
}
はオケで、
public void actionPerformed(ActionEvent e){
Thread th = new Thread(){
public void run(){
view.repaint();
}
}.start();
}
はダメで、
public void actionPerformed(ActionEvent e){
eventqueue.invokeLater(new Runnable(){
public void run(){
view.reapaint();
}
};
}
でなければならない、ということですね。
おいお前ら!適当にやってたらできました!(^∇^) ご教授ありがとうございますた。
680 :
デフォルトの名無しさん :03/04/19 21:55
板違いならすみませんが、 Mysqlを使ってJSPでデータのやりとりしてるんですが ある特定の文字だけ化けてしまうのですが何が悪いのでしょうか? 一応JISAutoDetectで変換処理はしています。 MySQLサーバには日本語環境入ってなくてどっちが悪いのやら・・
682 :
デフォルトの名無しさん :03/04/19 22:03
JSPサーブレットを使い、社内情報管理システムを作っています。 ログイン画面でログインしたらTopMenu.jspというページに行くとします。 このページはログインをした人のみ入れるようにしたいのです。 要するに、アドレスバーでアドレスを直接入れた人には表示したくない(エラーページにするなど) です。 どうすれば良いんでしょう?
684 :
デフォルトの名無しさん :03/04/19 22:14
>>682 さんへ
アドレスバーから直接URLを打ってきたユーザーは、セッションを持っていない状態ですよね。
どうするんですか?
持っていないから、エラーページにジャンプされるとか?そんな簡単にいくわけないか...
685 :
デフォルトの名無しさん :03/04/19 22:19
Javaの次のバージョンでC#の言語仕様を真似るそうですが、Javaは失敗だったのでしょうか?
>>682 JSPを直打ちでは見えない場所に置いとけば?
WEB-INF配下とか。
>>687 さん
どうもありがとうございます。その手がありましたか!
これでうまくいきそうです。どうもです。
689 :
デフォルトの名無しさん :03/04/19 23:29
DatagramSocketChannel を Selector に登録したいとき SocketChannel と混在できるんでしょうか? そのとき、どちらのソケットかどう判断すればいいのでしょうか。
∧_∧ ( ^^ )< ぬるぽ(^^)
692 :
デフォルトの名無しさん :03/04/20 03:06
納期が今月末に控えており、休日も徹夜で作業しています。 こんな業界に入ってちょっと後悔したりなんかもしてます。 ところで、急に現在の日付から3ヶ月前の日付を取得し〜みたいな 仕様を追加しろ!!という事を夜食タイム時に言われました。 開発はJavaでして、色々調べたんですが、良い方法がわかりません。 どうやったら現在日付から指定月前の年月日を取得するか、 誰かご教授していただけたら幸いです。 いや、このプロジェクトでJava解かる人、私以外3名で、皆素人に 毛が生えた位のものでして・・・ ※私は毛も生えていません(w
>>692 calender.add(Calender.MANTH, -3);
calender.add(Calender.MONTH, -3); だった…
calendar.add(Calendar.MONTH, -3); カレンダーもスペル間違ってるし…
API リファレンスはいつでも見れるようにしておきなさいってこった。
698 :
デフォルトの名無しさん :03/04/20 03:20
>>693 〜696
どうもありがとうございます!!
calenderクラスは一番初めに調べたんですが・・・
それっぽいメソッドが見つからなくて・・・
「Date の演算機能です。」ってよく考えたら
私が実現したいコト、そのまんまですよね♪
さーて、これから早速くみこんでみます。
・・・早く家に帰ってシャワー浴びたい・・・
∧_∧ ( ^^ )< ぬるぽ(^^)
マンガツマンネェンダヨ
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←
>>700
702 :
デフォルトの名無しさん :03/04/20 07:52
ほんと申し訳ないのですが、Pathの通し方をおしえていただけませんか?。環境変数のPathのところに、 C:\j2sdk1.4.1_02-windows-i586\bin これでは、駄目なのでしょうか?何時間もやってるんですが、うまくいきません。Helipも読んだのですが・・・ ご教授ください。
>>703 マジですか?でもうまくいきません。何が悪いのでしょうか?
うまくいかないって どういうエラーが出るの?
>>702 Helipってなんだ?
微妙だなぁ
ネタ臭い
”Javacは内部コマンド、外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されていません” って感じです。
話の展開がすごーく気になる でも、ぞうさんはもーっと好きです
とりあえず、OS教えて それからそのDOS窓で 「set」と打って 「PATH」の項目に何が表示されるか教えて
710 :
デフォルトの名無しさん :03/04/20 08:06
>>709 Os winXP home
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel;C:\j2sdk1.4.1_02-windows-i586\bin
って感じです。
最終兵器 コマンドから C:\j2sdk1.4.1_02-windows-i586\bin\javac と打ってみなさい
712 :
デフォルトの名無しさん :03/04/20 08:16
>>711 指定されたPassが見つかりませんでした。
と出ました。
>712 じゃあ、コマンドプロンプトから dir c:\ は?
714 :
デフォルトの名無しさん :03/04/20 08:20
じゃあさ、 PATHの値を C:\j2sdk1.4.1_02-windows-i586\bin;%PATH% にしてみよう、 おれのPCもそうなのだが 長すぎると最後のほうのPATHが通らないんだよ原因わからないが・・・ だからJavaのPATHを最初に持ってくる
>>712 >指定されたPassが見つかりませんでした。
つまりパスワードが違うということか。
>>712 cd \
dir /ad /s j2sdk*
してみれ。
717 :
デフォルトの名無しさん :03/04/20 08:22
C:\>dir c:\ ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 1225-88E8 です c:\ のディレクトリ 2002/09/08 12:44 <DIR> ATI 2002/09/08 07:01 0 AUTOEXEC.BAT 2002/09/08 07:01 0 CONFIG.SYS 2002/09/08 07:06 <DIR> Documents and Settings 2003/04/20 07:19 <DIR> Download 2002/11/13 08:09 1,090 INSTALL.LOG 2003/04/20 07:42 <DIR> j2sdk1.4.1_02 2002/11/23 00:50 <DIR> My Music 2002/09/17 18:51 2,796 PCcheck.LOG 2002/09/08 13:46 <DIR> PCOPY 2003/04/20 07:42 <DIR> Program Files 2003/04/06 18:13 <DIR> WINDOWS 4 個のファイル 3,886 バイト 8 個のディレクトリ 8,324,960,256 バイトの空き領域 です。
718 :
デフォルトの名無しさん :03/04/20 08:22
どうでもいいけど、 C:\j2sdk1.4.1_02-windows-i586\bin\javac.exe は、存在してるよな?
719 :
デフォルトの名無しさん :03/04/20 08:24
>>717 おい、j2sdk1.4.1_02-windows-i586をj2sdk1.4.1_02に変えろ
原因はそれだ!
なんで、windows-i586なんて付加したんだよ
720 :
デフォルトの名無しさん :03/04/20 08:28
>>719 できました!!!!ただ、数時間前にこれではできませんでした・・・
>>714 さんのいうように先頭にして行ったらできました!スレを汚して申し訳ありません。これで、やっと研修の復習ができます(涙)。ありがとうございました。
>>714 それ表示が切れてるだけだよ。
> PATH
だと切れるけど
> ECHO %PATH%
だと切れない。
>>720 ふむ、よかったな
しかし、そういう現象は俺のPCだけの問題じゃなかったのか・・・
いままで、「俺のPCがおかしいんだな」と思って気にもしてなかったが・・・
これはWindowsの仕様なのか?こんなの聞いたこと無いぞ?
ちなみにWin2000Pro SP3
>>721 表示が切れる?ってどういう意味?
PATH、ECHO%PATH%両方試したけど
表示に変わりないよ
>>723 俺の勘違いだ。別に切れる切れないの話してないね。スマソ
725 :
デフォルトの名無しさん :03/04/20 08:56
JDK1.4.1_01でawtを使ったメニューを作ろうと Menu1 = new Menu("ファイル"); というコードを書いたらコンパイルエラーが出ました。 全く同じコードがJDK1.3では通りました。 こんなことってあるんですね。
>>725 エラーメッセージをよく読め。
>全く同じコードがJDK1.3では通りました。
無いことも無いが、見当違い。
727 :
デフォルトの名無しさん :03/04/20 09:02
>>725 >こんなことってあるんですね。
いや、ありえないだろう?
Menu1ってあらかじめ
Menu Menu1;
って宣言してあるのだろ?
何でエラーになるんだ?
信じれん
すみません。 コンパイルできますね… 正確には、エクリプスでビルドしようとしたら 失敗したんです。 失礼しました。
731 :
デフォルトの名無しさん :03/04/20 09:19
>>730 それはただ単に
「appletviewer ・・・」って起動できないからじゃないの?
あー、すみません
>>730 も正確じゃなかったです。
エクリプスであのコードを書いたんですけど
エラー警告がでるんです。
たとえば
コンストラクターMenu(String)は未定義です。
とか…
733 :
デフォルトの名無しさん :03/04/20 09:29
いや、俺は大丈夫だ Eclipse2.0.2 JDKは1.4.1_01
盛り上がってますね!
735 :
デフォルトの名無しさん :03/04/20 09:34
>>734 あたりめーよ
俺なんか徹夜で、まだ書き途中のプログラムあるんだよ
盛り上がらずにいられない
今試してみたんですけど、どうも、妙な事になってます… 例のソースはある本のソースなんですけども Ecripseのワークスペースディレクトリでコンパイルすると、エラーが出てしまい、 本のソースをまとめて入れてある、全く別のディレクトリでコンパイルすると、通ります… javacが動くのでパスの問題ではないと思うんですけども… こんな感じです。 G:\ECLIPS~1\WORKSP~1\TTL-JA~1>javac menudemo.java menudemo.java:50: シンボルを解決できません。 シンボル: コンストラクタ Menu (java.lang.String) 場所 : Menu の クラス Menu1 = new Menu("ファイル"); ^ menudemo.java:53: シンボルを解決できません。 シンボル: メソッド add (java.awt.MenuItem) 場所 : Menu の クラス Menu1.add(menuitem1); H:\book\TL_Java2\menudemo>javac menudemo.java
737 :
動画直リン :03/04/20 09:38
738 :
デフォルトの名無しさん :03/04/20 09:42
>>736 怖いな、だからこそ確かめたくなる
たまに、ほんの極たまにこういうことあるよな
Javaとかに限らずだが・・・
Menuの部分コメントアウトしたら通る?
それか、もう一度Menu近辺を自分で打ち直してみるとか・・・
>>738 タイプミスかと思って、ソース全部を消して、本のソースを貼ってみたり、
ファイルを一旦消して、本のソースそのものをコピーしたりしたんですが
結果は同じで…
とりあえずは、コンパイルが通る方のディレクトリで続けることにします。
長々とすみませんでした。
>コンパイルが通る方のディレクトリで パッケージの場所の問題じゃないの?もしくはクラスパス。
>>740 その通りでした。
Eclipseで書名を1つのパッケージにして
その下に各サンプルのクラスを作っていったのですが、
今回利用しているMenuクラスを他のサンプルで使っていたのです。
そこで
>>736 のようなコンパイルエラーが出たんですね…
ちなみに、本のソースを入れているディレクトリは
各サンプルごとにディレクトリが別になっていました。
いやー…恥ずかしいです。
すみませんでした。
742 :
デフォルトの名無しさん :03/04/20 16:08
もしかしたら微妙にスレ違いなのかも知れませんが、 J2EEパターンについて一つ質問。 Business Delegate と Session Facade の違いって 何なのでしょう? どちらもビジネスオブジェクトと クライアントとを疎結合にしようとしている同じものの ような気がするのですが。
Business Delegate… クライアント側の対EJBサーバ通信プロキシ(RMI Stubみたいなもん) Session Facade… サーバー側で、粒度の大きい処理要求をもつFacade EJB 全然違うな。目的の一部は似てるかも。
744 :
デフォルトの名無しさん :03/04/20 17:08
JDBCやってるんですが PreparedStatementで送られるSQL文が 正しいかどうかを確認したいんですが どのようにしたら取り出せますか?
745 :
デフォルトの名無しさん :03/04/20 17:09
ぬるぽ
746 :
デフォルトの名無しさん :03/04/20 18:12
SwingでSWTのTableTree相当のクラスってないですか?
>>744 ずいぶん昔にも同じ質問があって、その時は
「方法は無い。自前でPreparedStatementのラッパクラスを定義すれば可能」
という結論だったような気がする。
次のJDBCからはできるようになると思うがよく覚えてないや
750 :
デフォルトの名無しさん :03/04/21 07:18
>>750 new String(str.getBytes(""), "")
753 :
デフォルトの名無しさん :03/04/21 16:07
float f=0.5;でエラーが出るのは憤りを感じませんか? おまえは実数を扱うんとちゃうんかと小一時間・・・
float と double の違い分かってる?
亀レスですんません。
>>626 やってみたのですが、最後の要素がリストの長さ分入ってるように見えます・・・・。
こんなことをやってるのです。
呼び出し側
LinkedList lst = new dataLoad();
for(Iteretor i = lst.iterator(); i.hasNext();){
MyClassX elm = (MyClassX)i.next;
System.out.println( elm.getDataString ); // 出力A
}
呼ばれる側
LinkedList dataLoad(){
LinkedList lst = new LinkedList();
MyClassX mx;
for(int i=0; i<1500; i++){
// ファイルから指定位置のバイト列を読み込んで、それをMyClassXにぶち込んで、
mx = new MyClassX( fileIO.getData(i))
// LinkedListにぶち込んでると思ってください。
lst.addLast( mx);
System.out.println( mx.getDataString ); // 出力処理B
}
return lst;
}
おおまかに書きましたがこんな感じです。
で、出力処理のところでの出力が違うのです。
思っていた動作では、出力Aと出力Bで出力が同じになると思うのですが、
出力Bでは保存されていたデータのとおりに出力され、
出力Aでは同じデータが表示されます。
出来ないことをやっているような気がするのですが、どこを間違っているのでしょうか?
すみませんが、教えてください。
>>755 一番疑わしいのは MyClassX だと思われ。
で 出力B と 出力C が違うか調べれ。
LinkedList dataLoad(){
LinkedList lst = new LinkedList();
MyClassX mx;
for(int i=0; i<1500; i++){
mx = new MyClassX( fileIO.getData(i))
lst.addLast( mx);
System.out.println( mx.getDataString ); // 出力B
}
for(Iteretor i = lst.iterator(); i.hasNext();){
MyClassX elm = (MyClassX)i.next;
System.out.println( elm.getDataString ); //出力C
}
return lst;
}
>>756 ありがとうございました。全く同じ現象でした・・・・。
そんなところにミスがあろうとは・・・・。
早速調査して、結果報告します。
どうもありがとうございました。
759 :
ログインして2フレームの画面を変えたい。 :03/04/21 18:36
ログインボタンを押して、ログインが成功したら、左フレームと右フレームの画面を変えることはできますか? 今までの仕様は下記の通りでした。(ここまでは出来上がっています。) /*************************************************************** 左フレーム(ログインボタンあり): <form action="/servlet/Login" target="rightflame"> ↓ ログインボタンを押すと 右フレーム(Login.java):パスワードチェックし、OKならMenu.jsp。NGなら、Error.jspを呼ぶ *************************************************************/ しかし、今度はログイン成功したら、左フレームの下部の方に、『ようこそ、〜さん』という文字を付け加えなくてはいけなくなりました。 どうすれば良いんでしょうか?
両方同時って意味か? それって jsp の問題か? まぁいいや。 <frameset> の入ったページ自体を target="_top" で開いたらどうだ?
761 :
ログインして2フレームの画面を変えたい。 :03/04/21 18:59
>>760 それで、フォームからの値は送れるのかな?
左フレーム、右フレームともに、フォームから送信された値が必要なのだが。。
JavaScript 使えやチンカス 次 ↓
763 :
デフォルトの名無しさん :03/04/21 21:15
そんな事よりも、セッションが切れた時に 再表示しようとしたフレームだけログイン画面に変わるから気をつけてね。
764 :
ログインして2フレームの画面を変えたい。 :03/04/21 21:56
>>762 JavaScriptを使おうとしたけど、できませんでした。
Base.htmlを左フレームと右フレームに分けています。右フレームがLogin.jspで左フレームがtop.htmlです。左フレームのログインボタンを押すとLoginServlet.javaを呼び出して、右フレームが変わるようにしています。
どうやって、JavaScriptを使えばよいんですか?元のフレームを変更するとフォームからの値の受け渡しができないように思うのですが。。。
でも、セッションを使うとできますね。そういえば。この線で言ってみようと思います。
ですが、もっとスマートにJavaScriptだけでできるんですか?
>>763 気をつけます。
>>764 例えば、こういうURLをJSP内部のJavaScriptに埋め込む方法はどう?
frame2.location = 'welcome.jsp?name=<%= request.getParameter("name") %>';
これだとクロスサイトスクリプティングの餌食になるので、対策には気をつけてね。
766 :
デフォルトの名無しさん :03/04/22 01:02
Windowsで、awtで作ったウインドウを最小時にタスクトレイに入れて、 バックグラウンドで動かすにはどうしたらいいんでつか?
768 :
デフォルトの名無しさん :03/04/22 02:43
>>753 float f=0.5f;
という書き方が気に食わないという意味?
>>753 Real programmer don't use float type.
>>769 使わなくはないが、確かに shot と float は使う機会が少ないなぁ。
771 :
デフォルトの名無しさん :03/04/22 03:02
772 :
デフォルトの名無しさん :03/04/22 05:24
>>767 あーそれはOS依存だからね
Java Native Interface (JNI) つかって
Win32APIのShell_NothifyIcon関数使うしかない
(てか、俺はこれしか知らないが・・・)
しかし、こんなことやるよりも
素直にVC++で組んだほうが早いな
>>772 SWT ってタスクトレイ扱えなかったっけ?
774 :
デフォルトの名無しさん :03/04/22 07:01
Access の MDB ファイルを JDBC-ODBC ブリッジドライバ経由でアクセス しています。これ、Windows 上で ODBC の設定をしてやらなきゃだめなん ですが、アプリケーションから MDB ファイルを直接指定するような方法は ないですか? ("jdbc:odbc:C:\\hoge\\nullpo.mdb" みたいな)
775 :
デフォルトの名無しさん :03/04/22 07:32
>>774 ない。
というかJDBC-ODBCブリッジドライバはテスト理由以外では使わないほうがいい。
まともに動いてないから。
MDBだったらほかのベンダがJDBC出してたような気がする。
776 :
デフォルトの名無しさん :03/04/22 09:08
すいません!ゲームのキャラをキーで動かしたいと思っています。 次マスへ動くのを滑らかにするには1px動かして、Thread.sleep()をしてrepaint()をすればよいのでしょうか? よろしくお願いします。
777 :
デフォルトの名無しさん :03/04/22 09:36
<jsp:forward page="/XXX/XXX/XXX/test.jsp"> <jsp:param name="A" value="test" /> </jsp:forward> とやると生成例外が出るんですが、何が間違っているんでしょう? サンプルそのまま打ってるだけなんですが。
778 :
デフォルトの名無しさん :03/04/22 10:00
ちなみにwebsphere3.5です。
779 :
Java勉強中 :03/04/22 13:25
質問させてください。 public class test{ public static void main(String args[]){ System.out.println("test = "+ new test()); } public String toString(){ System.out.println("###"); return "Z"; }} の実行結果が ### test= Z となるのですが、new test()がどうしてtoString()をよびだせるのか 分かりません。教えてください。
public static void main(String args[]){ //I System.out.println("test = "+ new test()); //II test a = new test(); System.out.println("test = "+ a); //III test b = new test(); System.out.println("test = "+ b.toString()); } I, II, III はやってることは同じ。 String と String でないインスタンスを + 演算子で繋ぐと、 String でない方の toString() を呼び出す。 ちなみにクラス名は大文字から始めたまい。
781 :
デフォルトの名無しさん :03/04/22 14:40
Javaでパケットキャプチャーをつくることはできますか?
>>780 レスありがとうございました。
疑問が解決しました。
>ちなみにクラス名は大文字から始めたまい。
はい気をつけます。
783 :
デフォルトの名無しさん :03/04/22 16:07
String a = として、" を入れたいのですがどうしたらいいですか? """ にするとエラーになってしまいます。
String a = "\""; としれ。
>>778 Servlet2.2/JSP1.1コンパチモードを指定してまつか?
>>781 PureJavaだと無理じゃない?
ネイティブに頼ればできると思うが、
それをJavaで作ったというかどうかを小一時間
787 :
デフォルトの名無しさん :03/04/22 16:19
>>786 ネイティブに頼らないで
(直接/間接を問わず一切 native メソッド呼ばないで)
コード書ける奇特な方ですか?
そんな事言いだしたら System.out.println() すら出来ませんが。
>>788 = PureJavaを正しく理解してないアフォ
>>776 君はJava以前にゲームプログラミングの基礎を
勉強しろ。話はそれからだ。
ぬるぽについて簡単にでいいので教えてください
794 :
デフォルトの名無しさん :03/04/22 20:02
>>793 NullPointerException
795 :
デフォルトの名無しさん :03/04/22 20:04
>>794 ColdFusionを使っていたらそれが出たよ!!
ゲームプログラミングの基礎ってどんなものなのですか?
>>796 数当てゲーム
10 A=RND(1)
20 INPUT D
30 IF A=D THEN 60
40 PRINT "ハズレデス"
50 GOTO 20
60 PRINT "アタリデス"
70 END
798 :
デフォルトの名無しさん :03/04/22 22:06
>>796 ポテチをムサボリ食いながらエロゲをやり。
その手でオナルのが基本って言ってた。がんがれ。
ゲームプログラミン知ってる奴いないのかよ(*゚д゚) 、ペッ 所詮ベーマガ止まりの奴らばかりだな
800 :
デフォルトの名無しさん :03/04/22 22:29
ゲームプログラミングを人に聞いてる時点で素質無しだなw
現在、JFrame を元にしたフレームアプリケーションを作っています。 こいつを実行してみると、絶対に画面の左上端に表示されてしまいます。 私としては、画面の真ん中とかに表示したいのですが、そのようなメソッドはありませんか?
>>801 このスレをもうちょっとさかのぼって読んでごらん。
803 :
デフォルトの名無しさん :03/04/22 23:04
そういや、自作クラスに「List.java」「JList.java」って付ける香具師がいた。 JavaAPI見てたらこんな名前は付けないはずなのになぁ。 java.util.List?SwingApplet? ソース見たらディレクトリを再帰的に呼んで、ファイル一覧を表示する機能だった。 余計な想像させるなよ。と。
804 :
デフォルトの名無しさん :03/04/22 23:05
805 :
デフォルトの名無しさん :03/04/22 23:06
エディタは何使ってますか?
807 :
デフォルトの名無しさん :03/04/22 23:15
>805 edlinでもなんでもいい。 ただ、悪いこと言わないから、 デバッガ使える環境にしとけ。
808 :
デフォルトの名無しさん :03/04/22 23:19
>>806 簡易ツール程度ならデフォルトパッケージにしない?
そもそも
>>803 に出てるように、ファイル一覧の機能に対して
その命名はどうかと思われる。
809 :
デフォルトの名無しさん :03/04/22 23:20
スレ違いですが、 *.tk って何言語ですか?スクリプト?
810 :
デフォルトの名無しさん :03/04/22 23:24
811 :
デフォルトの名無しさん :03/04/22 23:26
ちょいと質問なんだけど IBMのJDKとSUNのJDKってどっちが良いの? あとIBMのJDKにも-serverオプションみたいなのあるのかな?
813 :
デフォルトの名無しさん :03/04/22 23:32
アプレット作ってjarファイルに入れようと思うのですが、日本語のユーザ名で ログオンしていてとSunのPlug-in(1.4.1)を使用すると、起動時にZipExceptionだと か例外がいっぱい発生してしまいます。回避できますか?
>>813 JARにASCII以外の名前のファイルを入れないとか?
815 :
デフォルトの名無しさん :03/04/23 03:42
JPEG画像のコメントって取得できますか? GIF画像ならImage.getProperty("comment")で取得できるようなのですが JPEGだとUndefinedPropertyが返ってくるだけです。
JPEGのコメントってなんだ?EXIF情報(デジタルカメラ固有の情報)なら たぶん自前で取得しないとだめだと思う。
環境変数PATHを設定しなければいけないSwingアプリがあるんですけど、 システムに設定しないことを前提とすると、どうしても起動スクリプトが必要ですか? JarでClass-Pathの指定ができるのでひょっとしてPATHもいけるかも・・・と思ったら JarのマニュアルにはPATHに関しては載っていませんでした。 無理なら無理とすっぱりとどめを刺してください。お願いします。
818 :
デフォルトの名無しさん :03/04/23 07:16
Java始めようと思うのですが、C言語で言うK&Rみたいな これ最初に絶対買っとけみたいな本ありませんか?
820 :
デフォルトの名無しさん :03/04/23 11:38
JSPでJavascript内に<%=URLEncoder.encode(a)%>なんて 入れるとscript内で作った変数aを認識してくれないんですが どうしたらいいでしょう?
>820 JSPはサーバ(Webコンテナ)で実行されるもの、Javascriptはブラウザで 実行されるもの。そんな都合のいい連携はできません。
>>801 ディレイドマジレス。
setBounds(x, y, w, h)を使え。
Javaでスキャナ読み取るのに、www.gnome.skの以外になにかありますか? 円で払えれば有料で構いませぬ。 gnome.skのを円で払う方法でもいいです。
あ、Mac OS 8/9でも使いたいです。
twainで。
1.4以降なら setLocationRelativeTo が楽。激しく楽。
828 :
2つのキーを同時に押せない河豚ですが… :03/04/23 17:11
WindowsXP上のBorland JBuilder 7 Personalなのですが、 ユーザー補助の固定キーでAltが機能しません。 固定キーのShiftは正常に機能します。 固定キーをOffにしてAltと同時押下げした場合は、正常に メニューが開きます。 対処法、ご存知の方いませんか?
このプログラムはjavaですか? すいません、初心的な質問で・・・ int Level = 0; char Character; while((Character = *String++) != '\0'){ switch(Character){ case '(': Level++; break; case ')': if(Level < 1){ printf("対応する開き括弧がないよ。\n"); } Level--; break; default: ; } } if(Level <> 0){ printf("対応する閉じ括弧がないよ。\n"); }
マルチ氏ね!!
String(に読み出したテキストファイルの文字)の中の漢数字を 算用数字にすべて置き換えたいのですが、なにか定型のようなのはあるんでしょうか? replace でちまちま(オブジェクトをいちいち生成しながら・・)置換していくのでしょうか?
833 :
デフォルトの名無しさん :03/04/23 19:34
>> StringBuffer使えば?
>>833 商売なら金払って英語のできる弁護士雇うよろし。
836 :
デフォルトの名無しさん :03/04/23 23:08
JUnitに詳しい人いますか?とりあえず単体テストを書いているのですが、 java junit.swingui.TestRunner localdomain.test.fooTester だとうまくテストできるのに、 java junit.textui.TestRunner localdomain.test.fooTester だとClass Not found "localdomain.test.fooTester"で駄目なんです。
>>836 俺も、ちょっとの前のバージョンで同じ現象でてた。
今は知らん。
そうですか…。 ちなみにバージョンはJUnitが3.8.1で、Java は1.4.1、 OSはMac OS X(10.2.4)です。
どなたかPC詳しい方、教えてください。 最近CD-ROM版の辞書を買ったのですが、検索機能やFigの欄をclick しても、javascript errorとでて、検索できませんしfigも見る事ができません。 windows Meで辞書はhtml形式で、IE 6.0で見ています。 CD-ROMを開くと、確かに画像ファイルとかはフォルダにあるのですが・・ 今回のCD-ROMの機種やOSなどの条件には一応全部良いと思うんですが。 ちなみに2年前に買ったノートタイプです。どなたがどうか教えてください。 よろしくお願いします。 ちなみに、CDROMを入れた時に、JAVA Runtime environmentとか言う fileが勝手にインストールされました。
>>839 とりあえず、購入した辞書のサイトを見に行って来い。
このスレとはあんまり関係なさそうだ。
841 :
vecvec :03/04/23 23:44
Vectorクラスの addメソッドと、addElementメソッドってどこがちがうの?
>>841 addElement は 1.1 時代の名残
Collection や List として扱うなら add 使う
>>829 Mac OS 8/9に対応してるものがみつからないです。。。
円で払えるものがみつからないです。。。
だれかMac OSのJavaでTwain使う方法知らない?
844 :
vecvec :03/04/23 23:58
>>842 どうもです。今度の場合はListとして、使いたいので add を使えばよろしんですね。
疑問が解けました。
ありがとうございました。
ひょっとしたら、1.1の頃から、Javaをつかっておりますの?
大ベテランさんなんですねぇ〜。今回は、とても助かりました。
845 :
デフォルトの名無しさん :03/04/24 00:23
ArrayList や Vector はcloneしない限りは List で切る。
いろんなプログラム言語使ってみたけどさ、やっぱりJavaっておもしろいよね。 組んでて、素直に面白いって思う。
847 :
デフォルトの名無しさん :03/04/24 00:25
すみません、Sun One Studio というソフトを使ってJFrameを作っています。 表示、消去ボタンを設置して、gif画像を出現させたいのですが、どのようなコードを使えばいいのでしょうか? labelにはその画像を選んでいるのですが、どうしてもボタンを押しても出現させることができません・・・ また、消去するにはどうしたらよいのでしょうか? ぜひ教えてください お願いいたします。
848 :
bloom :03/04/24 00:26
>844 1.0からやってる漏れは爺さんですかい
>>818 何時帰ってくるかわからんレスをこんなとこで待つ前に、試せよ。
SelectableChannelならなんでも登録できると思うが。
クラスの型を調べたいならinstanceofすれば〜?
ソケット多重化管理は、周りの実装が面倒になるから、正直
素人にはお勧めしない(ワラ
852 :
デフォルトの名無しさん :03/04/24 07:07
>>851 スレッドつかえてこと?
スレッドも初心者にはキツイのでは?
>>852 スレッドの使い方なんか、参考書がいっぱいあるからいいんじゃない?
キツイのは最初だけで。
854 :
デフォルトの名無しさん :03/04/24 10:43
kjcってwindowsで使えるんですか? 落としてきたのはいいけど、使い方が分かりません。
855 :
デフォルトの名無しさん :03/04/24 11:36
誰かkjcをwin2000で使う方法を教えてください。
川喜田二郎コンパイル
857 :
デフォルトの名無しさん :03/04/24 14:10
サーブレットでinit() メソッドってありますよね。あそこでやるような処理をJSPでやりたいんですが、どうやって書けばよいんですか?JSPには、init() のような部分はないんですか?
頭遺体
>>857 確か無いな。昔の JServ とかは <%! %> の中で init() のオーバーライド
とか出来たんだが。どうしてもというなら static イニシャライザを使え。
ServletContext が参照できないという問題はあるが。
<%! static{
...
} %>
>>859 うそ教えんなよ。jspInit()っつうメソッドがあるわな。
>>860 どうもありがとう。jspInit()で、ググってみたら、『 <%! public void jspInit() { メソッド定義 }%> 初回に実行されるメソッドの定義 』
こんなのがあった。
おかげで、問題解決できたよ。どうもありがとう。
>>860 ほうか、そりゃ失礼。
JSP はドキュメントも無い時代に試行錯誤で覚えてそれっきりだったからなー。
864 :
デフォルトの名無しさん :03/04/24 16:37
実行時にclassをキャストしたいんですが、何か方法あります? ex:Object func(){ return obj; } String str=(XXXXX)o.func(); このXのところにメソッドでもなんでもいいから汎用のキャストをするものが 欲しいんですが、なんとかなりませんか?
865 :
デフォルトの名無しさん :03/04/24 16:37
ファイルからデータを読み込み、テーブルに追加していくプログラムを 作っているのですが、model.addRow(line);の行で「シンボルを解決できません」 というエラーが出てしまいます。 どうしたらいいですか? String line; while((line=reader.readLine())!=null){ model.addRow(line); } reader.close(); ファイルには、 1 2 3 という全3行のデータが入ってます。
>>864 汎用のキャストだったら java.lang.Object 使えば、ってそーゆー話じゃなくて?
867 :
デフォルトの名無しさん :03/04/24 16:46
それが一番早いと思うけど、 String str=(XXXXX)o.func(); と書くだけで、(XXXX)がStringにする方法があれば便利だと思って。 汎用キャストってあれば便利だろうなと思って。 やっぱ、ないかなぁ。
>>865 addRow(Object[] rowData) addRow(Vector rowData) はあるが、
addRow(String rowData) が無いからでは?
869 :
デフォルトの名無しさん :03/04/24 16:49
実体を渡したらその実体の型名を文字列型ではなくてぞのまま返してくれる メソッドがあればべんりなんですけどね。
>>867 ...?
toString() じゃあかんのかい
>>867 だったら String str = o.func().toString(); とかすれば?
それで良いのかは知らんけど。
>>863 まあ確かにJServ出してくる時点で
相当の兵の思われ。
まだセッションの一覧とか平気で取れた時代だよな・・・
875 :
デフォルトの名無しさん :03/04/24 20:56
JAVAサーティファイドプログラマーって 基本情報技術者と比べるとランク、難しさではどっちが上?
>>847 javax.swing.ImageIcon
間違いなく基本情報技術者
878 :
デフォルトの名無しさん :03/04/24 21:28
J2EE 1.3.1 のソースがどこに転がっているか知りませんか?
はじめまして。 JAVAサーブレットでDBと組み合わせた掲示板を作ってみたのですが、コネクション プーリングが開放されなくなってしまいました。 環境はWAS4+DB2(ソフトの入手元は聞かないで…) 流れとしては リクエスト受け取り ↓ それに応じたSQL組み立て ↓ コネクションプーリングゲット(ここだけシンクロかけてます) ↓ SQL文実行 ↓ コネクション開放(try〜finallyでclose) で、1分ぐらいスレッドを多重で連続実行させていたところ、何時の間にか コネクションが開放されずにエラーを起こしていました。 調べてみたところ、どうもコネクションが開放されていませんでした。 どなたか、これを解消するアドバイスをいただけないでしょうか。
>>879 >(ソフトの入手元は聞かないで…)
(´-`).。oO( じゃあ答えも聞かないで… )
881 :
デフォルトの名無しさん :03/04/24 23:39
JScrollPaneにJTextAreaを張り付けて使ってます。 この状態で、JScrollPaneのマウスイベントを取りたいんですが うまくいきません。 マウスを使って、スクロールバーをドラッグしたりとか、 上下の矢印をクリックしたときのイベントが取得したいんですが、 どうすれば良いんですかね? 1.4.1なんでホイールイベントは取れたんですが・・・ MouseListener MouseMotionListener MouseWheelListener をJScrollPaneにaddしてみたんですが、うまくいきません。 JScrollBar にある addAdjustmentListener が JScrollPaneに無いのが困った感じです。
882 :
デフォルトの名無しさん :03/04/24 23:48
>>881 おいおい、JScrollPaneが持っているスクロールバーにaddしろよ。
JScrollPaneは、幾つかの部品を纏めて持っている便利な親クラスで
しかないよ。
883 :
デフォルトの名無しさん :03/04/24 23:51
>>879 なんだかよくわからんが、借りたものをプールに返しているか?
ユーザスレッドが強参照握っているうちは、絶対解放されません。
884 :
デフォルトの名無しさん :03/04/24 23:52
885 :
デフォルトの名無しさん :03/04/24 23:53
>>864 なにがしたいのか今ひとつピンとこないけど、C++の総称型を利用した
テンプレートメソッド作成みたいなことがしたいなら、JDK1.5を待つ
べし。今年の終わりころには出るはずだから。
886 :
デフォルトの名無しさん :03/04/24 23:55
JDK1.5ってC#のパクリなんだろ?(大爆笑
C#はJavaのパ(ry
888 :
デフォルトの名無しさん :03/04/24 23:58
889 :
デフォルトの名無しさん :03/04/25 00:05
あ〜あ、C# が Java のパクリだっていわれ続けてて、よっぽど 言い返したかったんだね (禿藁 てか、C# のプレスリリースが 2000年6月くらい。とはいえこの時点でまだ中身なし。 JDK 1.4 で Unboxing を実装するか 1.5 に延期するかをすったもんだしていた のが 1.3 発表の頃の 2000年5月くらい。どこまで行っても C# は半島民。
891 :
デフォルトの名無しさん :03/04/25 00:11
Javaのソース公開アプリって何かないですか できれば日本のキボンヌ
1.4.1インストすると今まで正常に動いていたjavaアプリのGUIがおかしくなるんですが 既出な現象でしょうか?過去ログ見ても見つからなかったんですが。 1.4.1をアンイストすれば1.3.1でも1.4.0でも正常に動きます。
893 :
名無しさん :03/04/25 00:20
クラスファイルをjsdk2.1->webpages->servletsに入れて、
サーバープログラムをスタートしてブラウザから
http://localhost:8080/servlet/クラス名を入力して 、
サーブレットを呼び出すことに成功しました。
次にこのクラスファイルを自分のHPへアップしました。
ここで、サーブレットを呼び出すためには
http://サーバ名 :ポート番号/servlet/クラス名を入力すればいいんですよね。
間違ってたら教えてください。また、ポート番号とは何か?どうすれば、番号が分かるのか
教えてください。お願いします。
>>893 そんなの Java の質問じゃねーっつーの
サーブレットがなんだか分かってねーんじゃねーのか
>>892 有名なDLL HELLという奴です。
もちろんDLLではないですが、
同じような理由で発生します。
>>890 あの、結局、SUNは行動が遅いと言いたいわけですか?
>>895 .NETのside-by-sideアセンブリのような、アプリケーションのほうで
実行環境のバージョンを指定する機能はJavaにはないのですか?
アプレットだと可能なようですが…
クラスが存在するものとして扱ってClassNotFoundError等を catchするという方針で作っていると、アプレットの場合 存在しないクラスを探すためサーバに無駄な通信を 行ってしまうのですが(しかも404になるからキャッシュもされない) これを防ぐにはバージョンから判別するしかないのでしょうか? システムにインストール済みのクラスのみを探す方法が あると理想的です。
>>898 すげー適当でまともに動く保障はないが:
ClassLoader loader = ClassLoader.getSystemClassLoader();
if(loader.getResource("java/lang/String.class") == null){
System.out.println("String クラスがない");
}
900 :
デフォルトの名無しさん :03/04/25 02:09
>>898 見つからないクラスがあるのに正常系なの?それってどんな仕組みですか?
HttpURLConnectionで、サーバに送信しているHTTPバージョンを 調べる方法を教えてください。GET (URL) HTTP/1.1のHTTP部。
>>899 やってみます。
>>901 たとえば
try {
MSのクラスを使う
} catch (NoClassDefFoundError e) {
Java 2の代替実装を使う
}
みたいな感じ。Class.forNameで調べても
サーバにアクセスするし例外をキャッチする必要もあるので。
さっさと控訴審の決着が付いてこんな小細工が必要なくなる
ことキボンヌ
>>903 うひょ。タイヘンだ。
MSとSunでClassLoaderの実装クラスが違うことを期待して、
Class loadercls = ClassLoader.getSystemClassLoader().getClass();
if(loadercls.getName().equals("MSのクラスローダ名")){//処理}
else{//代替処理}
とかでどうかな?しかし、アタマ痛いね…
ああ、そんなことをするくらいならSystem.getProperty()で十分だな。
>>899 はgetSystemClassLoader自体がsince 1.2という罠で撃沈しますた。
>>905 やっぱSystem.getProperty()ですかね。
現時点で区別する必要がありそうなのは実質的にMS実装くらいだし。
お答えありがとうございました。
>>906 すまん、間違えた。
if(ClassLoader.getSystemResource("java/lang/String.class") == null){
System.out.println("String クラスがない");
}
908 :
デフォルトの名無しさん :03/04/25 05:36
>>879 >コネクションプーリングゲット(ここだけシンクロかけてます)
これが気になる
それから、プーリングって自作(自社)のやつ?それともJのやつ?
>>883 強参照はよくわからないので後で調べますが、自分がやっているのはconnection.close()
(connection = dataSource)だけです。
ヒント、ありがとうございました。
>>908 JNDIのコネクションプーリングです。
自分でやっているのは名前をとってきて、与えるだけ。
独習JAVA等の入門書をを8割くらい読破したところなのですが、 将来PGになったときに実務で足手纏いにならないようにするための なにか指針があれば教えてくらさい。 今は全力を尽くせばオセロもどきや電卓が作れるくらいです。
>>909 コネクションプーリングを行っていて、Connection#close();を読んだとしても、
即座にConnectionがプールに戻るとは限りません。
ですので上限値はできるだけ多めにしておく必要があります。
また、文意から察するにカーソルのクローズを行っていない可能性も考えられます。
Statement、ResultSetの開放は正しく行っていますか。
カーソルの開放を行っていないとリソースを消費しつづけエラーを起こします。
またWebSphereでPreparedStatementCacheを利用しているときに、
適切なDB2のアプリケーションヒープサイズが設定されていないとエラーを起こします。
特にWebSphere、DB2の組み合わせは相性が悪いらしくFPのあたっていない状況では不具合を起こしやすいようです。
最新のFPをあててからトライしてみると案外問題なく動くかもしれません。
>>910 8割読んでオセロ作れるのはすごいです。他の言語経験もあるんでしょうね。
業務アプリ屋になるんであればオブジェクト指向を学ぶのが良いと思います。
あとUMLも出来ると設計をする際明確な記述方針がもてますのでとてもいいと思います。
あとはコーディング基準やオープンソースのコードを読むというのはどうでしょう。
「良い設計」が自然と身につけば、「足手纏い」というよりはあなたがプロジェクト全体を引っ張っていく立場になるかもしれません。
913 :
デフォルトの名無しさん :03/04/25 10:02
コネクションプーリングやるなら、Jakarta-commonsに含まれる、 DBCP使うのはどう?
社内用WebアプリのDBにAccess使いたいって言われてて、
付属のJDBC-ODBCブリッジしか使えないかと思っているところなんだけど
1.4.1付属のJDBC-ODBCブリッジってどの程度信頼が置けるものなんですか?
昔はスレッドセーフで無いとかいろいろあったけど、今はどの程度
安心して使えるものなんですかね。
ドキュメントの注意書き読むと、「あてにすんな」と書いてあるように読める
んですが。このへんとか。
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jdbc/bridge.html 商用のJDBCドライバがあるのは知ってますが、できれば使いたくないです。
「JDBC-ODBCブリッジはだめ。商用のJDBCドライバを使えばこんなに幸せ」
というような意見があれば、上に交渉してもみますが…
915 :
デフォルトの名無しさん :03/04/25 10:51
JSPでログインしたらセッションを与え内部用の項目を出すようにしてるんですが ログインした後ブラウザを閉じて再度開いてみると最初から内部用の項目が でてしまいます。 どうしたらいいのでしょうか? また、ブラウザを閉じたときのセッションの挙動について教えてください。 キャッシュ等に残ってしまうのでしょうか?
916 :
デフォルトの名無しさん :03/04/25 10:53
ちなみに現象がでたPC環境は OSはWindows、ブラウザはIEを使っています。他は試していません。 プロキシとかも関係あるのでしょうか?
>897 JavaWebStart
>>911 Statementでexecuteすると、以前のResultSetは開放されます。
(されなければJDBCドライバのバグです)
Connectionをcloseすると、Statement、ResultSetは開放されます。
(されなければJDBCドライバのバグです)
>>913 Websphereだったら、WebSphereについているの
使ったほうがよいね。
>>909 WASのデータソース使ってるなら
StatementとConnectionのクローズ、それから
参照へのnull代入すれば問題ないはす。
ResouceBundleで読み込むファイルをjarに含めたくないのですが、 簡単に実現する方法はありますか?無ければ作ります。
>>921 jar に含めないだけだったら簡単です。
ResouceBundle で読み込むためのプロパティファイルを
どこに置くかが悩みどころといえば悩みどころ。
>>922 ResouceBundle.getBundle("hoge");
とした時に、jarのトップに置いておけば読み込まれるんですが
jarと同じディレクトリに置いた時に読み込んでくれないようなんですが。
どうすれば良いのですか?
>>923 jar に foo.bar ってクラスがあるとして、
で、jar が "/usr/local/hage.jar" だとすると、
URL class_url = ClassLoader.getSystemResource("foo/bar.class");
class_url に jar:file:/usr/local/hage.jar!foo/bar.class
が得られるので、そっから /usr/local を切り出して使えば良いのでは?
>>924 あ、そういう風に書くんですね。今から学校なので帰ってから試してみます。
どうもありがとうございました。
>>924 え、あ?ちょっと待ってください。
やりたい事は、jarの外部にあるファイルにアクセスする方法です。
-hoge.jar
+message_ja_JP.properties
の時、
java -jar hoge.jar
で実行した時に、message_ja_JP.propertiesをgetBundleしたいということなんですが。
>>924 さんのはjar内のファイルにアクセスする方法では?(見ただけで試していないので確信はないですが)
927 :
デフォルトの名無しさん :03/04/25 12:15
JSPでsessionオブジェクトから、ショッピングカートを取り出す際、 cart = (Cart)session.getAttribute("Cart"); としているのですが、ClassCastExceptionが出てしまいます。 なぜでしょうか? Cartクラスはベクトルを使っているのですが、何か問題はありますか?
>>926 >>924 で jar のある場所はわかるでしょ。
jar の親ディレクトリ/message_ja_JP.properties が目的のファイル、
なんじゃないの?
>>928 あ、もしかしてjarの外にあるファイルは絶対パスで書けばOKってことですか?
#だったら
>>924 さんのでいけますね。
>929 プロパティファイルの置いてあるディレクトリをクラスパスに設定すれば 取れませんか?
>>929 あ、getBundle() じゃ取ってこれないや。ごめん。
>>930 -jar で起動すると クラスパスって無視されなかったっけか?
933 :
デフォルトの名無しさん :03/04/25 13:17
インターフェースと抽象クラスの決定的な違いを教えてください。
936 :
デフォルトの名無しさん :03/04/25 13:29
927ですが、
>>927 の質問の解決方法を分かる方はいませんか?
>>933 実装があるのとないの。
漏れは、テンプレートを記述したいときは抽象クラス
それ以外はインターフェースを使用しているが。
>>936 セッションにはCartクラスもしくはCartの派生は
ちゃんといれているのか?
>>920 DB2 は Connection#close() だけ行っても PreparedStatement
キャッシュのリソースリークを起こす。なぜかというとキャッシュ
は Connection に結び付くんじゃなくて実行中のプロセスに結び付く
から。明示的に PreparedStatement#close() をやらないとメモリが
足らなくなったり「関数の順序エラー」なるものが出たりする。
DB2 使ってる連中では常識だが Oracle から初めて来た人は大抵
ハマるポイントのひとつ。
>>937 ありがとう!
でも抽象クラスってインスタンス化できないって仕様ですよね?
Calender.getInstance()できちゃうのはなぜ?なんですか。
>>940 Calender.getInstance() で帰ってくるのは
GregorianCalendar とかのサブクラスのインスタンスだったりする。
>>915 根本的な解決にはならないかもしれませんが。
ログイン時に一旦セッションの中身をクリアすれば良いのでは?
>>941 なるほど、そうなんですか。
でもCalenderクラスにGregorianCalendar以外の他のサブクラスが
存在したらどうなるんですか?
デフォルト設定みたいなものがあるのですかね?
Calendarでした・・・
>>943 たくさんサブクラスがあるのが前提。
だから、抽象クラスやインターフェースってのがあるわけよ。
>>942 一応
session.invalidate();
で消しているんですがだめなんですぅ・・
String変数のデータから、最初の文字や最後の文字を 削除する命令ってないですか?
>>947 str.substring(1); //最初の文字削除
str.substring(0, str.length() - 1); //最後の文字削除
空文字列のときとかは知らん。
あ、一応書いておくけど String は不変オブジェクトなんで、 str = str.substring(1); とかしないと最初の文字を削除した String は得られません。
950 :
デフォルトの名無しさん :03/04/25 16:49
ソースの説明は端折りますが… 以下のコードで[vc2]にセットされた[hs3]の要素を参照(println)すると、 全ての要素に対し、最後に代入された値(k=4のデータ)が代入されています。 なぜこうなってしまうのでしょうか? Info=Private-Class Hashtable hs = new Hashtable(); Info inf = new Info(); inf.setColumnName( "hoge_000" ); hs.put( "key_000", inf ); for( int k=0; k<2; k++ ){ inf2 = new Info(); inf2=(Info)hs.get( "key_000" ); inf2.setColumnName( inf2.getColumnName() + ":" + k ); inf2.setAttribute( "attri_" + k ); Hashtable hs3 = new Hashtable(); hs3.put( String.valueOf(k), inf2 ); vc2.addElement( hs3 ); } *上記の結果 k=0/hoge_000:0/attri_0 k=1/hoge_000:0:1/attri_1 *得たい結果 k=0/hoge_000:0/attri_0 k=1/hoge_000:1/attri_1
上記結果の内容が違いました。 【誤】 *上記の結果 k=0/hoge_000:0/attri_0 k=1/hoge_000:0:1/attri_1 【正】 *上記の結果 k=0/hoge_000:0:1/attri_1 k=1/hoge_000:0:1/attri_1
重ねて訂正 【誤】〜値(k=4のデータ) 【正】〜値(k=1のデータ)
>>950 > inf2=(Info)hs.get( "key_000" );
> inf2.setColumnName( inf2.getColumnName() + ":" + k );
> inf2.setAttribute( "attri_" + k );
を
inf2.setColumnName( ((Info)hs.get( "key_000" )).getColumnName() + ":" + k );
inf2.setAttribute( "attri_" + k );
とか
inf2.setColumnName( inf.getColumnName() + ":" + k );
inf2.setAttribute( "attri_" + k );
とかすれば?
>>950 ところで、hs3 の箇所って要素1のハッシュテーブル作ってるけど良いのか?
>>953 両方とも変更してみましたが、結果変わりませんでした。
>>950 [inf]にはsetColumnName()とsetArrtibute()があって、
後から、setAttribute()へデータを追加して、一つの[inf]データとして
保持したいのです。
>>953 スミマセン。コレ↓で出来ました。
---
inf2.setColumnName( ((Info)hs.get( "key_000" )).getColumnName() + ":" + k );
inf2.setAttribute( "attri_" + k );
---
出来なかったのは、
>inf2=(Info)hs.get( "key_000" );
を生かしたままでした。
※なぜ、ワタシのコードではダメなのか理由も知りたいのですが…
>>955 先の説明が下手でした。
[inf]に入れた(setColumnName())データを使いまわして、
新しい、[inf2]を複数生成し[hs3]と[vc2]で固めようとしています。
舞い上がって、お礼を忘れてました。
>>953 ,954さん、早速のレスをありがとう。大変嬉しかったです。
それと、
>955と>956で、954さんへのレス番が思い切り間違っていました。
お詫びします。
>>956 inf2 = new Info(); //Info のインスタンスを生成して、inf2 はそのインスタンスへの参照を持つ。
inf2 = (Info)hs.get( "key_000" ); //inf2 は Hashtable から "key_000" のキーで得られたインスタンスへの参照を持つ。 先の行で生成されたインスタンスは捨てられる。
たぶん C/C++ の struct とかのコピーの感覚でやってるんだろうが、
Java の組み込み型以外の全ての変数は参照型。
C/C++ で言うところの (void*) です。
大勢の方に答えていただいて嬉しいです(T-T)。
私、本気で幸せものです。
>>939 なるほど、そんなことがあったんですか。
参考になります。
ちょこっと改造しなければ。
>>920 アドバイスありがとうございます。
全部クローズしているのですが、connection.close()を実行している場所で
NullPointerExceptionが出てました…。
データソースが漏れて使えなくなったからNullなのか、それともここでエラー
を起こしているから開放されていないのか、Java暦1月の経験ではわからず。
>>911 PreparedStatementを利用しているので、それもあるかもしれません。
時々、SQLエラーも起こしているようなので。
修正してみます。
Finallyにif ( connection != null ) { connection == null; }も追加してみたのですが…。
間違って途中で書き込んでしまいました。 FInallyにif ( connection != null ) { connection == null; } も追加してみたのですが、結局データソースが開放されないのは 解決されませんでした…。 もしかしたら、強参照とかがわかれば解決するのかもしれませんが。
>>919 >
>Statementでexecuteすると、以前のResultSetは開放されます。
>(されなければJDBCドライバのバグです)
>Connectionをcloseすると、Statement、ResultSetは開放されます。
>(されなければJDBCドライバのバグです)
やっぱそうだよなー
でも、JakartaとかSunのソースコード読んでると
冗長にもすべてclose()している・・・なんでなんだろ?
また、Bufferedストリーム系ではBuffered本体と中にラップされてる
たとえばFileInputStreamなんかもわざわざclose()してたりする
どっちが正しいのやら・・・・
>>958 おぉなるほど。納得しました。
#思い切り,C/C++あがりだと言う事もバレた訳ですな…(恥 f(--;)
精進致します。
とにかく、皆さんのレスに多謝です。
Javaについて0から学べるサイトってありませんか?
>>963 このスレの先頭から100レスぐらい読め。
英語しかないのか・・・
>2
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
以上、立てられる人よろしく。
>>930 >>931 >>932 レスどうもありがとう。
結局ResouceBundleではjar外部のファイルにアクセスできないようなので、
java.util.Properties#loadで対応することにしました。Localeの部分は自前で実装します。
>java.util.Properties#loadで対応することにしました。
の
>>979 ですが、質問です。
Properties#loadはInputStreamを引数に取るのですが、InputStreamはエンコードの指定ができません。
かといってInputStreamReaderではエンコード指定はできますが、Properties#loadに渡すことができません。
自前でProperties#loadと同じような動作をするReaderを受け取るメソッドを作りましたが、
こういったことをするのに定石みたいなのはあるんでしょうか?
>>981 *.properties って普通は ASCII+Unicodeエスケープ なので
Properties#load で読めるはず…
>>982 えっと、それはそうなんですがnative2asciiが無くても編集できるようにしたいんです。
(ユーザが編集できるようにということです)
解決方法が無いのであれば自前のメソッドを使うので別に構わないのですが、
何かあほなことしてるんじゃないかと思いまして。
984 :
デフォルトの名無しさん :03/04/25 20:14
char型の文字を、そのままint型にするような関数はありますか? C言語のatoi関数みたいなものなんですけど。
985 :
デフォルトの名無しさん :03/04/25 21:40
JSPをテストして、何度も同じページを行ったり来たりするんですが、 あまりにも、ページを読み込むのが速いのですが、 <% %>スクリプトレットの中が、ちゃんと処理されているか不安なんです。 <% %>のスクリプトレットがあっても、ブラウザのキャッシュ機能で <% %>の中の処理が飛ばされてしまう事ってあるんですか?
(;´Д`)
987 :
デフォルトの名無しさん :03/04/25 22:46
なぁ、Javaやってるやつってバカ? っていうか最近のヤツって調べもしないで聞くやつばかりなのか? 学ぶ姿勢ないよな 聞いた話では 「この漢字の読みがわかりません」 「漢和辞典で調べなさい」 「めんどくさい」 っていう子供が多いんだとよ おまえら、伝統芸能でもないのに手取り足取り教えるやつがいないと なんもできねーのかよ
>伝統芸能でもないのに手取り足取り教えるやつがいないと お前に伝統芸能の何が解るって?
Javaをやってる事との因果関係はあまり無いと思われ…。
解決できました。
992 :
デフォルトの名無しさん :03/04/25 22:55
もう次から「初心者歓迎」やめないか?
単なる質問・相談スレでいいな。
「大人のJava」
だから初心者無視スレを残しておけと...
以前から提案してんだが 「Oakスレ」
「Java/JavaScript質問スレ」
1000
ま
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。