1 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 15:21:29 ] 過去ログ、関連スレッド、よくある質問とその回答、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/ これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、 wikiからのリンクをおたどりください。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド101【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1177938653/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 次スレは>>980 あたりで。
175 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 00:06:35 ] >>174 >インスタンスを持つ必要がないメソッドは極力staticを付けた方が良い。 そして地獄を見る
176 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 00:48:57 ] >>175 どうして?
177 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 02:20:40 ] >>176 きっと、想像できなかった仕様変更があって、 内部状態に応じて動作が変わるようにしなければいけなくなるんだろう。 たとえば、テストモードかどうかをオブジェクト内部に持つような 仕様に急に変わって、テストモードだったら(本番データを使えないので) こっちの方法で計算するようにしてね、と言われるとか。
178 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 02:32:36 ] それstaticぜんぜん関係ないじゃん。
179 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 05:44:39 ] >>174 地獄へ落ちるに同意。 本当にインスタンスが不要であることが確信できるような場合にのみstaticを付けるが正しい。 インスタンスをもつ必要がない、というガイドラインだとデータクラス以外は全部staticでいいじゃんて話になるし、実際にそういうプロジェクトの経験もある。
180 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 06:45:35 ] 必要のない作りこみはプログラムを無駄に複雑にし、不具合を呼び込み拡張を困難にする。 将来的に使われなかったら無駄になるし、 使われるときになって実際に必要とされる機能との相違があれば、結局作り直し。 static で済むなら static で作り、必要に応じてリファクタリングする。 しかし、定数でないstaticなフィールドについては、 単体テストで弊害になるのでできるだけやめた方がいい希ガス
181 名前:163 mailto:sage [2007/06/06(水) 09:06:00 ] >>168 だよね…。厨はカエレ!的な意味かと思ったよ…。 で、正しく何スレでしょうか…?
182 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 09:31:23 ] >>180 staticでなくて済むならば非staticにして作り、必要に応じてリファクタリングでも良いかと・・・
183 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 09:37:33 ] >>181 Tomcat+jsp+struts何たらってスレでも1000行ってるから次スレで pc11.2ch.net/test/read.cgi/tech/1161862896/1001-1100
184 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 09:40:40 ] スレ名変更してた。 java+webフレームワーク pc11.2ch.net/test/read.cgi/tech/1181063688/
185 名前:181 mailto:sage [2007/06/06(水) 09:46:53 ] >>183 >>184 誘導ありがとうございました!次スレまで調べていただいて感謝です!
186 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 11:00:26 ] >>179 >インスタンスをもつ必要がない、というガイドラインだとデータクラス以外は全部staticでいいじゃんて話になる ならないだろ。データクラス以外はインスタンス化しないのか?
187 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 11:04:56 ] mein(String[] args)メソッドで呼び出すときは他クラスにメソッド配置しないと 全部staticなメソッドになって地獄見た;
188 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 11:12:54 ] 地獄見そうなメソッドだなw
189 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 11:57:59 ] >>186 そういうプロジェクトを少なくとも2つ見た事あるぞ。 自分は追加要因(火消し)で入ったもんだから、もはや手遅れでそのルールに従ったけど、結局はプロジェクトは両方とも破綻
190 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 12:04:28 ] 具体例が無いからどっちが良いとは言えんな。 どっちにしたって地獄見るのは設計がダメだったって事なんだろうし。
191 名前:デフォルトの名無しさん [2007/06/06(水) 12:26:10 ] Javaで、Windowsのファイル毎の 関連付けアプリケーションのパスを取得する方法ってありますか?
192 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 12:52:20 ] >>191 Windowsのシステムに関わる話なので当然Windows専用になってしまうが、 cmdの内部コマンドのassocとftypeをJavaから呼び出してやればいいのでは? たとえば.txtなら、 assoc .txtで.txt=hogehogeが得られたら、 ftype hogehogeでhogehoge=関連付けアプリケーションのパスとか引数の与え方、になる。
193 名前:192 mailto:sage [2007/06/06(水) 12:54:42 ] 忘れてた。 ftypeで得られるパスには環境変数名も含まれる場合も多いだろうから、 環境変数を展開する処理も必要。
194 名前:デフォルトの名無しさん [2007/06/06(水) 14:29:58 ] 教えていただきたいのですが、あるディレクトリにファイルを コピーする時はどうすればいいのでしょうか? protected void CopyFiles(IProject project){ //コペーする絶対パスが設定されてるファイル File file = projectPage.files; //ファイルがコペーされるディレクトリ + \ IPath newDir = project.getLocation().addTrailingSeparator(); //fileをnewDirにコペーする }
195 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 14:44:01 ] >>194 FileInputStream と FileOutputStreamを使え ファイルのコピーなんて、教科書に載ってないか?
196 名前:デフォルトの名無しさん [2007/06/06(水) 15:33:51 ] >>195 アーッ! すいません。ど忘れしてました。ありがとうございます。
197 名前:デフォルトの名無しさん [2007/06/06(水) 15:37:32 ] 教えていただきたいのですが、eclipse3.2.2上で lombozを認識してくれないのですが、原因はわかりますか?
198 名前:デフォルトの名無しさん [2007/06/06(水) 17:44:08 ] いまからプログラミングの勉強したいんですが初心者は何から始めるのがお奨めですか?就職に役立てるような技術が欲しい
199 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 18:12:22 ] >>198 医師・看護師・薬剤師・介護福祉士がちょうおすすめ。 仕事はプログラマ並みかそれ以上にキツいけど。
200 名前:デフォルトの名無しさん [2007/06/06(水) 18:27:46 ] >医師・看護師・薬剤師・介護福祉士がちょうおすすめ。 この仕事の人にプログラミングの技術がいるってことですか?
201 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 18:41:13 ] >>200 プログラミングは趣味で。
202 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 19:41:07 ] >>199 その選択ができるのは進学前の高校生までだろ。 >>198 は大学生くさいから諦めろ。 公務員試験の勉強をしつつ、経理の勉強でもしとけ。 プログラミングは趣味で。
203 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 19:49:20 ] 2流以下の大学の学生がプログラム関係の資格を持っていると 旧帝大で留年してるような奴と対等になれる。 ぶっちゃけ資格は何でもいい。
204 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 20:16:31 ] 勉強は二の次にして、これをネタに あちこちの勉強会に出席してコネを作ってくのがいいんじゃまいか
205 名前:デフォルトの名無しさん [2007/06/06(水) 23:21:20 ] エクリプス上で実行できたクラスファイルがバッチ上で実行が出来ずに困っています。 カレントディレクトリはクラスファイルの場所を指定しています。 ためしにjavacとjavaのバージョンを確認してみたところ、 C:\Program Files\eclipse\workspace\KBSYS\test>javac -J-version java version "1.5.0_11" C:\Program Files\eclipse\workspace\KBSYS\test>java -version java version "1.6.0_01" と出力されました。 どうやらコンパイラのバージョンより実行環境のバージョンが新しくなっていしまっているようなのですが、 実行環境をコンパイラのバージョンにあわせるにはどのような設定をしたらよいのでしょうか?
206 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:30:19 ] >>187 mainの中で自分自身をnewしろよ。。。
207 名前:205 mailto:sage [2007/06/06(水) 23:31:35 ] ちなみにjre1.5.0_11\bin は持っているようです。 サンマイクロもページ分かりにくい・・・。 もう一回古いバージョンを落とそうにも場所が分からず・・・。
208 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:35:53 ] >>205 Eclipseは自前のコンパイラを使うからjavacのバージョンは関係ない。 そもそも1.6のJREは-target 1.5でコンパイルしたクラスファイルを実行できる。 まず実行できなかったときの例外を確認するのが先。
209 名前:205 mailto:sage [2007/06/06(水) 23:42:49 ] >>206 ありがとうございます! まず、実行時のエラーですが、(クラスファイル名はtesta)以下のような出力になります。 C:\Program Files\eclipse\workspace\KBSYS\test>java testa Exception in thread "main" java.lang.NoClassDefFoundError: testa (wrong name: test/testa) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) ちなみに、ユーザー環境変数のPATHは、以下のようにjavac.exeのあるディレクトリを指定しています。 C:\Program Files\Java\jdk1.5.0_11\bin
210 名前:208 mailto:sage [2007/06/06(水) 23:45:05 ] >>209 >>1 死ねよ。
211 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:47:55 ] >>205 >>208 もしコンパイラの問題だとしたら、 プロジェクトを右クリックしてプロパティを開く。 Java Build Path という項目があるからTabの Libraries を選択して、JRE System Libraryをダブルクリックすれば どのコンパイラが利用されているかわかる。
212 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:48:20 ] 親切な人が豹変したw
213 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:56:16 ] これで満足?てかおんなじ人が質問してるのね。。。 public class testa { public static void main(String[] args) { testa inst = new testa(); inst.non_static_method(); } public testa() { } public void non_static_method() { System.out.println("hahaha"); } }
214 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 00:00:04 ] >>192 ありがとうございます!大変助かりました。 ひどいコードだと思いますが誰かの役にたつかもなので一応かいておきます。(環境変数名の解決はまだです) static String ExePath(String FileName){ String epath=""; try{ //Runtime runexe = Runtime.getRuntime(); Process process = Runtime.getRuntime().exec("cmd /c assoc " + FileName.substring(FileName.lastIndexOf("."))); InputStream is = process.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line, line2; line = br.readLine(); System.out.println(line2 = line.substring(line.indexOf("=")+1)); Process process1 = Runtime.getRuntime().exec("cmd /c ftype " + line2); InputStream is1 = process1.getInputStream(); BufferedReader br1 = new BufferedReader(new InputStreamReader(is1)); epath = br1.readLine(); epath = epath.substring(epath.indexOf("=")+1); System.out.println(epath = epath.substring(0, epath.lastIndexOf(" "))); } catch (Exception es) { es.printStackTrace(); } return epath; }
215 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 00:03:48 ] abstractクラスMonsterには、Vampire,Werewolf,Zombieの三つの有形サブクラスがあります。各種のモンスターを六体作成し、1次元配列に格納しなさい。ループを使ってそれぞれのモンスターの種類を表示しなさい。 abstract class Monster { public String toString() { return getClass().getName(); } } class Vampire extends Monster {} class Werewolf extends Monster {} class Zombie extends Monster {} class MonsterTypes { static int NUMMONSTERS = 6; public static void main(String args[]) { Monster monsters[] = new Monster[NUMMONSTERS]; monsters[0] = new Zombie(); monsters[1] = new Vampire(); monsters[2] = new Werewolf(); monsters[3] = new Zombie(); monsters[4] = new Werewolf(); monsters[5] = new Vampire(); for(int i = 0; i < NUMMONSTERS; i++) System.out.println(monsters[i]); } } 実行結果 Zombie Vampire Werewolf Zombie Werewolf Vampire このプログラムに則してポリモーフィズムと動的ディスパッチについて説明してほしいです。お願いします。
216 名前:205 mailto:sage [2007/06/07(木) 00:20:34 ] 親切にありがとうございます。 ここへの質問は初めてです。 >>213 様のソースを実行してみたのですが、エクリプス上では想定通りの結果でしたが コマンドラインからの結果は全く変わりませんでした・・・。 (コマンドラインは再起動しました) staticでは無いメソッドを追加しても変わらない。う〜ん・・・。 javacとjavaのパスは通っているみたいですし、set CLASSPATH=%CLASSPATH%;. をしても変化がありませぬ。 エクリプスのコンパイラは、標準のものを設定してみました。jre1.5.0_11です。
217 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 00:24:09 ] だからstaticもコンパイラも関係ないって。>>210 が切れるのも無理はない。
218 名前:205 mailto:sage [2007/06/07(木) 00:46:02 ] クラスパスのオプションが必要かと思って以下の通り実行しても 結果は変わりません・・・。 java -classpath "C:\Program Files\eclipse\workspace\KBSYS\test" testa ただ、コマンド上でのコンパイルは成功します。classファイルのタイムスタンプも変化します。 >>1 や各種リンクを一昨日から散々あたっているのですが、原因が・・・。 何か、根本的で単純な間違えをしていそうな気もするのですが・・・。
219 名前:213 mailto:sage [2007/06/07(木) 00:57:50 ] >>216 へ 勘違いしているようなので 213のソースコードは>>187 へのレス。 ただ213のソースコードが動かないとするとバージョンの違いではない。 今からやれることはだね、 1. ファイル名とクラス名が一致しているか確認(test.javaでclass testaとかしてないか) 2. java -cp . testaを試す 3. DOS窓じゃなくcygwinならセミコロンの代わりにコロンで区切ってみる 4. さっぱりわからんからjdkの再インストール
220 名前:213 mailto:sage [2007/06/07(木) 01:13:05 ] わかった。。。 (wrong name: test/testa) ← なんでpackage化されてるんだよ! java test.testa でいけない?
221 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:16:35 ] プロジェクト名がKBSYSなんでしょ。 そしたらtestはパッケージなんじゃねえの? cd "C:\Program Files\eclipse\workspace\KBSYS" javac test\testa.java java test.testa これでどうよ?
222 名前:221 mailto:sage [2007/06/07(木) 01:17:54 ] >>220 うわ、かぶった。すまん
223 名前:213 mailto:sage [2007/06/07(木) 01:27:30 ] >>221 どもです。。。 たぶんtestディレクトリの一個上の階層で やるべき作業がわからなくて、結果が同じです、 と言われることを考えたら、全部書くべきだった orz
224 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:31:08 ] え、動いたの?動いてないの?
225 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:48:28 ] 誰か223を英訳してくれ
226 名前:デフォルトの名無しさん [2007/06/07(木) 01:52:58 ] JAVAアプレットでTextAreaを使うと.append(string)でテキストを追加できますが TextComponentを使うと.setText(string)で書き込む事は出来ますが全て上書きに なってしまいます。TextComponentで追記するにはどうすればいいのでしょうか?
227 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 02:04:36 ] >>225 Thanks, >>221 Maybe, the questioner will be failed again and say the same output. Because the execution should be in the upper directory. I should explain everything.
228 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 02:08:23 ] >>226 敢えてやるならgetStringでとりだして文字列追加してsetString。 素直にTextArea使った方が早くね?
229 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 04:10:16 ] public class Test { public static void main (String[] args) { String str = "t u"; //tの後に空白(スペース)2回 String[] token = str.split(" "); //空白で文字列を分ける for (int i=0; i<token.length; i++) { if(token[i] != " ") //文字列が空白でないとき System.out.println(token[i]); } } } というプログラムなんですが、実行結果が t u となり、if(token[i] != " ")がうまく作動してくれないのか、空白を認知してくれません。 実行結果が t u となるようにしたいのですが、どうしたらいいのでしょうか? 初心者なんでよろしくお願いします。 あと、strを "u(t" として、String[] token = str.split("("); とするとエラーが出るのですが、それはもともと"("が対応してないからでしょうか?
230 名前:229 mailto:sage [2007/06/07(木) 04:12:50 ] >>229 のはインデントがうまくいってないので補足です。 str.split(" ") ←空白1個でsplitしています。 よろしくおねがいします。
231 名前:229 mailto:sage [2007/06/07(木) 04:25:58 ] すいません、自己解決しました。 まさかと思い if(token[i].length() != 0) とするとちゃんと t u になりました。 空白は文字としてカウントされないんでしょうか? でもそしたらsplit(" ")でスプリットされないんでは・・・。 なんか解決できたけどしっくりこないです。
232 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 04:38:13 ] >>229-230 >>1 読め。 それから API 仕様も読め。java.lang.String#split() とりあえず if(token[i] != " ") //文字列が空白でないとき を if(!("".equals(token[i]))) //文字列が空白でないとき に直せば期待する動きになると思う。 > あと、strを "u(t" として、String[] token = str.split("("); この場合は String[] token = str.split("\\("); とする必要がある。
233 名前:229 mailto:sage [2007/06/07(木) 05:04:06 ] >>232 あ、stringに==使ってたんだ…。超初歩的な間違いですねorz すいません、ご指摘ありがとうございます。 あと、”\\(”の件ですが、\\の意味についてググってみたら ”(”は特別な文字で\\はエスケープ文字といってそれを識別してくれる役割をもつみたいですね。 とても勉強になりました。ありがとうございます。
234 名前:デフォルトの名無しさん [2007/06/07(木) 10:38:07 ] >>226 回答ありがとうございます。 僕は自分で作成したアプレットのテキストエリアの様なものに BufferedReader fin = new BufferedReader(new FileReader("File.txt")); while((line = fin.readLine())!=null){ みたいに.txtファイルを読み込んでそれを自分で作成したボタン "すべて選択"、"コピー"という2つのボタンでコピーしどこにでも貼り付けれるような 状態に出来るGUIを作りたいのですがどうすればよいのでしょうか? getString()で取り出してsetText()で追加というやりかたがうまくいかなかったのですが getStringが使えなかったのでgetTextでやってみたのですが・・・ どうすればいいのでしょうか?よろしかったら例を挙げて教えていただけると助かります。
235 名前:デフォルトの名無しさん [2007/06/07(木) 13:28:53 ] 入力した数字を時間Aとして認識して、 その入力された時間Aの12600000ミリ秒後は何時何分(時間B)なのか、 更に時間Bの12600000ミリ秒後は何時何分で更にその12600000ミリ秒後は以下ループという風に作りたいのですが、 入力された数字を時間として取り扱うにはどうしたらいいのか困っています。 たとえばFormなんかで <INPUT type="text" name="text1">時<INPUT type="text" name="text2">分で入力します。 と表記して24時間表記で時間を入力させる(例01:15)として、それを午前1時15分だという風に解釈させる方法がみつからないのですが、どうしたらいいでしょう?
236 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 13:38:59 ] Calendar
237 名前:デフォルトの名無しさん [2007/06/07(木) 13:55:29 ] ノートパソコンにJavaをいれたいのですがどうすればいいですか? 共有ソフトが使えません。
238 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 13:57:35 ] 開発環境一式をCDなりDVDに焼いてノートパソコンにインストールする
239 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:13:10 ] >>237 共有ソフトという謎のモノに詳しい人に聞きなさない
240 名前:デフォルトの名無しさん [2007/06/07(木) 16:39:33 ] winrarとかいうヤツ
241 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 17:39:19 ] 今日からJAVAをはじめようと思ってNetBeansをインストールしたのですが、 何をどうすればいいのか良く分かりません。とりあえずプロジェクトなるものを作って、 出来たMain.javaにネットから持ってきたHelloWorldの表示プログラムを貼り付けたのですが、 実行してみるとエラー?かなんかで実行できません。しかも文字化けしてるし・・・。 Cannot find nbproject/build-impl.xml imported from E:\a??a?-a?°a?ca??a みたいな感じなのですが・・・。助けてください
242 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 17:51:45 ] >>241 ttp://pc11.2ch.net/test/read.cgi/tech/1154582593/l50
243 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 17:54:09 ] そっちで聞けって事ですね! ありがとでう
244 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:06:17 ] GUIの左上のアイコン(コーヒーカップの絵)って変えられないんですか?
245 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 20:27:18 ] >>244 java.awt.Window, java.awt.Frame,javax.swing.JFrame,javax.swing.JWindow あたりの setIconImage() setIconImages() かな?
246 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 21:36:36 ] >>245 詳しくありがとうございます 変更できました
247 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 22:03:17 ] JTableの列にJButtonをいくつか描画して、それぞれのイベントリスナを実装しました。 まず手始めに、そのボタンをクリックするとコンソールに そのボタンが存在するrowを表示するもので試し成功しました。 次はボタンが押されたら、そのボタンが存在する行を削除するものを試しましたが、 消せたり消せなかったりします。消せないときはボタンとしての機能が 完全に止まっていてイベントすら発生しません。 原因がさっぱりでわかりません。
248 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 07:43:48 ] ソースもなければエラーメッセージも無しか、ゆとりは凄いな。
249 名前:247 mailto:sage [2007/06/08(金) 08:14:31 ] すいません。携帯からだったもんで。 そして今もまた携帯からなんで出直します。
250 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 10:12:36 ] 質問です。 テキストフィールドに入力された文字列がプログラム中で指定されている文字列と正しいかどうか判定するには、 どう記述したらいいですか?
251 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 10:16:11 ] >>250 >>1
252 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 10:18:22 ] >>250 <input type="text" name="hogehoge" value="" /> ↓ request.getParameter( "hogehoge" ).equals( "tashiro" )
253 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 10:59:45 ] SwingUtilities.invokeLater()を使うのが推奨されているのは setVisible()のほかにどのような処理がありますか?
254 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 11:06:18 ] >>253 ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/SwingUtilities.html#invokeLater(java.lang.Runnable) >このメソッドは、アプリケーションスレッドが GUI を更新する必要があるときに使用されます。
255 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 11:17:36 ] >>254 具体的にはどういうときですか?
256 名前:デフォルトの名無しさん [2007/06/08(金) 13:04:57 ] >>234 お願いします 誰か助けてください
257 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 13:38:24 ] >>256 つ やさしいJava
258 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 15:00:58 ] 現在1つのthreadを使って、start()やsuspend()でアニメーションを作り停止・再開をしているのですが、 停止したアニメーションを初期状態の位置に戻すにはどのようにしたらよろしいでしょうか? [停止]ボタンを押すとint a=1されます。 で、suspend()したスレッドをresume()で呼び出し、run()内部にint aで分岐させて初期状態に戻そうとしているのですが、 停止したところから続きが再開されてしまい困ってます。 stop()→resumt()、stop()→start()では駄目でした。 スレッドを1度破棄してもう1度作るとか、そんな恐ろしいことしなきゃ無理なんでしょうか?
259 名前:デフォルトの名無しさん [2007/06/08(金) 15:08:04 ] fillPolygonなんかで多角形を一色に塗る方法は分かったのですが、 ゲームなんかでよくあるように画像をはめ込むことはできませんでしょうか?
260 名前:デフォルトの名無しさん [2007/06/08(金) 15:08:54 ] Cとアセンブラ、VB使いですが。 Java 初めてです。 クライアントからタッチパネルから「かなorカナ」入力させ、 (銀行のATMの漢字版) サーバー側で、日本語漢字の候補を、クライアントに送る・・・ というような、ミドルウェアや製品を知りませんか? サーバーJava で、ゴリゴリのプログラミングはNGというのが上からの命令。 参考サイト・商品サイトだけでも、ご存じの方いらっしゃいますか???
261 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 15:39:32 ] >>258 アニメーションさせるならばSpliteを作成するのが基本。 ダブルバッファリングから初めてスプライトの基礎を学ぶといいよ。 簡単なシューティングゲームくらいすぐ作れる。 >>260 サーバーJavaでゴリゴリプログラミングはNGってのが意味不明。 タッチパネル(クライアント)の開発元に問い合わせれば、そのタッチパネルのアドオンとかでありそうだけど、そっちは調べたの?
262 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 15:51:46 ] >>261 SpliteをJava APIで探しましたけど見つかりませんでした。 JSplitPaneじゃないでしょうけど、 BasicSplitPaneDivider BasicSplitPaneUI らへんでしょうか? ああ、言い忘れましたが一応ダブルバッファリングはSplitとやらを使わずに出来てます。申し訳ないです。 Spriteでぐぐっても出てきませんでした。もう少し詳しく教えていただけませんでしょうか?
263 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 16:23:08 ] >>262 基本APIにゃない。 自分でコンポーネントクラスを拡張して作るんだよ。
264 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 16:47:55 ] >>263 spliteに関しては後で調べてみようと思います。 早い話、ThreadとRunnableではループし続けるアニメーションしか作れないのかを知りたいです というか後程ソースを出して再度書き込んでみます。お手数おかけしました
265 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 18:02:04 ] JAVAを始めようかと思ってるのですが、オブジェクト指向についてちょっと聞きたいことがあります。 僕はFLASHをよく作るのですが、オブジェクト指向の概念というのはFLASHもJAVAも類似しているのでしょうか? 実際、まだクラス、オブジェクト、継承など全く理解していません。 FLASHでいうところのシンボル、インスタンスと同じものとして考えてもいいのでしょうか?
266 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 19:56:17 ] >>265 類似とまではいかないかも知れないけど、似ているところはある。 というのもFlashというかActionScriptがオブジェクト指向っぽく書かれている。
267 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 21:10:36 ] ネットで検索しながらiBatisとHSQLDBで簡単なアプリ(非WEB)を作ってます。 そこで質問なのですが、HSQLDBスタンドアロンモードを終了させる時はSQLで"SHUTDOWN"と打て、 とあるようなのですが、ibatisからSHUTDOWNを流そうとするとエラーになってしまいます。 どうやったら終了させられるのでしょうか?
268 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 22:42:20 ] swingでタイピングソフトを作ってるのですが、キーボードの取得方法がわかりません。 KeyListenrを使って、できるのでしょうか? ActionListenerならある程度わかるのですが。
269 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 22:50:39 ] 今やってるプロジェクト(オープン系)で「seasar」っての使ってるんですが なんか、そのプロジェクトのリーダーが 全てのビジネスオブジェクトとDAOをシングルトンで 管理するように設定したって言ってました。 俺としてはありえないと思ったんですが、 これって正しい方法なんでしょうか? 俺の考えが間違ってんですかね。
270 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:01:32 ] >>269 漏れもありえないと思う
271 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:20:47 ] >>258 =264 > スレッドを1度破棄してもう1度作るとか、そんな恐ろしいことしなきゃ無理なんでしょうか? スレッドをsuspendで止めるほうがよっぽど恐ろしい。 スレッドの状態管理オブジェクト作ってwait/notifyで止めたり状態変更したりしましょう。
272 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:34:42 ] getGraphicsメソッドについて質問があります。 public class Test extends Applet{ ... } class Draw extends Canvas{ ... } という二つのクラスが有り、Drawの中でダブルバッファを行おうとしているのですが、 Graphics gBuf , Image imgBufをメンバ、initメソッド内にて imgBuf = createImage(300,300); gBuf = imgBuf.getGraphics();としたのですが、imgBufがnullとなりグラフィックコンテキストが取得できません。 しかしinit()を呼び出すタイミングによってはきちんと取得できていたりでどうにも安定しません。 この辺りを詳しくご教授願えないでしょうか。宜しくお願いいたします。
273 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:36:45 ] >>270 やっぱりそう思いますか? 周りにいる同じプロジェクトの人たちに聞いても 誰も疑問を抱いて無いんですよね。 何がおかしいの?って感じで。 自分の考えが間違ってるのかって悩んでたんで、 安心しました。 ありがとうございます。 これから数ヶ月そんなプロジェクトに 関わんなきゃいけないと思うと気が重いっス。
274 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:58:14 ] >>272 paint の中で createImage するしかない。 コードが見辛くなるけど初回の gBuf == null のときとそうでないときで処理をわける。
275 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 00:28:06 ] >>274 回答ありがとうございます。 paintの中でしか生成出来ないんですか…わかりました。やってみます。