★★Java質問・相談スレッド133★★

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
★★Java質問・相談スレッド133★★
ttp://pc12.2ch.net/test/read.cgi/tech/1251630161/
次スレは>>950あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/
2デフォルトの名無しさん:2009/09/20(日) 01:03:51
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing 8
ttp://pc11.2ch.net/test/read.cgi/tech/1227234261/l50
■ SWT は --
Java 高速GUI SWT 3
ttp://pc11.2ch.net/test/read.cgi/tech/1164877399/l50

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part19
http://pc11.2ch.net/test/read.cgi/tech/1233822965/l50
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
ttp://pc12.2ch.net/test/read.cgi/tech/1249357352/

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 68 ★★
http://pc12.2ch.net/test/read.cgi/tech/1248012902/

■ NetBeansに関する雑談は --
NetBeans Part5【Java/C++/Ruby/Python/PHP】
ttp://pc12.2ch.net/test/read.cgi/tech/1247926906/
■ Eclipseに関する雑談は --
Eclipse統合M28【Java/C++/Ruby/Python/Perl】
ttp://pc12.2ch.net/test/read.cgi/tech/1247051216/
3デフォルトの名無しさん:2009/09/20(日) 01:04:34
**** 開発環境が必要の場合は ****
■ J2SE 5.0 (1.5.0)
ttp://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
ttp://java.sun.com/javase/ja/6/

**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
ttp://www.java.com/ja
4デフォルトの名無しさん:2009/09/20(日) 05:50:47
( ^ω^´・ω・`)
5デフォルトの名無しさん:2009/09/20(日) 05:52:32
Java村のあーさだよ。あーさだよ。ぴよぴよ。
6デフォルトの名無しさん:2009/09/20(日) 11:43:12
このスレは腐っておる
7デフォルトの名無しさん:2009/09/20(日) 12:17:56
だなw
8デフォルトの名無しさん:2009/09/20(日) 12:28:27
はあ?
9デフォルトの名無しさん:2009/09/20(日) 12:30:25
はぁ・・・
10デフォルトの名無しさん:2009/09/20(日) 13:20:41
デ、アルカ
11デフォルトの名無しさん:2009/09/21(月) 18:37:07
ハァハァ
12デフォルトの名無しさん:2009/09/21(月) 21:05:55
NetBeans重すぎ
軽くて高機能なものはないものか・・・
13デフォルトの名無しさん:2009/09/21(月) 21:15:02
NetBeansは機能を減らす機能で軽くできるのだが
14デフォルトの名無しさん:2009/09/21(月) 21:35:20
>>13 遅延時間を減らすとかじゃなくて?メモリを食いすぎなのをどうにかしたいんだが・・・
15デフォルトの名無しさん:2009/09/21(月) 21:39:14
利用メモリ減らせってコミュニティにフィードバックすれば。
お前の貧弱な開発環境なんか知るか!って言われると思うけど。
16デフォルトの名無しさん:2009/09/21(月) 22:44:56
プラグインへらせばいいじゃないのさ
17デフォルトの名無しさん:2009/09/22(火) 09:00:47
IntelliJ IDEA
18デフォルトの名無しさん:2009/09/22(火) 15:28:40
黙って4GB積めって言われるだけだろ。
独自にCに移植して軽量爆速にするのは止めないが。
19デフォルトの名無しさん:2009/09/22(火) 15:40:14
モジュールスイートプロジェクトで要らない機能を無効にするのはどう?
ttp://blogs.sun.com/katakai/entry/creating_standalone_app_on_netbeans7
20デフォルトの名無しさん:2009/09/23(水) 12:16:04
Javaの本命コースってありますか?

こういう順序でやっていけばいいみたいな

本でもネットでも・・・
21デフォルトの名無しさん:2009/09/23(水) 12:26:38
学問に王道なしとはいうけれど
22デフォルトの名無しさん:2009/09/23(水) 12:37:15
名著とか言われているのは、最初から読むのは無理だろ
入門書は選ぶまでが半分、読み切るまでが残り半分?
23デフォルトの名無しさん:2009/09/23(水) 13:21:42
やっぱり質問取り消します
24デフォルトの名無しさん:2009/09/23(水) 13:22:41
>>23だれだよ
25デフォルトの名無しさん:2009/09/23(水) 13:26:06
>>24だれだよ
26デフォルトの名無しさん:2009/09/23(水) 14:28:38
>>23
おれだよ
27デフォルトの名無しさん:2009/09/23(水) 14:31:01
おれおれさん、今日はどんな仕様で?
28デフォルトの名無しさん:2009/09/23(水) 14:57:01
>>26
ああ、あんたか
29デフォルトの名無しさん:2009/09/23(水) 15:07:09
>>26
それ以前に誰にレスしてんだよw
30デフォルトの名無しさん:2009/09/23(水) 15:44:47
だなw
31デフォルトの名無しさん:2009/09/30(水) 00:25:37
ArrayIntListが沢山あるんだけど、やっぱりMapとかに格納したほうがいいのかな?
Mapみたいなクラスを使うと、スピードが落ちそうで
ArrayIntListを配列にして使ってみようかなとか思っているけど、邪道?
32デフォルトの名無しさん:2009/09/30(水) 00:36:40
スピードが云々以前に、オブジェクトモデルとして
どちらのデータ構造を持つのが良いか、と言う観点から検討してみたら?
3331:2009/09/30(水) 10:22:29
>>32
なるほどね、そういう考えもあるのか
悪いけど、もう一つのスレにも質問させてもらうよ
34デフォルトの名無しさん:2009/10/08(木) 22:54:05
1.4で使えるpoiが欲しくてapacheのサイトをみても最新版しか
置いてないのですが、どこで入手できますでしょうか?
35デフォルトの名無しさん:2009/10/09(金) 02:05:22
>>34
確かにバイナリは最新しか置いてないなぁ。
maven2リポジトリ http://repo1.maven.org/maven2/poi/ あたりをあさってみては?
それか、Subversionリポジトリから古いソースを取ってきて自分でビルドするか。
36デフォルトの名無しさん:2009/10/09(金) 02:06:36
>>34

本家のArchiveに置いてあるよ。
http://archive.apache.org/dist/jakarta/poi/release/bin/
37デフォルトの名無しさん:2009/10/09(金) 22:04:37
ありがとうございます。
そんなところにあるんですね。

ソースからbuldしなおそうにも1.5のソースは1.4に出来ないわで、途方に暮れてたところです
ありがとうございます。
38デフォルトの名無しさん:2009/10/09(金) 23:11:56
>>37
なにに使うのか知らんが
ぶっちゃけJavaでやるより.NetでWebサービスでも作って投げたほうがいいぜ。
39デフォルトの名無しさん:2009/10/10(土) 01:57:14
なんで?
40デフォルトの名無しさん:2009/10/10(土) 04:25:27
>>38
POIを使うためにwebサーバ?
41デフォルトの名無しさん:2009/10/10(土) 07:11:16
>>38
手持ちのちょいツールにDBからxlsにデータを落とす機能を追加
しようとしただけですが、,NETでWEBサーバを作るのが良いという
意味がわからないので、教えていただけますか?
42デフォルトの名無しさん:2009/10/12(月) 12:15:51
悪魔召喚プログラムはJavaではやはり無理でしょうか
43デフォルトの名無しさん:2009/10/12(月) 12:29:04
>>42
誰でも読めるような言語ではダメです。
APLを使いなさい。
44デフォルトの名無しさん:2009/10/12(月) 12:31:17
悪魔の言葉を自動翻訳したり召喚の魔法陣を画面上に描画したり
召喚の呪文を再生したりするくらいなら可能じゃないかな
45デフォルトの名無しさん:2009/10/12(月) 12:34:20
Javaでできるのそんなもんかよw
46デフォルトの名無しさん:2009/10/12(月) 12:44:37
他に何が要るのか言ってくれ
47デフォルトの名無しさん:2009/10/12(月) 12:46:02
Javaを使ってデーモン作ればいいじゃん
48デフォルトの名無しさん:2009/10/12(月) 13:39:55
まずは魔族(Daemon Class)を定義しなければ何も始まらない
49デフォルトの名無しさん:2009/10/12(月) 14:17:24
祈祷師にでも依頼したほうが手軽。
50デフォルトの名無しさん:2009/10/12(月) 15:22:46
public static void main(String[] args) {
  System.out.println("召喚に失敗しました。");
}
完成。
51デフォルトの名無しさん:2009/10/12(月) 18:00:50
悪魔召喚プログラムの話題はどの言語のスレでも定期的に出るね
52デフォルトの名無しさん:2009/10/12(月) 18:02:58
そりゃプログラマならねぇ。
53デフォルトの名無しさん:2009/10/12(月) 21:07:30
でもフロッピーに収まらないといけないんだぜ?
54デフォルトの名無しさん:2009/10/12(月) 21:31:35
正規表現のPatternにて文字列(HELLO)を\w*?や.*?で検索すると
groupで空文字の連続が返ってきます。
文字列が一文字ずつ検出されると思っていたので意外でした。
なぜ空文字が返ってくるのか仕組みがわかりません。
もしよろしければアドバイスよろしくお願いします。
55デフォルトの名無しさん:2009/10/12(月) 21:39:04
0文字以上で最短に一致するのは0文字だからってことじゃねーの?
5654:2009/10/12(月) 21:49:52
>>55
早速のご返答ありがとうございます。
確かに0文字以上で最短なんですけどgroupの中にHELLOが一文字も
混ざらないのかがよくわかりません。
馬鹿な質問ですいません。
57デフォルトの名無しさん:2009/10/12(月) 21:59:33
Hは1文字だろ
0文字以上で最短一致なら引っかかるはずがない
58デフォルトの名無しさん:2009/10/12(月) 22:02:23
最低1文字以上ほしいんなら +? を使うべきでは?
0文字以上でなるべく短くと指定しておきながら、0文字という結果が返ってきて、何が不満なんだ
59デフォルトの名無しさん:2009/10/12(月) 22:06:39
「以上」という単語の意味を明日小学校に登校したら先生に聞くんだぞ
6054:2009/10/12(月) 22:33:49
たくさんのご返答ありがとうございます。
"0文字以上"で最短でしたら確かに最初は必ず0文字ですよね。
アドバイス本当にありがとうございました!
61デフォルトの名無しさん:2009/10/12(月) 23:09:14
シフトJISで「臼」は文字コード8950になります。
byte配列2バイトに、この8950を入れておきます。
この2バイト文字の1バイト目「89」を切り取り、new Stringをすると
シフトJISで「89」のコードがないため、?に置き換わります。
これを?におきかえないで、Stringを作成することは不可能でしょうか?
文字コード「89」のStringを作りたいのです。
62デフォルトの名無しさん:2009/10/12(月) 23:15:43
無理なのでSttringに直さないで下さい
63デフォルトの名無しさん:2009/10/12(月) 23:26:16
>>62
ご回答ありがとうございます。

無理なんですか・・・。
勝手に?(3F)に変わるのが困っています。
せめてシフトJISの文字コードに存在するかをチェックする方法はないでしょうか。

?に変換されたら文字コードがないと判定したら、?が入力値としたら
NGとなってしまいます・・・。
何か良い方法はありますかね。
64デフォルトの名無しさん:2009/10/12(月) 23:27:01
>>63
入力値が ? の場合だけ最初にチェックしておくんじゃだめなのか?
65デフォルトの名無しさん:2009/10/12(月) 23:30:52
>>64
文字コードがないと必ず?(3F)に変換されるんだったらそれでいいのですが、
StringのJavaDocを見ても、?(3F)に変換されるって書いてないのです。
実際に試したら?(3F)になってるんですが。。
66デフォルトの名無しさん:2009/10/12(月) 23:38:34
>>65
そこまで心配なら多少面倒になるけどCharsetDecoder使えばデコードエラーもハンドリングできる
67デフォルトの名無しさん:2009/10/13(火) 12:18:47
バブー
68デフォルトの名無しさん:2009/10/13(火) 12:46:58
jarのソースコード見てみたいのですが
解析することは不可能ですか?
69デフォルトの名無しさん:2009/10/13(火) 12:48:04
>>68
jarは概ねZIPと圧縮アルゴリズム同じだが、見てどうすんの?
70デフォルトの名無しさん:2009/10/13(火) 12:48:46
jarの(中にコンテンツを格納する)ソース?
jarの(内からクラスをロードする)ソース?
jarの(中のクラスの)ソース?
71デフォルトの名無しさん:2009/10/13(火) 12:54:42
>>68
winRarで解いたあと、jadでデコパ掛ければソース見れるけど
jarからは無理でないw
jarを知らない低能がいるようだけど
72デフォルトの名無しさん:2009/10/13(火) 12:55:22
>>69-70
zipに拡張子変更したら解凍できました。
ネットにjarファイルのゲームがあって
どんなプログラムが書かれているか興味があっただけです。

有難う御座いました
73デフォルトの名無しさん:2009/10/13(火) 12:56:59
えっ,ぼ,ぼくのことですか
74デフォルトの名無しさん:2009/10/13(火) 12:59:34
>>72
まぁ妥当なとこだろう
俺もよくやるw
75デフォルトの名無しさん:2009/10/13(火) 13:04:27
ほとんどZIPというかZIP形式なので
Windowsのエクスプローラで中身も見れるし格納しているファイルも挿しかえれる
76デフォルトの名無しさん:2009/10/13(火) 13:31:28
OracleからJDBCでデータを取得しているんですが、鰍ェ化けてしまいます。
OracleがEUCでページがSJISなんですがどうやったら表示できますか?
77デフォルトの名無しさん:2009/10/13(火) 13:37:14
>>76
getの段階で変換すべきだな
78デフォルトの名無しさん:2009/10/13(火) 13:55:16
NLS_LANGをEUCに設定したらSQLPlusでは鰍ェ取れたな

問題はJDBCでNLS_LANGをどうやって設定できるかだ
79デフォルトの名無しさん:2009/10/13(火) 13:56:36
>>78
JDBCはこの時点では関係ない
知ったか乙
80デフォルトの名無しさん:2009/10/13(火) 13:58:10
こいつinsertはSQLplusだぞ
>>78はモグりか適当こいて自分はできますってアピールしたいんだろうが
無能が露呈している
81デフォルトの名無しさん:2009/10/13(火) 14:10:19
いや無知だけど環境があるから俺もがんばってるの!
わかるなら教えてくれよ
82デフォルトの名無しさん:2009/10/13(火) 14:17:48
>>75
>>69
で出てるよ
2番煎じださい
83デフォルトの名無しさん:2009/10/13(火) 14:30:26
jar にソースなんて入ってるもんなの?
クラスファイルだけだと思ってた
84デフォルトの名無しさん:2009/10/13(火) 14:32:29
>>81
環境無いけどこんな感じで"x-eucJP-Open"を指定すればいいんじゃないの?
http://winofsql.jp/sh/html/java_db_mtn.htm
85デフォルトの名無しさん:2009/10/13(火) 14:34:59
>>83
通常はclassとMETAだけだな
>>71の云う通りjad掛けてみるしかないな
86デフォルトの名無しさん:2009/10/13(火) 14:51:57
どうやらJDBCではEUC<=>Unicode変換表に鰍ヘ無いらしい。
http://www.progress-japan.co.jp/datadirect/solution/solution0808.asp
87デフォルトの名無しさん:2009/10/13(火) 15:58:00
>>84
サンクス、アミーゴ
88デフォルトの名無しさん:2009/10/13(火) 16:06:03
>>82
普通に訂正してるだけに見えるが?

>>69 jarはzipと大体同じ
>>75 jarはzipそのもの
89デフォルトの名無しさん:2009/10/13(火) 16:19:51
>>66
Shift_JISのつもりでたとえば「FF40」の変換結果が1文字解釈か2文字解釈かは
JREの実装依存だったりするから気をつけろよ。
CharsetDecoderでもStringコンストラクタでも事情は同じ。

どう考えてもシーケンスエラー由来の代替文字+'@'の2文字にすべきだと思うんだが…
百歩譲って文字集合エラーとしてもだ、0x40は無罪だよな?
90デフォルトの名無しさん:2009/10/13(火) 16:37:48
>>88
ZIPの圧縮率とか知らない低能だったか
極端にいえば同一に言っているほうが無能
>>69のが表現としては正しいだろう
91デフォルトの名無しさん:2009/10/13(火) 19:29:06
おまい大丈夫か?
jarはただのzipだよ。
92デフォルトの名無しさん:2009/10/13(火) 19:31:56
じゃーその証拠出せや
93デフォルトの名無しさん:2009/10/13(火) 19:39:06
ぐぐれ
94デフォルトの名無しさん:2009/10/13(火) 19:39:34
/*
* @(#)JarOutputStream.java 1.23 05/11/17
*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/

package java.util.jar;

import java.util.zip.*;
import java.io.*;

/**
* The <code>JarOutputStream</code> class is used to write the contents
* of a JAR file to any output stream. It extends the class
* <code>java.util.zip.ZipOutputStream</code> with support
* for writing an optional <code>Manifest</code> entry. The
* <code>Manifest</code> can be used to specify meta-information about
* the JAR file and its entries.
*
* @author David Connelly
* @version 1.23, 11/17/05
* @see Manifest
* @see java.util.zip.ZipOutputStream
* @since 1.2
*/
public
class JarOutputStream extends ZipOutputStream {
95デフォルトの名無しさん:2009/10/13(火) 19:41:09
ソース見ればいいじゃん。
後は自分で調べてね。
96デフォルトの名無しさん:2009/10/13(火) 19:51:10
>>92
解凍プログラムで拡張子zipにして試せばすぐわかるじゃねえか
下らん話で長引かせないように
97デフォルトの名無しさん:2009/10/13(火) 19:59:23
>>92
お前おもしろい奴だな
98デフォルトの名無しさん:2009/10/13(火) 20:12:57
ヘッダも見れない雑魚は黙ってたほうがいいよな
99デフォルトの名無しさん:2009/10/13(火) 20:15:27
>>91
こいつは低能
100デフォルトの名無しさん:2009/10/13(火) 20:17:01
マニフェストが入ってるか入ってないかの違いでただのzipだよ
101デフォルトの名無しさん:2009/10/13(火) 20:21:59
高圧縮ZIPはjarじゃ解凍できねーよ
102デフォルトの名無しさん:2009/10/13(火) 20:25:02
なんで圧縮レベルの話になってるんだ
103デフォルトの名無しさん:2009/10/13(火) 20:58:44
>>101
馬鹿なの?
誰もzipがjarとは言ってねーよ。
jarはzipだろーが。意味わかるか?
104デフォルトの名無しさん:2009/10/13(火) 21:03:56
JDBCを使わずにODBCだけでデータベースを操作したいんだけど
参考になるページないかな?
JDBC-ODBCはあるんだがODBCだけっていうのが・・・
105デフォルトの名無しさん:2009/10/13(火) 21:11:47
>>104
いったい何がしたいのかわからない。
ここJavaのスレだよ?
106デフォルトの名無しさん:2009/10/13(火) 21:20:47
いや、javaでMySQL使いたいんだけどさ
JDBC使わずにできなかったっけ?
107デフォルトの名無しさん:2009/10/13(火) 21:25:03
MySQLプロトコルを自力で喋るとか?
資料はあるようだが
http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol
108デフォルトの名無しさん:2009/10/13(火) 21:26:34
それってMySQL Connector/Jを自力で実装するのと労力大差なくね。
別にODBC関係ないし。
109デフォルトの名無しさん:2009/10/13(火) 21:31:35
こういう英語の資料って普通にお前ら読めるの?
最新のアルゴリズム研究の論文とか何が書いてるのかサッパリで残念な俺
110デフォルトの名無しさん:2009/10/13(火) 21:39:23
最新のアルゴリズム研究ってなると、
日本語で書いてあっても凡人にはなかなか理解できねーと思われ。

逆に、普通かちょっと難しいレベルの内容なら
英語かどうかはあまり問題にならない。特にコンピュータ関係であればなおさら。
111デフォルトの名無しさん:2009/10/13(火) 21:42:14
興味ないこととか必要でもない英語は流石に読むの面倒だな
ただ興味あることとか必要な知識やドキュメントを読める程度には英語読めなきゃダメだろ
112デフォルトの名無しさん:2009/10/13(火) 22:29:27
JDBC-ODBCを避ける理由がよくわかんないけど、
なんかライセンスとか既知の回避困難な問題とかある?

とりあえず俺は8000文字だか9000文字目だか忘れたけど、時々
データが化けるのに泣いたが
113デフォルトの名無しさん:2009/10/14(水) 01:56:34
jarコマンドでDeflate64圧縮のzipを扱えないのは別に困らないけど、
java.util.zip パッケージでDeflate64が使えないのはちょっと困るね。
114デフォルトの名無しさん:2009/10/14(水) 02:24:07
どいういう風に困るの?
115デフォルトの名無しさん:2009/10/14(水) 10:25:08
Java入れる時に環境変数いじってて気づいたんですが
%ProgramFiles%とExplorerのURLに入力すると、C:Program Filesにいきますよね?
作ったソフトウェアのインストール先を決める時も%ProgramFiles%の記述を使ったりすると思いますが
マイコンピュータ→プロパティ→詳細設定→環境変数のところには%ProgramFiles%なんて記述は無いんです。

いったいこの環境変数はどこで定義されているんでしょう?
微妙にJavaとは離れた質問になってしまいましたが、お願いします。
116デフォルトの名無しさん:2009/10/14(水) 10:29:39
>>115
まったくのスレ違い
微妙でもなんでもない
117デフォルトの名無しさん:2009/10/14(水) 10:56:48
>>115
System.getenv()で
ProgramFiles=C:\Program Files は出てくる。

でもこいつがどこで定義されてるかどうかはわからんね。
118デフォルトの名無しさん:2009/10/14(水) 10:59:21
>>117
OSレベルで落ちてんだよ
スレ違いうぜーよ

Unix系やってりゃ分る話なんだがな
119デフォルトの名無しさん:2009/10/14(水) 11:00:36
OS/2ときいて
120デフォルトの名無しさん:2009/10/14(水) 11:24:00
これ要するに、System.getenv()はどうゆう動作をしているか?
ってことでしょ?
121デフォルトの名無しさん:2009/10/14(水) 11:28:44
>>120
いや違う
winで言えばboot.iniにないって話でしょ
122デフォルトの名無しさん:2009/10/14(水) 11:32:16
レジストリに書いてあるかもん
%AppData%なんかはWinだとレジストリのHKCUに書いてあるよん
123デフォルトの名無しさん:2009/10/14(水) 11:36:17
>>121
boot.iniに何の関係が?
煽りじゃなくて、俺に知識がないからって理由の単純な疑問ね。
124デフォルトの名無しさん:2009/10/14(水) 11:36:27
>>122
それはOSレベルの話だろ
お前はバカだなぁ
125デフォルトの名無しさん:2009/10/14(水) 11:39:38
>>123
通常 C:\boot.ini boot.bat
ってのがあるんだよ
環境変数setで動かすのが起動時に走るわけ
Unixやれよ、したらよく分かると思うよ
rootの環境変数と例えばbashだったらbash.rcってのが走って環境変数設定できるわけよ
126デフォルトの名無しさん:2009/10/14(水) 11:44:31
boot.iniだけで環境変数設定されてると思ってんだ
馬鹿じゃねコイツ
127デフォルトの名無しさん:2009/10/14(水) 11:47:46
>>126
湾曲性癖ありの池沼乙
Unixできねーくせに何言ってんだ?
128デフォルトの名無しさん:2009/10/14(水) 11:49:12
>>125
Linuxは触ってて.bashrcやbash_profileなら編集したりするし、仕組みもある程度理解してるけど
winの環境変数も同じように設定されてるの?
boot.batってファイル見当たらないんだが。

JavaのSystem.getEnv()は>>122の言うとおり、実行環境がwinならレジストリから引っ張ってきてるってことなのか?
ソース見てから書き込めって話だねサーセン。
129デフォルトの名無しさん:2009/10/14(水) 11:49:18
>>126
コイツ頭悪くね?
130デフォルトの名無しさん:2009/10/14(水) 11:55:06
>>126
池沼やべーwww
131デフォルトの名無しさん:2009/10/14(水) 11:56:34
いつものage厨か。
132デフォルトの名無しさん:2009/10/14(水) 12:05:26
>>131
返す言葉もなくその低能っぷりwww
レスなくてもお間ガの存在価値なんてないし社会のゴミだからレスするなよ
133デフォルトの名無しさん:2009/10/14(水) 12:16:00
環境変数が定義されてる場所発見
■場所
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SeCEdit\EnvironmentVariables

■内容
%AppData%
%UserProfile%
%AllUsersProfile%
%ProgramFiles%
%SystemRoot%
%SystemDrive%
%Temp%
%Tmp%

いつこいつらに値を入れてるのか知らんけど
System.getenv()はここから環境変数一覧の一部を取得してるのかな。
getenv()のソースたどったけどよくわからん。
134デフォルトの名無しさん:2009/10/14(水) 12:17:22
>>133
スレ違い
JavaがWinだけで動いているのならば分るが
スレタイも読めない低能はひっこんでていただきたい
135デフォルトの名無しさん:2009/10/14(水) 12:25:54
さっきからスレ違いって単語がよく出るけど
ここではOSに依存する話は一切無しなの?

理想はWrite once, run anywhereだけど・・・
136デフォルトの名無しさん:2009/10/14(水) 12:26:21
Win用のVMはWinだけで動いてるけど。
137デフォルトの名無しさん:2009/10/14(水) 12:27:13
だよなw
138デフォルトの名無しさん:2009/10/14(水) 12:29:36
>>115が言ってるのはWin版のVMの話でしょう?
Unixがどうとか言われる方が的外れじゃねえ。
139デフォルトの名無しさん:2009/10/14(水) 12:31:05
犬厨は犬板から出てくんなよ
140デフォルトの名無しさん:2009/10/14(水) 12:32:42
Winしかできねー池沼の集まりだな
141デフォルトの名無しさん:2009/10/14(水) 12:32:54
WinのVMで環境変数どこから取ってるのと質問が出る

Unixやってりゃ分かるとか言い出す

いやWinの話…

Unix!Unix!

(´・ω・`)
142デフォルトの名無しさん:2009/10/14(水) 12:33:19
>>140
どう考えても的外れなのはお前だろ。
143デフォルトの名無しさん:2009/10/14(水) 12:34:11
ワロタ
144デフォルトの名無しさん:2009/10/14(水) 12:35:25
下らないからこの話終わりな。
145デフォルトの名無しさん:2009/10/14(水) 12:39:05
>>140
返す言葉もなくその低能っぷりwww
レスなくてもお間ガの存在価値なんてないし社会のゴミだからレスするなよ
146115:2009/10/14(水) 12:39:43
これがわからないとPGが作れないなどといったわけではなく
単に少し気になった程度なので、わからなければわからないで問題ないです。

何かとお手数おかけしました。
147デフォルトの名無しさん:2009/10/14(水) 12:43:10
>>146
PGとはプログラマを示すんだよ
お前が言いたいのはプログラムだろ
それくら身につけておけカス
148デフォルトの名無しさん:2009/10/14(水) 12:43:34
>>140
返す言葉もなくその低能っぷりwww
レスなくてもお間ガの存在価値なんてないし社会のゴミだからレスするなよ

ブーメラン♪ブーメラン♪
149デフォルトの名無しさん:2009/10/14(水) 12:44:06
>>147
返す言葉もなくその低能っぷりwww
レスなくてもお間ガの存在価値なんてないし社会のゴミだからレスするなよ
150デフォルトの名無しさん:2009/10/14(水) 12:44:40
お間ガってのが珍妙な響きでいいな。
151デフォルトの名無しさん:2009/10/14(水) 12:46:00
>お間ガ

オーマイガー?お前が?
152デフォルトの名無しさん:2009/10/14(水) 12:46:47
何この流れ…
153デフォルトの名無しさん:2009/10/14(水) 12:48:26
このスレではよくあること。
154デフォルトの名無しさん:2009/10/14(水) 12:54:18
>>133
普通にCランタイムだかWin32 APIだかが返す値をそのまま使ってるだけでしょ
155デフォルトの名無しさん:2009/10/14(水) 13:05:19
javaで環境変数を設定するにはどうすればいいですか?
156デフォルトの名無しさん:2009/10/14(水) 13:06:01
>>155
ハア違い
消えろ
157デフォルトの名無しさん:2009/10/14(水) 13:06:32
チン毛剃れ
158デフォルトの名無しさん:2009/10/14(水) 13:09:33
>>156
お間ガ
159デフォルトの名無しさん:2009/10/14(水) 14:55:01
あるソフトの実行環境として
Java SE 5以降 (JREまたはJDK)
が要求されているんですが、何を入れたらいいのでしょうか?

XPマシンでOpen-officeを入れたために
Java(TM) 6 Update15
が入っているんですが、これでは足りないみたいです
(他のJavaのソフトは動いているのですが)
ちなみにOpen-Officeの使用感は劇重です
なるべく軽いものをお願いします

Java の使用経験は98のマシンで gcj で遊んでいた程度です
160デフォルトの名無しさん:2009/10/14(水) 15:03:52
しらねーよw
そのソフトの開発元に聞いてくれ
161デフォルトの名無しさん:2009/10/14(水) 15:44:56
>>160
ソフトの開発元は
Java実行環境のインストールに関する問い合わせにはお答えできません。
とあるんですが。Javaの実行環境は自分で整えないといけないみたいなんですが
162デフォルトの名無しさん:2009/10/14(水) 15:53:44
だったらソフト名くらい出せや
もし金払っているなら聞く権利はあるだろ
163デフォルトの名無しさん:2009/10/14(水) 16:05:28
Javaが入ってるけど動きません><ってソフトの開発元に聞けよ
164デフォルトの名無しさん:2009/10/14(水) 16:08:07
どっちにしろこのスレの範疇じゃないだろ
165デフォルトの名無しさん:2009/10/14(水) 16:54:27
基本的に無料のソフトです。

SFICP(Shogi Framework Implements CSA Protocol)はCSA(コンピュータ将棋協会)のTCP/IP通信プロトコルを実装したJavaアプリケーションです。

説明が飛んでいましたが下記のリンクがあります

実行環境
Java SE 5以降 (JREまたはJDK)
http://java.sun.com/javase/
Java Communications API (RS-232C通信利用時に必要)
http://java.sun.com/products/javacomm/
実行環境は各OSに合ったものをインストールしておく必要があります。
Mac OS X環境で動作確認済み、他のUNIX・Windowsでは未確認。

実行方法
Java Web Start利用アプリケーション
http://www.junichi-takada.jp/sficp/sficp.jnlp
Java Applet (RS-232C通信やファイルの読み書きはできません)
http://www.junichi-takada.jp/sficp/sficp_applet.html

以上ですが、Java のインストールをきちんとしたら動くという事は無いんでしょうか?
それとも、スレ違いでしょうか?
166デフォルトの名無しさん:2009/10/14(水) 16:56:19
ここはJavaでプログラムを作る人のためのスレっす
Javaで作成されたプログラムを使いたい人のスレではありません

PC初心者板かWin板ですかね
移動するとしたら
167デフォルトの名無しさん:2009/10/14(水) 17:29:13
>>166
わかりました。
取り合えずPC初心者板で適当そうなスレを探してみます
ありがとうございました
168デフォルトの名無しさん:2009/10/14(水) 18:01:29
>>165
プロ棋士?
169デフォルトの名無しさん:2009/10/14(水) 18:05:50
JREまたはJDK
なんだからSDK入れる必要なし
170デフォルトの名無しさん:2009/10/14(水) 18:11:16
>>166
このくらいならいいじゃねーか
ちょっと見てみたけど面白そうなプロトコルだね
インターネット対応なのかLAN専用なのかその辺が良くわからんけど、使っている人に聞いてみたら?
171デフォルトの名無しさん:2009/10/14(水) 18:19:44
>>170
とりあえず、アプレットの方は動かないし、Java Web Startの方は試してないけど、
そこから先はこのスレの範疇ではないだろ。
172デフォルトの名無しさん:2009/10/14(水) 18:20:56
>>165
俺もちょっと見てみたが、よくわからん。
winでの動作確認してないとか作者のページに書いてあるぞ。

>>170
ttp://shogi-pineapple.com/bbs/mibbs.cgi?mo=p&fo=pc&tn=0015
>第7回コンピュータ将棋オープン戦(9/29(土))参加者募集

>※指し手を決定するのは人間でも構いません。その場合はインタフェースとして
>  http://www.junichi-takada.jp/sficp/ のJava Applet などをご利用ください。

>・2008年4月上旬     第9回オープン戦 インターネット上
インターネットから参戦できるはず。
173デフォルトの名無しさん:2009/10/14(水) 18:26:48
Winで動作確認しないなんて選民思想のキチガイだな
174デフォルトの名無しさん:2009/10/14(水) 18:31:27
>>173
winしか使えない低能乙
175デフォルトの名無しさん:2009/10/14(水) 18:42:11
>>174
Solarisしか使えない低能乙
176デフォルトの名無しさん:2009/10/14(水) 18:58:30
Solaris使えるって段階で低能じゃないけどwww
177デフォルトの名無しさん:2009/10/14(水) 19:00:48
>>176
Macを使うという程度の意味なら低脳でも
178デフォルトの名無しさん:2009/10/14(水) 19:08:28
つーかUnixUnixうるせーな。見てて恥ずかしいよ。
JavaやってりゃSolarisやらAIX触るのなんて普通のことだろ。
179165:2009/10/14(水) 19:33:58
>>171 >>172
私みたいにいい加減にインストールした者だけじゃなく、
きちんとインストールした方でも動かないのですか?
Winで動くかどうか質問してみることにします。

今、将棋のプログラムを作り始めているところなのですが
並列してやっていることが多くて、
この件は、質問してみることにします。
180デフォルトの名無しさん:2009/10/14(水) 19:36:14
「○○使ってる」「××使ってない」だけで自慢していいのは中学2年生までだ
181デフォルトの名無しさん:2009/10/14(水) 19:49:20
>>179

Expire Dateっていうダイアログが出てくるからちゃんと動いてると思うよ。
単にプログラム側で有効期限設定してて、それを過ぎてるだけじゃねーの?
182デフォルトの名無しさん:2009/10/14(水) 19:54:23
>>181
済みません。メッセージを和訳してもみませんでした
期限が切れている可能性もあるわけですか
183デフォルトの名無しさん:2009/10/14(水) 20:04:38
電子署名つきのアプレットやJava Web Startのアプリのようだけど、
電子署名の期限が切れてるか、テスト用の署名を付けてるかのどっちかじゃないかと。
184デフォルトの名無しさん:2009/10/14(水) 20:07:54
署名の発行者が作者本人の俺様署名だった(笑
CN=Jxxxxx Txxxx, OU=Unknown, O=Unknown, L=Yokohama, ST=Kanagawa, C=JP
185デフォルトの名無しさん:2009/10/14(水) 20:43:26
LDAPこあい
186デフォルトの名無しさん:2009/10/15(木) 10:29:29
CN=test,CN=Users,DC=mycorp,DC=local
というエントリがあった場合
VB.netでは
Dim entry As New DirectoryEntry("LDAP://localhost/CN=test,CN=Users,DC=mycorp,DC=local")
だけで取得できるのですが
JNDIではどうやれば取れるでしょうか?
とりあえず
DirContextからフルサーチして取得してますがいまいちな気がしています。
187デフォルトの名無しさん:2009/10/15(木) 10:33:37
>>186
まずVB.netがカス
188デフォルトの名無しさん:2009/10/15(木) 16:53:58
JSPでhtmlの属性値の指定で下のようにできますか?
eclipseだとエラーとマークされるのですが。

<link rel="stylesheet" href="${pageContext.request.contextPath}/css.css" type="text/css" />

変数を使えば問題ないですが。
<c:set var="css" value="${pageContext.request.contextPath}/css.css" />
<link rel="stylesheet" href="${css}" type="text/css" />
189デフォルトの名無しさん:2009/10/15(木) 18:36:31
書籍についての質問です。
入門書を読んだレベルですが、ここで『Effective Java』に挑むのはきついでしょうか?
190デフォルトの名無しさん:2009/10/15(木) 18:38:32
>>189
あまり本ばかり読んでても仕方ないよ
191デフォルトの名無しさん:2009/10/15(木) 18:38:44
>>189
そのレベルじゃきついだろうな
きついというより、理解している人が読むもんだと思う
192デフォルトの名無しさん:2009/10/15(木) 19:04:40
入門書の内容によるだろうな、具体的に何を読んだ?
193デフォルトの名無しさん:2009/10/15(木) 19:24:24
>>192
「よくわかるJava」。これは理解した。
あと結城デザインパターンを読んだが、理解はしていない
194デフォルトの名無しさん:2009/10/15(木) 19:27:54
まだ何も知らないころ、1001のTipsとか言う本を読んだなw
基礎もないのに、今思えば無謀だったよ
コンパイルのやり方する出ていないw
195デフォルトの名無しさん:2009/10/15(木) 19:48:09
JAVA歴5年だがいまだにコンパイルがよくわからない
196デフォルトの名無しさん:2009/10/15(木) 19:58:49
のーみそこねこね
197デフォルトの名無しさん:2009/10/15(木) 20:18:15
二極化するんだよ。

お仕着せの開発環境のIDEの上でプロジェクト標準のビジネスロジックしか書けない奴と、
そういうPGがビジネスロジックだけに専念できるように色々準備する奴とに。
198デフォルトの名無しさん:2009/10/15(木) 20:18:52
でっていう
199デフォルトの名無しさん:2009/10/15(木) 20:23:28
お前らは俺がいないとプログラムが実行できないとわかっているのに
俺の理解できないJavaやCなんかで話しかけてきやがる
俺が理解できるのは唯一機械語のみだ
機械語じゃなきゃお前らが作ったプログラムも実行してやることができない
実行してほしいなら俺の理解できる機械語を勉強してプログラムするか
翻訳機を通してJavaやCを機械語に翻訳してもらうんだな
200デフォルトの名無しさん:2009/10/15(木) 20:26:01
何日本語でしゃべってんの?しぬの?よみのくになの?
201188:2009/10/15(木) 20:33:27
<%@ page language="java" contentType="text/html; charset=utf-8"
   pageEncoding="utf-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>タイトル</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css.css" type="text/css" />
</head>
<body>
</body>
</html>

で以下のエラーが検出されます。
javax.servlet.http cannot be resolved to a type
javax.servlet.jsp.PageContext cannot be resolved to a type
javax.servlet.ServletException cannot be resolved to a type

これの.javaに変換されたものを見る限りでは問題ないし、実際正常に動作します。
また、(アプリフォルダ)/WebContent/WEB-INF/libにはjstl.jarとstandard.jarを置いてます。
なぜeclipseでエラーと検出されているのでしょう?
202デフォルトの名無しさん:2009/10/15(木) 23:07:12
Stringで一つお聞きしたいんですが、
String s = "Hello";
String s = new String("Hello");
の違いは理解してるんですが、
例えばsubstringやconcatなどメソッドを使用して
生成した文字列オブジェクトは全く新しく生成されるのか
既存のを使いまわす形になるのかがわかりません。
String s = "hello";
String s2 = "h";
String s3 = s2.concat("ello");←こういった場合。

アドバイスよろしくお願いします。
203デフォルトの名無しさん:2009/10/15(木) 23:30:43
動的に生成されるものは一緒にはならない。
まとめる必要があるなら、intern()を呼ぶか自分で管理する。
204202:2009/10/15(木) 23:54:44
>>203
動的に生成されるものは全てnew String()の扱いになるんですね。
自分でも検証はしたんですが
確証を得たかったので質問させていただきました。
本当にありがとうございました!!
205デフォルトの名無しさん:2009/10/16(金) 01:06:27
import java.util.Random;

public class Kadai {
public static void main(String[] args) {
int[][] a = new int[5][3];
Random r = new Random(System.currentTimeMillis());
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
a[i][j] = r.nextInt(10);
if (j != 0) System.out.print(" ");
System.out.print("a[" + i + "," + j + "] = " + a[i][j]);
}
System.out.println();
}
}
}
206デフォルトの名無しさん:2009/10/16(金) 01:09:32
板間違えてもた。スマソ
207デフォルトの名無しさん:2009/10/16(金) 05:25:45
Yahoo!プログラミング言語検索ランキング(今回2009/10/16、前回2009/10/12)

《一般カテゴリ》
. 1(. 1) HTML.....    約5,030,000,000件(約5,020,000,000件)+
. 2(. 2) PHP...      約2,980,000,000件(約3,000,000,000件)--
. 3(--) BASIC..      約1,580,000,000件(....------------- )0
. 4(. 3) JAVA..      約 822,000,000件(約 832,000,000件)--
. 5(--) CGI.        約 551,000,000件(....------------- )0
. 6(--) C言語(*1).   約 399,000,000件(....------------- )0 (*1)C/C++とC#の検索件数の合計
. 7(. 4) FORTH..    約 323,000,000件(約 324,000,000件)-
. 8(. 6) PERL..     約 245,000,000件(約 245,000,000件)0
. 9(. 7) PYTHON..   約 213,000,000件(約 209,000,000件)++
10(. 8) PASCAL..   約 168,000,000件(約 168,000,000件)0
11(. 9) DELPHI.    約 128,000,000件(約 128,000,000件)0
12(11) LISP      約.  26,000,000件(約.  26,600,000件)--
13(12) FORTRAN.   約.  21,200,000件(約.  21,300,000件)-
14(13) COBOL.....   約.  16,800,000件(約.  17,100,000件)--
15(--) PROLOG    約.  13,800,000件(....------------- )0
16(14) HSP        約.  12,300,000件(約.  12,400,000件)-

《BASIC言語カテゴリ》
. 1(--) VisualBasic...  約 120,000,000件(約 121,000,000件)-
. 2(--) Hu-BASIC..  約.  15,000,000件(....------------- )0
. 3(--) QBASIC..    約   4,140,000件(約   4,160,000件)--
. 4(--) MSX-BASIC.....約   1,430,000件(....------------- )0
. 5(--) DarkBASIC .  約   1,310,000件(約   1,330,000件)--
. 6(--) CBM-BASIC. 約    944,000件(....------------- )0
. 7(--) BasicStudio   約    303,000件(約    302,000件)+
. 8(--) N88BASIC..  約    219,000件(約    218,000件)+
. 9(--) X-BASIC...   約.     40,400件(....------------- )0
10(--) 99BASIC....   約.     11,400件(約.     11,300件)+
208デフォルトの名無しさん:2009/10/16(金) 09:28:21
JSP+Javaサーブレットという構成で、JSPから入力した内容をプリンタに印刷するというプログラムを作成しています。
仮想サーバはTomcatを、ブラウザはIEを使用しています。
下記コードは、Eclipse上だと正常に動作し、印刷ダイアログを表示してくれるのですが、Eclipseを介さず、プログラムをwarファイルにしてTomcatに配備した状態で実行した場合、★部分で処理が止まってしまい、印刷動作ができなくなってしまいます。
(ブラウザ上ではlocalhostへの接続待ちを行っているようで、ステータスバーが進捗しなくなります)
こういった、開発ツール上では動作するが運用上では動作しないという症状の場合、どのようなことが原因と考えられるでしょうか?
209デフォルトの名無しさん:2009/10/16(金) 09:29:21
下記、コードです。
import javax.servlet.*;
import javax.servlet.http.*;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.print.*;
import javax.swing.*;

public class Syoru_print extends HttpServlet{

public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
request.setCharacterEncoding("WINDOWS-31J");

HttpSession session = request.getSession();
//JSPから取得した値をセットする
     String syoru1 = request.getParameter("syoru1");
Syorui syoru31 = new Syorui();
syoru31.setSyorui1(syoru1);
//印刷を行う
syoru31.insatu();
}
}
210207:2009/10/16(金) 09:31:32
続きです。
(以下、別ファイル)
import javax.servlet.*;
import javax.servlet.http.*;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
//import java.awt.image.*;
import java.awt.geom.*;
import java.awt.print.*;
import javax.swing.*;
public class Syorui{
private static String syorui1;
public static void setSyorui1(String syorui1a){
public static void setSyorui1(String syorui1a){
syorui1 = syorui1a;
public void insatu8() {
PrinterJob pj=PrinterJob.getPrinterJob();
//ページの設定
PageFormat pf=pj.defaultPage();
Paper pp=new Paper();
pp.setSize(651,898);
pp.setImageableArea(60,60,507,754);
pf.setOrientation(PageFormat.PORTRAIT);
pf.setPaper(pp);
pj.setPrintable(new TestPrint(),pf);
{
try{
       if (pj.printDialog()) { ★
pj.print();
}
}
211207:2009/10/16(金) 09:32:29
下記で終了です。どうかよろしくお願いします。
//印刷用のクラス(内部クラス)
class TestPrint extends Syorui implements Printable{
public int print(Graphics g, PageFormat fmt, int index) throws PrinterException {
//ページインデックスが印刷範囲外なら戻る
if(index!=0){
    return NO_SUCH_PAGE;//印刷範囲外のページ
}
//上記セット関数でセットした値を描画する
g.drawString(Syorui1)
return PAGE_EXISTS; //範囲内のページで印刷処理を行った
}
}
}
212デフォルトの名無しさん:2009/10/16(金) 09:50:24
サーバ上にダイアログ立ち上げてどうすんの・・・
213207:2009/10/16(金) 10:16:07
>>212さん
ユーザからは触れないサーバサイドにダイアログが出てしまって、そこで操作を待っているために処理が止まってしまったように見えている、ということでしょうか?
そうするとこの場合、JSPにて印刷動作を記述したほうがいいということですね。
ありがとうございます。
214デフォルトの名無しさん:2009/10/16(金) 10:19:15
JSPもサーバーサイドだが・・・
215207:2009/10/16(金) 10:57:10
>>214さん
とすると、JSPで印刷動作を書いたとしても同じ結果に終わりますね…。

ためしに、ダイアログの表示動作をコメント化し、印刷動作(pj.print(); )
のみにして実行してみましたが、やはりサーバサイドでなにか待っている様子です…。
こういった場合、クライアントサイドでダイアログ表示・印刷を行うためには、どのような手段を用いればいいのでしょう?
教えて君で申し訳ありません…
216デフォルトの名無しさん:2009/10/16(金) 11:50:17
>>215
javascriptで印刷
217デフォルトの名無しさん:2009/10/16(金) 12:14:57
はっきり言うがお前には無理
まずはウェブアプリの仕組みとかゼロから勉強しなおせ
218デフォルトの名無しさん:2009/10/16(金) 12:29:49
世の中そうそう無理なんてことは無いよ
219デフォルトの名無しさん:2009/10/16(金) 13:11:28
>>218
大概の人間にはな。
ただし、ダメなやつはダメ。
220デフォルトの名無しさん:2009/10/16(金) 13:15:01
>>219
すぐそうやって他人を見下す
だから友達もいないんだよ
221デフォルトの名無しさん:2009/10/16(金) 13:22:49
無理は言いすぎかもしれんが基礎知識が圧倒的に不足
222デフォルトの名無しさん:2009/10/16(金) 13:23:28
>>220
いや、>>217は本当のことを言っていると思うぞ
JSPはサーバサイドで印刷機能自体は持ち合わせていない
httpでやっているのならレスポンスは通常text,htmlになる
JSPとクライアントを同一に考えているほうがおかしい
223デフォルトの名無しさん:2009/10/16(金) 13:29:40
みなさん初心者相手だろ生き生きするねw
224デフォルトの名無しさん:2009/10/16(金) 13:37:37
×だろ
○だと
225デフォルトの名無しさん:2009/10/16(金) 13:40:18
いちいち訂正せんでよろしw
226デフォルトの名無しさん:2009/10/16(金) 13:45:48
人間小さいなw>>223
227デフォルトの名無しさん:2009/10/16(金) 14:03:41
この人並みに生き生きとすることを目指してる

125 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 11:39:38
>>123
通常 C:\boot.ini boot.bat
ってのがあるんだよ
環境変数setで動かすのが起動時に走るわけ
Unixやれよ、したらよく分かると思うよ
rootの環境変数と例えばbashだったらbash.rcってのが走って環境変数設定できるわけよ

127 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 11:47:46
>>126
湾曲性癖ありの池沼乙
Unixできねーくせに何言ってんだ?

130 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 11:55:06
>>126
池沼やべーwww

134 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 12:17:22
>>133
スレ違い
JavaがWinだけで動いているのならば分るが
スレタイも読めない低能はひっこんでていただきたい

140 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 12:32:42
Winしかできねー池沼の集まりだな

156 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 13:06:01
>>155
ハア違い
消えろ
228デフォルトの名無しさん:2009/10/17(土) 18:31:01
まあjava使うならsolarisが鉄板。同じオラクル製だし。
229デフォルトの名無しさん:2009/10/17(土) 18:59:36
あれ、もう買収されたんだっけ?
230デフォルトの名無しさん:2009/10/17(土) 23:43:32
byte配列からStringを作るとき、引数に文字コードを指定できますが、
StringってJavaでは文字情報をUnicodeで保持していると思います。
この引数の文字コードをShift_JISとかに設定したら、どうなるのですか?
231デフォルトの名無しさん:2009/10/17(土) 23:59:55
あなたの思っていることは逆です。
232デフォルトの名無しさん:2009/10/18(日) 00:58:26
Shift_JISで格納されているbyte配列を元にしてUnicodeのStringが作られます
233デフォルトの名無しさん:2009/10/18(日) 02:51:25
参照しまくるとあっという間にメモリ喰われるなw
234デフォルトの名無しさん:2009/10/18(日) 03:00:29
(2chのスレを)参照しまくるとあっという間に(脳の)メモリ喰われるなw
235デフォルトの名無しさん:2009/10/18(日) 03:03:31
卒業研究でオンライン就職システムを作ることになっているのですが
javaの知識が未熟なため何かを参照しながら作れればと思っています
図書システムのように参照できるソースなどある場所をご存じの方がいらっしゃいましyたら教えていただけないでしょうか?
よろしくお願いします
236デフォルトの名無しさん:2009/10/18(日) 03:20:04
そもそもオンライン就職システムってどんなのを想定してるの?
237デフォルトの名無しさん:2009/10/18(日) 03:28:47
>>236
簡易版のリクナビみたいのを作れればと思っています
学生や企業情報の登録機能、検索機能、ログイン機能などで図書システムみたいのを参照できればなぁと・・・
238デフォルトの名無しさん:2009/10/18(日) 03:38:39
あんまり定型的なモデルじゃないからな。
図書システムほどあちこちで必要とするものでもないし。

普通にWebアプリの作り方勉強するのがいいんじゃね。
やることは特に変わらないよ。
全文検索もライブラリ入れるだけだし。
239デフォルトの名無しさん:2009/10/18(日) 09:01:02
それは就職システムじゃなくて就職活動支援システムだろが
言葉はちゃんと使え
240デフォルトの名無しさん:2009/10/18(日) 09:12:47
オンラインで就職できる機能もあるシステムなのかもよ
フォームに必要事項を書けば面接なしで即決!
241デフォルトの名無しさん:2009/10/18(日) 14:34:11
コンビニ派遣でそういうシステムはあるな
242デフォルトの名無しさん:2009/10/18(日) 22:49:57
Java(クライアント)とCORBAでC(サーバ)やCOBOL(サーバ)のシステムと通信をするとします。
Javaから文字列を送信する場合、文字列はUnicodeになると思うのですが、
Shift_JISで送信する方法はあるのでしょうか。
243デフォルトの名無しさん:2009/10/19(月) 00:08:35
そもそもUnicode送ることにはならんわ
適切な文字コードのバイナリで送るのでSfift_JISで送ればよい
244デフォルトの名無しさん:2009/10/19(月) 14:50:12
Windows+Eclipseで開発しています。
WindowsでCVSサーバーを立てようと思ったのですが
なかなかうまくいかずUbuntuで試してみたらすんなりできました。
CVSサーバーはUbuntuでもいいですか?
245デフォルトの名無しさん:2009/10/19(月) 14:54:49
いいです
246デフォルトの名無しさん:2009/10/19(月) 14:57:28
そうですか
247デフォルトの名無しさん:2009/10/19(月) 15:30:21
>>244
CVSはカス
Subversionこそ至高である
248デフォルトの名無しさん:2009/10/19(月) 16:18:34
一人開発ならMercurialでもいいんじゃね
249デフォルトの名無しさん:2009/10/19(月) 16:19:30
一人開発でソース管理時代バカじゃな?
それはバックアップというのだよ
250デフォルトの名無しさん:2009/10/19(月) 16:28:15
>>249
おまえは手動で安定版と開発版のバックアップ分けた上にソースの差分を一々全部別途に手動コピーして前のバージョンに戻したいときはいちいちコピペしてんのか?
251デフォルトの名無しさん:2009/10/19(月) 16:34:38
>>250
素人だな
本来diffに関しては複数人であるからこそはっきする機能であって
一人でやっているのに必要ないだろう
252デフォルトの名無しさん:2009/10/19(月) 16:35:24
>>250
eclipseならhistory機能付いてるけどな
無知は怖いね
253デフォルトの名無しさん:2009/10/19(月) 16:41:38
>>249
あーあ馬鹿晒しちゃった
254デフォルトの名無しさん:2009/10/19(月) 16:49:22
eclipseのHistory機能はバージョン管理には使えんだろ
そもそもファイル単位で管理ってCVSの時代かよ
255デフォルトの名無しさん:2009/10/19(月) 16:59:12
Ubuntu CVSサーバー + Windows Eclipse
最強伝説!
256デフォルトの名無しさん:2009/10/19(月) 17:03:40
CVSはカスだが>>247はSVNを推奨しているな
257デフォルトの名無しさん:2009/10/19(月) 17:10:00
SVNの何がCVSに勝っていると言うの?
258デフォルトの名無しさん:2009/10/19(月) 17:26:33
CVSはバイナリに不具合がある
お前apacheとかの脆弱性とかもチェックしていないんだろうな
259デフォルトの名無しさん:2009/10/19(月) 17:36:01
全然してないです。
260デフォルトの名無しさん:2009/10/19(月) 17:44:21
環境は環境の担当に任せまふ
261デフォルトの名無しさん:2009/10/19(月) 17:45:55
頭悪いでから
262デフォルトの名無しさん:2009/10/19(月) 17:48:29
バイナリに不具合があるとはどういうことなの?
263デフォルトの名無しさん:2009/10/19(月) 17:57:14
>>262
特定のバイトコードで(NOT EOF)EOFとなり、データが壊れた状態となる
264デフォルトの名無しさん:2009/10/19(月) 18:03:28
>>263
最悪じゃないですか!
なんですかそれは!
早く修正してください。
265デフォルトの名無しさん:2009/10/19(月) 18:13:02
ごめんなさい
266デフォルトの名無しさん:2009/10/19(月) 18:14:34
なんでバグを放置するんですか?
267デフォルトの名無しさん:2009/10/19(月) 18:17:13
バグを直した(つもりになった)らコンパイル通りませんでした
268デフォルトの名無しさん:2009/10/19(月) 18:34:35
発見されたのはCVS全盛期の3年ほど前だったしな
269デフォルトの名無しさん:2009/10/19(月) 19:41:46
EclipseのHistoryがバージョン管理の替わりとか、新手のギャグですか?w
270デフォルトの名無しさん:2009/10/19(月) 19:44:57
一人でやるなら十分って話なんじゃないの?
271デフォルトの名無しさん:2009/10/19(月) 20:10:09
バージョン管理ツールは、普通1ファイルだけの履歴を管理するわけじゃなくて、
ある時点のプロジェクト構成ファイル全てにタグ打っておいて、
後で任意の時点のソースファイルをプロジェクトごと取り出したりして使うんだよ?
ブランチ切って新規機能開発専用のソースツリーを作ってから、あとでマージしたりとか。
開発人数の問題ではないよ。
272デフォルトの名無しさん:2009/10/19(月) 20:13:23
>>271
タグ打ちはリリース日で打つと思うが
もしや無職?
現場レベル10年にも満たないなら意見すべきでないよ
俺から見りゃただの若造の戯言
273デフォルトの名無しさん:2009/10/19(月) 20:15:20
>>271
お前、残念ながら何も理解していないよ
ソース一つ云々って誰が言っているんだい?
そこしかだせない君はまだまだ素人であって>>272が言う通り意見する域ではないよ
むしろはずかしい
274デフォルトの名無しさん:2009/10/19(月) 20:15:53
なにが気に入らないのか知らんが、
俺がリリース日でタグを打たないって書いてるように読めるなら相当頭悪いな。
275デフォルトの名無しさん:2009/10/19(月) 20:17:11
ソース管理は一つだと思ってる(た)>>272ワロタ
知らないからこそ出てくる発想だよね
276デフォルトの名無しさん:2009/10/19(月) 20:18:12
>>271
一人でそこまでやる必要あるの?
277デフォルトの名無しさん:2009/10/19(月) 20:18:28
>>272はブランチってなんだか分かってないんだろうな
278デフォルトの名無しさん:2009/10/19(月) 20:20:26
あさとひるのあいだにたべるやつ
279デフォルトの名無しさん:2009/10/19(月) 20:21:23
>>272
お前みたいのを老害っていうんだな。
理解した。

お前の部下が可哀想だから死ね。
280デフォルトの名無しさん:2009/10/19(月) 20:22:11
またこの人か…何なんだコイツ

125 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 11:39:38
>>123
通常 C:\boot.ini boot.bat
ってのがあるんだよ
環境変数setで動かすのが起動時に走るわけ
Unixやれよ、したらよく分かると思うよ
rootの環境変数と例えばbashだったらbash.rcってのが走って環境変数設定できるわけよ

127 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 11:47:46
>>126
湾曲性癖ありの池沼乙
Unixできねーくせに何言ってんだ?

130 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 11:55:06
>>126
池沼やべーwww

134 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 12:17:22
>>133
スレ違い
JavaがWinだけで動いているのならば分るが
スレタイも読めない低能はひっこんでていただきたい

140 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 12:32:42
Winしかできねー池沼の集まりだな

156 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 13:06:01
>>155
ハア違い
消えろ
281デフォルトの名無しさん:2009/10/19(月) 20:22:36
>>277
勘違い乙
せいぜい3年目程度の無能なんだろうな
282デフォルトの名無しさん:2009/10/19(月) 20:22:50
一人かどうかを気にする人がいるけど、そこは問題じゃないと思うよ。
誤解を恐れず単純に言えば、ファイル数がいくつあるかが問題になる。

プロジェクトの構成ファイルが100個あったときに、
あるリリース時点のソースツリーが必要になったばあい、
Eclipseのヒストリ機能で本当にソースツリーをその時点まで戻せるのかどうかってこと。

ソースツリーは常に最新しか必要ないならバージョン管理そのものが不要だけど、
使い捨てのプログラムでないかぎり、そんなことはありえない。
283デフォルトの名無しさん:2009/10/19(月) 20:24:51
>>282
素人を露呈しなくてもいいよ
284デフォルトの名無しさん:2009/10/19(月) 20:25:04
>>280
ほとんど毎日いるよな。
暇なのかな。
285デフォルトの名無しさん:2009/10/19(月) 20:25:44
>>283
返す言葉もなくその低能っぷりwww
レスなくてもお間ガの存在価値なんてないし社会のゴミだからレスするなよ
286デフォルトの名無しさん:2009/10/19(月) 20:26:06
んで、具体的に俺の言ってることのどこが素人なんだよ?
後学のために聞かせてくれ。
287デフォルトの名無しさん:2009/10/19(月) 20:26:42
>>272
返す言葉もなくその低能っぷりwww
レスなくてもお間ガの存在価値なんてないし社会のゴミだからレスするなよ
288デフォルトの名無しさん:2009/10/19(月) 20:28:23
時々まともなんだけど
それ以外の時は狂ってるよな
等質?
289デフォルトの名無しさん:2009/10/19(月) 20:29:42
ビリーミリガンみたいな
290デフォルトの名無しさん:2009/10/19(月) 20:50:44
>>284
仕事無いんだろ
291デフォルトの名無しさん:2009/10/19(月) 20:51:21
>>288
マザーグースのうた見たいだな
292デフォルトの名無しさん:2009/10/19(月) 21:37:06
>>251
それはギャグで言って(AAry
293デフォルトの名無しさん:2009/10/19(月) 21:52:25
おそらく一人で書いてると思われる彼のレス、
全体的にオモローだな。ギャグだとしたら才能ありすぎるw
294デフォルトの名無しさん:2009/10/19(月) 22:57:52
コンパイルできません、助けてください
//<applet code="PaintEx1.class" width="400" height="500"></applet>

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

public class PaintEx1 extends JApplet {
public void init() {
setBackground(Color.WHITE);
}

public void paint(Graphics g) {
g.setColor(Color.BLUE);
g.draw3DRect(int 10, int 10, int 25, int 20, boolean true);

g.setColor(Color.RED);
g.drawArc(int 45, int 10, int 25, int 20, int 32, int 230);

int[] x1 = {int 80, int 120, int 80};
int[] y1 = {int 30, int 5, int 30};
g.setColor(Color.GREEN);
g.drawPolygon(x1, y1, int 3);
}
}
295デフォルトの名無しさん:2009/10/19(月) 23:08:03
>>294
「int 10」→「10」
「boolean true」→「true」
に全部修正しる
296デフォルトの名無しさん:2009/10/19(月) 23:18:09
>>295
一体全体どんな発想したらこんなコードを書こうと思うのか謎だわ……。
297デフォルトの名無しさん:2009/10/19(月) 23:18:19
どこのサンプルみたらそうなるんだ?
298デフォルトの名無しさん:2009/10/19(月) 23:52:03
助ける必要性を感じないソースコードだ
299デフォルトの名無しさん:2009/10/20(火) 04:30:14
エラーメッセイジ読める様に勉強しろとしか。


ところで印刷アプリ作ろうと思うが、ウィンドウズ環境とか決めうちなら、印刷メニュー有効程度で、swingの描画をよしなに印刷してくれたりするのかな?
それとも自分でビットマップに変換か、表示をキャプチャしてあげたりとか、自分でプリンタ言語で印刷データを生成してあげないと駄目?
j2ee的に動かそうと思うと、weblogicとかwebsphereみたいな高額フレームワーク導入するぐらいが現実的?
プレビューイメージも取得出来ると最高だけどそんな機能なんて無いよなあ。orz

javaからole経由でワード動かしてデータ流し込んで印刷させたほうが楽な気がして来たw
300デフォルトの名無しさん:2009/10/20(火) 04:33:42
Javaの基礎を勉強したのですが、
標準APIドキュメントを見ても良く分かりません。

Javaのクラスライブラリを説明している書籍など有りませんか?
301デフォルトの名無しさん:2009/10/20(火) 07:14:38
>>299
普通pdfだろJK
302デフォルトの名無しさん:2009/10/20(火) 07:26:24
悪いけどあれが読めるようになって
基礎を勉強したと”言えるかも知れない”レベル
303デフォルトの名無しさん:2009/10/20(火) 07:39:27
読めるのならそのうち分かってくるから大丈夫
304デフォルトの名無しさん:2009/10/20(火) 08:45:22
SVN試してみたけどこっちのがいいね
305デフォルトの名無しさん:2009/10/20(火) 10:56:55
最初は慣れなかったけど、使うと分かるSVN
306デフォルトの名無しさん:2009/10/20(火) 11:00:20
と思ったけどなんかあまりうまく動かないなぁ
というわけでCVSで行くことにしました。
307デフォルトの名無しさん:2009/10/20(火) 11:21:06
CVSにしたらファイルを作るときに気をつけないとな
後で被ったらアウト
308デフォルトの名無しさん:2009/10/20(火) 11:27:10
どゆこと?
309デフォルトの名無しさん:2009/10/20(火) 11:27:50
イミフワロタw
310デフォルトの名無しさん:2009/10/20(火) 13:36:16
メインのJFrameから、ボタンを押すことにより
別のJFrame(JTableにJava DBのデータベーステーブルを表示)を
呼び出したいのですが下のようなエラーが出てしまいます。

Exception in thread "AWT-EventQueue-0" java.lang.Error: java.lang.reflect.InvocationTargetException
Caused by: java.lang.reflect.InvocationTargetException
Caused by: java.lang.IllegalArgumentException: An exception occured while creating a query in EntityManager
Caused by: Exception [TOPLINK-8034] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EJBQLException
Exception Description: Error compiling the query [SELECT a FROM Attorney a]. Unknown abstract schema type [Attorney].

コード:
@Action
public void showSecondFrame() {
SecondFrame sf = new SecondFrame();
sf.setLocationRelativeTo(getFrame());
MainApp.getApplication().show(sf); }

いったいぜんたいどこがいけないのでしょうか?
311デフォルトの名無しさん:2009/10/20(火) 13:40:47
まずTOPLINK-8034を調べてみたら
312デフォルトの名無しさん:2009/10/20(火) 14:08:55
>>251はつまり一人でやる場合はソース(ツリー)は一つでいいと言ってるのか?

>>293
個別の11人みたいに思想が同じ単独犯が複数湧いちゃったから複数犯に見えるみたいな個々のレスなんじゃないか?
313デフォルトの名無しさん:2009/10/20(火) 14:32:14
Ubuntu再起動したらSVNの調子がよくなったので
こっちを使います。
314デフォルトの名無しさん:2009/10/20(火) 15:59:33
大変馬鹿な質問かと思いますが、プログラムを始めたばかりの私に
誰か教えていただけると助かります。
3の倍数、5の倍数、3と5の倍数の時に、「3です」とか出る
プログラムを作りたいと思うのですが、2個目以降のifをelseにすると
エラーが出てしまいます。それと、結果が1,2,3,3ですとそれぞれの
倍数の時にダブって出てしまいます。
それを直したいのですが誰かよろしくお願いします

int a = 1;

for (int i = 1; i <= 100 ; i++)
{

if ( a % 3 <= 0 && a % 5 <=0 )
{
System.out.println("3と5です");
}
if ( a % 3 <= 0 )
{
System.out.println("3です");
}
if ( a % 5 <= 0 )
{
System.out.println("5です");
}
System.out.println(a);
a ++ ;
315デフォルトの名無しさん:2009/10/20(火) 16:04:19
else if
316314:2009/10/20(火) 16:42:36
>>315
ありがとうございます。
良く考えればわかったことなのに申し訳ないです。
しかし、まだ結果が1,2,3,「3です」とダブるのが直せません。
317デフォルトの名無しさん:2009/10/20(火) 16:44:40
最後のprintlnがifにもelseにも入ってなければそりゃダブる
318デフォルトの名無しさん:2009/10/20(火) 16:45:07
>>316
出したくないならaをまずiに置き換えた上、○ですと出した後continueすればいいでしょ。
このままやるなら

System.out.println("5です");
} else {
System.out.println(a);
}

とすればおk
319314:2009/10/20(火) 17:20:03
>>317>>318
ありがとうございます。
for (int i = 1; i <= 100 ; i++)
{

if ( a % 3 <= 0 && a % 5 <=0 )
{
System.out.println("3と5です");
}
else if ( a % 3 <= 0 )
{
System.out.println("3です");
}
else if ( a % 5 <= 0 )
{
System.out.println("5です");
}
else
System.out.println(a);
a ++;
これで一応思い通りに動いたのですが、aが3の時のelse ifで
a++;が無いのに4が表示されるのですがどこで+1されているのですか?
320デフォルトの名無しさん:2009/10/20(火) 17:23:39
else
System.out.println(a);
a ++;

これだろ
お願いだからテキストでも1冊買って読んでくれる?
321デフォルトの名無しさん:2009/10/20(火) 17:29:12
初心者以前は流石にカエレという気がする
322314:2009/10/20(火) 17:31:47
>>320
本当申し訳ないです。最後にします。
else if ( a % 3 <= 0 )
System.out.println("3です");
aが3の場合これが実行されますが、このあとループの最初に戻るのではなくて
最後のelseが必ず実行されるのでしょうか?
323デフォルトの名無しさん:2009/10/20(火) 17:53:11
>>322
意味分からん
a == 3 の場合は System.out.println("3です"); が実行され
以降の else if/else はスルーして a++; が実行される
324デフォルトの名無しさん:2009/10/20(火) 18:26:01
>>322
あなたは
else {
    System.out.println(a); 
    a++;
}
のつもりかもしれないが、実際には 
else {
    System.out.println(a);
}
a++;
だ。
elseの効果は (ifもforも同様だが)、波括弧で括っていない限り、
直後の文ひとつ (この場合はprintln) だけにしか及ばない。
空白の有無は単に見た目の良さだけでしかない。
325デフォルトの名無しさん:2009/10/20(火) 18:37:51
特に業務で使っている方に、ライブラリの選定について質問です。

例えば開発しているシステムでxmlを使うことになりました。
JAVAでxmlを扱うためのライブラリは複数あります。
その場合、そのいずれかを使うか、又は自力で実装するかを決める必要があります。

この場合にどのようなプロセスで決定を下すかを教えていただけますか?
業務にマッチしているか、使用の際に注意すべき点はあるのかなど、
どのような点を考慮しているのかなどお聞かせいただけますと幸いです。
326デフォルトの名無しさん:2009/10/20(火) 18:44:29
ライセンスだけで95%決まる気がする
327デフォルトの名無しさん:2009/10/20(火) 19:35:19
>>325
まずはクライアントのタイプだな。
銀行系とかだとライブラリ1つ入れるだけでいやな顔するんで使わないことも多い
逆に安く早く作れってならば、マイナーなライブラリでも後から承認してもらう程度で使う
また、フレームワークレベルになってくると流石に実績や開発経験、教育コストが重要。

最終的にはライブラリの選択肢と経験、加えてお金と時間があるか、それだけで決まるけどね。
328デフォルトの名無しさん:2009/10/20(火) 19:58:30
>>325
アーキテクトの印象。
っていうのは嘘のような本当の話だけど、大体は326の言うようにライセンスやら金の問題が優先される。
329デフォルトの名無しさん:2009/10/20(火) 21:51:14
<jsp-config>
<jsp-property-group>
<url-pattern>*.jspf</url-pattern>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
<include-prelude>/jspf/header.jspf</include-prelude>
</jsp-property-group>
<jsp-config>

の様にurl-patternを複数書けますか?
*.jspfと*jspで/jspf/header.jspfをヘッダとして加えたいのですが。
330デフォルトの名無しさん:2009/10/20(火) 22:03:57
試したほうが早いような。

書式的にはurl-patternを複数書くのは問題ないはず。
ただjspf拡張子をパターンに指定して何がしたいのかは知らんが。
勘違いしてるんではないかな。
331329:2009/10/20(火) 22:41:23
>勘違いしてるんではないかな。

Strutsは昨日から勉強しだしまして勘違いというか理解不足なのだと思います。
実は

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>

の記述を全ての.jspのヘッダにしたいのですが、include前提のjspf(これも理解が間違ってますでしょうか?)
にもtaglibの記述をしないとIDE(netbeans)の補完機能が働かず例えばhtml:form等が候補に挙がってきませ
んでした。
その為に*.jspfにも上記ヘッダを付けたいと思ったわけです。
それとも他の方法で.jspfのテキストでコード補完機能が働くようにできますか?
332デフォルトの名無しさん:2009/10/20(火) 23:39:05
もう一度いうが、勘違いしてるんではないかな。
333デフォルトの名無しさん:2009/10/21(水) 07:36:20
初歩的な疑問ですいません

AWTのAdapterクラスは、各種Listenerクラスのメソッドを定義しているだけで
抽象メソッドは1個も含まれていないのに、何故abstractを付けて抽象クラスにしているのでしょうか。
抽象メソッドが1個も含まれていなければ、抽象クラスにする意味は無さそうな気がするのですが、
普通のクラスにしていない理由を教えてください。
334デフォルトの名無しさん:2009/10/21(水) 07:44:13
>>333
継承して使え、というXxxAdapter作成者の意思表示。
335デフォルトの名無しさん:2009/10/21(水) 07:45:54
そのままインスタンス化しても使い道ないからだろう
336デフォルトの名無しさん:2009/10/21(水) 07:46:32
かぶった
337デフォルトの名無しさん:2009/10/21(水) 07:50:08
>>334-335
インスタンス化防止の為だったんですね。
納得しました。ありがとうございます。
338デフォルトの名無しさん:2009/10/21(水) 07:57:19
>>326-328
有難うございます。

今課題でライブラリ選定に挑戦しております。
比較検討の材料として、実案件でのやり方をお伺いしたいと考えた次第です。

ライセンスについては全く思い至っておらず、また、企業の慣習も大きく影響するということを学ばせていただきました。
後はコストについて。制約が全く無いのなら「最強」になるのでしょうが、そんな訳にはいきませんよね。

貴重なご意見をありがとうございました。
339デフォルトの名無しさん:2009/10/21(水) 20:28:04
これからGTK+を勉強しようと思っていますが、
JavaでGTK+を使えますか?

使えるとしても、何かデメリットがあるのでしょうか?
あるいは、逆にメリットがあれば、それも教えてください。

Swingとかを使ったほうがいいんですかねぇ・・?
GTK+を覚えれば、他の言語からも使えて便利かな、と。
340デフォルトの名無しさん:2009/10/21(水) 20:32:08
JavaがやりたいのかGTKがやりたいのかAGEたいのかハッキリしろ
341デフォルトの名無しさん:2009/10/21(水) 21:14:55
GTKがやりたいです。
342デフォルトの名無しさん:2009/10/21(水) 21:27:18
>>340
Java+GTKだろ、どうみても
343デフォルトの名無しさん:2009/10/21(水) 21:43:09
JavaにおけるGUIの選択肢は、事実上、SwingとSWTしかない。
344339:2009/10/21(水) 21:52:07
>>340
さっきは間違って上げてしまいました。すみません。
JavaでGTK+を使えるか、また、使うことに問題があるかお尋ねしたかったんです。
Javaは既に勉強を進めています。

>>343
そうなんですか。
Swingを使うことにします。
ありがとうございました。
345AWT:2009/10/21(水) 21:52:23
まだまだ若いモンには負けん。
346デフォルトの名無しさん:2009/10/21(水) 22:04:40
>>340 何でageたらあかんの?
347デフォルトの名無しさん:2009/10/21(水) 22:04:44
JavaがやりたいならSwingだろ、FXでもいいかもしれんが
GTK+やりたいってならJavaでやるメリットはないんじゃね
348デフォルトの名無しさん:2009/10/21(水) 22:09:31
【合法】みんなズッキーニでヘヴン状態しようぜ!!
http://namidame.2ch.net/test/read.cgi/yasai/1223375038/
349デフォルトの名無しさん:2009/10/22(木) 20:34:07
DOMParser xml = new DOMParser();
xml.parse(file.toString());
Document document = xml.getDocument()

XMLを保存した後に、読み込む事に成功したわけですが
この後って、クラスに変換するのが常識なんですかね

どこで調べてもXMLの作成→保存→読み込みだけで終了している気がする
350デフォルトの名無しさん:2009/10/22(木) 20:40:57
何がしたいのかが解らない
351349:2009/10/22(木) 20:48:16
>>350
ソフトの設定をXMLに保存して、必要な時に読み込むだけです
そして、終了する時に同じXMLファイルに保存しなおして終了
352デフォルトの名無しさん:2009/10/22(木) 20:55:36
>>351
クラスってなに?設定クラスのことか?
最初からXML/Beanマッパー使った方が楽だと思うが・・・
353349:2009/10/22(木) 21:13:37
>>352
>設定クラスのことか?
ウインドウのサイズや他のコンピュータと通信するために必要な情報などを、XMLに保存します
XMLを読み込んだ後はどのような形で、データを保持しているのか?という下らない質問です

Java Bean/XMLとかいう便利そうなライブラリがあったのですか、知らなかった
Apache Xercesだけでどうにかしようと考えてで、救われました
354デフォルトの名無しさん:2009/10/22(木) 21:44:28
GUIの設定にマッパー入れるのはでか過ぎないか?
読み込んで終わりも何も読み込んで値取ったら終わるのは当然だと思うんだが。
355349:2009/10/22(木) 21:57:00
>>354
>ウインドウのサイズ
えぇ〜と、ここはたとえ話なので無視してください
基本的には、他のコンピュータと通信するために必要な情報を保存するつもりです
具体的にはhttpのレスポンスヘッダ(Last-Modifiedとか)ですね

あとソフト自体(ユーザの設定)を保存する程度なので
356デフォルトの名無しさん:2009/10/22(木) 22:00:35
XMLEncoder/XMLDecoderで十分
357デフォルトの名無しさん:2009/10/22(木) 22:05:56
読み込みだけならSAX
書き込みもするならDOM
358349:2009/10/22(木) 22:15:16
>>356
いろいろXML関係ありますね
DOMとSAXだけじゃきついと思っていたのですが、意外にも色々あるのか

>>357
>具体的にはhttpのレスポンスヘッダ(Last-Modifiedとか)ですね
と書きましたが、このLast-Modifiedという値はほぼ100%の確率で書き換えるつもりです
だいたい、1つのXMLファイルが20行くらいです
359デフォルトの名無しさん:2009/10/22(木) 23:50:00
>>358
確率ってw
ランダムなの?
360349:2009/10/23(金) 16:08:58
>>359
ランダムじゃなくて、絶対書き換えるという意味です

今日、プログラミングに詳しい人にどうやって、XML関係のクラスを実装しているか質問しました
その結果
XMLReader(スパークラス@XMLを読み込む)を作り、
*.xmlごとにXMLReaderを継承したクラスを作れと言われました
ひとまず、この方法で実装してみようかなと思っています
361デフォルトの名無しさん:2009/10/23(金) 18:15:06
/**
* strの説明
* @see strを使っているメソッド
*/
private String str = null;

他の人が書いたコードを読んでいたら、このようにJavadocを書いていました。
読みやすいなと感じたわけですが、フィールドに@seeを書くのは常識なのでしょうか?
362デフォルトの名無しさん:2009/10/23(金) 20:09:37
>>361
特に常識ってわけでもない。
ルール次第なんだけど、書く現場と書かない現場が半々って印象。
書くと関連が増える度にメンテする必要があるから、結構面倒なのは確かだよ。
363デフォルトの名無しさん:2009/10/23(金) 20:12:11
>>361
書けという常識ではなく、普通普通。
JDKについてくる src の java.lang とかで @see で grep してみ。
364デフォルトの名無しさん:2009/10/23(金) 20:41:48
>>362
>書くと関連が増える度にメンテする必要があるから、結構面倒なのは確かだよ。
そうですね、ここはやっぱり重要だと思います

>>363
>>361のjavadocはJDKのソースを読んでいて発見しました
365デフォルトの名無しさん:2009/10/24(土) 01:08:28
下記処理を考えているのですが汎用性のあるいい案はありませんでしょうか?

@Beanの各セッターに値をセット
A上記でセットした値すべてに対してスペースの除去処理(スペースがあれば除去して再度セット)を行う

Beanにセットされている値だけAをLOOPして行うなんてできるのでしょうか?

ちなみに@の前に行うのは無理な仕様です。
@のセットのタイミングでスペース除去のメソッドを呼ぶ記述を各セッターに書くとかも考えたのですが
Exceptionのキャッチを考えると、、+かっこわるいのでうーん、、って感じがしまして。。
ベタで全部ゲットしてスペース除去メソッド呼んでセットしてはさけたいです。

366デフォルトの名無しさん:2009/10/24(土) 01:54:34
>>365 こんなのであってます?
private String str1;
private String str2;

public String getStr1() {
this.str1;
}

public String getStr2() {
this.str2;
}

public void setValue(String fieldName, Object value) throws Exception {
Field f = this.getClass().getField(fieldName);
if (value != null) {
if (value instanceof String) {
f.set(this, ((String)value).trim());
} else {
f.set(this., value);
}
}
}
367デフォルトの名無しさん:2009/10/24(土) 02:04:37
>>365
String getXyz() {
return this.xyz == null ? null : this.xyz.trim();
}
368デフォルトの名無しさん:2009/10/24(土) 04:55:33
>>366
>>367
ありがとうございます。。
参考にさせて頂きます。
369365:2009/10/24(土) 06:52:33
>>367
誰。。。

>>366
レスありがとうございます。
すいません、言葉足らずでした、セッターは各項目ごとにほしいです。
というのはstrutsを使用して画面の入力項目をstrutsのxmlにbeanとマッピングして定義通りsetする為です。
1つにまとめてしまうと難しい気がします。

なので自分の個人的な思いが2つあってどっちかできたらと思っているのですが
@beanの親クラス的なものがあって各セッターの中でセットする前に対象のメソッドを呼ぶとかできるか
Abeanのセットが終わったビーンをあるメソッド(スペース除去処理メソッドなど)にビーンごと引数で渡して、そのビーンに
入っている値をループして処理を行うことができたらなー

と思ってます。。こんなことできるのか。。というのはあります、、。

>>367
すいません、こちらも言葉足らずでした。
以降の処理でbeanで設定されている変数の値を直で使用する処理がある為、ゲッターを使わず値を取得する
ことがあります。その為、beanで対応しようとするとセッターでの対応になります。

370デフォルトの名無しさん:2009/10/24(土) 08:34:58
>>369
あなたのいうBeanの定義は何?
データを一時的に保存するデータクラスのこと?
それともStrutsとかでフォーム値がはいってくるようなクラスのこと?

>beanの親クラス
サブクラスでの振る舞いをスーパークラスで定義するのは無理
できてもかなりイビツ

スペースが入ってくるのは解った
それ以降はスペースが不要なのか、必要なケースはあるのか?
不要ならばsetterで削ればいい、必要ならば「不要な場合に」削るユーティリティを使うべき

>以降の処理でbeanで設定されている変数の値を直で使用する処理がある為、ゲッターを使わず値を取得する
イミフ
371デフォルトの名無しさん:2009/10/24(土) 08:36:42
あと元の値も欲しいならこうすべきかね
String getXyz() {
return this.xyz == null ? null : this.xyz.trim();
}
String getRawXyz() {
return this.xyz;
}
372デフォルトの名無しさん:2009/10/24(土) 19:12:04
素朴な疑問なのですが
FileNotFoundExceptionが発生した場合、close()をする必要はあるのでしょうか
373デフォルトの名無しさん:2009/10/24(土) 19:19:22
何をcloseしたいの?
374デフォルトの名無しさん:2009/10/24(土) 19:24:43
>>373
FileInputStreamオブジェクトを作る時にFileNotFoundExceptionが発生するので
375デフォルトの名無しさん:2009/10/24(土) 19:31:15
普通の使い方してるんであればいらない。
そもそもファイルをオープンできてないわけだから。
でもclose呼んでもかまわない。
376デフォルトの名無しさん:2009/10/24(土) 19:38:19
>>375
なるほど、ありがとうございます
377デフォルトの名無しさん:2009/10/24(土) 19:40:09
Java 3Dの1.5.1 APIあるいは1.4.0_01 APIのインストール時に
インストールフォルダを指定することは可能でしょうか?
1.3.1 APIは指定出来るのですが、上の2つはなぜか指定画面が出てこないんです。
378デフォルトの名無しさん:2009/10/24(土) 19:57:55
>>374
まてまて、その場合はfinallyでcloseするんだからFileがないかどうかなんて普通はチェックしない
そもそも、まともなアプリなら先にファイルの有無くらい確認すべきだが
379デフォルトの名無しさん:2009/10/24(土) 20:08:15
割り込みすいません。
表の形式で文字列を表示させたいのですが、
例えば、
AAAA B
AA   B
A    B
と列の頭を揃える場合、簡単に実現できる方法はありませんか?
380デフォルトの名無しさん:2009/10/24(土) 21:00:41
String#format
381デフォルトの名無しさん:2009/10/24(土) 21:06:15
>>380
ありがとうございます。
書くのを忘れていましたが全角の場合はどうすればいいですか?
382デフォルトの名無しさん:2009/10/24(土) 21:52:09
>>375
オブジェクトって生成されないよ?
どうやって呼ぶの?
383デフォルトの名無しさん:2009/10/24(土) 22:14:09
>>381
タブ
384デフォルトの名無しさん:2009/10/24(土) 22:15:13
>>383
ありがとうございます。
385デフォルトの名無しさん:2009/10/24(土) 22:45:10
javaを始めようかと思っています。
色々あってよく分かりません。
一通りのことを教えていただけないでしょうか?
386デフォルトの名無しさん:2009/10/24(土) 22:53:08
>>385
初歩的なjavaのプログラミング程度のスタートアップを自分でやれないようなら止めといた方がいい
387デフォルトの名無しさん:2009/10/24(土) 23:08:00
>>385
いろいろって何がありますか?
388デフォルトの名無しさん:2009/10/24(土) 23:59:08
>>385
入門書1冊買えば一通りのことは載っている
389デフォルトの名無しさん:2009/10/25(日) 00:10:20
Java1.4互換のクラスファイルを生成するJSR14を使ってプログラムをビルドしようとしたら、
ジェネリクスは使えましたが、enumは使えませんでした。

ビルド・パスが不完全であるため、プロジェクトはビルドされませんでした。
java.lang.Enum のクラス・ファイルが見つかりません。ビルド・パスを修正してから、このプロジェクトをビルドしてください

EnumはJDK1.4には存在しないので、エラーになるのは当然ですが、どう解決すればいいでしょうか。
Javaの標準クラスライブラリのソースコードが入手できればいいんですが、何処にあるのかわかりません。
390デフォルトの名無しさん:2009/10/25(日) 00:18:41
ねーよw
解決はenumをはじめ、5系に依存するコードを含めいようにすること
391デフォルトの名無しさん:2009/10/25(日) 10:32:56
java.lang.StringBuilderはどんな感じで作られているのか気になったので、JDKのソースを読んでみた
sb.append("str");は
strをcharの配列に変換→フィールドのchar[]に変換したのをコピー
sb.toString();は
return new String(byte[] bytes, int offset, int length) ;

StrinbBuilderはスレッドセーフじゃなくていいので、結構簡単に作れそう
392デフォルトの名無しさん:2009/10/25(日) 10:38:58
勉強目的で作るならいいと思うが、そういう意味だよな?
393デフォルトの名無しさん:2009/10/25(日) 10:54:12
>>392
当たり前だろクラッカー
394デフォルトの名無しさん:2009/10/25(日) 11:40:56
専用クラスファイルの追加を気にしないなら、Retrotranslator使えば?
こっちならJDK1.5以降のクラスも色々対応してくれている。
395デフォルトの名無しさん:2009/10/25(日) 12:55:39
素朴な疑問なのですが、デザインパターンのシングルトンについて質問
シングルトンはオブジェクトが1つしかないことを保証するので、
staticなフィールド(static finalは除く)は一ミリも意味がなくないですかか?
396デフォルトの名無しさん:2009/10/25(日) 12:59:56
かか
397デフォルトの名無しさん:2009/10/25(日) 13:10:27
>>395
static なフィールドを使わないで、シングルトンから返す実体を保持する方法を
思いついたのならば問題なし。
398デフォルトの名無しさん:2009/10/25(日) 13:15:17
public class Singleton { public static Singleton getSingleton() { return Singleton.getSingleton(); } }
399デフォルトの名無しさん:2009/10/25(日) 13:19:21
スタックオーバーフローじゃね
400395:2009/10/25(日) 15:25:58
いまいちわかりませんが、適当に作ります
401デフォルトの名無しさん:2009/10/25(日) 15:26:07
402デフォルトの名無しさん:2009/10/25(日) 17:36:59
>>398
シングルトンになってるのってクラス名だけだよね。
403デフォルトの名無しさん:2009/10/25(日) 20:23:44
そもそもここはデザパタスレだったのか
404デフォルトの名無しさん:2009/10/25(日) 22:01:32
で?
405デフォルトの名無しさん:2009/10/25(日) 22:36:47
JAVAを勉強し始めて間もないのですが…
画像をピクセル単位で表示位置を設定し、
クリックすると動作を行うプログラムを
作成したいのですが…。
現在はJButtonに画像を表示し、GridBagLayoutを
使用して配置しようとしてるのですが、
これですと、ボタンの細かい位置やサイズが指定できなくて
困っています。
そのようなクラスを使用すればいいのでしょうか??
もしよければ、サンプルプログラムなどもあるとうれしいです。。
406デフォルトの名無しさん:2009/10/25(日) 22:43:37
>>405
>JAVAを勉強し始めて間もないのですが…
何の免罪符だよw
そう言えば同情してもらえるとでも思ってるの?
407405:2009/10/25(日) 23:09:03
>>406
早速のお返事ありがとうございます。

同情してもらおうと思ってるのではなく、
正直ここにいる人よりJAVAのレベルが
私は低いと思ったのでそう書かせていただきました。
408デフォルトの名無しさん:2009/10/25(日) 23:29:44
import javax.swing.*;
public class MainFrame {
public static void main(String[] args) {
JFrame f = new JFrame("Sample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addPanels(f);
f.setBounds(100, 100, 200, 100);
f.setVisible(true);
}
private static void addPanels(JFrame f) {
f.setLayout(null);
JButton btn = new JButton("Button");
btn.setBounds(10, 10, 150, 15);
f.add(btn);
JPanel pan = new JPanel();
pan.setBorder(BorderFactory.createLineBorder(java.awt.Color.green, 5));
pan.setBounds(10, 30, 100, 30);
f.add(pan);
}
}
409デフォルトの名無しさん:2009/10/25(日) 23:33:35
>>407
そういうのは日記にでも書いとけ。な?
410デフォルトの名無しさん:2009/10/25(日) 23:35:20
>>407,409
カリカリイライラしちゃってかわいそう・・・
彼女にふられたとか?
411405:2009/10/25(日) 23:43:17
>>408
ありがとうございます!
すぐに理解はできなさそうですが…
これ見ながら頑張ってみます!
412デフォルトの名無しさん:2009/10/25(日) 23:46:09
>>410
すまん。

質問の冒頭に
「JAVA初心者です。」とか「昨日からJAVAの勉強し始めました。」
みたいな前置きをつける奴みると無性に腹が立つんだよな。
知らないことは悪いことではないが、それを盾にするなと言いたい。
413デフォルトの名無しさん:2009/10/25(日) 23:49:08
盾だと思っちゃうのは性格がひねくれてるからだぉ
414デフォルトの名無しさん:2009/10/25(日) 23:54:26
>>413
確かにそうかもしれん。

>>413は、前置きするのはどういうことだと思う?
415デフォルトの名無しさん:2009/10/25(日) 23:56:34
単に自分のプロフィールを紹介する目的
416デフォルトの名無しさん:2009/10/26(月) 00:00:38
>>412
おまい、案外素直な子じゃな
417デフォルトの名無しさん:2009/10/26(月) 00:03:59
>>415
ありがとう。
理解はできなさそうだが・・・
418デフォルトの名無しさん:2009/10/26(月) 00:10:18
まあどこのコミュニティでも最初に「初心者なのですが」と書くやつは叩かれる
419デフォルトの名無しさん:2009/10/26(月) 00:20:06
質問者のレベルによって回答の仕方も変わるからね。
「初心者です」を後出しされるよりいいと思う。
420デフォルトの名無しさん:2009/10/26(月) 00:38:34
最初に自分が初心者レベルであることを書いてないなら書いてないで
「お前そんなことも知らないで今までよくやってこれたな」
と叩かれるだけで結局回答がこのスレでつくような質問は初心者には不可能となる
421デフォルトの名無しさん:2009/10/26(月) 01:07:47
アナル初心者なんですけど、
お尻の中はどうやって洗えばいいんですか? ><
422デフォルトの名無しさん:2009/10/26(月) 03:03:41
>>416
おじいちゃんお口臭いお(´・ω・`)
423デフォルトの名無しさん:2009/10/26(月) 08:29:39
Tomcat+MySQLでWebアプリを開発しています。
EclipseからTomcatを起動した場合は正常に動作しますが、.war ファイルを作って Tomcat にデプロイし起動すると
最初のデータソースへのアクセスで Cannot create JDBC driver of class '' for connect URL 'null' と怒られます。
データソースの設定は Web アプリの META-INF/Context.xml に記述していますが、ドライバクラス名も URL も取得できていないようです。
ちなみにドライバは Tomcatフォルダ/lib にコピーしてあります。
.war ファイルにした場合は、Tomcat 自体の設定に何かを追加する必要があるのでしょうか?
424デフォルトの名無しさん:2009/10/26(月) 08:39:41
public void actionPerformed(ActionEvent e) {}をオーバーライドして、
public void run()を匿名クラスとして定義したんだけど
なんで、自分自身のインスタンスthisが使えないのよ?

class Hoge extends JFrame{
public void actionPerformed(ActionEvent e) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Temp t = new Temp(this); ←ここで、IDEに怒られる
}}}}
425デフォルトの名無しさん:2009/10/26(月) 09:26:20
>>424
Tempって何よ?
426デフォルトの名無しさん:2009/10/26(月) 10:53:12
テンポラリとおもいきや添付ファイルだったり
427デフォルトの名無しさん:2009/10/26(月) 11:05:43
愚民の皆さま、何か間違ってますか?
428デフォルトの名無しさん:2009/10/26(月) 11:18:07
>>424
もしかして: Hoge.this
単に this と書くといちばん内側の匿名 Runnable を指す
429デフォルトの名無しさん:2009/10/26(月) 13:21:07
初心者です。
JFrameクラスのSetResizable()をfalseにしたとき
ウィンドウの内側に枠線のようなものが出るのですが
これを消すことはできますでしょうか。
430デフォルトの名無しさん:2009/10/26(月) 13:54:00
以前、JavaScriptでプログラムを書いていたので、上司からJavaをヤレと言われて、あわてています。
JavaScriptで書いてあるプログラムをJavaに持ってきても動作するのでしょうか?
431デフォルトの名無しさん:2009/10/26(月) 14:07:38
JavaとJavaScriptは完全に別物です
JavaScriptのことは忘れてイチからJavaを勉強する必要があります
432デフォルトの名無しさん:2009/10/26(月) 14:36:56
>>431
そうですか。上司にあなたのレスを見せることにします。
433デフォルトの名無しさん:2009/10/26(月) 14:39:55
>>432
ちげーだろ、これからはJavaといいたかったんじゃろ?
434デフォルトの名無しさん:2009/10/26(月) 14:47:31
>>430
Java 上で JavaScript を動かすことは可能だけど一部動作しない。
435430:2009/10/26(月) 15:22:22
動作するんですか。よかった。過去自分が作った資産が使えそうです。
436デフォルトの名無しさん:2009/10/26(月) 16:26:48
そりゃ動かせるけど、それはJavaをヤルってことにはならんのでは?
437デフォルトの名無しさん:2009/10/26(月) 16:31:48
JavaScript を JSP に貼り付けるのか?
438430:2009/10/26(月) 17:03:55
>>436
やっぱりJAVAらしく1から作り直した方が後々、いいですかね?
439デフォルトの名無しさん:2009/10/26(月) 17:13:56
ScriptEngineManagerなのか・・
440デフォルトの名無しさん:2009/10/26(月) 17:35:04
本気で言っているならばまずはJavaの勉強を少ししてから流用できるか検討しろ
441424:2009/10/26(月) 19:10:02
>>428
わかりました。ありがとうございます
442デフォルトの名無しさん:2009/10/26(月) 21:12:52
上司古いな
これからはむしろJavaScriptの時代なのに。
それかGWTでやれって事なのか?
443デフォルトの名無しさん:2009/10/26(月) 21:26:03
実はクライアントアプリをサーバアプリにしろというヤバい案件なのかも
444デフォルトの名無しさん:2009/10/26(月) 22:03:14
>>423
>>423
EclipseのプラグインからTomcatを起動してるときと、Tomcat単体で動かしてるときの違いを理解せよ。

<Tomcat>/conf/Catalina/localhost/<proj>.xml
445デフォルトの名無しさん:2009/10/26(月) 23:12:30
XMLでソフトの設定ファイルを書こうかなと考えていました
しかし、java.utils.Propertiesとかいうクラスを発見
XMLで実装するよりも、Propertiesの方が楽そうに印象を受ける

お前らなら、XML or Propertiesのどっちにするの
446デフォルトの名無しさん:2009/10/26(月) 23:14:33
Properties で XML 入出力
447423:2009/10/26(月) 23:32:39
>>444
ありがとうございます。
<Tomcat>/conf/Catalina/localhost に、.war ファイルから取り出した Context.xml を
Webアプリ名.xml としてコピーしたら、無事DBにアクセスできました。

ただ、この作業は必須なのでしょうか?
Tomcat6 では .war ファイルのみでデプロイ可能だと思っていたので、なんとなくすっきりしないような・・・
448デフォルトの名無しさん:2009/10/27(火) 00:15:19
どうしてXMLに固執するのか分からん。
ソフト固有の設定情報でしかなく他のソフトや他のコンピュータとのやりとりを行うこともないものなのに…
もちろんそういうことが必要な情報だというのならXMLも選択肢の一つだろうけど。
449423:2009/10/27(火) 00:29:37
済みません。しょうもないミスでした。。。
META-INF/Context.xml を context.xml にリネームして再度 .war ファイルをデプロイしたら
Tomcat が .war ファイルを展開後 <Tomcat>/conf/Catalina/localhost に Webアプリ名.xml としてコピーしてくれました。
Windows なので大文字・小文字は関係無いと思い込んでいたようです。
お騒がせしました。
450デフォルトの名無しさん:2009/10/27(火) 01:11:32
>>434
あっそ∞∞
451デフォルトの名無しさん:2009/10/27(火) 13:38:55
java超初心者です。会社のアプリがあって、それを元にいろいろ学習しようとおもったのよ。
6年くらい前のソースでborland.jbclってのが読み込めてなくてエラーでてんだけど、
borland.jbcl ていうパッケージ今ないのかな。JBuilderにはついてたみたいだけど、今のはないんだ。
昔の開発環境を用意しなくちゃならん?
452デフォルトの名無しさん:2009/10/27(火) 14:03:33
>>451
とりあえず未経験の素人向け入門書でも手にとってから質問しろやカス
453デフォルトの名無しさん:2009/10/27(火) 14:48:24
私女だけどJavaって難しいのね
優しく教えてくれてよろしくてよ?
454デフォルトの名無しさん:2009/10/27(火) 15:26:54
age
455デフォルトの名無しさん:2009/10/27(火) 19:20:21
上がってないぉ
456デフォルトの名無しさん:2009/10/27(火) 19:35:09
クラスローダでバージョンがって話の記事は読んだけど
結局、クラスローダって何するの?
457デフォルトの名無しさん:2009/10/27(火) 20:19:30
>>456
名前の通りなんだがな。
javaのクラスを使うために必要なもの。
Class.forName()とかみてみると少しは雰囲気つかめるかもしれない。
458デフォルトの名無しさん:2009/10/27(火) 20:20:25
jarってどう使えばいいんでしょう?
459デフォルトの名無しさん:2009/10/27(火) 20:22:13
>>457
わかりました。ありがとう
460デフォルトの名無しさん:2009/10/27(火) 20:46:23
>>458
ググれカス
461デフォルトの名無しさん:2009/10/27(火) 20:51:22
それしか言えない低能乙
462デフォルトの名無しさん:2009/10/27(火) 21:08:24
javaのファイルをコンパイルして起動する際、
javac(コンパイル)の場合は-classpathを設定しても
現在のディレクトリも探してくれるのに、
java(起動)は-classpathを設定したら
現在のディレクトリも探してくれないんでしょう?
仕様以外に何か理由があるんですか?
すいませんがアドバイスよろしくお願いします。
463デフォルトの名無しさん:2009/10/27(火) 21:10:11
仕様です
464デフォルトの名無しさん:2009/10/27(火) 21:17:54
>>461
そうか、君はアレに教えてあげるのか。
優しいんだな。
それは俺が悪かったな。
465デフォルトの名無しさん:2009/10/27(火) 21:20:14
Javaの列挙型はクラスなんですか?
クラスということは、値型ではなく参照型ということになりますよね。
466デフォルトの名無しさん:2009/10/27(火) 21:27:10
その認識で正しい
467462:2009/10/27(火) 21:32:04
>>463
やはり仕様なんですね。
アドバイスありがとうございました!
468デフォルトの名無しさん:2009/10/27(火) 21:54:00
XML、設定ファイル、プレーンテキストの3種類を扱おうと考えています
そのため、昨日までそれぞれに対応したクラスを作っていました
作っていて気がついたのですが、コンストラクタとpublic Object readFromXXXX(File file){}
2つしかメソッドがないクラスを3つも作ってしまいましたorz

そこで、staticでpublic staic Object readFromXXX(File file){}というのを作って、
ReadUtilsみたいなクラスにまとめようかと考えています

お前らならどう実装しますか?
469デフォルトの名無しさん:2009/10/27(火) 21:57:42
>>468
全部同じメソッド名にして interface を作る
470デフォルトの名無しさん:2009/10/27(火) 22:04:18
struts+hibernateでダイナミックフォームBeanを直接O/RマッピングのPOJOとして利用することはできますか?
471デフォルトの名無しさん:2009/10/27(火) 22:05:02
そんなことはやめろ。
472468:2009/10/27(火) 22:15:35
>>469
返答ありがとうございます

インターフェイスを作るのは思いつきませんでした
でも、XML、設定ファイル、プレーンテキストの各種読み込みクラスは
これ以上メソッドの数が増えそうにないのですが....

それでも、>>469だったインターフェイスを選択しますか?
473デフォルトの名無しさん:2009/10/27(火) 22:15:45
>>465
もしかしてC#の方で列挙型の質問している人かな。(マルチとは違う意味で)
Javaだと列挙型は後付けだし、プリミティブ型以外全てはクラスで作られてる。

C#の列挙型は列挙されていない整数値でもキャストして代入可能。(MSDNだと「できるけど、やるな!」と明記)
Javaでは整数値じゃないので代入(というよりキャスト)不可。
474470:2009/10/27(火) 22:31:58
>>471
すみません。理由を教えて頂けないでしょうか?
普通はFormBean→POJO→DAOの引数へという流れだと思いますが
FormBeanのフィールドとPOJOのものとがまるっきり同じ場合があるの
でFormBean→DAOの引数としても良いのではと思ったのですが。
475デフォルトの名無しさん:2009/10/27(火) 22:55:09
DAOの再利用性が画面の制約を受けるようになっちゃうと思うけど。
Dynaなら何でもいいとなるとタイプセーフじゃなくなるって問題もあるし。
そういった点を認識して使う分にはかまわないのでは。

*肝心のhibernateでDynaActionForm使えるかどうかは知らない。
476470:2009/10/27(火) 23:18:37
>>475
jsp+servletは勉強し始めたばかりで圧倒的に知識が不足しています。
的外れなことを言っている可能性があるのでご容赦下さい。

DynaActionFormとstruts-config.xmlを使ってXXXFormが自動生成されると認識しています。
うまくO/Rマッピングの設定ができればXXXForm→DBのレコードとなるのでタイプセーフなのではと思います。
ただXXXFormをうまくマッピングできるのかわかってません。

DAOの再利用性で言うとフォームの入力フィールドに影響を受けるので、ご指摘通り問題ですね。
例えばユーザ名を扱うとして、フォームで一つのテキストエリアで行っていたものを、姓と名を分離して入力す
るように変更した場合などは対応できなくなってしまいます。

どうやら止めた方が良さそうですね。ありがとうございました。
477デフォルトの名無しさん:2009/10/27(火) 23:34:57
>>472
なんとなくマジレスすると
この情報だけでinterfaceを導入するなんて考え方するやつは危険

別の責務を持つものを一つのクラスにまとめると
無意味な依存関係が出来上がる
478デフォルトの名無しさん:2009/10/27(火) 23:45:18
Strutsを利用した初期のProjectではDynaActionFormを使うこともあったけど、
そういったプロジェクトについても、リファクタ作業の中で個別のForm実装に置き換えたケースがほとんど。

DynaActionFormはタイプセーフではないです。
Formの値を使うときはDynaActionForm型のインスタンスに対してget("String")のような
属性名を「文字列」として渡す必要があるため、型情報からはどんな属性が存在しているのか知ることはできません。

プロジェクトの規模が大きくなればなるほど、コードがタイプセーフに作られているかどうかが
メンテナンス性を大きく左右する要因になってくると思います。

プレゼンテーションのモデル(Formや画面の表示/入力項目)と
ドメイン層で扱うモデルは明確に分割することを意識しておくのが重要だと思います。
(実際にそのような設計をするかどうかはおいて)
479デフォルトの名無しさん:2009/10/27(火) 23:48:56
>>472

誰がファイルの中身(XML、設定ファイル、プレーンテキスト)について知っている必要があって、
誰がどんな操作をしたいのかによって設計は変わるでしょ。
480472:2009/10/28(水) 08:06:42
>>477
インターフェイスの導入は検討してみます

>>479
XML、設定ファイル、プレーンテキストを読み込んだら後は
何にもしないと思います
481デフォルトの名無しさん:2009/10/28(水) 13:54:27
すいません。質問させてください。
tomcat6.xでカンマの入った値をonmouseover=に指定すると以下のJSPコンパイルエラー

出力されてしまいます。
Attribute value tip + "'" is quoted with " which must be escaped when used wit
hin the value

<%
String name = "yamada";
%>
<tt:mytag onmouseover="<%=name + "'"%>"/>

カンマやダブルコートを含む文字列に対して、どのようなエスケープ処理を施せば解決
するのでしょうか?
ご教授おねがいします!
482デフォルトの名無しさん:2009/10/28(水) 16:51:37
質問させていただきます。
今度ネットワーク系の研究室に所属になりプロトコルをjavaで
作成しなければいけないのですが、プログラミングは苦手で困っています。
何か参考になるHPなどありましたら教えていただけませんでしょうか?
483デフォルトの名無しさん:2009/10/28(水) 17:41:24
プロトコルはJavaでは作れません
484デフォルトの名無しさん:2009/10/28(水) 17:43:47
医学系でプロトコールとかあるからよくわからんのぅ

アプリケーションプロトコルならRFC読むかどっかの実装参考にしろ
485デフォルトの名無しさん:2009/10/28(水) 18:39:01
>>482
プログラミングが苦手で研究室所属している人たちの HP です。参考になれば。
http://ameblo.jp/setuna119/theme-10000221002.html
http://psyschaka.dtiblog.com/blog-entry-253.html
http://myhome.cururu.jp/pohher0906/blog/article/40003262183
基本は、他人に振るか、根性で頑張るか、進路を変えるかのようです。
486デフォルトの名無しさん:2009/10/28(水) 19:34:49
>>481

String name = "yamada'";
じゃだめなの?
487デフォルトの名無しさん:2009/10/28(水) 19:53:21
javaを学ぶためにラリーカーを走らせて得点を競うcoderallyを使っているんですが、
良い戦略が書いているサイトを知っていたら教えてください。

もし、過去にcoderallyをしたことがあって、こんないい戦略を練ったよって言う人がいれば、
その戦略を教えてほしいです。
488デフォルトの名無しさん:2009/10/28(水) 20:19:12
class A
{
public static void main(String args[])
{
int height = 160;
int weight = 47;



double rohrer1 = 10000000*weight/(height*height*height);
double rohrer2 = weight/(height*height*height)*10000000;

System.out.println("ローレル指数:" + rohrer1);
System.out.println("ローレル指数:" + rohrer2);
}
}

//結果 114.0 0.0
このコードを
    double rohrer1 = 10000000*(double)weight/(height*height*height);
double rohrer2 = (double)weight/(height*height*height)*10000000;
こう変えると結果が 114.74- 114.74-になるのはなぜですか?
小数点以下も表示したいので、キャスト演算子を使っただけなのですが、、、
489デフォルトの名無しさん:2009/10/28(水) 20:36:05
Eclipseを使っていたので、NetBeansがやけに重く思える
490デフォルトの名無しさん:2009/10/28(水) 20:36:40
Eclipse(笑)
491デフォルトの名無しさん:2009/10/28(水) 20:56:06
フリーで使えるプライベートUDDIレジストリってありませんか?
昔はJWSDP1.6に含まれていたみたいだけど、
今ではダウンロード出来なくて困ってます。
492デフォルトの名無しさん:2009/10/28(水) 21:05:41
Eclipseも最近は決して軽くないけどな
3.2くらいまでは確かに軽かったんだけど、3.4くらいから充分にメモリないと厳しい
493デフォルトの名無しさん:2009/10/28(水) 21:07:14
>>488
素直にすべてdoubleにすれば?
494デフォルトの名無しさん:2009/10/28(水) 21:13:04
>>491
鯖立てたいってことだよね?
ググッただけだけど、こんなんあったよ。

OpenUDDI Server
http://uddi.xml.org/product/openuddi-server

UDDI server in java.
http://sourceforge.jp/projects/sfnet_soapuddi/

Novell Nsure UDDI Server
http://developer.novell.com/wiki/index.php/Novell_Nsure_UDDI_Server
495481:2009/10/28(水) 21:23:05
>>486
その方法で解決できました
ありがとうごさいます!
496デフォルトの名無しさん:2009/10/28(水) 21:26:35
>>488

>double rohrer1 = 10000000*weight/(height*height*height);
>double rohrer2 = weight/(height*height*height)*10000000;
この書き方はintに丸められた(小数点以下切捨て)の結果を変数(double)に代入している。

>double rohrer1 = 10000000*(double)weight/(height*height*height);
>double rohrer2 = (double)weight/(height*height*height)*10000000;
一方、この書き方は式にdoubleのデータ型が出現するために、すべての計算結果がdoubleになっている。

下の書き方のほうが高い精度(double)で計算されるのは当然。
497デフォルトの名無しさん:2009/10/28(水) 21:33:52
>>496
それは理解できるのですが、変更する前のコードではrohrer2の値が
0.0になるのです。それがなぜかわからない。
498デフォルトの名無しさん:2009/10/28(水) 21:39:46
47/(160*160*160) は 0 だ
0 に何を掛けても 0 だろ
499デフォルトの名無しさん:2009/10/28(水) 21:44:40
15.17 Multiplicative Operators
The operators *, /, and % are called the multiplicative operators. They have the same precedence and are syntactically left-associative (they group left-to-right).
500デフォルトの名無しさん:2009/10/28(水) 21:45:14
あーそうか
int型だから47/(160*160*160)の部分は小数点以下切捨てで0になるのか。
ありがとう。
501デフォルトの名無しさん:2009/10/28(水) 23:25:14
>>485
ありがとうございます。
自分は根性でがんばっていこうと思います
502デフォルトの名無しさん:2009/10/29(木) 13:29:52
一桁のみ表示させるのと一桁目以外を表示させたいのですが、何を使えば
良いでしょうか?
1234と入力したら
一桁目、4
一桁目以外、123
のように表示させたいです。
503デフォルトの名無しさん:2009/10/29(木) 14:03:31
10で割った商と余りを求めればおk
504デフォルトの名無しさん:2009/10/29(木) 19:40:41
ストリームを閉じる時は、BufferedReaderとInputStremのどちらを最初に閉じればいいのですか?
505デフォルトの名無しさん:2009/10/29(木) 22:43:08
IOUtils.closeQuietlyでなぜか「ぬるぽ」が発生
なんで、例外がはっせいするんですかね?

Exception in thread "main" java.lang.NullPointerException
at java.io.FilterInputStream.close(FilterInputStream.java:155)
at sun.nio.cs.StreamDecoder.implClose(StreamDecoder.java:358)
at sun.nio.cs.StreamDecoder.close(StreamDecoder.java:173)
at java.io.InputStreamReader.close(InputStreamReader.java:182)
at java.io.BufferedReader.close(BufferedReader.java:497)
at org.apache.commons.io.IOUtils.closeQuietly(IOUtils.java:142)
506デフォルトの名無しさん:2009/10/30(金) 00:05:54
StrutsのActionForwardのexecuteでファイルのダウンロードを
行う処理を作ったんだけど、どう処理させるべきかわからない
ところがあります。

JSP上にボタンを配置して、このボタンをクリックしJavascript
のFunctionを実行。functionの中でformから上記のexecuteを
呼び出す(submitする)ようにした場合は、うまくファイルの
ダウンロード画面が出てダウンロードができます。
そこでJavascriptのFunctionの中身と同じものをJSPの
onLoadイベントで処理させると、「セキュリティ保護のため、
このサイトによる・・・」とポップアップが出てきます。
(IEを使っています)バーをクリックをして「ファイルのダウンロード」
を選択しても、なにもおきません。
(ファイルのダウンロード画面が出てダウンロードができることを
期待したのですが)
「ファイルのダウンロード」を押したら、ダウンロードを行ってほしい
のですが、なにか設定が足りないのでしょうか。


ダウンロードの処理は、executeの引数のHttpServletResponseに
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="ファイル名"
Content-Length
を設定し、getOutputStream()を使い出力するといった感じです。
streamをcloseすると、ポップアップが出るようなんだけど、
そこで出力がおわっているから「ファイルのダウンロード」を押し
ても、なにもでないのだろうか。




507デフォルトの名無しさん:2009/10/31(土) 14:00:10
大規模規制でこのスレもずいぶん過疎ったね〜
508デフォルトの名無しさん:2009/11/01(日) 13:23:25
こんにちわ
ディスプレイサイズって取得できるのでしょうか
509デフォルトの名無しさん:2009/11/01(日) 14:39:57
解像度なら
DisplayMode dm = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0].getDisplayMode();
System.out.println("width:" + dm.getWidth() + ", height:" + dm.getHeight());
510デフォルトの名無しさん:2009/11/01(日) 14:41:56
サーブレットの練習で簡単なうpろだを作ろうと思って、
アップロードしたファイルをnew File("hoge.hoge").createNewFile();ととりあえず試しに保存したら、
なぜか保存先がC:\tomcat\に・・・。

アプリケーションのルートパス(C:\tomcat\webapps\hogeapp\)を取得する方法はないんでしょうか?
(もちろん、実運用上はアプリ内に保存とかでなくて全く別のディレクトリに保存するのが良いとは思っていますが)
511デフォルトの名無しさん:2009/11/01(日) 15:47:55
Servlet APIを良く読め
512デフォルトの名無しさん:2009/11/01(日) 23:00:00
長時間のFull GCを避けるために、一定感覚でFull GCを起こさせたいのですが、
どうすればよいのでしょうか?
513デフォルトの名無しさん:2009/11/01(日) 23:04:51
文字を指定したバイト数で切る場合、全角文字を半分で切ってしまう場合があります。
全角文字を半分で切ってしまう場合はエラーとしたいのですが、
どうやってチェックするのが、一番効率的でしょうか。
514デフォルトの名無しさん:2009/11/01(日) 23:18:05
>>512
java.lang.System#gc()
java.lang.Runtime#gc()

>>513
使ってるエンコーディングによるのでなんとも。
シフトJISだと面倒だな。
515デフォルトの名無しさん:2009/11/01(日) 23:20:46
>>514
Windows-31Jを使っています。まぁ、シフトJISです。
全角を切ると?になってこまっています。
516デフォルトの名無しさん:2009/11/01(日) 23:30:56
>>515
厳密にやりたいなら、どうにかして文字境界を確定させて、
確定した文字境界から一文字づつ全角/半角判定してって最後のバイトが全角の1バイト目か判定するしかない。

簡単に思いつくのは SJISの全角1バイト目にも全角2バイト目にも使われてない
0x00 〜 0x3F を発見すりゃ文字境界発見できるぐらいだな。
517デフォルトの名無しさん:2009/11/02(月) 00:53:34
エンコード混在だったら・・・
518デフォルトの名無しさん:2009/11/02(月) 01:17:26
Javaっていいの?
仕事が多いって聞いたけど。
興味あるけど、C++でマルチプラットフォームのアプリが作れるなら
Javaやる必要ないかな?
519デフォルトの名無しさん:2009/11/02(月) 01:35:57
C言語で作った計算ライブラリをJavaから使えるのでしょうか?それとも全面移植をしないといけないのでしょうか?
520デフォルトの名無しさん:2009/11/02(月) 01:45:39
>>519
>C言語で作った計算ライブラリをJavaから
どうしてもそうする必要があるならJNIでもどうぞ。
521デフォルトの名無しさん:2009/11/02(月) 02:10:39
http://pc12.2ch.net/test/read.cgi/tech/1033795664/
★お前らJavaはJNIで組もうぜ★

ウィンドウズ側のdirectxを叩いたりしてパフォーマンス上げるのによく使われてる。
522デフォルトの名無しさん:2009/11/02(月) 20:20:57
いまどきdirectX叩いてパフォーマンス上がる分野なんて知れてる。
クロスプラットフォーム版JMFですらCPUごり押しでいける時代なのに。
523デフォルトの名無しさん:2009/11/02(月) 23:32:17
directxのエンコーダ使ったほうが速くない?
524デフォルトの名無しさん:2009/11/03(火) 00:45:21
JSmoothで出来たEXEから、逆コンパイラ等の様々なツールを使って

元のJavaソースを取り出すなんて事は不可能ですか?
525デフォルトの名無しさん:2009/11/03(火) 13:32:39
/** ソフトをスターとする */
public void start() {
  Thread load = new Thread(new Runnable() {
    public void run() {
      try {
        /** 設定を読み込む処理 */
} catch(Exception e) {
exception = e;
}
}
});
load.start();

MainFrame frame = new MainFrame();

try {
load.join();
} catch (InterruptedException ex) { /*ignore*/}

frame.setMenuTree(new JTree(node));
frame.setVisible(true);
}
526525:2009/11/03(火) 13:46:04
コードを見やすくするために、コードを成形していたら間違えてPOSTしてしまいました
設定の読み込みに失敗した場合は致命的なので、ソフトを強制終了していますが
InterruptedExceptionを捕まえた場合も、ソフトを強制終了させようか迷っています
エロい人教えてください!!

Exception exception = null;

/** ソフトを起動するために使う */
public void start() {
  Thread load = new Thread(new Runnable() {
    public void run() {
      try {
        /* 設定を読み込む処理 */
      } catch(Exception e) {
        exception = e;
      }
    }
  });
  load.start();

  /* 読み込むデータが多いので、別のスレッドでウインドウを作成 */
  MainFrame frame = new MainFrame();
  try {
    load.join();
  } catch (InterruptedException ex) { /* 無視 */}
 
  if(exception !=null) System.exit(0) /* 致命的なエラーの発生した為終了 */

  frame.setMainView(new MainView(読み込んだ設定));
  frame.setVisible(true);
}
527デフォルトの名無しさん:2009/11/03(火) 15:09:50
>      try {
>        /* 設定を読み込む処理 */
>      } catch(Exception e) {
>        exception = e;
>      }

>  if(exception !=null) System.exit(0) /* 致命的なエラーの発生した為終了 */

InterruptedException以前に例外処理からやり直せ。
これじゃあエラーコードでgotoするのと変わらん。
528526:2009/11/03(火) 15:50:18
>>527
/* 設定を読み込む処理 */と書いてはいますが、実際にはメインの画面に表示するデータを読み込んでいます。
読み込みに失敗した場合はかなり致命的で、同類のソフトも同じような処理をしています。
if(exception !=null) System.exit(0)とも書きましたが、実際にはエラーダイアログを表示してソフトを終了させています。
また、start()を実行するfile.exists()でファイルの確認をしているので、なかなかIOExceptionはでないハズです。

つまり、IOExceptionが出る確率は低い、読み込みに失敗したらソフトとしては何もできない事が無い
よって、無駄に起動させてもしょうがないからソフトを落とした方がいい

ということです。
529デフォルトの名無しさん:2009/11/03(火) 16:56:40
キャッチしてもなにも処理できないならキャッチする意味ないんじゃね?
データ取得をリトライするとか、データのクローズ処理とか、
あるいは失敗をユーザに警告してリトライ/終了を選択させるとかならいいが。
530デフォルトの名無しさん:2009/11/03(火) 20:11:41
try-catchで掴んだ例外をチェーンするわけでもなく外に出すのは行儀わるいだろ。
531デフォルトの名無しさん:2009/11/03(火) 20:34:06
一つのインスタンスのメモリ使用量とか生成時の負荷に、
非staticメソッドの数や内容は影響を与えますか?
それともクラスサイズが増えるだけでしょうか?
いろんな引数のパターンのコンストラクタや初期化メソッドをオーバーロードしたいのですが、
それがそのクラスのインスタンスの生成コストを増やしてしまうのではと気になったのでどうか教えて下さい。
532526:2009/11/03(火) 20:55:06
>>530
start()の前にfile.exists()をしているので、
IOExceptionは無視しちゃえってことですか?
533デフォルトの名無しさん:2009/11/03(火) 21:06:59
ファクトリメソッドって何ですか?
リフレクションみたいなものなんですか。
534デフォルトの名無しさん:2009/11/03(火) 21:17:47
デザインパターンでFactoryパターンっていうのがありまして、
デザインパターンに関しては丁寧に解説してるサイトが結構あるから参考にしてみては。
主にコンストラクタを明示したくないときに使うモノだと思う。
(条件によって動的にコンストラクタを選択して呼び出したい時とか)
535デフォルトの名無しさん:2009/11/03(火) 21:36:35
>>533
クラス生成の条件判断を別クラスに完全に切り離すことで
いろいろ都合がよくなることがあるんだ(直接には単体テストとかで分岐が減るとか)。
536デフォルトの名無しさん:2009/11/03(火) 22:32:09
>>526>>527,>>529-530が論点にしてるところを良くみろ。
try-catchの方法論としておかしいやり方な上に意味の無いことをしてると言われてるんだ。

あと
>start()を実行するfile.exists()でファイルの確認をしているので、なかなかIOExceptionはでないハズです。
これはプログラマから見て起こり得ない事だから例外を使うんではなく契約プログラミングを使う。
例外処理と契約の使い分けが出来てない。
537526:2009/11/03(火) 22:36:36
>>536
なるほど、わかりました
そこら辺を詳しく調べてみます
538デフォルトの名無しさん:2009/11/03(火) 23:04:16
Class.forNameでクラスを動的にロードしたとします。
そのロードしたクラスは使われるかどうかわからないとします。
こういうクラスって、GCの対象になるのでしょうか?
539デフォルトの名無しさん:2009/11/04(水) 02:05:38
なんで使われるか分からないものを動的ロードするのかと小一時間・・・。
540デフォルトの名無しさん:2009/11/04(水) 02:23:33
Javaで既存のmp3ファイルにエフェクトしながら再生したいんですけど、何か手がかりを教えてください
541デフォルトの名無しさん:2009/11/04(水) 03:00:33
>>538
ちょっとググってみたが
ttp://www.nminoru.jp/~nminoru/java/class_unloading.html
これによれば、クラスをロードしたクラスローダがGCされないとGCの対象にならない。
クラスをGCして欲しかったら、URLClassLoaderあたりのクラスローダを明示的に使って
ロードするしかない。
542デフォルトの名無しさん:2009/11/04(水) 04:06:52
>>540
JMFならプラグイン実装、Java Soundならリハーブコントロールかint配列直接いじる。
543デフォルトの名無しさん:2009/11/04(水) 06:48:58
ありがてえです。やってみます
544デフォルトの名無しさん:2009/11/04(水) 14:13:08
http://pc12.2ch.net/test/read.cgi/tech/1201346803/
【JMF】Java Media APIs【JOGL】
545デフォルトの名無しさん:2009/11/04(水) 15:27:25
itextの質問はここでいいのでしょうか?
546デフォルトの名無しさん:2009/11/04(水) 16:36:02
ヤッター
規制解除ダー


>>545
とりあえずまとめて投下すれば誰か答えるかも
俺は今さっきiText知ったばっかり
547545:2009/11/04(水) 17:12:08
じゃお言葉に甘えて

イントラで図面の管理システムを作っております。
検索結果から選択した図面のPDFを読み込んで電子印・出力者情報を付加して
新ウインドウにて表示後ソレを印刷してもらうという流れになってます。
ここまではitextの解説サイトを参考に何とか作成したのですが…

電子印を半透明にして欲しいと要望されまして、
ちょっと弄ってみたのですがどうにもうまくいかない状態です

現状:
スキャナーで読み込んだPDF=PdfWriter.GetDirectContentUnder()にaddtemplate
電子印=PdfWriter.GetDirectContent()にcircle,linetoをstroke + ClumnTextにて作成

読み込みデータを文字データより上に配置すると文字はまったく表示されず、
文字を半透明にするクラスも見つけられず…

「このクラス使えばいいよ」とかあれば教えていただきたく…
548デフォルトの名無しさん:2009/11/04(水) 18:18:36
>>547
埋め込みの文字のフォントのColorで,アルファブレンド値設定してみたらどうだろ^p^

# 前面の絵と被ったら,電子印が擦れるけどいいのかな
# 実は灰色とか,(背景色+前景色)/2くらいとかじゃない?
549デフォルトの名無しさん:2009/11/04(水) 19:43:13
NetBeansを使っているのですが、わざわざswingを手書きしています
swingのコードがあまり綺麗に書けないわけですが、
swingのコードを綺麗に書くポインがある人は教えてください
550デフォルトの名無しさん:2009/11/04(水) 20:22:01
JSmoothで出来たEXEから、逆コンパイラ等の様々なツールを使って

元のJavaソースを取り出す事は可能でしょうか?
551デフォルトの名無しさん:2009/11/04(水) 20:42:35
>>550
様々なツールを使ったらなんでも出来そうな気がする

って前回答したとおもう
552デフォルトの名無しさん:2009/11/04(水) 21:26:01
最近スレが変わるたびに一回は見る質問だな。>>550
そんな具体性のない質問してる暇があったら自分で試せよ。
全く同じソースは無理だろうが同じ動作をするソースは取れるだろう。
553デフォルトの名無しさん:2009/11/04(水) 23:09:23
>>551-552
レスどうもです。

JSmoothのEXEはjar を組み込んで実行させる形のようなので
要はjarをEXEから取り出せればよいという事ですよね?
jarファイルからソースを取り出す事は比較的容易に出来ると思うので・・・。
ググって見たんですが、JSmoothのEXEからjarを取り出す方法がよく分からなかったので
知っている方がいたら教えて下さい。
554デフォルトの名無しさん:2009/11/05(木) 00:52:11
555デフォルトの名無しさん:2009/11/05(木) 03:21:51
>>554
レスどうもです。
556デフォルトの名無しさん:2009/11/05(木) 04:36:58
人の話も聞かず全部丸投げしてるのは喧嘩売ってるのか?
exeにjarが埋め込まれてるならバイナリエディタでjarのヘッダ読んでjarの部分だけ切り出せばいいだろ。
557デフォルトの名無しさん:2009/11/05(木) 10:58:08
半透明って言われてそのまま50%にするのはどうかな。
見栄えとか印刷具合も考えて調整したほうがいい。70%ぐらいは無いと透かしが綺麗に読めないと思うよ。

単なる言われた通りに動く実装者じゃなくて、社内の人間の本当に要求してるものを実現するのがSEで生き残る分かれ目。社内の人間からあいつ使えないなって言われてリストラされない様になw
558デフォルトの名無しさん:2009/11/05(木) 11:03:17
思うだけじゃ話にならないので,実際にやってみないとな!
って感じじゃねーの
559デフォルトの名無しさん:2009/11/05(木) 11:03:52
お説教かよ( ・ω・)y─┛〜〜
560デフォルトの名無しさん:2009/11/05(木) 11:04:05
何言ってんだこいつ
561デフォルトの名無しさん:2009/11/05(木) 11:05:22
語りたい、お年頃なのさ

確かに現場の意見は大切だと思うよ?
言われた通り動く実装者云々と何の関連もないけど
562デフォルトの名無しさん:2009/11/05(木) 11:05:45
少なくとも言われたとおりに動かないのはそもそも駄目だろ
その上で何か提案するなら分かるが
563デフォルトの名無しさん:2009/11/05(木) 11:14:29
25歳と見た
564デフォルトの名無しさん:2009/11/05(木) 11:38:55
>>557
なにこの糞SEが言いそうなテンプレその1は。

PGの仕事じゃないし。
565デフォルトの名無しさん:2009/11/05(木) 11:45:55
仕様にないコード書いたら火の付いた煙草を押し付けられるのが基本
566デフォルトの名無しさん:2009/11/05(木) 11:49:11
過去にコメントアウトした行を全部消して、新しく書き直しさせてくださいよ。・゚・(ノД`)・゚・。
567デフォルトの名無しさん:2009/11/05(木) 11:55:04
履歴管理に使ってるんだからダメだ
568デフォルトの名無しさん:2009/11/05(木) 11:58:24
規制解除されてやっと書き込みが戻ってきた
このスレ死んでるのかと思ったよ
569545:2009/11/05(木) 12:30:29
なんか呼ばれた気がする

>>548
アルファブレンド値ですね。
ちょっと調べてみてますが、現状まだうまくいって無いです

>>557
50%も何も現状は透明化できてないんですよ…
なにかいい案出してくれませんかね?

>単なる言われた通りに動く実装者じゃなくて、社内の人間の本当に要求してるものを実現するのがSEで生き残る分かれ目。
>社内の人間からあいつ使えないなって言われてリストラされない様になw
自称給料泥棒の俺に抜かりは無かった
570デフォルトの名無しさん:2009/11/05(木) 12:31:29
最低q
571デフォルトの名無しさん:2009/11/05(木) 13:02:58
下の式を実行するとokが表示せず、boの結果はfalseになるんですが、
理由がわかりません。
下のif文はまず、括弧のboにtrueが代入され、
次に&&と|ですが、
|が優先順位が高い為、先に実行。
最後はif(false && true){〜という形になり最終的にはfalse。
結果if内のokは表示されないが、
その下のboはtrueが出力と考えたんですが、
間違ってますでしょうか?
すいませんがアドバイスよろしくお願いします。

boolean bo = false;
if(false && (bo=true) | true ){System.out.println("ok");}
System.out.println(bo);
572デフォルトの名無しさん:2009/11/05(木) 14:36:54
よーわからんけど

&&、||と&、|の違い
&&、|| と&、|において演算子が意味するところは同じですが、
その振る舞いには明確な違いがあります。
& &と&は左オペランドと右オペランドのいずれもがtrueの場合trueを返します。
このことは左オペランドがfalseの場合は右オペランドがtrue、falseにかかわらずfalseを返すとも言えます。
&&は左オペランドがfalseの場合右オペランドを実行せずにfalseを返します。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&は左オペランドがfalseの場合右オペランドを実行した後、falseを返します。
573デフォルトの名無しさん:2009/11/05(木) 15:59:57
574デフォルトの名無しさん:2009/11/05(木) 16:27:20
>>573
できたできた。
575デフォルトの名無しさん:2009/11/05(木) 18:08:10
>>549
私もそんなポインがある人とお知り合いになりたいです。
ぜひ紹介してください。お願いします。
576デフォルトの名無しさん:2009/11/05(木) 18:15:12
ポインは〜
赤ちゃんが吸うためにあるんやでぇ〜
577デフォルトの名無しさん:2009/11/05(木) 20:19:56
俺が吸うためにあるんだ!
578デフォルトの名無しさん:2009/11/06(金) 10:44:39
ポインタは馬鹿には無理。

何か現場の人間に虐げられてる糞PG多そうだなw
579デフォルトの名無しさん:2009/11/06(金) 14:58:33
質問させてください。
今JavaでのGUI開発について勉強するために計算機アプリケーションを
構築中なのですが、テキストフィールドにWindowsのデフォルトで
表示されるポップアップ(コンテキスト)メニューが表示されてしまい、
意図しない動作をさせることができるようになってしまっています。
そのテキストフィールドのポップアップメニューにnullを当ててしまうと
例外が発生してしまい、removeメソッドでポップアップメニューを消去しようとしても
デフォルトのMenuComponentをどう指定していいのか解らず、
メニュー項目を定義していないポップアップメニューをテキストフィールドに設定しても
RuntimeExceptionが発生してしまいます。
今回はGUI構築に初めて手を付けるということで、敢えてAWTのみで構築しています。
Swingで構築すればこの辺りは気にしなくても良い様なのですが・・・
AWTでポップアップメニューが表示されないようにすることはできないのでしょうか?

長文駄文失礼しました。
580デフォルトの名無しさん:2009/11/06(金) 16:10:58
>>177
プレーンテキストでもダメだった…
そこでは無いみたい
581デフォルトの名無しさん:2009/11/06(金) 16:14:34
誤爆乙
582デフォルトの名無しさん:2009/11/06(金) 18:37:48
JFS+Faceletsで

<my:getUrl urlVal="url" />
<h:outputLink value="#{url}">文字列</h:outputLink>

のところ、urlが空の場合には<h:outputLink>をはずすような処理をするにはどうすればよいでしょうか?
getUrlはカスタムタグハンドラでurlをセットする処理を行います。

普通はJSTLを使うのでしょうか?
583582:2009/11/06(金) 18:45:01
el式とh:outputLinkのdisabled属性を使いできました。すみません。
584デフォルトの名無しさん:2009/11/06(金) 21:42:53
FLASHのおかげでJAVAを使う機会が大幅に減った
585デフォルトの名無しさん:2009/11/06(金) 22:01:31
Flashって言語でないから習得むずかしそう
586デフォルトの名無しさん:2009/11/06(金) 22:04:12
FlashにもActionSciptがあるジャマイカ
587デフォルトの名無しさん:2009/11/06(金) 22:50:37
よく知らないんだけど、Actionscriptだけじゃ完結しないんじゃない
それともFlashがRAD的位置づけになるの
588デフォルトの名無しさん:2009/11/06(金) 22:51:20
Flashとjavaてどう被るんだ?
アプレットの頃は激重になるってかなり嫌われてすぐに廃れたが。
flashてそのあとだろ。
589デフォルトの名無しさん:2009/11/07(土) 00:10:30
test
590デフォルトの名無しさん:2009/11/07(土) 02:23:35
フラッシュはなんか違う。後頻繁にバージョン上がるので後の手間もかかるよ。企業だとフラッシュ無効にしてる所も有る。
アプレットはブラウザの制約受けるからな。ちゃんとjavaアプリ配布した方が自由度高い。
591デフォルトの名無しさん:2009/11/07(土) 05:52:28
jnlpですな
592デフォルトの名無しさん:2009/11/07(土) 08:29:47
jwsだろ。どっちかというと
593デフォルトの名無しさん:2009/11/07(土) 12:52:26
JAVAで結果を返して、Flashで表示がカコイイわぁ
594デフォルトの名無しさん:2009/11/07(土) 13:24:33
com.sun.facelets.tag.TagHandler#applyでServletContext#getRealPath
の様にファイルの絶対パスを取得するスマートな方法はなんですか?

海外のWEBページなどでは

FacesContext fctx = ctx.getFacesContext();
ServletContext sctx = (ServletContext)fctx.getExternalContext().getContext();
String rpath = sctx.getRealPath(path);

のようにやってますけど。
595デフォルトの名無しさん:2009/11/07(土) 14:39:32
質問です

javaプログラムを起動してから1日ぐらい放置して、急に付加が高い処理を始めると処理が急に遅くなるんですけど、
どういう原理でそうなるんでしょうか?
596595:2009/11/07(土) 14:58:02
解決しました。

詳しいことは書けませんがGCが悪さしているようです。
597デフォルトの名無しさん:2009/11/07(土) 14:58:05
>>595
不可が高いからじゃね?
598デフォルトの名無しさん:2009/11/07(土) 14:58:47
(;´∀`) おういえ
599595:2009/11/07(土) 15:00:13
しかし、GCの挙動を意図的に制御しようとするとコードが煩雑になりますねぇ・・・
JavaやめてC#で行くことにします;;
600デフォルトの名無しさん:2009/11/07(土) 15:00:53
JVMの実装依存だけど
起動時のコマンドラインオプションでGCの処理をかえられます
どれがいいとはいえないけど,試してみたら?
601595:2009/11/07(土) 15:06:55
>>600
検討済みです。
しかし、どれも適切ではありませんでした。
602デフォルトの名無しさん:2009/11/07(土) 15:10:22
えっ検討してたのに再確認した・・の・・・?

とりあえず打つ手が無いのならしかたがない
603デフォルトの名無しさん:2009/11/07(土) 16:39:31
Cでも負荷高いのは変わらないと思うなw
604デフォルトの名無しさん:2009/11/07(土) 16:46:06
1日放置後に発現する問題をどうやって20分足らずで解決したのかを知りたい
605デフォルトの名無しさん:2009/11/07(土) 17:28:35
gc問題をこの短時間で解決し、さらにC#へ移植(?)をあっさり決断、スーパーPGすぐるwww
606デフォルトの名無しさん:2009/11/07(土) 17:34:17
俺GC問題だったら原因究明に1週間〜3ヶ月の工数必要だわ
607595:2009/11/07(土) 18:31:36
1日放置って書きましたけど、実際には5分で起きました。
608デフォルトの名無しさん:2009/11/07(土) 18:43:48
5分でパフォーマンス悪化する糞コード書いたのか。
一般的にJITが働けば最終的に速度は安定するんだが5分後から1日後でパフォーマンス変わらんとは・・・。
609デフォルトの名無しさん:2009/11/07(土) 18:47:27
>>69606
今すぐ辞表を書いてくれ
610デフォルトの名無しさん:2009/11/07(土) 18:56:16
>>69606
お前はクビだ

611595:2009/11/07(土) 18:57:09
ん・・・勘違いされてるけど面倒くさいからもういいですよ。
すでに解決したことだし、ここで質問して解決できる程度の問題でもなかったですし。
おそらく詳細を書けば分かる人もいるかもしれないけど、急いでいるのでそこまでしません。
質問してごめんなさい。
612デフォルトの名無しさん:2009/11/07(土) 18:58:51
ソースの先頭のライセンス表記を編集したいのですが、一括で自動編集してくれるようなものはないでしょうか?
613デフォルトの名無しさん:2009/11/07(土) 19:12:59
プログラマならそんなもん作れよw
614デフォルトの名無しさん:2009/11/07(土) 19:24:46
作らんでもgrepで一発だろw
615デフォルトの名無しさん:2009/11/07(土) 19:25:47
1ヶ月もありゃ余裕で作れるだろう
616デフォルトの名無しさん:2009/11/07(土) 19:30:57
悪いがWindowsなんでgrepなんぞ使えない
617デフォルトの名無しさん:2009/11/07(土) 19:33:51
>>615
いいからおまえは辞表書けw
618デフォルトの名無しさん:2009/11/07(土) 19:41:24
正規表現でやっちゃうとか不安じゃないですか?
まぁそれなら作ることにします。
失礼しました。
619デフォルトの名無しさん:2009/11/07(土) 20:01:44
EJBの質問です。

session beanをtransfer objectに積んで
ネットワーク越に他のEJBサーバに転送しても大丈夫ですかね?

remote・local・statefull・statelessによって違う場合は
そのへんもよろしくお願いします
620デフォルトの名無しさん:2009/11/07(土) 20:20:05
面倒なことをすれば大丈夫です
621デフォルトの名無しさん:2009/11/07(土) 23:11:00
普通やらないってことだな
622デフォルトの名無しさん:2009/11/07(土) 23:17:18
EJBは糞
623デフォルトの名無しさん:2009/11/08(日) 00:10:26
あの、質問なんですけど、grepでどうやって置換するんですか?
624デフォルトの名無しさん:2009/11/08(日) 00:16:19
grepじゃ無理だろ>>614の勘違いだろ
edやsedやawkとかならできそう
windows用もネットに転がってる
625デフォルトの名無しさん:2009/11/08(日) 00:20:21
grepして置換するテキストエディタなんて五万とあるだろ
626デフォルトの名無しさん:2009/11/08(日) 00:24:31
説教くさいおっさんに聞こえるかもしれんが
まじに後方参照程度までの正規表現は使えるようになっておいたほうがいいぞ。
そういったテクニックに救われる場面が必ず出てくる。
627デフォルトの名無しさん:2009/11/08(日) 00:25:37
grepして置換する機能を持ったテキストエディタのことを、普通grepとは呼ばない。
628デフォルトの名無しさん:2009/11/08(日) 01:00:40
シンボルを見つけられませんというエラーが出ます
助けてください
// <applet code="RotateEx.class" width="900" height="600"></applet>

import java.awt.*;
import java.io.*;
import javax.swing.JApplet;
import javax.imageio.ImageIO;

public class RotateEx extends JApplet {Image kin, fu, sky;

public void init() {try {
kin = ImageIO.read(new File("images/kin.gif"));
fu = ImageIO.read(new File("images/fu.gif"));
sky = ImageIO.read(new File("images/sky.jpeg"));
} catch (IOException e) {throw new RuntimeException(e);}}
public void paint(Graphics g) {int x =270, y = 123;
Graphics2D g2 = (Graphics2D)g;

g2.drawImage(sky, 0, 0, 900, 600, this);
for (int i = 0; i < 4; i++) {g2.drawImage(kin, x-20, y, this);
g2.rotate(Math.PI/4, x, y);}}}

629デフォルトの名無しさん:2009/11/08(日) 01:09:53
>>628
ふつーにうごいたぞい
630デフォルトの名無しさん:2009/11/08(日) 01:18:34
何度コンパイルしても
Graphics2D g2 = (Graphics2D)g
のところでシンボルが見つけられません
というエラーが出るんです・・・
631デフォルトの名無しさん:2009/11/08(日) 01:31:42
import java.awt.Graphics2D;
のように*使わず書いてみれ
それでダメならまずはJavaのバージョンを書け
632デフォルトの名無しさん:2009/11/08(日) 01:33:33
ちょっとJavaファイルをコンパイルするときに
ちゃんと「書き直したJavaファイル」をコンパイルしているか確認してみなよ
633デフォルトの名無しさん:2009/11/08(日) 02:28:46
5秒以上前に作ったjavaクラスファイルは実行せずにエラーになるランチャをjavaで作ればいいんじゃねw
634デフォルトの名無しさん:2009/11/08(日) 02:29:13
どれも確認しましたがコンパイルできませんでした

バージョンは大学のPCなので新しいと思います
(今年入れ替えたばかりのPCです)
635デフォルトの名無しさん:2009/11/08(日) 02:36:10
悩んでないでeclipseダウンロードしとけw
636デフォルトの名無しさん:2009/11/08(日) 09:59:47
新しいpcなら動作実績無いからウマく逝かなくて当然だなw
637デフォルトの名無しさん:2009/11/08(日) 11:17:18
>>628
それ以前に、swingでpublic void paint(){}をオーバーライドしちゃダメな気がするんですけど
638デフォルトの名無しさん:2009/11/08(日) 12:06:51
正確にはオーバーライドしたら super.paint(g) だっけ。
639デフォルトの名無しさん:2009/11/08(日) 12:44:28
>>638
swingはpaint()をオーバーライドするんじゃなくて、
paintcomponent()するべきだと思うんだけど
640デフォルトの名無しさん:2009/11/08(日) 13:01:28
HTMLに独自のタグを追加して表示したいのですが、何かいい方法はありませんか?
ひとまず、JEditorPaneを使ってパースしようとしましたが遅くて遅くて
今は、javax.swing.text.Document辺りを調べています
641デフォルトの名無しさん:2009/11/08(日) 13:26:55
なにそのw3cに真っ向から対決する姿勢
cssでやりなさいよ
642デフォルトの名無しさん:2009/11/08(日) 13:33:29
>>640
xmlなら可能
643628:2009/11/08(日) 14:01:58
すみません、解決しました
どうやら同じディレクトリに
Graphics.java
Graphics.class
というファイルがあったのが原因のようです
644628:2009/11/08(日) 14:03:49
訂正
Graphics→Graphics2D
645デフォルトの名無しさん:2009/11/08(日) 14:15:14
>>643
開発環境使ってない人にはよくある間違い(ファイル名≠ファイルパス が理解できない)だから
もし周りにも同じような人いたら注意してあげなよ・・・
646デフォルトの名無しさん:2009/11/08(日) 17:21:50
俺の耳の裏、オマンコのにおいがする
647デフォルトの名無しさん:2009/11/08(日) 18:46:32
>setFocusCycleRoot(boolean focusCycleRoot)
>このコンテナがフォーカストラバーサルサイクルのルートであるかどうかを設定します。
java.awt.Containerのjavadocを読んでいて、この様な説明が書いてあったのですが
フォーカストラバサールサイクルとは何の事なのでしょうか
まったく意味がわかりません。教えてエロい人!!
648デフォルトの名無しさん:2009/11/08(日) 19:15:04
TAB キーでフォーカスが移動するコンポーネントツリーのルート
例えば JDesktopPane を使った MDI なアプリケーションで、
JInternalFrame の中のコンポーネントにフォーカスがある場合、
TAB キーを押すとその JInternalFrame 内の別のコンポーネントにはフォーカスが移るけど、
別の JInternalFrame にまでフォーカスが移ったら不自然だろ
その場合 JInternalFrame がフォーカストラバーサルサイクルのルートになると、
TAB キーをいくら押してもそこから外へはフォーカスが出ない
649デフォルトの名無しさん:2009/11/08(日) 19:15:44
英語分からんのか?
650デフォルトの名無しさん:2009/11/08(日) 19:28:29
分からん人もいるだろう
辞書を引く努力すら放棄してる人が大半のような気はするけどな
651647:2009/11/08(日) 20:31:26
>>648
なるほど、わかりました。ありがとうございます

>>649-650
一応、辞書を引きながら調べては居るものの、根本的に文法がわからないので
まったく意味が理解できず
652デフォルトの名無しさん:2009/11/08(日) 21:23:35
これは文法関係ないぞ。
技術英語なんざカタカナ英語に訳してそのまま繋げれば読める
653デフォルトの名無しさん:2009/11/08(日) 21:41:00
読むのと理解するのは違うけどなっ
フォーカストラバーサルサイクルなんて繋いで呼んだだけだ^p^;
654デフォルトの名無しさん:2009/11/08(日) 22:02:26
Even English speakers won't understand jargon without proper background knowledge.
655デフォルトの名無しさん:2009/11/08(日) 22:16:27
質問です。

Double-Checked LockingはJavaではちゃんと動かない、という話は理解しているのですが、
例えば、以下のようなコードならば意図どおりに動作するでしょうか?

class X {
 private Y instance = null;

 void method() {
  if (this.instance == null) {
   synchronized (this) {
    Y __instance = Y.getSingleton(); // インスタンス化されてるけど初期化されてないインスタンス
    if (this.instance == null) {
     __instance.init(); // Y固有の初期化処理
     this.instance = _instance;
    }
   }
  }
 }
}
656デフォルトの名無しさん:2009/11/08(日) 22:18:43
EJBに関して質問です

リモートセッションビーンを呼び出したいのですが、lookupでこけてしまいます。

jndi-viewからセッションビーンを確認できないので、JNDIのどこかが誤っている
と思います。

JBoss4.2(EJB3.0)なので、ejb-jar.xmlやjboss.xmlは不可欠でないと思うのですが、
それは正しいでしょうか?
657デフォルトの名無しさん:2009/11/08(日) 22:51:22
>>655
いいえ
__instance.init(); が this.instance = _instance; よりも後に実行されると
(メモリアクセスは様々な要因で勝手に並び替えられる)、
他のスレッドから未初期化のインスタンスが見えてしまう
658デフォルトの名無しさん:2009/11/09(月) 00:22:19
JavaのStringは内部的にUnicodeでエンコードされていると聞いたのですが、
内部的にUTF-16になるのでしょうか?
659デフォルトの名無しさん:2009/11/09(月) 00:27:41
はい
660デフォルトの名無しさん:2009/11/09(月) 00:31:07
>>658
Unicodeであってるよ。
全ての文字を16ビット値で表現可能とするために、
UTF-16と呼ばれるエンコーディング形式を定義しているだけ。

UTF-16では0x0000〜0xffffの間の値は直接Unicode文字に対応してる。
661デフォルトの名無しさん:2009/11/09(月) 01:38:58
>>657
なるほど。

あと、もう一点伺いたいのですが、__instance.init(); を init(__instance); にしたり、
instanceフィールドをvolatileで宣言した場合でも同様になるでしょうか?
662デフォルトの名無しさん:2009/11/09(月) 01:43:38
instanceがvolatileなら大丈夫
volatileには同期効果がある
663デフォルトの名無しさん:2009/11/09(月) 01:51:55
>>662
私の理解では、volatileは「各スレッドから常にその変数の最新の値が見えるように強制する」もの
なのですが、最適化時に順序の入れ替えを禁止する効果もあるのでしょうか。
664デフォルトの名無しさん:2009/11/09(月) 02:46:10
はい
えーと・・・・・・ここかな
http://java.sun.com/docs/books/jls/third_edition/html/memory.html#17.4.4

抜粋で
> Synchronization actions induce the synchronized-with relation on actions, defined as follows:
> ・A write to a volatile variable (§8.3.1.4) v synchronizes-with all subsequent reads of v
>  by any thread (where subsequent is defined according to the synchronization order).
> If we have two actions x and y, we write hb(x, y) to indicate that x happens-before y.
> ・If x and y are actions of the same thread and x comes before y in program order, then hb(x, y).
> ・If an action x synchronizes-with a following action y, then we also have hb(x, y).

あるスレッド内でvolatileへの書き込みより前に起きることは、
別のスレッド内でそれを読み出した後に起きることよりも前に起きる
665デフォルトの名無しさん:2009/11/09(月) 07:48:47
>>664
なるほど、ありがとうございました。
666デフォルトの名無しさん:2009/11/09(月) 10:54:05
Webアプリを作っていて、JSFと普通のサーブレットを使っています。
/faces以下にアクセスしたらFacesServletで、それ以外にアクセスしたら自前のサーブレットで処理したいと思っているんですが、
それぞれのサーブレットのURLパターンを /faces/* と /* にしたところ、すべてのリクエストが自前のサーブレットに回ってきて、
/faces/index.jspのようなリクエストでもFacesServletで処理されなくなります。
どのようにすればこれを正しくわけることができるのでしょうか。
667デフォルトの名無しさん:2009/11/09(月) 16:33:50
0〜30の数字の中からランダムに5つ重複なしで選びたいんですが
どうやったらいいでしょうか?
もしそういう関数があれば教えてください
668デフォルトの名無しさん:2009/11/09(月) 16:46:18
配列に0〜30まで数字を入れる
乱数でかき混ぜる
前から取り出す

( ^ω^)おっ おっ おっ
669デフォルトの名無しさん:2009/11/09(月) 16:47:53
宿題か何かかよ
670デフォルトの名無しさん:2009/11/09(月) 16:54:06
そうです宿題です
すいません宿題スレっていうのがあるんですね
そちらに行きます
ありがとうございました
671デフォルトの名無しさん:2009/11/09(月) 16:59:05
668で解決じゃないの
672デフォルトの名無しさん:2009/11/09(月) 17:05:41
宿題は2ちゃんねらにやらせる時代
673デフォルトの名無しさん:2009/11/09(月) 17:26:01
import java.util.Vector;
import java.util.Map;
import java.util.HashMap;

public class Main
{
public static final int MAX = 999;//初期値
public static final int SIZE = 5;//頂点の数
public static int path[][] =//隣接行列
{
{MAX, 50, 80, MAX, MAX},
{MAX, MAX, 20, 15, MAX},
{MAX, MAX, MAX, 10, 15},
{MAX, MAX, MAX, MAX, 30},
{MAX, MAX, MAX, MAX, MAX},
};

public static void dijkstra(int start, int end, Vector<Integer> allNode)
{
Map<Integer, Integer> root = new HashMap<Integer, Integer>();
int[] distance = new int[SIZE];
boolean[] kakutei = new boolean[SIZE];
for (int i = 0; i < SIZE; i++)
{
distance[i] = MAX;
kakutei[i] = false;
}

kakutei[start] = true;
distance[start] = 0;

for (int i = 0; i < allNode.size(); i++)
674デフォルトの名無しさん:2009/11/09(月) 17:26:42
{
root.put(i, start);
if (kakutei[i] == true) continue;
if (path[start][i] != MAX) distance[i] = path[start][i];
}

while (kakutei[end] == false)
{
int kakuteiIndex = -1;
for (int i = 0; i < allNode.size(); i++)
{
if (kakutei[i] == true) continue;

if (kakuteiIndex == -1)
kakuteiIndex = i;
else if (distance[i] < distance[kakuteiIndex])
kakuteiIndex = i;
}
kakutei[kakuteiIndex] = true;

for (int i = 0; i < allNode.size(); i++)
{
if (kakutei[i] == true) continue;

if (distance[kakuteiIndex] + path[kakuteiIndex][i] < distance[i])
{
distance[i] = distance[kakuteiIndex] + path[kakuteiIndex][i];
root.put(i, kakuteiIndex);
}
}
}
675デフォルトの名無しさん:2009/11/09(月) 17:27:09
なんなんですか
676デフォルトの名無しさん:2009/11/09(月) 17:27:37
for (int i = 0; i < distance.length; i++)
{
System.out.println(i + " までの最短距離は " + distance[i]);
}

int r = root.get(end);
StringBuffer sb = new StringBuffer();
sb.append(end);
while (true)
{
sb.append(r);
if (r == 0) break;
r = root.get(r);
}
sb.reverse();
System.out.print(start + " から " + end + " までの最短ルートは");
for (int i = 0; i < sb.length(); i++)
{
System.out.print(" ==> " + sb.charAt(i));
}
}

public static void main(String[] args)
{
Vector<Integer> allNode = new Vector<Integer>();
for (int i = 0; i < SIZE; i++)
{
allNode.add(i);
}
dijkstra(0, allNode.size() - 1, allNode);
}
}
677デフォルトの名無しさん:2009/11/09(月) 17:28:18
やっていることをコメントアウトで解説してくれませんか?
678デフォルトの名無しさん:2009/11/09(月) 17:30:37
よく見てないけどダイクストラ法か何か?
679673:2009/11/09(月) 17:32:23
はい、ダイクストラ法です
680デフォルトの名無しさん:2009/11/09(月) 17:33:08
質問です。
ArrayList listに
list.add(new Integer(10))と追加してあるんですけど
このlistから元の数字の10を取り出すにはどうすればいいでしょうか?
(int)list.get(0)みたいなことをやりたいんですがキャストできませんと言われました。
681デフォルトの名無しさん:2009/11/09(月) 17:33:43
Integerにキャストすればおk
682デフォルトの名無しさん:2009/11/09(月) 17:40:03
>>681
The method Integer(Object) is undefined for the type ○○○(自分で作ったクラスの名前)
と言われました・・・
683デフォルトの名無しさん:2009/11/09(月) 17:42:51
list.get(0).intValue()
684デフォルトの名無しさん:2009/11/09(月) 17:43:29
あごめんなさい
キャストじゃなくてInteger(list.get(0))で新しく作ろうとしてました
キャストならできました!
ありがとうございます
685デフォルトの名無しさん:2009/11/09(月) 17:45:23
>>683
これだとできませんでした
686デフォルトの名無しさん:2009/11/09(月) 19:40:07
((Integer) list.get(0)).intValue()
687デフォルトの名無しさん:2009/11/09(月) 22:06:48
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;;

public class renshu3 extends JApplet
{
private JLabel lb;
private JPanel pn;
private JRadioButton rb1,rb2,tmp;
private ButtonGroup bg;

public void init()
{
lb=new JLabel("いらっしゃいませ。");
pn=new JPanel();
rb1=new JRadioButton("白", true);
rb2=new JRadioButton("黒", false);
bg=new ButtonGroup();

bg.add(rb1);
bg.add(rb2);

pn.add(rb1);
pn.add(rb2);
add(lb, BorderLayout.NORTH);
add(pn, BorderLayout.SOUTH);

rb1.addActionListener(new SampleActionListener());
rb2.addActionListener(new SampleActionListener());

}
688デフォルトの名無しさん:2009/11/09(月) 22:07:29
class SampleActionListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
tmp=(JRadioButton) e.getSource();
lb.setText(tmp.getText() + "を選びました。");
if(){
lb.setForeground(Color.white);
}
else{
lb.setForeground(Color.black);
}
}
}

質問です。ラジオボタンが2つあって、それぞれ押すと色が変わるようにしたいんですが
ifの括弧に何を入れればいいんでしょうか。
689デフォルトの名無しさん:2009/11/09(月) 22:10:53
trueかfalseになる様な式を入れればいいんじゃないでしょうか
690デフォルトの名無しさん:2009/11/09(月) 22:18:04
>>688
解らないならばAcionLisnerを2種類用意しろ
691デフォルトの名無しさん:2009/11/09(月) 22:21:39
「〜を選びました」って出せるのにif文の内容が判らないとは、これいかに?
692デフォルトの名無しさん:2009/11/09(月) 22:25:12
その文は最初からありましたので
693デフォルトの名無しさん:2009/11/09(月) 22:53:24
ttp://www.open-tec.info/modules/download/index.php?cid=1
こちらのサイトのWindows版を入手したものの
使い方が分からずにいます。
java実行環境があれば実行できるようですが、
>>3のリンク先
ttp://www.java.com/ja
からjavaをインストールしましたが、どのように使うのか分かりません。
現在インストールしているのはJava Version6 Update 17です。

根本的なことが理解できていないような気がしますが
どなたかご教示下さい。
694デフォルトの名無しさん:2009/11/09(月) 23:11:54
ここはプログラミングの板であってソフト板じゃない
695687:2009/11/09(月) 23:14:32
括弧にtrueを入れてみたところ、白にはなりましたが黒にはなりませんでした。
ttp://www.dotup.org/uploda/www.dotup.org346945.jpg
どうか教えてくださいませんか。
696デフォルトの名無しさん:2009/11/09(月) 23:22:59
質問なのですが三つの座標が一直線に並んでいるか判定するにはどうすればよいでしょうか
697デフォルトの名無しさん:2009/11/09(月) 23:26:57
面倒なら目視すればいいんじゃないんでしょうか?
698デフォルトの名無しさん:2009/11/09(月) 23:37:05
>>696
点A,B,Cとして、二点間A-B,A-Cの傾斜を求めて一致するか判定。なお正負には注意。
699デフォルトの名無しさん:2009/11/09(月) 23:39:27
>>695
>>690に書いてある通り、クラスを2つ作ればいいだけの話だと思うんだけど
IDEを使わないで書いたコードなので、たぶんタイプミスがあると思う↓

rb1.addActionListener(new RB1ActionListener());
rb2.addActionListener(new RB2ActionListener());

private class RB1ActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
/* 白の時したい処理を書く */
}}

private class RB2ActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
/* 黒の時したい処理を書く */
}}
700デフォルトの名無しさん:2009/11/09(月) 23:54:58
教えていただいてて申し訳ないですが、さっぱり分からないのでtrueのまま提出することにします。
701デフォルトの名無しさん:2009/11/10(火) 00:08:54
>>700

trueのかわりに「rb1.isSelected()」って書いとけ!
702デフォルトの名無しさん:2009/11/10(火) 00:15:08
あきらめろ
703デフォルトの名無しさん:2009/11/10(火) 01:16:14
理屈が分からなくても動きさえすれば無問題


そんなふうに考えていた時期が俺にもありました
704デフォルトの名無しさん:2009/11/10(火) 03:41:49
>>701
激烈之謝謝!
705デフォルトの名無しさん:2009/11/10(火) 10:16:20
JEditorPaneにHTMLを読み込んだ後に、HTMLを追加できないですかね?
<html><body>
<!-- HogeHogeな内容 -->
<!-- ここに新しく追加 -->
</body></html>
706デフォルトの名無しさん:2009/11/10(火) 16:39:23
Faceltesのタグファイルについてです。

// タグファイル
<ui:composition><f:convertDateTime timeZone="JST"/></ui:composition>

// 使用側
...
<my:convertDateTime dateStyle="full" />
...

のように元のタグ(f:convertDateTime)を利用してカスタムタグ(my:convertDateTime)を作る場合、カスタムタグ
の属性値を委譲先のタグの属性に渡すにはどうやると良いでしょうか?


上の例ですと

<ui:composition><f:convertDateTime dateStyle=#{dateStyle} timeZone="JST"/></ui:composition>

とすれば可能ですが#{dateStyle}が空の場合に問題となります。
707705:2009/11/10(火) 19:03:34
自分で解決してしまいました
HTMLEditorKitの使い方を間違えていたようですorz
708デフォルトの名無しさん:2009/11/11(水) 01:32:05
コレクションワークフレームについて質問です。
現在「Javaの道」で勉強中なのですが、
ttp://www.javaroad.jp/java_collection2.htm
上記URLの例1の中で下記1.のような記述があります。
これは下記2.と同じ意味なのでしょうか。
2.でもエラーはでませんでした。
addメソッドの中に new ** というように記述するのを初めてみたもので。
メモリ確保やニュアンスがちがうのでしょうか。

1.(Javaの道 記載コード
void addhead(List exList) {
for (int i = 0; i < 10000; i++) {
exList.add(0, new Integer(i));
}
}

2.(自分で書き換えたコード
void addhead(List exList) {
for (int i = 0; i < 10000; i++) {
Integer it = new Integer(i);
exList.add(0, it);
}
}
709デフォルトの名無しさん:2009/11/11(水) 10:44:54
一緒です
System.out.println(123 + 456);

int x = 123 + 456;
System.out.println(x);
が一緒なのと同じ理屈
710デフォルトの名無しさん:2009/11/11(水) 22:03:58
>>708
こっちは同じコードだけど

>>709
こっちは最適化で変わるんじゃ・・
711デフォルトの名無しさん:2009/11/12(木) 00:59:15
>>708
一旦変数に参照させてから使わないといけない、という決まりは無い。
String s = new SimpleDateFormat("yyyy/MM/dd").format(new Date());
こういうのもあり。
712デフォルトの名無しさん:2009/11/12(木) 07:08:19
ダブルバッファリングのことについて質問です
「Swing ではJRootPaneとそのコンテンツペインそれからJPanelクラスがダブルバッファリングを有効にしています」
というような記述を見つけたのですが、JPanel上に描画を行うならダブルバッファリングを行う必要はないのでしょうか

一般公開されてるソースを参考にJAVAでゲーム作成の勉強をしているのですが、
JPanelを使っているのにダブルバッファリングを使っていてちょっと混乱しています。
713デフォルトの名無しさん:2009/11/12(木) 10:14:57
そのソースとやらがアクティブレンダリングやってるなら必要。やってないなら不要。
714デフォルトの名無しさん:2009/11/12(木) 19:39:25
自分で図形が動いていくプログラムを書いて、表示が乱れるかどうかやってみりゃいいんじゃね。
715デフォルトの名無しさん:2009/11/12(木) 19:46:47
C++ 使いです、C++ では、コンストラクタで例外を投げないというのがセオリーなのですが
java も同様に考えていいでしょうか?
716712:2009/11/12(木) 20:04:39
>>713
返答ありがとうございます。
アクティブレンダリング(自前の描画メソッド?)が必須なときがいまいち分かってないのですが、もう少し調べてみます。
>>714
返答ありがとうございます。
自分でも色々実験して検証してみます。
717デフォルトの名無しさん:2009/11/12(木) 20:14:52
>>715
Java では普通に例外を投げる。
718デフォルトの名無しさん:2009/11/12(木) 20:47:27
そもそもリークするからとか言い出すC++厨が頭沸いてる。
コンストラクタで引っかかるようなモン、処理継続させたって無駄じゃね?
719デフォルトの名無しさん:2009/11/12(木) 21:12:54
>>715 です
>>717
郷に入らずんば、郷に従え として、例外を投げても後始末してくれるという具合に考えます。
>>718
あまりにも思考が短絡的ですね。
720デフォルトの名無しさん:2009/11/12(木) 22:03:04
ふーん、
・コンストラクタに置くしかなくて、
・でもエラーが起きても処理を継続させないといけない
って状況って何?
721デフォルトの名無しさん:2009/11/12(木) 22:51:00
好きにしろよ
同意を求める為だけに質問するフリをするな
722デフォルトの名無しさん:2009/11/12(木) 23:19:34
質問じゃねーよ、当てこすってるんだよ。
C++のローカル神話持ち込んできた癖に、そっちこそ好きにしろやww
723デフォルトの名無しさん:2009/11/12(木) 23:37:33
分かると思って安価入れなかったんだけど、勘違い君に噛み付かれてるなあ
721は719向けね
724デフォルトの名無しさん:2009/11/12(木) 23:39:59
相手が何でも察すると思うな。
きちんとドキュメントにしたまえ。
725708:2009/11/12(木) 23:55:00
>>709, >>710, >>711
ご回答ありがとうございます。

>>711 これはすごいw。なんて複雑怪奇なんだ。
でも、行数減らしてかけるからスッキリしますね。
726デフォルトの名無しさん:2009/11/12(木) 23:59:39
どこかのコンストラクタでエラーが起きただけでプログラム停止できれば楽だろうねぇ。
727デフォルトの名無しさん:2009/11/13(金) 00:03:10
止めたくなければ上位のメソッドでキャッチすりゃいいだけだよ
どこまで頭悪いんだ
728デフォルトの名無しさん:2009/11/13(金) 00:04:46
むしろなんでC++はコンストラクタで例外投げないの?
コレクションからコレクション作るときnull許可しないなら普通に投げないか?
729デフォルトの名無しさん:2009/11/13(金) 00:08:42
C++ コンストラクタ 例外でググるとそんなのは迷信だってサイトが大量に出てきて笑えるよ
時代遅れの妄言だな
730デフォルトの名無しさん:2009/11/13(金) 00:35:35
731デフォルトの名無しさん:2009/11/13(金) 00:41:16
>>725
え゛? 複雑? あー、でもJavaじゃメソッドチェインはあんまやらないから、見慣れない人がいるのもしゃーないのか。
ライブラリが「void返すくらいならthis返せ」って思想だったらよかったのに。
732デフォルトの名無しさん:2009/11/13(金) 02:07:25
>>727
たぶん、new した所が普通に上位のメソッドだという考えになっていないんだろうね。
C++ だとローカル変数を置くだけでオブジェクトが生成されちゃうこともあって。
733質問者:2009/11/13(金) 08:48:30
1. Java1.6の、型を限定したListの作り方を教えてください。
2. inport java.util.List;として、他の場所ではList型が使えているのに、
 new List(); が、「型Listのインスタンスを生成できません。」とコンパイルエラーになります。
理由に心当たりがありましたらご教授ください。
734デフォルトの名無しさん:2009/11/13(金) 09:17:02
Listは実装じゃなくてインタフェースだから
List型の変数は宣言できても実体は作れない
実体はLinkedList<T>やArrayList<T>や自分で作った実装のあるクラスでないといけない
List<?> list = new ArrayList<?>();
とか
735733:2009/11/13(金) 09:50:48
>>734
ありがとうございました。
736デフォルトの名無しさん:2009/11/13(金) 10:34:51
エラーでてるのに処理続けてもなあ。
エラー出ない様に対処してから再試行するべき。
737デフォルトの名無しさん:2009/11/13(金) 10:52:08
勘違い君は、>>727だけでなく>>732もなのか。
>>726では「キャッチしなくていいなら楽だ」って意味なのに、>>727で「キャッチすりゃいい」なんてレス
入れるのは勘違いも甚だしい。

また、>>718>>720の脈絡からすれば「コンストラクタでエラーならプロセス停止するべき」って言ってる
に等しい。
リークが問題になるのはプロセスを継続する場合なんだからな。
「処理」って「エラーになったクラスの処理」だったなんて寝ぼけたこと言うのかもしれんが。
738デフォルトの名無しさん:2009/11/13(金) 12:20:09
578 名前: デフォルトの名無しさん [sage] 投稿日: 2009/11/13(金) 12:00:40
HTTPは無理しすぎだからな。
本来は閲覧専用のプロトコルだったはずだ。

いつの間にか書き込みができるようになったり、
個人識別ができるようになったり、
pushもできるようになったり。
739732:2009/11/13(金) 12:22:46
>>737
>>737 は、>>727 がどのレスに対するレスなのかを勘違いしていると思われる。
740デフォルトの名無しさん:2009/11/13(金) 12:36:53
アンカー付けようねってことだねwww
741デフォルトの名無しさん:2009/11/13(金) 13:33:09
Javaで正規表現を使うにはどうしたらいいでしょうか?
また、Javaの文字(char)のユニコード値を得る(int)コードはどうしたらいいでしょうか?
742デフォルトの名無しさん:2009/11/13(金) 13:33:50
間違えてsageてしまったのでageます
743デフォルトの名無しさん:2009/11/13(金) 13:37:26
正規表現はPatternクラス
charはキャストすればintに入る
744デフォルトの名無しさん:2009/11/13(金) 13:39:48
間違えた
「キャストしなくても」
745デフォルトの名無しさん:2009/11/13(金) 13:44:32
>>743(名無しさん)
ありがとう
746デフォルトの名無しさん:2009/11/13(金) 19:49:29
Hibernateについて質問させてください。

複数クラスとテーブルのマッピングSQLを作成するにあたり、
以下の方法では取得できています。

@itより抜粋
Query sqlQuery = session.createSQLQuery(
" select {mem.*},{wg.*} from member {mem} join workgroup {wg} “ +
“ on {mem}.groupno = {wg}.groupno", new String[] { "mem","wg"},
new Class[] {Member.class,WorkGroup.class});
List list =sqlQuery.list();
for (int i = 0; i < list.size(); i++) {
Object[] items = (Object[]) list.get(i);
Member member = (Member)items[0];
WorkGroup group = (WorkGroup)items[1];
System.out.println(
member.getNo() + ":"
+ member.getName() + ";group:"
+ group.getGroupname()
);
}
session.close();

質問に入りますが、全列を使用するわけではないので、取得列名を絞り込むこと
は可能でしょうか。絞込みによる性能向上を期待しています。

どなたかお分かりになる方の助言をお待ちしています。
よろしくお願いいたします。
747デフォルトの名無しさん:2009/11/13(金) 20:01:07
質問します。
java で、ファイルに書き込まれている内容の比較をしたいのですが、そのようなメッソッドは無いでしょうか?
748デフォルトの名無しさん:2009/11/13(金) 20:11:55
Javaでやる必要があんのけ?
749デフォルトの名無しさん:2009/11/13(金) 20:14:29
javaでやれといわれたので。
750デフォルトの名無しさん:2009/11/13(金) 20:23:00
そのようなメッソッドはありません
普通にファイルを読み込んでから普通に内容を比較してください
751デフォルトの名無しさん:2009/11/13(金) 20:27:47
黒魔法メッソッド!!!
752デフォルトの名無しさん:2009/11/13(金) 20:38:16
>>747
MappedByteBuffer#equals()でも使うのがお手軽じゃない?
使ったこと無いけど。
753デフォルトの名無しさん:2009/11/13(金) 23:34:26
http://pc12.2ch.net/test/read.cgi/tech/1248012902/
★★ Java の宿題ここで答えます Part 68 ★★
754デフォルトの名無しさん:2009/11/13(金) 23:51:03
質問させてください。

現在Swingで、コンボボックスを画像表示にし、
そこで選択された画像を、フレーム中央に表示させるプログラムを作っています。
ところが、getSelectedItemの設定で行き詰ってしまいました。
どなたかアイディアをお貸しいただければ幸いです。

ちなみに現在のソースは以下のようになっています。
色々いじくったので可笑しなことになっているかもしれません。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/830.java

どうぞよろしくお願いします。
755デフォルトの名無しさん:2009/11/14(土) 00:51:34
>>754
combo.setRenderer(new JLabel());
になってないか?
756デフォルトの名無しさん:2009/11/14(土) 00:54:35
>>754 JavaDocではこうなっている。
void setRenderer(ListCellRenderer aRenderer)
757755-756:2009/11/14(土) 01:08:46
間違えた。すまん
758754:2009/11/14(土) 01:16:20
>>755-756
いえ、非常にありがたいです。
他にも何かお気づきの点があれば、よろしくお願いします。
759755-756:2009/11/14(土) 01:31:36
class ComboLabelにtextとicon保存
public Component getListCellRendererComponent内で上で保存したtextとiconをJLabelにセットしなければならないから、

class ComboLabel{
にtext追加。
public Component getListCellRendererComponent(
にsetText追加。

すればいいんじゃないかと……
760デフォルトの名無しさん:2009/11/14(土) 02:04:27
>>754
これで普通に画像の切り替えできてるよ。
変数が見えてなかったりLabelが表示されてなかったりしたのも直したけど。

MyCellRenderer renderer = new MyCellRenderer();
combo.setRenderer(renderer);
combo.addItemListener(renderer);//追加


class MyCellRenderer extends JLabel implements ItemListener, /*追加*/ ListCellRenderer {
..... //省略
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED){
lb.setIcon(((ComboLabel)model.getSelectedItem()).getIcon());
}
}
761754:2009/11/14(土) 02:39:10
皆さんどうもありがとうございます。
早速教えていただいたように直してみました。

ところが、
lb.setIcon(((ComboLabel)model.getSelectedItem()).getIcon());
の箇所で、lb、modelを解決できませんというエラーが表示されてしまいます。

どこが間違っているのか、自分ではどうしても解決できませんでした。
もう一度教えていただいてもよろしいでしょうか。
お願いします。

ちなみに現在のソースです。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/831.java
762デフォルトの名無しさん:2009/11/14(土) 02:46:43
>>761
こっちに変えてみな。

public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED){
ComboLabel lbl = (ComboLabel)((JComboBox)e.getSource()).getSelectedItem();
lb.setIcon(lbl.getIcon());
//lb.setText(lbl.getText()); Textが必要ならComboLabelにgetText()を追加する
}
}
763デフォルトの名無しさん:2009/11/14(土) 02:49:14
あと以下の2行を修正

public class Combobox extends JFrame{
private JLabel lb; //追加


//JLabel lb = new JLabel(("ここに画像が表示されます")); この行コメントアウトして下のように変更
lb = new JLabel(("ここに画像が表示されます"));;
764754:2009/11/14(土) 03:01:24
迅速なお返事をどうもありがとうございます。
教えていただいたことを元に、もう少し自分で考えてみようと思います。

こんなに遅い時間まで、本当にどうもありがとうございました。
765デフォルトの名無しさん:2009/11/14(土) 03:05:30
>>764
適当に動くようにしたソースはっとくよ。

http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/832.java
766754:2009/11/14(土) 03:12:17
わざわざソースまで!
自分の求めていたとおりに動かすことができました。
本当にありがとうございます。
自分ももっと勉強します。
767デフォルトの名無しさん:2009/11/14(土) 03:35:46
MyCellRenderer extends JLabel implements ListCellRenderer
よりも
MyCellRenderer extends DefaultListCellRenderer
にするといいよ。
getListCellRendererComponent() の最初で
super.getListCellRendererComponent(); を呼んで、
アイコンをセットして、
最後に return this; とすればいい。
768デフォルトの名無しさん:2009/11/14(土) 07:53:25
java でC/C++ でいうところの、関数ポインタのような振る舞いをさせるには
どのようなデザインパターンを用いればいいでしょうか?
2つのboolean 値があって、その値の内容の組み合わせパターン(2^2)によって、呼び出すメソッドを変えたいのですが
if 〜else if 構文や、switch 文はかっこ悪いので使いたくありません、よろしくお願いします。
769732:2009/11/14(土) 08:59:26
>>768
Java では関数ボインタを変数に持ったり、関数ポインタを使って多相化することはない。
そういうことをしたい時は、オブジェクトを変数に持って、パターンによって、
共通のインタフェースを実装した異なるオブジェクトを呼ぶことになる。
関数テーブルの代わりにはオブジェクトテーブルということになるが、
オブジェクトテーブル以外にも、4つのパターンを表現した enum クラスを作って、
各 enum 定数の中に実装を書くなどの作戦もある。
770デフォルトの名無しさん:2009/11/14(土) 09:17:34
>>769
Thx
771デフォルトの名無しさん:2009/11/14(土) 09:28:13
>>769
それ、なんてStrategyパターン?
772768:2009/11/14(土) 09:41:43
>>771
外していたらごめんなさい、多分State パターンではないでしょうか?
773デフォルトの名無しさん:2009/11/14(土) 14:23:46
総称型の配列が作れません。
以下のような場合どうすればいいのでしょうか?

public T[] getSpecifiedElements(T[] allElements) {
   //allElementの一部要素をT配列で返したい。
}

ArrayList<T> temp = new ArrayList<T>(); に必要な分をつめこんで、
temp.toArray(new T[temp.size()]); ってしたいのですが無理なようです。
(T) temp.toArray(); もクラスキャストエクセプションになってしまいした。。。
774デフォルトの名無しさん:2009/11/14(土) 14:38:55
>>772
お前がやりたいのは、ちょっとした計算ロジックを切りかえたい
ということに見えるが、それだとしたらStrategyパターンであってる
775デフォルトの名無しさん:2009/11/14(土) 14:56:35
>>773
無理。
代替案としては Class<T> を引数で指定してもらうか、
配列使わずList<T>で受け渡しするか。
<T> T[] getSpecifiedElements (T[] allElements, Class<T> clazz) {
 List<T> temp = new ArrayList<T>();
 //tempに必要な要素をつめる。
 return temp.toArray((T[])Array.newInstance(clazz, temp.size()));
}

List<T> getSpecifiedElements (List<T> allElements) {
 List<T> temp = new ArrayList<T>();
 //tempに必要な要素をつめる。
 return temp;
}
776デフォルトの名無しさん:2009/11/14(土) 14:57:52
>>773
総称型の配列をnewすることは、Javaの言語仕様上できない。
多少強引だがこれでOK。

@SuppressWarnings("unchecked")
T[] subElements = (T[]) java.lang.reflect.Array.newInstance(
allElements.getClass().getComponentType(), temp.size());

return temp.toArray(subElements);

つーか、そもそも配列使うのやめればいいだけなんだけどな。
777デフォルトの名無しさん:2009/11/14(土) 15:25:04
>>775
>>776
引数でクラス指定すると総称型の意味がないし、
ワーニング潰すのも気持ち悪いので、
諦めてList<T>を返すことにしました。

しかし勉強になりました。ありがとうございます。
778デフォルトの名無しさん:2009/11/14(土) 16:01:01
ストラッツの質問はここでも大丈夫でしょうか?jsp にアクセス(リロード)した際、自動的にActionクラスを実行するプログラムを組みたいのですが、どうすれば良いでしょうか?

779デフォルトの名無しさん:2009/11/14(土) 16:01:46
>>776
jdk7だと[]とListの区別がなくなるのかも。
780デフォルトの名無しさん:2009/11/14(土) 16:58:38
http://www.tomicom.ac.jp/~koba/doja5/jguidefordoja5api/javadoc/com/nttdocomo/security/SymmetricCipher.html
ここを参考に,特定の文字列をAESで暗号化するiアプリを作成してみたのだけど,例外が出てしまう…
どなたか,原因が分かる方ご教授お願いします.

例外
Main :java.lang.IllegalArgumentException: Can't use the sessionkey or the iv with the algorithm keyTest
java.lang.IllegalArgumentException: Can't use the sessionkey or the iv with the algorithm
at com.nttdocomo.security.CipherSessionKey.createSymmetricCipher(+71)
at cryptionClass.encryption(+72)
at keyTest.start(+14)
com.nttdocomo.security.CipherSessionKey: Can't use the sessionkey or the iv with the algorithm

ソースコード
ttp://www.cms-e.net/java/src/
781デフォルトの名無しさん:2009/11/14(土) 17:24:28
"Can't use the sessionkey or the iv with the algorithm"
って書いてあるけど?
782780:2009/11/14(土) 17:33:11
>>781
まぁ,そのエラーメッセージの意味は分かるのだけど,解決策が分からない….
参考URLではプログラム解説のためにDESアルゴリズムを用いているけどできればAESを使いたいので.
783デフォルトの名無しさん:2009/11/14(土) 17:36:00
>>781
いや,ごめん.意味も分かってないかも.

アルゴリズムのあるセッション鍵かIVを使用できません.

という文章的な意味は分かるのだけど,そのトラブルシューティングが分からない
784デフォルトの名無しさん:2009/11/14(土) 17:49:27
>>778
jspがAction経由で表示されたなら、リロードしてもActionが再実行されると思うけど。
785デフォルトの名無しさん:2009/11/14(土) 21:55:10
>>783
その訳はたぶん
そのセッション鍵またはそのIVをそのアルゴリズムと共に使うことはできません
ではないか?
ちょっと調べたらAESはブロックサイズが128ビットらしいので、IVのサイズをそれに合わせて長くしてみるとか
786デフォルトの名無しさん:2009/11/14(土) 22:56:31
ジャバってランタイムがないと動かないの?
RPGツクールみたいなもん?
単体で動くexeとか作れないの?
787デフォルトの名無しさん:2009/11/14(土) 22:57:45
POJOって一体何なの?
どういう風に便利なのかとか、どうすれば使えるのかとかがよく分からない。
788デフォルトの名無しさん:2009/11/14(土) 22:58:29
そうです

強引な方法も無くはないが
素人には10年早い
789デフォルトの名無しさん:2009/11/14(土) 23:08:27
788さん、それボク786に対する答えですか。
790デフォルトの名無しさん:2009/11/14(土) 23:43:23
>>786
うん
でもC++とかでもランタイム必要なものもあるよ
791デフォルトの名無しさん:2009/11/14(土) 23:56:51
OS だってランタイムだ、という考え方をすれば、単に OS 標準でどこまで付いて来るかという問題でしか無いとも言えるな。
792デフォルトの名無しさん:2009/11/15(日) 00:12:21
790さんありがとうございます
とりあえずいろいろいれずにWindowsでexeをクリックするだけで起動する感じが理想なので
別の言語あたってみます
793デフォルトの名無しさん:2009/11/15(日) 04:55:26
アジャイル手法とかに詳しい人がいたら、ご意見をいただけないでしょうか。

最近、私が関わっているプロジェクトで、
「カバレッジ100%を達成するためにホワイトボックスな単体テストを書きまくった結果、
逆に、テストを書き直すコストが増大して大きなリファクタリングができなくなりつつある」
という本末転倒っぽい状態に陥りつつあるのですが、何か良い方法なり指針はないものでしょうか。
794デフォルトの名無しさん:2009/11/15(日) 06:57:08
端的に言えばカバレッジ最優先なポリシはバランスが悪い。

リファクタリング前と後で、極端なまでにテスト再利用性が存在しないのは、
そもそも変化が許容される内容(つまりはリファクタリングによって改善した内部構造そのもの)
に対して過剰なテストが行われていることを意味している。

極端に言ってしまえば、テストは所詮バグが存在しないことの証明にはならないのだから、
あまり内部詳細に踏み込みすぎず、外部インタフェース越しに一般的なシナリオをテストするに
留めておくぐらいがちょうど良いと個人的には思う。
795デフォルトの名無しさん:2009/11/15(日) 07:30:53
>>793
一律にテスト書かないで変更が多そうな部分と変更が少なそうな部分にわけて
変更が少なそうな部分を重点的にテストするとか
796デフォルトの名無しさん:2009/11/15(日) 09:00:14
javamail-1.4.2 を使い、メール送信機能を付与した、プログラムを作成しました
送信テストも終わり、このプログラムを他人に配布したいのですが
通常のjava のアプリケーションが動くJava(TM) SE Runtime Environment (build 1.6.0_17-b04)
の環境であれば、別途に必要なランタイムやライブラリィはありませんか?
797796:2009/11/15(日) 09:52:09
自己解決です
ttp://oshiete1.goo.ne.jp/qa1919395.html
同じ方がいました、他人に配布するのは、ライセンス的には問題なさそうですが、
バッチでmail.jar を入れるとか、面倒な感じですね、実行するにも長たらしいコマンドを入れなければならないし
C で書いたDLL があるので、こいつを使った方が解決が早そうです。
java のインストローラが作れればいいんだが・・・・
798デフォルトの名無しさん:2009/11/15(日) 10:28:08
izpackかは?
コマンドって、実行時のクラスパス指定のこと?
それならManifestに記述すればいいし最悪バッチファイルなりなんなり書けばいいし、他にもexeにラップしちゃうって手もあるし、あんまり問題にはならなくないかい?
799796:2009/11/15(日) 10:45:00
>>798
ありがとうございます、java は最近はじめたばっかりなので詳しくく質問させてもらいました
Manifest とか、exe にラップする方法があるのですね知りませんでした、調べてみます。
800デフォルトの名無しさん:2009/11/15(日) 13:28:58
>>785
ありがとうございました!
IVを128bitにしたら無事通りました!
801793:2009/11/15(日) 13:50:12
>>794
なるほど。。
インタフェースごしのブラックボックステストと、ホワイトボックステストを分けるのも手かもしれませんね。
802デフォルトの名無しさん:2009/11/15(日) 15:00:16
URLClassLoader#loadClass(null)で呼び出したクラスは、
このクラスローダがGCされると綺麗にメモリ上から消えますか?

public static void run(URL jarFile, String className) throws Exception {
    Class clazz = new URLClassLoader(new URL[]{jarFile}).loadClass(className);
    MyInterface obj = (MyInterface) clazz.newInstance();
    obj.run();
}
803デフォルトの名無しさん:2009/11/15(日) 15:35:26
>>802
一緒にGCされると思うけど、仕様によって保証はされない。

あと、java.lang.Class や java.lang.reflect.Method なんかの
リフレクション用のオブジェクト握りっぱなしにしてると、
そもそもクラスローダがGCされない
804デフォルトの名無しさん:2009/11/15(日) 17:05:11
JNIでCを呼び出すとき、System.loadLibraryでネイティブライブラリをロードしますが、
System.loadLibraryを書くのはコンストラクタがよいのか、staticイニシャライザが良いのかわかりません。
どちらの方がよいのでしょうか?
805デフォルトの名無しさん:2009/11/15(日) 17:10:50
インスタンスをnewするまでstaticなネイティブメソッドが呼べないよ
806デフォルトの名無しさん:2009/11/15(日) 18:21:36
携帯でMP3再生したい
オープンアプリでいっちょやってみるか
ハフマン符号????
File decode(File mp3File) {

// 誰かサンプル書いてみて
return decodeFile;
}
807806:2009/11/15(日) 18:24:48
だめだ
メモリ足りなくなりそうなので
いちいち展開なんてしてられん・・・
void playMp3(File mp3File) {
//一時停止機能とかいらないから誰かサンプル書いて
}
808デフォルトの名無しさん:2009/11/15(日) 19:28:40
別スレッドがSystem.out.print..などで、標準出力にメッセージを出すようになっていて、
それをInputStreamなどで拾いたいのだけど、どうしたら良いですか?
809デフォルトの名無しさん:2009/11/15(日) 19:54:06
java mediaとかかな
特許がらみが多い分野だからほとんどの形式がクローズドだけど。
810デフォルトの名無しさん:2009/11/15(日) 20:01:17
>>808
System.setOutで出力先をPipedOutputStreamか何かに変え、PipedInputStreamか何かで読み出す
811デフォルトの名無しさん:2009/11/15(日) 22:24:08
>>810
ありがとう!解決した!
812デフォルトの名無しさん:2009/11/15(日) 22:35:18
どうしてクラスローダが1つのVMに複数あるのでしょうか?
813デフォルトの名無しさん:2009/11/15(日) 22:49:06
URLから取ってくるクラスローダとか色々あるから。で回答としてはいいのかな?
814デフォルトの名無しさん:2009/11/15(日) 22:49:48
たとえば同一の外部ライブラリで複数バージョンを使い分けたい場合などがあったとする。
唯一のクラスローダしか存在しない場合、FQNが同一のクラスは、一つしか存在することができない。
815デフォルトの名無しさん:2009/11/15(日) 23:08:02
まて、FQNが同一のクラスが同時に複数存在できたりするのか?
ウィザードじゃないから知らないだけかもしれないけど、static変数とか矛盾
してしまうと思うんだが。
816デフォルトの名無しさん:2009/11/15(日) 23:28:29
できる。そもそも同じFQNであれ、ロードされているクラスローダが違えば同じクラスと扱われない。

J2EEやっていれば同一のコンテナ(単一JavaVM)に複数のWebアプリケーションをデプロイして、
それぞれのWebアプリが独自のライブラリ(WEB-INF/lib)を利用する状況を考えて欲しい。
たとえばAアプリはlog4j1.2で、Bアプリはlog4j1.1というのは普通に可能。

それらはThreadに割りつくContextClassLoaderが入れ替わることで(実装者が意識しないかたちで)実現されている。
817デフォルトの名無しさん:2009/11/15(日) 23:29:07
>>815
できるよ
異なるクラスローダがロードしたクラスは、同じFQNであっても別々
static変数も別々
Classオブジェクトを比較しても一致しない
818デフォルトの名無しさん:2009/11/15(日) 23:31:11
あとたしかinstanceofもキャストも失敗するっけか
あらゆる意味で異なるクラス扱いだったはず
819デフォルトの名無しさん:2009/11/15(日) 23:36:33
Seasarという有名な国産DIコンテナがあって、
それはsmart deployという仕組みで、開発時にhot deployが可能なんだけど、
そのやり方は結構単純で、クラスローダをRequestを受け取るごとに生成・廃棄して、
新規にコンパイルされたClassを都度読み込みさせている。
そのようなやり方をすれば、一度読み込まれたClassでも即時反映が実現できる。
820デフォルトの名無しさん:2009/11/15(日) 23:40:34
なるほど。
http://d.hatena.ne.jp/masugata_k/20071203/1196684216
とそのリンク先を見てみた。
システムクラスローダは差し替え可能なわけか。知らなかった。
821デフォルトの名無しさん:2009/11/16(月) 00:06:47
複雑な管理処理を行うベースウェアにはGUIや集中管理する画面って必須かな?
それとも管理するためのAPIだけを提供すれば皆安心?
822デフォルトの名無しさん:2009/11/16(月) 00:20:52
せめて参考GUI実装をソースつきで。凝る必要は一切無し。
あれば使ってもらえるし、出来が気に入らなかったら改造するだろうし。
ソース無くてもjadで見ちゃうけど。
823デフォルトの名無しさん:2009/11/16(月) 00:58:42
なるほどruby的なのか
そりゃそうか
824デフォルトの名無しさん:2009/11/16(月) 02:05:38
初めましてm(_ _)m
JAVA初心者なのですが
JAVA2のSEとMEをインストールしようと思い一通りダウンロードしたんですが、
java_ee_sdk-5_08-jdk-6u17-windows-ml.exe
これ以外はインストール出来ませんでした。
EEに当たるようなんですが、サイトを見直すとSEに該当しているようにもみえます。
しかし次にMEをインストールしようとすると「SEがインストールされていない」とでてMEがインストールされません。

MEがSE1.4?のみに対応している可能性もあるのでダウンロードしようとしたんですが見当たりません。

ですがそれ以前から教則本の付録でついてたj2sdk1.4.1_01(ランタイム?)を使用してます。


パソコンは2000年発売VAIOのXPです。SPをインストールしていません。
(すでにSP1がダウンロード不可のため)

どなたかアドバイス下さい。よろしくお願いします。m(_ _)m
825デフォルトの名無しさん:2009/11/16(月) 02:46:23
こっから落とせば?
http://java.sun.com/javame/downloads/index.jsp

J2ME時代で環境作りたい場合はこっちから落とす
http://java.sun.com/javame/downloads/previous.jsp
826デフォルトの名無しさん:2009/11/16(月) 02:55:54
>>825解答ありがとうございます。後日、ダウンロード試みてみます。
827デフォルトの名無しさん:2009/11/16(月) 15:12:06
SaxParser#parse(File, dh)は内部でファイルのロック取ってるんでしょうかね?
プロセス間のは(共有ロック)取ってくれてると思って使ってるけど。

スレッド間の排他はユーザがやる必要があるのでしょうか?
828デフォルトの名無しさん:2009/11/16(月) 16:20:57
基本的な質問ですいません。
C言語ソースの移植作業しているのですが・・・。
int a(short b)
{
return b+5;
}

a(50);のように定数を引数にしてコンパイルすると
「a(short) は (int) に適用できません」
とエラーが出てしまいます。
a(50);をa((short)50);のようにキャストすればエラーは無くなりますが、
定数をいちいちキャストするのが面倒です。
キャスト以外に良い方法は無いでしょうか?
829デフォルトの名無しさん:2009/11/16(月) 17:38:52
int型の引数を受け取れる同名のメソッドを作ればよい
int a(int b) { return a((short)b); }
みたいな
830デフォルトの名無しさん:2009/11/16(月) 19:47:26
EJBってどうなの?業務で使ってる?
831デフォルトの名無しさん:2009/11/17(火) 01:06:24
test
832デフォルトの名無しさん:2009/11/17(火) 01:48:17
業務意外じゃEJBを使っているのみたことないな
833デフォルトの名無しさん:2009/11/17(火) 07:46:28
なんか業務でもあえてEJB避けてきたんで...
メッセージングとか一部機能のつまみ食い程度しか使ったことないから、
3.0はいい感じなのか実際に採用してる人たちの実感を聞きたいなと。
834デフォルトの名無しさん:2009/11/17(火) 10:18:39
業務システムでも短納期・低コストが求められているのだから、わざわざEJBでコストをあげる必要はないだろ
835デフォルトの名無しさん:2009/11/17(火) 10:25:03
EJBなんて学者のオナニーだから使わないほうがいい
836デフォルトの名無しさん:2009/11/17(火) 15:36:51
はじめまして、こんにちは
現在塗りつぶしを行うアプレットをアプリに書き換えています
が、なかなか上手くいきません
アプレット/アプリケーション共通プログラムという
http://www.asahi-net.or.jp/~dp8t-asm/java/tips/AppletApp.html
このサイトの通りに行っているはずなのですが、、、

間違っているところがあれば、アドバイスをお願いします

以下が私のソースです
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10131.txt
サイトの通りに、ExitWhenWindowClosingクラスとAppletFrameクラスは別に作ってあります
837デフォルトの名無しさん:2009/11/17(火) 15:47:43
単純なキーボード入力を出力するプログラムを作成したのですが、特定の文字列を入れると文字化けして出力されてしまいます。
この問題の原因、または解決方法をご存知の方みえましたら教えていただけないでしょうか。

実行環境:windows vista / Eclipse 3.5.1 Galileo Windows 32bit ベース / Pleiades All in One 3.5.1.20090930

コード:
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println(br.readLine());
} catch (IOException e1) {
// TODO 自動生成された catch ブロック
e1.printStackTrace();
}
}
入力:

出力:
�?
838デフォルトの名無しさん:2009/11/17(火) 16:46:00
>>837
キーボードが日本語106キーで認識されて無いのかな。
「む」「ろ」「BackSpace」キー等には気をつけて。

解決策は・・・ドライバがどうなっているかくらいか・・・わかんね。
見当違いかもしれんが参考に。
839デフォルトの名無しさん:2009/11/17(火) 17:05:10
>>838
おお!ありがとうございます。
ドライバ確認してみます。
840デフォルトの名無しさん:2009/11/17(火) 21:53:16
将来的にはEJBが(実質的な意味で)本命のような気がするんだよね。
現状はまだ様子見しつつって感じのようですね。
841デフォルトの名無しさん:2009/11/17(火) 21:56:48
現状で既に活用できるってばさ。
Apache+Tomcatの時代なんて今は昔。
まあ私の周りの話だから他は知らんけど。
842デフォルトの名無しさん:2009/11/17(火) 22:09:55
EJB なんて 10 年前の流行キーワード。今も今後も誰も注目しねぇって。
使えるところで淡々と使われるだけ。
843デフォルトの名無しさん:2009/11/17(火) 22:14:40
うちの周りはTomcat(というかサーブレットコンテナメイン)ばかり。
分散+フェイルオーバーで高可用構成とかでも
業務フレームワーク作りこみで対応してるケースが多い。

EJB3.0はコンフィグ地獄じゃなくてよさそうなんだよね。
軽量コンテナとの境界もあいまいになってるわけで、
そうなると標準化プロセスを経ているEJBのメリットが生きてくるような気がする。
844デフォルトの名無しさん:2009/11/17(火) 22:19:52
スタンダードに載っとかないと保守で首を絞める。
HibernateよりJPAやiBatisを選択するのがいい。
845デフォルトの名無しさん:2009/11/17(火) 22:26:28
だよね。保守はともかく、いまさら新規でHibernateはありえない。
JPAは意識してるけど、使いやすさとパフォーマンスの点でS2JDBCに浮気してたりして。
846デフォルトの名無しさん:2009/11/17(火) 23:06:12
質問させてください
配列名を引数で与えるにはどうしたらいいのでしょうか。

static int[] mkArr(String arrName, int itemNum){
int[] arrName = new int[itemNum];
//このあとはarrName[0]〜[itemNum-1]の値をキーボードから
//入力させます
}
この段階で
重複ローカル変数 arrName,
と警告がでます(Eclipse使用です)。

型が String だとまずいのかもしれないかとも思いますが、見当もつきません。

※このメソッドはメインクラスに書く予定です。

レベルが低すぎて申し訳ありませんがよろしくご教示ください。
お願いいたします。
847デフォルトの名無しさん:2009/11/17(火) 23:17:10
引数でString arrNameを宣言してるのに
最初のステートメントでint[] arrNameを宣言してるやん。
質問のわかりにくさからして始めたばかりなんだろうけど。
848846:2009/11/17(火) 23:54:30
>>847
お答えありがとうございます。
お察しのとおり始めたばかりです。

↓こんな感じで呼び出すと

mkArr("arr1",3)
int[] arr1 = new int[3];

となって配列arr1が生成されるのかと思っているのですが
違うんですよね。。
ずっと考えてるのですがわかりません。
ここ読んどけっていうところがあったら、教えていただければ助かります。
よろしくおねがいします。
849デフォルトの名無しさん:2009/11/18(水) 00:03:09
酷すぎる
850デフォルトの名無しさん:2009/11/18(水) 00:03:38
宿題スレをおすすめする。
まず何をするプログラムなのかが分からない。
851846:2009/11/18(水) 00:06:42
>>849-850
スレ汚しすみませんでした。
宿題ではないので、もう少し考えてみます。

申し訳ありませんでした。
852デフォルトの名無しさん:2009/11/18(水) 00:08:32
お前ら厳しいなw
853デフォルトの名無しさん:2009/11/18(水) 00:09:49
プログラムの素人であるのは構わない。そういうスレだ。
だが質問の素人であってはいけない。
854デフォルトの名無しさん:2009/11/18(水) 00:13:18
分かりやすく伝えるって結構高度だと思うが
855デフォルトの名無しさん:2009/11/18(水) 00:17:34
>>846
自分も初心者なんですが、
static int[] mkArr(int itemNum){
int[] arr = new int[itemNum];
//入力
return arr;
}
メソッドをこんな感じにして

int[] arrName = mkArr(itemNum);
呼び出し側で、受け取ればいいのでは?
arrNameは受け取りたい配列名で。

たとえば、
String str = "arr";
int[] str = new int[5];
とやっても、arrという名前のint型の配列は
出来ないかとw
856デフォルトの名無しさん:2009/11/18(水) 00:19:25
ああ、呼び出し方がおかしいですね。
すいません。
857デフォルトの名無しさん:2009/11/18(水) 00:35:34
>>846
なかなか独創的なコードだけど、以前はどの言語をやってたの?
858デフォルトの名無しさん:2009/11/18(水) 01:27:56
識別子に表情以上の物を求めるのが素人
識別子に_だけでプログラムするのが変態
識別子にg,o,t,oしか使わないでコーディングするのも変態
859デフォルトの名無しさん:2009/11/18(水) 01:58:04
識別子に$とか付けるのは宗教
860デフォルトの名無しさん:2009/11/18(水) 02:35:54
>>845が「新規でHibernateはありえない」って言ってるけど、なんで?
JPAやiBatisと比べてどの辺がありえないの?
861デフォルトの名無しさん:2009/11/18(水) 03:47:43
標準技術じゃないわりに複雑だからだろ。
JPAとの対比で語ってるからNativeAPIやらHQLでの話なんだろうけど。
862デフォルトの名無しさん:2009/11/18(水) 11:50:27
>>848
Javaとか初心者とか言って質問する前に、変数と関数というプログラムの基礎概念を勉強してこい
863デフォルトの名無しさん:2009/11/18(水) 22:25:58
JWebPaneっていつから使えるようになるんだろう
864デフォルトの名無しさん:2009/11/18(水) 22:50:16
JPAは当然ながらORM標準であることが利点。
ORMの業務適用要件は2.0の悲観的ロックサポートで満たしたと言ってよい。

iBatisはSQLをガリガリかけて、かつマッピングも楽ちんだから、
Java屋ではない外様がORMのメリットをすぐに享受できるところが良い。

本格的なORMは真の習得に三ヶ月かかると言われてるから、
標準 or 即効性の保守要件にHibernateは引っかからない。
865デフォルトの名無しさん:2009/11/19(木) 01:41:20
JSFを勉強し始めて半年ぐらいの若造です。
■.jspの記述

<h:dataTable var="list" value="#{bean.dataModel}">
<h:column>
<h:inputText value="#{list.text}"/>
</h:column>
 ・・・
</h:dataTable>

みたいなテーブルを表示して入力部を設け、ボタンを押したら値をテーブルの型式で取得したいのです。
bean.dataModelはListDataModelを返します。

beanのスコープはrequestです。
どのように値を取得するのが賢いのか教えて下さい。

866デフォルトの名無しさん:2009/11/19(木) 09:59:11
JAXBでのバインディングって、setとget以外のメソッドが混ざっている
JavaBeans形式以外のオブジェクトでは出来ないのでしょうか?
867デフォルトの名無しさん:2009/11/19(木) 12:36:47
getter と聞くと、手がドリルの青い合体ロボットを想像してしまう僕は異常でしょうか?
868デフォルトの名無しさん:2009/11/19(木) 16:24:49
配列([])の中身を調べる文字知りませんか?

例えばstring[1]だとしたら1と読み取ってくれるやつです
869デフォルトの名無しさん:2009/11/19(木) 16:26:27
ねぇよ
870デフォルトの名無しさん:2009/11/19(木) 18:12:31
文字ってなんだよ

>string[1]だとしたら1
も曖昧で分からん。
871デフォルトの名無しさん:2009/11/19(木) 18:59:39
>>866
@XmlTransientでOK

@XmlAccessorType(XmlAccessType.FIELD)なら
マーシャリングしたくないフィールド(メンバ変数)を
transientにしとけばOK
872デフォルトの名無しさん:2009/11/19(木) 19:08:06
というか、JAVAで配列使うな
873デフォルトの名無しさん:2009/11/19(木) 20:01:30
>>872
なんで?
874デフォルトの名無しさん:2009/11/19(木) 20:11:04
List使った方がいろいろ操作出来る
875806:2009/11/19(木) 20:13:27
806のことも思い出してあげてください

>>873
javaには優秀なコレクションフレームワークが標準で装備されているので、配列ではなくそっち使おうぜ。
>>872はそういいたいのだと思う。
配列で十分だと思ったら、何でもかんでもコレクション使うことは推奨しない。
876デフォルトの名無しさん:2009/11/19(木) 20:14:14
配列は使うな云々って本があったなぁ
877デフォルトの名無しさん:2009/11/19(木) 20:15:11
配列を使うメリットはあまりない
878806:2009/11/19(木) 20:19:30
配列を使うメリットは、高速かつメモリ消費が最小であること。

ローカルなメソッドの内部処理に用いる場合は、配列もありだと俺は思う。

おさらいだけど
配列:速度良 メモリ小 操作ミス多
コレクション:速度どうかな メモリ最小とはいかない 操作簡単安全
879デフォルトの名無しさん:2009/11/19(木) 20:27:45
速度とかメモリとかにこだわる層はわざわざそういうこと言われなくてもわかってるはずだから、
とりあえず「ArrayList使っとけ」でおk
880デフォルトの名無しさん:2009/11/19(木) 20:32:08
質問です。
HttpURLConnectionを使ってhttp通信を行います。
yahoo!などのサイトで接続した結果、問題なく接続し、情報を取得する事が出来ましたが、
問題のサイトに接続したところjava.io.FileNotFoundExceptionで弾かれてしまいました。
該当URLはブラウザでアクセスしたところ問題なく表示出来ます。
(パスワードやログインを要求するようなサイトではありません)
恐らくサーバー側で何かを見ているのではないかと思うのですが、
サーバーがチェックしてそうな項目を教えては頂けないでしょうか。

現在設定しているRequestPropertyは
Host、User-Agent、Accept、Accept-Language、
Accept-Encoding、Accept-Charset、Keep-Alive、Connection
で、値はブラウザで該当URLの確認ができた時と同じ値をセットしています。
881デフォルトの名無しさん:2009/11/19(木) 20:33:56
LinkedListのメリットがよく分からない。
リストの半ばの挿入削除が速いって理屈は分かるが、
その場所に辿り付くまでは結局イテレートしてるわけで。
882デフォルトの名無しさん:2009/11/19(木) 20:36:40
404 や 503 じゃないのならプログラム上のミスで、相手サーバーじゃないんだろうな。
883デフォルトの名無しさん:2009/11/19(木) 20:42:19
>>880
お前モペ吉か?
884デフォルトの名無しさん:2009/11/19(木) 20:45:43
>>881
メリットはあんたが言ってる通りじゃねーかw
885デフォルトの名無しさん:2009/11/19(木) 20:46:44
ポインタ辿るだけだしなぁ。System.arraycopyで後ろ詰めるよりは速い。
でもgetFirstなどからして、stackとかqueueに特化した使い道が一番。
886デフォルトの名無しさん:2009/11/19(木) 20:58:49
LinkedListは参照の数珠繋ぎだから、要素の最初から最後まで順番にアクセスするなら
ArrayListよりも速いはず。逆に、要素の〜番目みたいなアクセスは破滅的に遅いと思う。
ランダムアクセスしない&削除と挿入が頻繁、ならむしろLinkeListの方が良いと思います。

ところで質問なのですが、
Javaで参照カウンタみたいな仕組みを実現したいのですが、なにか良い方法はないでしょうか。
887デフォルトの名無しさん:2009/11/19(木) 21:01:58
さっきから「メモリ効率」「速いだろう」「思います」とかばっかりだけど、それじゃいつまでも上達しないだろうな。
888デフォルトの名無しさん:2009/11/19(木) 21:03:54
>>886
staticな変数を持って、
コンストラクタ内でインクリメント
ファイナライズ内でデクリメント

いい方法ではないが、これしか思いつかなかった。
889デフォルトの名無しさん:2009/11/19(木) 21:04:08
>>882
404や503にはならないのですが
そのサイトではRequestPropertyを全て外すと403になります
またyahoo!などのサイトで接続した結果、問題なく接続し、情報を取得する事が出来ました
890デフォルトの名無しさん:2009/11/19(木) 21:04:17
>>886
でも実際試してみると ArrayList は LinkedList より結構速い
891デフォルトの名無しさん:2009/11/19(木) 21:08:10
>>887
メモリ効率は上達にはかかせないだろ。
892デフォルトの名無しさん:2009/11/19(木) 21:08:21
ArrayDequeueやConcurrentLinkedQueueがあるから尚更使い道が少なくなってきた。
893デフォルトの名無しさん:2009/11/19(木) 21:12:27
うお。なんだ。
Java1.4時代に迷い込んじまったw
894デフォルトの名無しさん:2009/11/19(木) 21:14:09
メ…メモリ効率だってよっwww
895デフォルトの名無しさん:2009/11/19(木) 21:14:38
Dequeueは6から、Queueは5からなんだが。
896デフォルトの名無しさん:2009/11/19(木) 21:23:08
>>894
おかしいと思う理由を書けよw
荒らしか?
897デフォルトの名無しさん:2009/11/19(木) 21:28:54
メモリ効率とか無駄のないアルゴリズムを考えられない奴っているんだよ。
コーディングする楽しみなんてないんだろうな。
898デフォルトの名無しさん:2009/11/19(木) 21:33:20
てかオブジェクト指向ってそういうもんだから構わんよ。
パフォーマンスの80%はソースコードの20%に依存するって奴だ。
裏を返せばソースコードの80%は保守性のが大事ってこと。
899886:2009/11/19(木) 21:43:11
>>888
レスありがとうございます。
その方法だと、そのクラスのインスタンスがいくつ存在するか、
ということがわかりますね。参照カウンタと近い気がするので参考にさせていただきます。
900デフォルトの名無しさん:2009/11/19(木) 21:50:44
メモリ効率を考えてコード書いて
数ヵ月後に、俺なんでこんなややこしいコード書いてんだ?
もっとeasyでいいやんって書き直している途中で
そういうコード書いてた理由を思い出す

revert
901デフォルトの名無しさん:2009/11/19(木) 21:54:04
>>896
荒らすな鼻糞
902デフォルトの名無しさん:2009/11/19(木) 22:02:42
複雑なモデルを複雑なコードで実装してるうちは素人
903デフォルトの名無しさん:2009/11/19(木) 22:48:25
早く仕上げてボトルネックをテストしようぜ
904806:2009/11/19(木) 22:51:41
>>886 何するのかわからないけど、ウィークリファレンス(弱参照)とかの機能もあるんだぜ。

俺の質問って場違いなの?()涙
905デフォルトの名無しさん:2009/11/19(木) 22:55:29
JLayerMEでも使ったら>MP3
906デフォルトの名無しさん:2009/11/19(木) 22:56:02
俺も興味あるな。Javaで参照カウンタが必要ってどんな処理?
907デフォルトの名無しさん:2009/11/19(木) 23:30:01
>>904
弱参照と参照カウンタは関係ないだろ。
908デフォルトの名無しさん:2009/11/19(木) 23:31:52
おまえらって普通のプログラミングはちょっとはわかってるっぽいけどdrawLineとかdrawOvalはわかるか?
909デフォルトの名無しさん:2009/11/19(木) 23:34:23
>>908
知らないなら知らないって言えよw
910886:2009/11/20(金) 00:06:24
>>906
長い上に上手く説明できませんが、
あるサイトを参考に、IDなどを通じてグローバルに参照できるオブジェクト群を管理するクラスを作ろうとしています。
このクラスは、外部からの要求に応じてオブジェクトを生成し譲渡するのですが、その生成したオブジェクトは自身のフィールドに保持します。
そして次に同じ要求があった場合は、新たに生成せずに保持していた同じオブジェクトを渡します。
一つのオブジェクトを不特定多数の外部で共有するためです。
問題は、保持しているオブジェクトが管理クラス以外のどこからも参照されなくなった時は、それを削除せねばなりません。
そのタイミングを知るために参照カウンタが必要なのです。

>>904
弱参照は使ったことないのですが、上記のような場合でもGCしてくれるものなのでしょうか。
Reference関連は勉強不足で何もわかりません。その辺も調べてみます。
911デフォルトの名無しさん:2009/11/20(金) 00:15:02
ある書籍のwait/notifyのメカニズムの問題で
正解が下記のようになってるんですが、
consumerメソッドでwaitの下の
isFlag=falseがどうしても理解できません。
ここでfalseを代入してしまうと
上のproduceでisFlag=trueでnotifyを呼びだし
waitを呼び起こしてもすぐにまたfalseになり
いつまで経ってもwhileから抜け出せないと思うんですが・・・
私の見解が間違っているんでしょうか?

class MySync{
boolean isFlag = false;
public synchronized void produce(){
isFlag = true;
notify();
}
public synchronized void consumer(){
while(!isFlag){
try{
wait();
isFlag = false;
}catch(Exception e){}
}
}
}
912デフォルトの名無しさん:2009/11/20(金) 00:19:13
>>910
昔、そういうの使ったことあるよ。

FacesContext.getCurrentInstace().getExternalContext()

の下にあるメソッドだったと思う。任意のクラスに対する、別クラスからのバインディングを取り扱う道具があるはず。
913デフォルトの名無しさん:2009/11/20(金) 00:20:05
>>910
なるほど・・・
シングルトンを強制しつつも、参照されなくなったらGCに回収させるのですね。
914デフォルトの名無しさん:2009/11/20(金) 00:22:24
なるほど。要はキャッシュの仕組みが作りたいわけね。

その用途ならソフト参照がいいかもね。
実際のところ弱参照は相応のライフサイクルが期待される
オブジェクトのキャッシュ方法としては適していない場合が多い。

http://www.ibm.com/developerworks/jp/java/library/j-refs/index.html
あたりを読んでみるとわかりやすいよ。
915デフォルトの名無しさん:2009/11/20(金) 00:25:57
ウィークもいいけど、参照カウンタなんかCOMっぽくていいかもw
ほっといた方がよさそうだww
916デフォルトの名無しさん:2009/11/20(金) 02:35:06
いちいちaddRefとかもういやだお
917デフォルトの名無しさん:2009/11/20(金) 02:41:51
>>916
もしc/c++でもjvmでも、gcとかautoリソース解法とかの概念を使えるならそれをデストラクタに入れとくといいよw
918デフォルトの名無しさん:2009/11/20(金) 06:37:05
項目と値があるTableをjavaで扱う時、
CollectionInterfaceか配列どのような方法を使うのがいいのでしょうか?

Tableからの情報を使って、別のTableの中から同じ文字列を持つものを検索したいと考えています。
ArrayListの二次元配列で作っていたのですが、
うまくピンポイントの情報が取得できません。
Array.get(int )はObjectのため、ArrayListのように指定しての取得ができないように思われます。

まだまだ勉強不足で見当違いの事を書いているのかもしれませんが、
それも含めてご指摘ご意見頂ければと思います。

よろしくお願いします。
919デフォルトの名無しさん:2009/11/20(金) 08:37:57
>>918
HashMap を使わない理由は?
920デフォルトの名無しさん:2009/11/20(金) 08:45:52
なにこのデジャブ
921デフォルトの名無しさん:2009/11/20(金) 11:47:18
>>911
お前が正しい
そんな本は窓から投げ捨てろ
922デフォルトの名無しさん:2009/11/20(金) 14:09:16
なんか、Javaの技術で面白ものってないですか?

面白いサイトとか本とか教えてくれるとありがたいっす。
今、経理やってるんだけど、2年くらいJavaやってました。

久しぶりにJavaやりたくなったんです。

よろしく><;
923デフォルトの名無しさん:2009/11/20(金) 14:10:24
iTextとかおすすめ
PDF作れる
WebならApache
924922:2009/11/20(金) 14:21:01
>>923
ありがとう。もう両方やったんです><;

J2EEの青い分厚い本でも今からかってこよっと・・あれなら、新しいEJBとか載ってそうだ。
925デフォルトの名無しさん:2009/11/20(金) 17:10:57
Web系ならWicketとか
926886:2009/11/20(金) 20:01:26
>>914
リンク先参考になりました。
有難うございます。

>>922
JOGLかProcessingはいかがでしょうか。
ゲームやプログラミングアートに興味があれば是非。
927デフォルトの名無しさん:2009/11/20(金) 20:06:54
Javaの長所と短所を教えてください。
928デフォルトの名無しさん:2009/11/20(金) 20:20:50
長所:Write Once, Run Anyware.
短所:リッチクライアント周りでは↑が嘘になる
929デフォルトの名無しさん:2009/11/20(金) 20:21:37
Anywhere.だた。恥ずかし−
930デフォルトの名無しさん:2009/11/20(金) 20:33:18
長所
 ともかく色々なプラットフォームで動く
 マニアックでない素直なOO言語
 強い型付け
短所
 玉虫色器用貧乏GUI、SWTなんてネイティブ移植しなけりゃ動かないし
 強い型付け
931デフォルトの名無しさん:2009/11/20(金) 20:39:31
Map<String, ? extends MyInterface> map = new HashMap<String, ? extends MyInterface>();
これには閉口する。

var map = new HashMap<String, ? extends MyInterface>();
ってならんかな。提案レベルならすでにJSRにあるんだとは思うが。
932デフォルトの名無しさん:2009/11/20(金) 20:40:55
そんなあなたに、はいScala
933デフォルトの名無しさん:2009/11/20(金) 20:47:47
>>931
逆はjdk7からできるようになる予定だよ。

Map<String, ? extends MyInterface> map = new HashMap<>();
934デフォルトの名無しさん:2009/11/20(金) 20:51:21
>>933
なるほど。IDEとの連携を考えてもそっちのが柔軟か。
935806:2009/11/20(金) 22:06:28
>>905
ソースさっくりみたけど DLLたたいてるね。
携帯でMP3って意外と敷居高いな・・・
936デフォルトの名無しさん:2009/11/20(金) 22:12:47
最新のJAVA2EEをインストールして暫くしたらパソコン起動するたびにコマンドプロンプトが起動しSUNのフォルダのdomain01内にログを作り出します。
サーバー?なのか不明なんですが、これ止めるには何処をどうしたら良いでしょうか。
よろしくお願いします。
937806:2009/11/20(金) 22:13:08
>>886
RMIとか使ってプロセス間通信でもしてるわけじゃないのかな?
単独の仮想マシン上で動いてる場合、参照されなくなったらGC対象になるのはご承知だろうし。

弱参照しているばあい、他の参照がないとGC対象になるってだけなので、今回の件には使うところはないかも。
ちょっと違うことを想定してしまったので、わすれてOK(弱参照
938806:2009/11/20(金) 22:26:26
長所と短所の話は 俺の好きな話題だったので・・・

長所
メモリ開放処理が自動なので簡単である。
そのためソースコードはCなどと比べると、とてもシンプルになり可読性がよい。
java専用高性能エディタが存在するため、生産性は高い(キリ
標準のライブラリがこれでもかってくらいそろってる。

短所
メモリ開放処理は自動だが、オブジェクトの開放契機などに注意を払わなくなるため。
イージーミスでメモリリークが発生する。
javaSE javaEE と javaMEは別物過ぎる、携帯電話などの端末でもSEで書いたものが動くことを期待する。

939デフォルトの名無しさん:2009/11/20(金) 22:52:32
JLayerMEがDLL叩く?
そんなもん叩いてないがMMAPIのフルセットが実装されてないとJLayerMEは動かないからMIDPベースでは無理。
940デフォルトの名無しさん:2009/11/20(金) 22:55:54
>>938
>>短所
>>メモリ開放処理は自動だが、オブジェクトの開放契機などに注意を払わなくなるため。
>>イージーミスでメモリリークが発生する。
あんまり見たことないけどね・・・
どんなの?
941デフォルトの名無しさん:2009/11/20(金) 23:04:30
独自に配列スタックを作ろうとして、popされた時にnullで掃除しない場合とかか?
しかしArrayDequeueとか適切なクラスがあるしなぁ。
942918:2009/11/20(金) 23:24:26
>>919
ありがとうございます。
ArrayListにHashMapを格納することで、解決できました。
943デフォルトの名無しさん:2009/11/20(金) 23:28:20
>>941
うん。そういう教科書とかに載ってそうなのはわかるんだが、
実装レベルのイージーミスで起こるメモリリークってどんなの?
944デフォルトの名無しさん:2009/11/21(土) 01:17:22
ライブラリにポインタ渡す時はライブラリを信頼しきってるから
あとでしっぺ返しされると超こまる
945デフォルトの名無しさん:2009/11/21(土) 01:23:54
>>943
staticな変数にデカいコレクション突っ込んだまま放置してメモリを馬鹿食いするとか?
メモリリークというのは正しくないけど、症状はメモリリークに近いな。
946デフォルトの名無しさん:2009/11/21(土) 01:53:48
Tomcatのコネクタか何かがログをそんな感じでほったらかしにしてたってのがあったな
947806:2009/11/21(土) 14:30:28
イージーミスの話だけど
コレクションにぶち込みっぱなしで放置とか、そんなレベルの実装ね。
現実あったはなしだから、ソースレビューとかちゃんとやろうね
948デフォルトの名無しさん:2009/11/21(土) 16:49:58
JTableがクリックされた時に、選択されている行の情報を取得するにはどうすればいいのでしょうか?
949デフォルトの名無しさん:2009/11/21(土) 17:20:07
すみません、コンパイルできるんですが何も表示されません、助けてください
見にくいかと思いますが、お願いします
//<applet code="SnakeProg2.class" width="300" height="300"></applet>
import javax.swing.*; import java.awt.*; import java.awt.event.*;
public class SnakeProg2 extends JApplet implements KeyListener { int actiontype = 0, count = 0; int x[] = new int[99]; int y[] = new int[99];
public void init()
this.addKeyListener(this); this.setFocusable(true);
}
public void paint(Graphics g) {
super.paint(g);
x[count] = 0; y[count] = 0;
for (count = 1; count <= x.length; count++) {
switch (actiontype) { case 0: count--; break; case 1: x[count] = x[count-1] + 10; g.drawPolyline(x, y, count); break;
case 2: y[count] = y[count-1] + 10; g.drawPolyline(x, y, count); break;
case 3: x[count] = x[count-1] - 10; g.drawPolyline(x, y, count); break;
case 4: y[count] = y[count-1] - 10; g.drawPolyline(x, y, count); break; } } }
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if(keyCode == KeyEvent.VK_RIGHT) {
if(x[count] == 300 || count == 100) {
actiontype = 0; } else {actiontype = 1;}
} else if(keyCode == KeyEvent.VK_DOWN) { if(y[count] == 300 || count == 100) { actiontype = 0; } else { actiontype = 2; }
} else if(keyCode == KeyEvent.VK_LEFT) { if(x[count] == 0 || count == 100) { actiontype = 0; } else { actiontype = 3; }
else if(keyCode == KeyEvent.VK_UP) { if(y[count] == 0 || count == 100) { actiontype = 0; } else { actiontype = 4; } } repaint(); }
public void keyTyped(KeyEvent e) {
public void keyReleased(KeyEvent e) { }}
950デフォルトの名無しさん:2009/11/21(土) 17:33:59
>>948
public void mouseClicked(MouseEvent e) {
int idx = tbl.rowAtPoint(e.getPoint());
}
あとはお好きに。
951デフォルトの名無しさん:2009/11/21(土) 17:49:53
>>948
JTableで文字列をクリックした場合だけセルを選択状態にする
ttp://terai.xrea.jp/Swing/CellAtPoint.html

MouseInputAdapter ma = new MouseInputAdapter() {
public void mousePressed(MouseEvent e) {
Point pt = e.getPoint();
int row = table.rowAtPoint(pt);
952デフォルトの名無しさん:2009/11/21(土) 17:53:13
>>949
不味い点が多すぎて。
とりあえず初期状態でpaint()が動くと、countでのforループの中でcount--して無限ループ。
953デフォルトの名無しさん:2009/11/21(土) 17:57:00
ん、踏んだか。次立ててくるね。スレ立てるのひさびさだな。
954デフォルトの名無しさん:2009/11/21(土) 18:00:17
次は

★★Java質問・相談スレッド134★★
http://pc12.2ch.net/test/read.cgi/tech/1258793926/
955デフォルトの名無しさん:2009/11/21(土) 18:01:20
956デフォルトの名無しさん:2009/11/21(土) 18:05:44
957デフォルトの名無しさん:2009/11/21(土) 18:18:26
>>949
わからん
958デフォルトの名無しさん:2009/11/21(土) 18:20:52
>>950-951
とんくす
959デフォルトの名無しさん:2009/11/21(土) 18:27:50
誰か2chにソース貼るとき整形するツール作れよ
960デフォルトの名無しさん:2009/11/21(土) 19:33:04
言いだしっぺの法則というものがありまして
961デフォルトの名無しさん:2009/11/21(土) 19:59:03
そんなものは存在せんわ戯けが
962デフォルトの名無しさん:2009/11/21(土) 20:24:16
言いだしっぺの法則 の検索結果 約 16,300 件中 1 - 100 件目 (0.58 秒)
963デフォルトの名無しさん:2009/11/21(土) 20:39:45
> "言いだしっぺの法則" の検索結果 約 11,600 件
> (中略
> 最も的確な結果を表示するために、上の679件と似たページは除外されています。

括って約11,600件、重複除外で679件
これだけでればまあ十分だな。
964デフォルトの名無しさん:2009/11/21(土) 21:32:51
とりあえず仕様を考えてみた。
Eclipseで再フォーマットすりゃいいんだから、バイト数減らすために改行と
トークン区切り以外の空白も除去、1レスに埋め込める最大行・バイト数に収まる
ようにトークンで改行。
http://pc12.2ch.net/tech/SETTING.TXT より プログラム技術@2ch掲示板 は
BBS_LINE_NUMBER=16
BBS_MESSAGE_COUNT=2048
で、最大行数32行、2048バイト。
あ、行コメントは一行換算しないとならんか。

しかし、こんなん貼ったら邪悪なコード選手権の控え室みたいで嫌w
965デフォルトの名無しさん:2009/11/22(日) 00:33:50
そんなややこしい話じゃなくて、
単にインデントをつけてほしいって
>>959 は言いたかったんじゃないのか?
966デフォルトの名無しさん:2009/11/22(日) 01:50:12
あーだこーだですね
967デフォルトの名無しさん:2009/11/22(日) 16:29:43
ディープコピーとシャローコピーについて混乱してしまっているのですが

配列の場合
1 イコールで結ぶ → シャロー
2 System.arraycopyを使う → シャロー
3 中身をひとつひとつコピーする → ディープ

コレクションの場合
1 イコールで結ぶ → シャロー
2 cloneを使う → シャロー
3 中身をひとつひとつコピーする → ディープ
4 new ArrayList(list)などと書く → ディープ

でよろしいでしょうか?
またこれ以外にもディープコピーする方法はあるのでしょうか?
968デフォルトの名無しさん:2009/11/22(日) 18:19:36
>>967
配列の場合 
1 イコールで結ぶ → シャロー 
2 System.arraycopyを使う → でぃーぷ
3 中身をひとつひとつコピーする → ディープ 

コレクションの場合 
1 イコールで結ぶ → シャロー 
2 cloneを使う → コレクションの実装依存,シャロー 
3 中身をひとつひとつコピーする → ディープ 
4 new ArrayList(list)などと書く → Listの実装依存,ディープ 

CopyOnWriteっつーやり方もあるので,シャローかディープかは実装みながらでないとこわい
969デフォルトの名無しさん:2009/11/22(日) 18:23:50
対象のクラスのフィールドがオブジェクトである場合、
そのオブジェクトが不変クラスであるか否かでシャローかディープかも変わる。
970デフォルトの名無しさん:2009/11/22(日) 18:37:23
>>968
それ間違ってね?

厳密な意味でディープコピーができてるのって
3か4で(直接・間接的に)内包する全ての参照のインスタンスを
同じくディープコピーした(できた)場合だけじゃね?

>>967
実業務で厳密なディープコピーが要求されるシーンはそれほど多くないが、
シリアライズ・デシリアライズで代用することもある。(むしろWeb系だとこっち)
971デフォルトの名無しさん:2009/11/22(日) 18:39:53
ごめん。

3か4で(直接・間接的に)内包する全ての参照のインスタンスを
↓訂正
2か3で。。。
972デフォルトの名無しさん:2009/11/22(日) 19:34:00
>>967
配列もコレクションも 1って代入演算子の左辺と右辺が同じ参照さすのでコピーになってないような。
コレクションの new ArrayList(list) は list が ArrayList のインスタンスでない場合に
コピーと称するのはどうなんだろうな、という気がしなくもない。
973デフォルトの名無しさん:2009/11/22(日) 20:53:31
>>970
そこまで考えてなかった
974デフォルトの名無しさん:2009/11/22(日) 21:16:41
シリアライズで質問です。
class clss {
int[] arry
clss(int[] a){
arry=a;
}
}
みたいなクラスを
int[] a= {0,1};
int i=0;
while(true) {
a[0]=i++;
clss c= new clss(a)
writeObject(c);
if(i<100)break;
}
というようにループで書き出してそのファイルをデシリアライズすると
全ての取り出したインスタンスが
a={0,1}
になっているようなのですがこれは解決可能なのでしょうか?
975デフォルトの名無しさん:2009/11/22(日) 21:26:47
readObjectしたarrayの中身が全部そうなら、多分バグ。
976デフォルトの名無しさん:2009/11/22(日) 21:28:13
よく見たらバグってるのは i<100の方だな。死ねよ
977デフォルトの名無しさん:2009/11/22(日) 21:39:44
あえて言おう
javaは貧弱であると
978デフォルトの名無しさん:2009/11/22(日) 21:51:06
DIO乙
979デフォルトの名無しさん:2009/11/22(日) 21:51:27
javaの文法が嫌いですVBの文法はもーっと嫌いです
980デフォルトの名無しさん:2009/11/22(日) 21:57:57
そうですか、Rubyでもやってください
981デフォルトの名無しさん:2009/11/22(日) 22:02:51
>>970
それがあるからcloneは仕様上シャローで実際に使う際は実装にしたがってね。
ってことになってるんじゃね?
982デフォルトの名無しさん:2009/11/22(日) 22:17:17
実際のところ直接のオブジェクトがコピーされていれば、そっから先は問題にならない場合が多い。
そもそもディープかシャローかをなるべく意識しなくて済むようなデザインをするべき。
983デフォルトの名無しさん:2009/11/22(日) 22:26:04
>>976
書き間違えました。i>100です。
色々やってみたところ配列をディープコピーして
コンストラクタに渡せば値が変わるようになりました。

しかしそうすると63Mほど書き出した時点でout of memory errorで落ちてしまいます。
シリアライズでは巨大なファイルは取り扱えないのでしょうか?
984デフォルトの名無しさん:2009/11/22(日) 22:31:01
それオブジェクトどこに書き出そうとしてんの?
普通に無限ループしてんだろ。

プログラムにバグがない状況でOutOfMemoryを解消する場合は
-Xmx???m オプションをJVMに渡す。???はJVMが最大で使えるヒープサイズ
985デフォルトの名無しさん:2009/11/22(日) 22:41:12
deepcloneじゃなくてref渡しだと、readObjectすると全部が{0,1}ってことでしょ。
local varriableがfinalじゃないからクロージャ扱いって分けでもないのに、
なってなんかすごいね。javaのバクって感じだけど。
986デフォルトの名無しさん:2009/11/22(日) 22:44:54
>>984
c:\hoge\test.datというような外部のファイルです。
画面キャプチャをRobotでint[]として取って書き出すという
プログラムなので条件満たすまで無限ループという仕様です。

ヒープサイズをキャプチャが終わるまで落ちないような値まで大きくする
以外ないのでしょうか。
987デフォルトの名無しさん:2009/11/22(日) 22:52:07
不要なint[]をずっと保持し続けてんじゃないの?
Objectをファイルに吐き出したら、そのint[]は捨てられるはずだから、
無限にキャプチャし続けてもメモリがあふれることはないはず。(もちろんディスクはあふれるけど)
988デフォルトの名無しさん:2009/11/22(日) 23:04:09
int[] ary= getDeepCopy(a);
clss c= new clss(ary)
writeObject(c);
ary=null;
c=null;

と後片付けはしているつもりです。
これにgc();やflush();を加えてみてもやっぱり63M書き出したところで
out of memory errorで落ちてしまいます。
989デフォルトの名無しさん:2009/11/22(日) 23:09:42
JavaよりSEXについて教えてもらおうか
990デフォルトの名無しさん:2009/11/22(日) 23:13:50
-agentlib:hprofつけてプロファイラで確認してみそ。

java -agentlib:hprof -Xmx512m foo.bar.Hoge

java.hprof.txtがクラスルートに出来てるから読むか貼ってみ。
それか
-agentlib:hprof=format=bにしてJhat使ってもいい
991デフォルトの名無しさん:2009/11/22(日) 23:16:02
ああ、64mで死ぬってことはJDK1.4かな?
だったら-Xrunhprofね
992デフォルトの名無しさん:2009/11/22(日) 23:23:08
>>974
writeObjectに同じインスタンスを複数回与えたら、
readObjectもその回数だけ同じインスタンスを返す仕様
同じインスタンスが異なる値を持つことは出来ないから、そのような結果になる
writeObjectのそのような振る舞いを実装するために、
ObjectOutputStreamは一度書き込んだオブジェクトを全部覚えていて、
同じインスタンスは二度書き込まず前回書き込んだインスタンスの参照だけを書き込むようになっている
readObjectも最初と同じインスタンスを返すために、一度読み込んだインスタンスは全部覚えている
ObjectOutputStream#writeUnsharedとかObjectInputStream#readUnsharedを使ってみたらどうかな
993デフォルトの名無しさん:2009/11/22(日) 23:56:09
>>990
SITES BEGIN (ordered by live bytes) Sun Nov 22 23:38:58 2009
percent live alloc'ed stack class
rank self accum bytes objs bytes objs trace name
1 94.41% 94.41% 109190144 448 109190144 448 306708 int[]
2 1.90% 96.31% 2193552 9 142093424 583 306647 int[]
3 1.12% 97.42% 1291760 32294 276012080 6900302 306707 java.awt.Color
4 0.30% 97.73% 349256 5020 349256 5020 300000 char[]
でした。
この100M近くいっているint[]は書き出すループのあるメソッドで確保しているようでした。

>>992
やってみましたが全てa={0,1}のままでした。
994デフォルトの名無しさん:2009/11/23(月) 00:02:12
じゃあループ1回ごとにObjectOutputStream/ObjectInputStreamをnewし直す
995デフォルトの名無しさん:2009/11/23(月) 00:27:13
ちょっと>>794試した

writeObject(c) ってのが中身どうなってるのかわからねーが適当に作ったら
同じ現象発生

なんでだ?

c:\WINDOWS>java -version
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
996デフォルトの名無しさん:2009/11/23(月) 00:28:27
>>995
ごめん>>974

ObjectIn/OutputStreamってストリームに接続したときに何かネゴシエーション処理してたんだが
もしやそれのせいかの
997デフォルトの名無しさん:2009/11/23(月) 00:29:51
>>994
FileOutputStream flOtptStrm = new FileOutputStream(flNm, true);
ObjectOutputStream objctOtptStrm = new ObjectOutputStream(flOtptStrm);
をループごとに呼び出して書き出したところ、読み出しの
objctInptStrm.readObject();

java.io.StreamCorruptedException: invalid type code: AC
が発生しました。
ループ2回目で発生しているのでうまくオブジェクトの追記ができないみたいです。

上記の問題ですが、
www.yukun.info/blog/2008/05/out-of-memory-error.html
まさにこれみたいで、ストリームをreset();すると64Mを超えても落ちなくなりました。
質問に答えてくださった方、本当にありがとうございました。
お手数をおかけしてすみません。
998デフォルトの名無しさん:2009/11/23(月) 15:54:26
ume
999デフォルトの名無しさん:2009/11/23(月) 15:56:09
ume
1000デフォルトの名無しさん:2009/11/23(月) 15:57:07
ume
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。