1 名前:デフォルトの名無しさん [2007/06/27(水) 07:23:27 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下の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質問・相談スレッド102【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1180419689/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 次スレは>>980 あたりで。
409 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:45:57 ] explorer.exe とか run32.dll のなかにアイコンリソースがいっぱいあるね
410 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:50:05 ] JDICにそれっぽいAPIがありそうな感じ。 ttps://jdic.dev.java.net/ この辺のAssociationとか使えそうじゃね? ttps://jdic.dev.java.net/documentation/Examples.html
411 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 22:50:43 ] https://jdic.dev.java.net/ のしたの方にデモがあるね javadesktop.org/jdic/demo/FileExplorer/fileexplorer.jnlp
412 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 22:51:45 ] サーバプログラムでクライアントから入力があれば、文字列を受信して、画面にその文字列を表示してループを抜ける。 また、画面から入力(Enter)があれば、ループを抜けずに、プログラムを強制終了させる。 上記の問題で条件文のことで質問があります。 while(true){ // 省略 if(System.in.available() > 0) break; } 「入力があれば」は上記if文でいいのでしょうか? またEnterキーが入力された場合はどのように条件文を書けばいいのですか?
413 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 22:58:57 ] jarファイルにしたら外部に別のファイルを出力させることはできませんか?
414 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:01:12 ] >>411 それだと、ファイルの種類にかかわらずアイコンが全部同じになってるんだよね。 他に方法があるといいんだけど。
415 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:07:24 ] >>412 まったく意図が通じていないと思うがエスパーしてみる socket.getInputStream() を使ってバイナリを受信するべし
416 名前:412 mailto:sage [2007/07/05(木) 23:20:24 ] すいません。 ・画面からの入力が「Enterキー」ならプログラム強制終了。 の部分だけを知りたかったんです。 サーバ、クライアントなしでただのプログラムとして考えてください。
417 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:21:27 ] Javaでなんか作ってるスレない?
418 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:30:01 ] pc11.2ch.net/test/read.cgi/tech/1179168569/
419 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:33:58 ] System.inをScannerに放り込んで、nextLine()で終了。 Scanner scanner = new Scanner(System.in); scanner.nextLine();
420 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:42:01 ] >>414 たぶんもう見てると思うけど wisdom.sakura.ne.jp/system/java/swing/swing38.html の一番下のとか terai.xrea.jp/Swing/PreviewAccessory.html とかがあるよね でも >>395 の 「やっぱりひとつひとつアイコン設定するしかない? 」 の不満は解消されてないっぽ シコシコやっても >>406-407 みたいになるのがオチ
421 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:43:41 ] ネットワークプログラミングの参考書で お勧めの教えてくらさい 軽くその本の内容も書いてくれると嬉しいです
422 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:49:54 ] Javaネットワークプログラミングの真髄
423 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:57:28 ] >>422 サンクス ググってみたが,出版されて日が浅いせいか 全然レビューないな とりあえず,明日本屋で立ち読みしてみるわ
424 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:04:15 ] >>420 jdicのAssociationServiceのgetFileExtensionAssociationで拡張子指定して Associationを取得してgetIconFileName()を使うとなんか帰ってくるな。 なんでか「絶対パス,整数」の形式になってる。 数字の意味がわからないが絶対パスの先はアイコンではなく 実行ファイルなのであった・・。 ああ、もしかするとアイコンを使ってるファイルのパスが帰ってくるのか(´д`)
425 名前:デフォルトの名無しさん [2007/07/06(金) 00:04:25 ] 執筆者乙
426 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:05:50 ] >>424 整数はリソースの番号だろ
427 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:06:45 ] >>424 アイコンを使ってるファイルのパスじゃなくて アイコンを格納しているファイルだろうね
428 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:13:18 ] >>420 を見て、Windows L&FにするとJFileChooserに適切なアイコンが表示されることを思い出した。 で、「もしや?」と思って試してみた。 上手くいったぞ。こんなコード。 JFileChooser chooser = new JFileChooser(); FileChooserUI ui = chooser.getUI(); FileView fileView = ui.getFileView(chooser); JLabel pdfIcon = new JLabel("*.pdf"); Icon pdfIcon = fileView.getIcon(new File("a.pdf")); pdfLabel.setIcon(pdfIcon); こんなコードをJTreeのレンダラに仕込めば、 JTreeのノードに対応するすべてのファイルに対して、適切なアイコンが表示される。 もちろん、Windows L&F限定だが。 FileView#getIcon(File)に指定するファイルは、存在しないとFileNotFoundExceptionが発生した。
429 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:24:49 ] >>428 乙。
430 名前:428 mailto:sage [2007/07/06(金) 00:35:40 ] こんなレンダラでいけたよ。Metalだとみんなアイコン一緒だったけど。 public class FSTreeCellRenderer extends DefaultTreeCellRenderer { private FileView fileView; public FSTreeCellRenderer(){ JFileChooser chooser = new JFileChooser(); fileView = chooser.getUI().getFileView(chooser); } public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; File file = (File) node.getUserObject(); Component comp = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); setText(file.getName()); setIcon(fileView.getIcon(file)); return comp; } }
431 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:43:17 ] >>428 javax.swing.filechooser.FileSystemView 使えば Windows では 16x16のアイコンと、ファイルの種類だけは取れる。
432 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 07:27:44 ] これは覚えておかなくては
433 名前:デフォルトの名無しさん [2007/07/06(金) 09:46:41 ] 質問です。 Eclipseでプログラミングをしているのですが、 log4jとJCOMを外部jarとして追加しています。 この状態でjarファイルとしてプログラムをエクスポートすると、生成されたjarがそのまま実行できません。 CLASSPATHが通ってない・・・みたいなエラーが出ます。 通常のjarみたいにダブルクリックで起動させたいのですが、これはどうすれば解決できるでしょうか?
434 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 10:18:12 ] >>433 実行可能Jarでググれ。
435 名前:デフォルトの名無しさん [2007/07/06(金) 10:33:12 ] >434 ググってみたんですけど、 外部Jarを使ったプログラムのエクスポート方法 などが載ってるページが見つかりませんでした。
436 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 10:56:55 ] 「実行可能Jar」でググった1番最初に見つかるが、 お前さんが使ってるGoogleは別物なんだな。 わかった。ズバリ答え。 MANIFEST.MFにこう書け。 Class-Path: log4j.jar jcom.jar log4j.jarとjcom.jarは、実行するJarファイルと同じフォルダに置くこと。
437 名前:デフォルトの名無しさん [2007/07/06(金) 12:19:50 ] >>436 ありがとうございます!! 無事に実行することができました。 これで実行jarと同じ階層に3つのjarファイルがあるわけなんですが、 コレを1つのexeファイルにしたいんです。 Fat jarでまとめてexewrapでexeにする・・・というのはできるんでしょうか?
438 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 15:46:00 ] >>437 そこまで手順が確定しているなら自分でやってみればできるかどうかすぐ分かる。
439 名前:たかひと [2007/07/06(金) 16:49:12 ] jspからftpサーバにファイルをアップロードするには どのようにすればいいのでしょうか。 宜しくお願いします。
440 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 17:52:31 ] launch4j
441 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 18:05:44 ] log4JってWebアプリに使ってもいいですか? スレッドとかぶつかっても平気ですか?
442 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 21:19:09 ] log4jはスレッドセーフじゃないです。残念ながら。 まぁ日付の書式に気をつければ何の問題もないけどね。
443 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 21:31:28 ] UDPだから負荷が重いときはデータ抜けしますよ
444 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 00:53:30 ] logging.apache.org/log4j/docs/faq.html#1.7 > 1.7 Is log4j thread-safe? > Yes, log4j is thread-safe. Log4j components are designed to be used in heavily multithreaded systems. まことに残念
445 名前:デフォルトの名無しさん [2007/07/08(日) 01:42:28 ] byteとintを論理演算すると、勝手に符号拡張されるので困ってます。 例えば以下のソースで、 ------------------------ int i = 0; byte b = -1; i = i | b; ------------------------ やりたいことは、iのビットパターンを以下のようにしたいんだけど、 00000000 00000000 00000000 11111111 実際はこうなってしまいます。 11111111 11111111 11111111 11111111 これってどうすれば回避できるんでしたっけ・・・
446 名前:デフォルトの名無しさん [2007/07/08(日) 02:00:34 ] スレッドに挑戦しようと思い、スレッドを含んだものを作ってみたのですが、コンパイルするときにスレッドの例外というのが発生してしまいます 単純に宣言や拡張が何か足りないだけなのでしょうか…
447 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:02:35 ] コンパイルするときに例外が発生ってどゆこと
448 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:04:26 ] >>445 i = i | (b & 0xFF)
449 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:04:33 ] >>445 0xFF と AND でもとれば
450 名前:445 mailto:sage [2007/07/08(日) 02:10:40 ] >>448 >>449 ありがとうございます。できました。(; ´д`)
451 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:16:37 ] i = i | (b & (byte)0xFF)
452 名前: mailto:sage [2007/07/08(日) 02:59:39 ] Eclipseでどんなプログラムでもデバックモードで走らせると、いつも最初にTrueTypeFon.open()262行ででNullPointerExceptionが発生しています。 Eclipse3.21 JDK1.6.0_02、Windows2000SP5です。同じような症状の人いますか? 普通に実行してる分にはNullPointerExceptionは発生しないのですが。
453 名前:452 mailto:sage [2007/07/08(日) 03:01:22 ] どんなプログラムではありませんでした。Swingをつかうプログラムでした。
454 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 03:04:30 ] そのぬるぽは君のプログラムからじゃなくてEclipseから発生してるもの?
455 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 04:41:18 ] exewrapすると中身は見れないんですか?
456 名前:452 mailto:sage [2007/07/08(日) 04:44:03 ] 自分のプログラムからだと思います。でも自分のプログラムが悪いという問題ではないと思います。 GUI(Swing)を使えば必ず出てきます。 階層的にはJFrame#initの呼び出しの果てに Window#init(GraphicsConfiguration gc) が呼び出されて、さらにその後もメソッドの呼び出しが続いてTrueTypeFon.open()でヌルポが発生してしまいます。 ただこのヌルポ、デバッグモードで動かさないとわかりません。 Eclipseならデバッグモードじゃなくてもヌルポが発生したらコンソールに知らせてくれるはずなのだと思いますが。
457 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 07:33:33 ] 最低限のソースを
458 名前:452 mailto:sage [2007/07/08(日) 11:06:54 ] public class Test { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(640, 400); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } こんな単純なのでもデバッグモードで起動するとヌルポが出てしまいます。
459 名前:452 mailto:sage [2007/07/08(日) 11:10:08 ] 最初のJFrameのコンストラクタの呼び出しの中でヌルポが発生しています。
460 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 11:31:51 ] >>452 それでも発生するならばEclipseの実行環境(JRE)の設定でJDK1.6となっているかを確認。 さらに、プロジェクトのプロパティからコンパイルレベルが、6.0になっているかを確認 ダメならば、Eclipseを入れなおしてみる とりあえず、そんなとこかな?
461 名前:452 mailto:sage [2007/07/08(日) 12:17:34 ] >>460 どうもありがとうございます。JREの設定でJDK1.6、コンパイルレベルが、6.0、ともになっています。 ちょうどEclipse3.3が出たから、アドバイスどおりEclipseを入れなおしてみます。
462 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 12:23:47 ] >>461 3.3.1が出るまでは冒険でしょでしょ(=ω=.) なんかプラグインが衝突しているんかねぇ 大量にプラグインいれた環境とかならば、再インスコがベストだろうな。 VEとかいれているならばかなり怪しい
463 名前:デフォルトの名無しさん [2007/07/08(日) 13:46:20 ] コンパイルはできているのですが実行したら Exception in thread "main" java.lang.NoClassDefFoundError:Sample1とエラーが出ます そこでシステム環境変数のCLASSPATHを削除したら治ったのですがこれは削除してもよかったんでしょうか?
464 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 13:47:11 ] 「.;」をわすれてね?
465 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 14:04:21 ] javacとjavaコマンドでやっているのか? CLASSPATHは環境変数に設定するとトラブルを誘発するので勧めない 必要な時、javaコマンドなどのオプション-cpで設定する方がいいよ
466 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 14:08:51 ] >>465 はいそうです。 CLASSPATHの値を控えずに消してしまいました。元の状態に戻すことは不可能ですか?
467 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 14:16:00 ] >>466 不可能 Windowsのバックアップ機能とかあるならば可能かもしれないけど、そっちは詳しくないので知らん 何度も言うけどCLASSPATHに値を設定してトラブルになるより、-cpの使い方学べ、その上でCLASSPATHに必要ならば設定汁
468 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 14:23:49 ] >>467 そうですか・・ありがとうございました。 まあ今のところ問題なく動いているので大丈夫だと思いますが ちなみにCLASSPATHは全くいじってませんでした。
469 名前:2人の女性と付き合っている高1です mailto:sage [2007/07/08(日) 19:54:12 ] >>467 よこから割り込みますがCLASSPATHを環境変数に設定するとまずいという ご意見がありますが、どういう時にまずいのでしょうか? 僕は現在JavaSE6up2しかマシンにインストールしていませんが、そんな 状況で起こりうる誤作動の事例をよろしければ教えてください。
470 名前:桜井葵 [2007/07/08(日) 20:11:37 ] ビジュアルクラスを開いたら『新規ファイルをエディターに設定しよぅとしてエラーが発生しました』『java.lang.NullPointerException』って出てプログラムしか出ないんですけど、誰か助けて下さい(ノ_・。)
471 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 20:46:41 ] >>469 CLASSPATHでググれカス
472 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 20:47:50 ] >>469 2人とも妊娠
473 名前:デフォルトの名無しさん [2007/07/08(日) 23:43:42 ] ちった、役に立つかも! ↓ www.yukinko-net.jp/
474 名前:デフォルトの名無しさん [2007/07/09(月) 12:48:21 ] ど素人質問です。失礼します。 JDKを使って勉強したいのですが、 どれを使えばいいのでしょうか。 ・JDK 5.0 Update 12 with NetBeans 5.5.1 ・JDK 5.0 Update 9 with Java EE ・JDK 5.0 Update 12 ・完全な環境と実行環境はGet the JDK download からダウンロードできます。 JDK5の次が7になっているのですが6のバージョンってないのでしょうか
475 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 12:56:49 ] >>474 JDK 6 はあるよ。>>1 のWikiサイトからたどれる。 ttp://java.sun.com/javase/ja/6/download.html ここのJDK 6u2をダウンロードすればおけ。 with BetBeansってのは、IDEが付いてくる。 最初はエディタでやろうとしているなら、いらない。 with Java EEは、初心者なら忘れてしまってもかまわない。
476 名前:デフォルトの名無しさん [2007/07/09(月) 13:10:49 ] 質問です。 URLConnectionでGETパラメータを送ろうとしているんですが どの時点で送信しているのかがわかりません。 String urlString = "hoge.com/hogehoge.jsp?a1=test&a2=TEST"; URL url = new URL( urlString ); URLConnection uc = url.openConnection(); DataInputStream dis = new DataInputStream( uc.getInputStream() ); String s; while( ( s = dis.readLine() ) != null ) { System.out.println( s ); } dis.close(); リファレンス等を参考にするとopenConnection()で接続を確立しているらしいのですが ここでhogehoge.jspに通信しているんでしょうか? DataInputStream dis = new DataInputStream( uc.getInputStream() ); 上の部分でhogehoge.jspに送信してそのまま受信に入っているんでしょうか? タイミングがイマイチわからないので教えてください。
477 名前:474 [2007/07/09(月) 13:14:35 ] >>475 ありがとうございます。 後のいろいろな機能はあとから付けられるのでしょうか。 どのようにつけたらよいのでしょうか。 よろしくお願いします。
478 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 14:06:21 ] >>477 Java EEはここから ttp://java.sun.com/javaee/downloads/index.jsp NetBeansはここから ttp://www.netbeans.org/products/ 後でダウンロードしてインストールできる。最初からなくても大丈夫。
479 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 14:10:17 ] JDK6はあるはずだが・・・
480 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 16:10:37 ] >>476 自分の書いたレスをじっくり読み直すんだ 前者以外に答えがあると思うかね
481 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 16:44:22 ] ポップアップについての質問です いまJPanel上を右クリックでJPopupMenuを表示するところまではできたのですが、メニューを選んだときの処理をどうすべきかわかりません。 MouseEventだとどのメニューを選んだかわからず、ポップアップにつけたJMenuItemにsetActionCommandを付けようにも、JPanelにaddActionListenerがないため、どのように識別させるのかがわかりません。 また、上の識別の問題に関連するものですが、JPanel別にメニューを付けてるのですが、大部分が重なる処理なので、呼び出し元(JPanel)を識別して、イベント処理で振り分けるということはできないでしょうか。 以上2点、お願いします。
482 名前:481 mailto:sage [2007/07/09(月) 17:01:07 ] 書いた直後なんですが、1つ目できました ボタン処理のようにJMenuItemごとにアクションリスナーを登録するという方法があるようで、そうするとメニュー選択時に呼ばれるようになりました。 どうも、検索したときのキーワードの範囲が広すぎたようね… 2つ目はいまだわからず、getComponentだとパネルの位置はわかるんですが、ActionCommandのように得ることはできないですかね。
483 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 17:25:50 ] 処理名称は一緒だが処理内容が異なるのなら、 (Wordなら、文字の削除とオートシェイプの削除、など) ActionMapで振り分けるとか。 JPanel p1 = new JPanel(); p1.getActionMap().put("edit", new AbstractAction(){ public void actionPerformed(ActionEvent e){ // 編集時の処理 } }; p1.getActionMap().put("delete", new AbstractAction(){ public void actionPerformed(ActionEvent e){ // 削除時の処理 } }; のようなJPanelを用意しておいて、JPopupMenu表示時には ActionMapからJMenuItemを組み立てる。こんな感じ private JPopupMenu createMenu(ActionMap map){ JPoppuMenu menu = new JPopupMenu(); JMenuItem editItem = new JMenuItem("編集"); if(map.get("edit") != null){ editItem.setAction(map.get("edit")); } else { editItem.setEnable(false); } menu.add(editItem); // 以下略 return menu; }
484 名前:481 mailto:sage [2007/07/09(月) 17:37:35 ] >>483 なるほど、ActionMapってそういう使い方をするためにあったんですね。 もう少し調べて試してみます。 ありがとうございました。
485 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 18:24:07 ] 初歩的な質問です。 一度描画したものをドラッグで移動させるにはどのような方法があるのでしょうか? 「java ドラッグ」とかでググっても出てこない・・・
486 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 18:26:55 ] >>485 [1] ドラッグされたことを知る [2] 描画したものを移動させる がんがれ
487 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 18:32:29 ] >>486 [1]についてはマウスイベントで成功しました。 [2]がよくわかりません。 いちいち白塗りして細かく描きなおすのでしょうか。
488 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 19:43:28 ] >>487 スプライト処理でぐぐってみれ。 要はTVゲームのスプライトと同じで描画領域と位置をコントロールする 後はマウスのイベントで移動量を測ればOK
489 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 22:54:08 ] >>487 昔WebStartのサンプルで画像エディタがあって、コンポーネント単位で画像の移動、重ね貼りが 出来るのがあったけど、そういうのを作ろうとしているの?
490 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 23:09:17 ] 会社の先輩がドラッグアンドドロップできるカードゲーム作ってたな。 あれだ、ソリティアみたいなやつ 結構簡単に出来るといっていたけど、ソースみてもわからんorz
491 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 23:40:07 ] 昔はXORしたりしてたけど 今ならレイヤーで簡単
492 名前:デフォルトの名無しさん [2007/07/10(火) 00:32:21 ] すみません。ごくごく簡単なカウントアップするサーブレットをつくったんですが、 ブラウザを2つ立ち上げると2つとも同じ数をカウントしていきます。int変数でカウントを記録しています。 ブラウザAを立ち上げる→1と表示される ブラウザBを立ち上げる→2と表示される ブラウザAの更新ボタンを2回クリック→4と表示される ブラウザBの更新ボタンを1回クリック→5と表示される これだと、いろんなユーザにint変数が共有されてしまうようにおもうんですが これでいいものなんですか? 以下、ソースを載せます。
493 名前:492 mailto:1sage [2007/07/10(火) 00:34:04 ] import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Lesson03 extends HttpServlet { int intCount = 0; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html; charset=iso-2022-jp"); intCount++; PrintWriter pw = response.getWriter(); pw.println("<html><head><title>カウントアップするサーブレット</title></head>\n" + "<center><br><br>読み込む度にカウントアップします<hr><br><br>\n" + intCount + "回読み込まれました。<br></center></body></html>\n"); } }
494 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 00:35:53 ] 素人の俺でも分かる。 サーブレットのインスタンスは通常1個しか生成されず、 複数のリクエストは同じインスタンスを呼び出す
495 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 00:38:07 ] ついでに言うと、スレッドセーフにしなければならないから、 原則、インスタンスフィールドは作らない
496 名前:492 mailto:1sage [2007/07/10(火) 00:42:53 ] >>494-495 さん どうもありがとうございます。よ〜くわかりました。doGetメソッドの中で宣言したらよかったです。 ありがとうございました。
497 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 00:45:29 ] doGetのなかで宣言したら毎回0→1になるだけ
498 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 00:49:54 ] >>490 DnDをどうやって認識させるかで書き方が変わるね。
499 名前:デフォルトの名無しさん [2007/07/10(火) 01:16:58 ] (わかっているx座標:x,わかっているy座標:y,斜辺,傾き)を引数で受け取って 求めたいX座標Y座標の値を返す関数を作りたいのですが教えてください。
500 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 03:10:10 ] >>499 java.awt.geom.Point2D method(java.awt.geom.Point2D p, 斜辺の型 a, 傾きの型 b) { return new java.awt.geom.Point2D(p,a,bから求めたx, p,a,bから求めたy); } 実際にはjava.awt.geom.Point2Dは抽象クラスなんでnewでインスタンスを作れないから、 必要な精度に合わせてjava.awt.Pointとかjava.awt.geom.Point2D.Doubleとかを生成して返す。 引数の方はjava.awt.geom.Point2Dでなく問いのようにx,yを別々に指定するようにしても。 両方のメソッドを作ってオーバーロードしておいてもいいかと。
501 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 08:28:03 ] メール受信のためのプロキシーを作りたいのですが…。 パソコンのバックグラウンドで待機して、メール受信時にまずプロキシがメールデータ を取得し、迷惑メールでなければそのままメールクライアントにメールデータを渡したい です。 サーバーソケットを作って待機しているのですが、メール受信時にローカルにバインド されるポート番号を検出できず悩んでいます。当然、110番で待機してはダメですよね? メールクライアント側でプロキシサーバーアドレス、ポートを指定できれば早いのですが…。 (IEのように) アンチウィルスソフトは、ローカルにプロキシサーバーを置いているように見受けられる のですが、どうやって実現しているのでしょう? どなたか、アドバイスをお願いいたします。
502 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 10:33:56 ] JTableなんだけど、他のコンポーネントからTABでフォーカス移動してくると、 まだ一度もセルにフォーカス取得してない状態だとフォーカスが消えたようになる。 もう一度TABを押すとようやくセルが選択状態になるのだが・・・・・。 一度セルにフォーカスを取得すると他のコンポーネントから一発で移動できるように なるんだがな・・。 ちなみにScrollPaneは使っても使わなくても同じでした。 JDKは1.5す。 どなた原因&回避策おながいします。
503 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 10:43:18 ] >>501 あれはシステムに食い込んでるからこそできること。 Java では原理的に無理。 メーラーではメールサーバーに localhost を指定して、 設定その他は自分のプログラムでやるしかないと思う。
504 名前:501 mailto:sage [2007/07/10(火) 11:35:41 ] >>503 レスありがとうございます。 メーラーのメールサーバーに localhost を指定して、通信をパイプする ような感じで実装してみようと思います。 この場合、メールアカウントごとの設定がめんどくさいっすねー・・・。 どうやって保持しようかしら。
505 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 14:25:52 ] そもそも、メーラー側が優秀なフィルタを持ってるこのご時世に自分で作っても意味はないよ。 屑メーラーを捨てれば良いだけ。 それとも、まともなスパムフィルタを作れるほどの 技術があるならメーラーそのものから作るって方法もある。
506 名前:デフォルトの名無しさん [2007/07/10(火) 14:44:29 ] >>505 既にあるから作る意味ないって? つまらない考え方だな。
507 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 14:44:52 ] 業務ロジッククラスXでDB接続とBEGIN ↓ DBクラスYで振込情報をINSERT ↓ DBクラスZで入金情報をINSERT ↓ 業務ロジッククラスXでCOMMITとDB切断 をする際にDBクラスY,Zでconnection.commit()をさせない、 コンパイルエラーにする方法ってありますか? INSERTをさせるためにはDBクラスY,Zにconnectionを渡さなければならず connectionを渡せばcommit()が可能になってしまいます。 commit()やrollback()が不可能なDB接続を渡すとかできないでしょうか? テストでバグ潰せばいいじゃんというのもわかりますができればコンパイル時にはじきたいです。
508 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 15:22:18 ] メーラーの(優秀な)フィルタと自分のフィルタを置き換えなくちゃ いけないならともかく、上乗せできるなら悪いことじゃないでしょ、 普通に考えても
509 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 16:25:27 ] >>507 java.sql.Connectionをラップしたクラスを作れば? ほとんど全てのメソッドはスルーするけど、 commit()やrollback()が呼ばれたらIllegalStateExceptionを投げるようなの。