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 あたりで。
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の中でしか生成出来ないんですか…わかりました。やってみます。
276 名前:デフォルトの名無しさん [2007/06/09(土) 00:35:20 ] リアルタイムJAVAってどうやったら使えるの?
277 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 00:43:25 ] >>276 質問の意味が良くわからん。
278 名前:デフォルトの名無しさん [2007/06/09(土) 00:55:31 ] 普通のVMとは違う特殊なVMやリアルタイム用のAPIとかあるの? です。 ないかな。
279 名前:デフォルトの名無しさん [2007/06/09(土) 00:59:22 ] >>278 ねーよ、バカw 詩ねwww
280 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 01:00:43 ] >>278 ttp://jcp.org/en/jsr/ JSR1な
281 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 01:13:20 ] Javaなんかで文字化けしやすい文字とかってあるのでしょうか?
282 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 01:20:44 ] >>281 どういう状況を想定してるの?
283 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 01:34:14 ] いや何となく
284 名前:デフォルトの名無しさん [2007/06/09(土) 02:08:51 ] 窓の手で、「右クリックでコマンドプロンプトを可能」にしたのですが困っております。 これで現れるコマンドプロンプトでは、コンパイルが出来ません。 「スタート」→「アクセサリ」→「コマンドプロンプト」のものでは出来ます。 何か対処法はありますでしょうか。
285 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 03:06:36 ] 窓の手の作者に聞け 「右クリックでコマンドプロンプトを可能」にした時に出るコマンドプロンプトに環境変数を設定する方法について
286 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 06:33:51 ] >>264 つーか、スレッド別に作っても、結局UIスレッドに委譲しなきゃダメじゃん
287 名前:デフォルトの名無しさん [2007/06/09(土) 06:37:11 ] 「アプリケーションソフトウェア」ってのを作りたいんですが、 そもそもプログラム以前に、この四角い枠を出現させる方法が分かりません。 「このデータはアプリケーションである」と宣言する方法みたいな、 そういうことを教えてください。
288 名前:デフォルトの名無しさん [2007/06/09(土) 08:55:17 ] >>287 そういうことがやりたいならC#のほうがいいな。
289 名前:デフォルトの名無しさん [2007/06/09(土) 09:00:19 ] >>287 JFrame JDialog setVisible(true);
290 名前:デフォルトの名無しさん [2007/06/09(土) 09:17:10 ] ヒントになりました。どうもありがとうございました。 会社がJAVAを主力にしていて、その勉強の一貫でもあるので、 ここはJAVAでやってみます。
291 名前:デフォルトの名無しさん [2007/06/09(土) 11:38:15 ] こんなことをしたいんだが、方法はありますか? /** * @param vo ヴァリューオブジェ * @param memberName メンバ引数名 public void (Object vo, String menberName) { //voのmemberNameに対応するgetterを呼び出す }
292 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 11:40:40 ] リフレクション
293 名前:デフォルトの名無しさん [2007/06/09(土) 13:27:36 ] javaのオンラインリファレンスを見ても、 目的のソフトを作るにはどのクラスを使えばいいのか全く分からないのですが、 どうすればそういうのが分かってくる様になるんでしょうか? オライリーのリファレンスマニュアルとかを見ればいいんですかね?
294 名前:デフォルトの名無しさん [2007/06/09(土) 13:30:22 ] インターフェースを実装する事って、 そのインターフェースの中にあるメソッドが必ず使われるという担保だけで ちゃんとメソッドが組み込まれていれば必ずしも必要ではない? 上記の場合、クラスにメソッドがあるけど、インターフェースが実装されてない場合 コーディングルール的な事をのぞけば、単純に動かすということだけであれば わざわざあとで実装する必要性はない?
295 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 13:52:35 ] >>294 インターフェイスは、 メソッドが使われることを担保するのではなく、 メソッドが存在することを担保するものじゃないのか? 同じシグニチャのメソッドが存在してもインターフェイスを実装していない場合、 多態性の恩恵に預かれないんじゃないか? 複数のクラスをインターフェイスで総称できなくなる。
296 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 14:03:52 ] >>295 >メソッドが存在することを担保するものじゃないのか? 失礼しました その通りです。
297 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 14:03:59 ] >>293 たくさんサンプルを読め サンプルには何を実現しようとしているか目的が説明されているはずだ いろいろ読んでるうちにそれぞれのクラスはどういう目的でどういう使い方をするのか分かってくる あとは自分の目的に合わせて使う応用力の問題
298 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 14:27:27 ] 質問させてください パターンマッチで末尾にバックスラッシュ(もしくは円記号)があるかどうかを調べたいんです。 そこでサンプルを作るのですが String buf = "\\"; String pattern = "\\\\$"; System.out.println(buf.matcdes(pattern) ? "OK" : "NG"); は"OK"になるのに String buf = "a\\"; String pattern = "\\\\$"; System.out.println(buf.matcdes(pattern) ? "OK" : "NG"); は"NG"になってしまいます。 なにか勘違いしてるのでしょうか。 環境はWinXPで1.5.0_10-b03です。
299 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 14:35:07 ] すいません。matcdesをmatchesと読み替えてください。
300 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 14:36:34 ] String#matcdes(String pattern)は文字列全体がpatternにマッチするかどうか
301 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 14:38:35 ] あ、おれもまんまコピーしちまったwww String#matchesね
302 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 14:41:53 ] その用途に限るなら、buf.endsWith("\\")でいいんじゃない?
303 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 14:52:41 ] カタコトで「マッチデース」とか言ってる検索係の外人を想像した。
304 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 15:38:54 ] 文字列を、指定した幅内に描画する方法はありますか? 例えば、あるFontで"Sample"という文字列の幅が100だとしますと、この文字列の幅を80に縮小して、 Graphics g に描画する方法を探しています。 描画する文字列の幅は、以下のようにすることで得ることができました。 g.setFont(new Font("Serif", Font.BOLD, 30)); FontMetrics fm = g.getFontMetrics(); int size = fm.stringWidth("Sample") 実際に文字列を描画するには、Graphics#drawStringを使用すると思うのですが、 このメソッドには文字列の幅の指定ができないようです。 描画する文字列の幅を指定する方法がありましたら、ご教授お願いします。
305 名前:デフォルトの名無しさん [2007/06/09(土) 16:03:30 ] byte値を0xFFの形でsysoutしたいのですが、 どうすればいいのでしょうか? 初歩的な質問ですいません。
306 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 16:06:30 ] >>304 int x0 = 20, y0 = 20; double requestWidth = 100; String text = "ABC"; Graphics2D g2 = (Graphics2D)g; FontMetrics fm = g.getFontMetrics(); double m = requestWidth / fm.stringWidth(text); g2.translate(x0, y0); g2.scale(m, 1); g2.translate(-x0, -y0); g.drawString(text, x0, y0);
307 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 16:11:12 ] >>305 byte b = -1; System.out.printf("0x%X%n", b);
308 名前:289 mailto:sage' [2007/06/09(土) 16:12:04 ] >300 ありがとうございます。納得いきました。
309 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 16:16:13 ] >>308 末尾の文字列が\かどうかなら>>302 でいいと思う。 もし、任意のパターンが文字列中に含まれるかどうかを知りたいなら、 Matcher#find()を使って判定するとかかな。
310 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 16:21:53 ] >>307 ありがとうございます。
311 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 16:31:13 ] >>306 のstringWidthでは描画コンテクストを無視するからgetStringBoundsを使った方が正確かもね
312 名前:デフォルトの名無しさん [2007/06/09(土) 16:36:29 ] JAVAからwindowsのバッチファイルを引数を渡して起動したいのですが、 そういった操作をするクラスは用意されているのでしょうか? Runtimeというのを見つけたのですが、これは別物でしょうか? ちょっとコーディング試してみたのですが、ぬるぽが帰ってきます。 文字列入出力なら分かるのですが・・・。
313 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 16:39:22 ] すみません。 本を参考にjavaを勉強してますが、mybeansを使うところで、 1行目でエラーが出てサーブレットをコンパイルできません。 import mybeans;でコンパイルすると '.' (ドット)がないと出ます。 ただ、本にはimport mybeans;と記入するように書いてありますが、 付録のCDに入ってる手本のソースファイルにはimport mybeans.*; と書いてあったので、そのように記入してコンパイルすると、 今度は、パッケケージmybeansは存在しませんと出ます。 で、サーブレットをコンパイルする際の、ディレクトリの位置の問題かと思って、 mybeansパッケージと同じディレクトリでコンパイルすると、 1行目のimport mybeans;のエラーはでなくなりましたが、 2行目3行目のimport javax.servlet.*;とimport javax.servlet.http.*; のクラスが存在しないと出てしまいます。 開発環境はJDKの1.6.0.1とtomcat 5.5です。 mybeansを使うにはnetbeansなどの他の環境が必要なんですか?
314 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 16:43:46 ] package mybeans;とちゃうの?