[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 04/11 16:27 / Filesize : 251 KB / Number-of Response : 860
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者】Java質問・相談スレッド99【大歓迎】



1 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 01:35:28 ]
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

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

前スレッド
【初心者】Java質問・相談スレッド98【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1171787388/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。pc10.2ch.net/hp/

次スレは>>980あたりで。

620 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 14:37:53 ]
完全なインタープリタならいざ知らず、バイトコードまではコンパイルしてるのだから
式の評価順の解析(スタックや逆ポーランドといった)はコンパイル時におわってる。
より短くコードを書くことを良しとしていたCの文法を受け継いでるだけだ。

621 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 16:16:30 ]
>>620
要するにコンパイラが勝手に最適化するから気にするなでおk?

622 名前:デフォルトの名無しさん [2007/03/20(火) 19:12:20 ]
WebappClassLoaderをサーブレット側から手動で動かすにはどうしたらいいですか?

623 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 20:48:28 ]
eclipseでワークスペース使ってコンソールから窓を開いて3DCGを表示するアプリ作ったのですが

それをアプレットに落とし込むにはどうしたらいいでしょか。
やり方教えて下しア

624 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 20:52:01 ]
C/C++ だと _ で始まる名前や場所を問わず __ を含む名前はシステムで予約されてるけど、Javaではどうなん?

625 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 21:09:19 ]
_については制限なし。

$も使えるが、機械生成されたものなど、用途を制限されている。
ただし、「それが望ましい」程度の縛り。


626 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 21:09:25 ]
>>624
Character#isJavaIdentifierStart も Character#isJavaIdentifierPart も true を返すから '_' 自体は使える。

_ で始まる名前とか __ で始まる名前とかで、予約はされてないはず。

コーディング規約で使わないのを推奨してたか、は忘れた。

627 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 21:16:04 ]
>>625-626
サンクス。自分でそんな名前を進んで使うつもりはないけど、
いま弄ってるソースでバンバンそんな名前が使われてたから気になってた。

628 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 21:41:28 ]
>>617
どこにレスを付けるのか迷ったけど、ここにレス付けるわ。
例A
short x = 0;
int i = 123456;
x += i; // エラーなし
x = x+ i; // エラー 精度が落ちている可能性

例B
Object o = "Hoge";
String s = "Test";
o = o + s;// エラーなし
o += s; // エラー 互換性のない型

元ネタ 書籍「Java Puzzlers」



629 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 22:06:08 ]
>x += i; // エラーなし
なんで?

630 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 22:18:46 ]
JLS15.26.2を読んでみた。

前者は、複合代入演算
E1 op= E2
の意味するところは
E1 = E1 op E2
ではなく、
E1 = (T)(E1 op E2) // TはE1の型
すなわち、複合代入演算子は暗黙のうちに代入される側の方へのキャストを
行うというのがポイント。

後者は、複合代入演算子が使えるのはプリミティブ型/そのラッパー型、そして
+=については左辺がStringの場合のみ、文字列連結が行われる。
(右辺はどんな型でもよい)


631 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 22:22:58 ]
>>629
例えば

byte b = 0;
b += 2; // 2 は int型

とかがコンパイルエラーになったらウザいでしょ。

632 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 23:34:47 ]
JPanelにCanvasをはりつけてCanvasにイメージを描画しようと思ってます。
JPanel内に↓のようなMyCanvasクラスを定義してpaint()を実装しました。

 private class MyCanvas extends Canvas {
  public void paint(Graphics g) {
   g.drawImage(resultImage, 0, 0, null); // resultImageはJPanelのインスタンス変数
  }
 }

JPanelでresultImageが変更されたときにmyCanvas.repaint()を呼んでいるのですが
Canvasのイメージが更新されません(一度、最小化して戻すと表示されてます)
再描画がうまくいってないようなのですがどのようにすればよいでしょうか。


633 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 23:39:03 ]
- MyCanvasはCanvas(AWTコンポネント)を継承せず、代わりにJPanelを継承
- paintではなくpaintComponentをオーバーライド

でどうか?


634 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 23:51:18 ]
アドバイスありがとうございます。
ただそれでもだめでした。
paintComponent()でSystem.out.println()やるとちゃんと表示されてるのでrepaint()で
メソッドは呼び出されてはいるようです。
ただはりつけたJPanelに表示はされません・・・

もとのパネル(MainPanel)では
setLayout(new BorderLayout());
imagePanel= new MyPanel();

add(imageCanvas, BorderLayout.CENTER);
ではりつけてます。

635 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 23:52:10 ]
add(imagePanel, BorderLayout.CENTER)
の間違いでした

636 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 23:58:52 ]
自己レスです

はりつけたMyPanelのpaintComponent()にsuper.repaint()を入れたらすぐ再描画されました。
貼り付け元のJPanelも再描画する必要があるってことでしょうか・・・

637 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 00:02:58 ]
関係ないかもしれないけど、
paintComponentでsuper.paintComponentは呼んでる?


638 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 00:19:55 ]
呼んでます・・・

JFrameの上にJPanelを貼り付けた場合は、paintComponent()ですぐ再描画されてたんですが、今度はJPanelの上にJPanelを貼り付けたからかと疑ってるんですが、関係ないかな。



639 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 00:25:58 ]
超初心者です。
本を見ると
「swingはAWTと異なり、コンテンペインを取得し、そこにコンテンツを配置する。」
というように書いております。
で、そのとおりgetContentPane()してaddしたらもちろん上手くいきました。
流れとしてはこんな感じで。→new JFrame().getContentPane().add(new JPanel());
その後もしかしてと思って、
new JFrame.add(new JPanel())
ってやっても普通にうまくいきました。
コンテンツペインを取得する必要ってあるんでしょうか?

640 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 00:35:17 ]
>>638
自己レスですが
g.drawImage(resultImage, 0, 0, this);
で解決したようです。null->thisにしました。

641 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 00:37:44 ]
>>639
最近のJFrameでは不要。必要に応じて内部でgetContentPane()した先に
要求をたらい回ししてくれる。



642 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 00:41:07 ]
java.sun.com/j2se/1.5.0/ja/docs/ja/guide/swing/1.5/index.html#swingMajor
bugs.sun.com/bugdatabase/view_bug.do?bug_id=4753342
だな。


643 名前:639 mailto:sage [2007/03/21(水) 00:48:04 ]
おお、、ありがとうございます。
getContentPane()は面倒だけどswingの構造を理解するのに役立ってたので
ちょっと複雑な気分です。

644 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 13:28:38 ]
jarファイルからカレントディレクトリにある任意のJDBCドライバを読み込ませるようにしたいのですが、
MANIFESTのクラスパスには何と記述すればよいのでしょうか?
.や*.jarでは認識しませんでした。
直接名前指定 or jre/lib/extにドライバを格納するしかないのでしょうか?

645 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 13:39:51 ]
記述部さらしてみ

646 名前:644 mailto:sage [2007/03/21(水) 13:49:58 ]
Manifest-Version: 1.0
省略
Class-Path: *.jar xxxx.jar xxxx.jar

Manifest-Version: 1.0
省略
Class-Path: . xxxx.jar xxxx.jar

という感じです。記述の仕方に問題ありますか?

647 名前:ひょこたんだお(^ω^ ◆E9k1wjKgHI mailto:age [2007/03/21(水) 16:21:36 ]
ごめんなすm(^ω^#)m

static Class forName(String className)

の使い方がわかんなひ(;ω;)おっおっお
簡単なソースをいくつかキボンヌッ
(#^ω^)ノたのんだうお

648 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 16:43:35 ]
>>644
必要なものを明示的に指定するという観点から、
ワイルドカードは使えないんじゃないのかねぇ。

java.sun.com/javase/ja/6/docs/ja/technotes/guides/jar/jar.html#Main%20Attributes
使えるとは書いてない。使えないとも書いてない。




649 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 03:33:29 ]
>>647
ここの
ttp://blog.goo.ne.jp/akubi_2005/m/200601

Mainクラスがいっぱいの時
にソースがあった。

650 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 10:34:01 ]
独学で苦戦している超初心者です。
自分でもいろいろ調べてみたのですが、困り果てて皆さんのお力に頼ることになりました。
今、コマンドラインに数字を一行で 10,24,35,40 のような形で入力させてそれぞれの数字を表示させるものを作っているのですが、コンパイルをして実行までは出来るのですが、数字を入力したあとにエラーが出ます。
エラーメッセージをググってみたのですが、検索には引っかかるものの「これだ!」というものが見つからなかったのでココに質問させていただきました。
以下にコードの一部とエラーメッセージを記載します。
public static void main(String[] args) throws IOException {
int input[];

System.out.println("数列はカンマ区切りの文字列で入力してください。");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
String numbers[] = str.split(",");

int i=0;
input = new int[i];
while(i < numbers.length){
input[i] = Integer.parseInt(numbers[i]);
System.out.println(i + "つめは" + input[i]+ "です。");
i++;
}

}

以下エラーです。
java.lang.ArrayIndexOutOfBoundsException: 0
at Test.main(Test.java:28)
Exception in thread "main"
*ココでいう28というのがコードの28行目であれば
input[i] = Integer.parseInt(numbers[i]);が28行目にあたります。

どなたか、お助けください。

651 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 10:39:17 ]
> int i=0; 
> input = new int[i]; 
だれが見てもここだ

652 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 10:40:31 ]
>650
右辺の numbers[i] ではなく、恐らく input[i] から出ている例外かと。

int i=0;
input = new int[i];

この時点で input[] の要素数はゼロになっているが
それ以降 input[] の要素数を増やしていない以上 input[] の要素数はゼロのままだ。

input = new int[i];



input = new int[numbers.length];

にしてみたら?

653 名前:650 mailto:sage [2007/03/22(木) 11:07:57 ]
>>652
どうもありがとうございます!解決しました!
答えだけでなく、どこがどのように間違っているかまで答えていただいて
大変勉強になりました。


654 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 13:47:44 ]
これってどうよ?
ja.wikibooks.org/wiki/Java


655 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 14:13:36 ]
>>654
個人的には、「Javaをはじめよう」以下は要らないような気もする。

char が -32768〜32767になってたり、
「リファレンス型というのは、クラスのことです」とか、間違いもちらほらあるし。

文法とかは、JLS へのリンク貼って終わりで良いとか、
入門者用のコンパイル手順を示すんなら、テキストでやるより
flash movie とかでやった方が親切なんじゃないか、と思ったり思わなかったり。
wikibook に flash 置けるのか知らんけど。

656 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 15:35:54 ]
>>514
おやおや? Java家電時代の到来か?

将来は、Javaで家電制御を企んでいるのかねー? Jiniかねー?



657 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:43:49 ]
まずはおいしいご飯からお願いします

658 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:45:39 ]
すみませんが、質問です。

HttpServlet のソースコードは、どのソフトに含まれているのでしょうか?
たぶんTomcatにあるのだろうと思っていたのですが、うまく見つけられません。
利用中のTomcat は4.1です。




659 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:59:27 ]
質問です。
HTTP Get のクエリ文字列から、パラメータ名とその値の組み合わせの集合を取
得するには、どうしたらいいでしょう?


660 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 18:18:15 ]
>>658
classならcommon/lib/servlet-api.jarの中。ソースは入ってないよ。

661 名前:658 mailto:sage [2007/03/22(木) 18:37:21 ]
>>660
> classならcommon/lib/servlet-api.jarの中。ソースは入ってないよ。

ありがとうございます。ソースはどこで手に入るのでしょうか?
オープンソースですから、どこかで配布はしているはずなのですが。

実は>>659も私なのですが、以下の処理の参考にしたかったのです。
目的:URL文字列からクエリパラメータを手動で取り出す

URL文字列を与えられて、
String url = "www.youtube.com/watch?v=pd74BKx0x-w";
ここからクエリ文字列を取り出し、
String qstring = new URL(url).getQuery();
//qstring = "v=pd74BKx0x-w"

ここまではできるのですが、それをパラメータと値に分解する方法が分かりません。
正規表現などで愚直に分けるしかないのでしょうか?
何か既存のAPIがあるのではないかと思うのですが。


662 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 18:50:24 ]
>何か既存のAPIがあるのではないかと思うのですが。

request.getParameter( "v" )で一発だ。

ソースではなくAPIドキュメントを利用するのがJavaでは普通。
sdc.sun.co.jp/java/docs/j2ee/sdk_1.3/ja/techdocs/api/javax/servlet/ServletRequest.html
sdc.sun.co.jp/java/docs/j2ee/sdk_1.3/ja/techdocs/api/javax/servlet/http/HttpServletRequest.html

663 名前:658 mailto:sage [2007/03/22(木) 19:06:03 ]
>>662
ありがとうございます。
HttpServletRequestは与えられていなくて、ただURL文字列だけがあるのです。
だから「手動で」取り出す必要があります。
説明不足ですみません。

664 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 19:16:22 ]
>>663

ほいっwww.google.com/codesearch
?hl=ja&q=show:WeBMAMCdhTg:T67KRquB4ao:axPaDrtTH9s&sa=N
&ct=rd&cs_p=download.nextag.com/apache/
tomcat/tomcat-5/v5.5.17/src/apache-tomcat-5.5.17-src.tar.gz
&cs_f=apache-tomcat-5.5.17-src/container/catalina/src/share/
org/apache/catalina/core/ApplicationHttpRequest.java

このvoid parseParameters()あたりから辿ってけばいんじゃね?

665 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 19:17:47 ]
ソース tarballには入ってないの?

svnならsvn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/
中は見てない。


666 名前:658 mailto:sage [2007/03/22(木) 20:20:55 ]
>>664
ありがとうございます。どうやら↓のparseParameters()のようです。
これはどのjarファイルにあるのかなあ。
どうも探し方が分かりません。

src.opensolaris.org/source/xref/sfw/usr/src/cmd/tomcat/
apache-tomcat-5.5.17-src/container/catalina/src/share/org/apache/
catalina/util/RequestUtil.java

>>665
> ソース tarballには入ってないの?
実装クラスは入っていますが、HttpServletRequest自体のソースは無いようです。


667 名前:デフォルトの名無しさん [2007/03/22(木) 20:26:32 ]
質問です。
server.xmlの<context>のreloadable属性が
falseかtrueかの情報を
クラスから取得する方法はありますか?

668 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 20:26:38 ]
javax.servlet.http.HttpServletRequestはinterfaceだから、
ソース見ても実装情報はないよ。




669 名前:658 mailto:sage [2007/03/22(木) 20:36:56 ]
>>668
> ソース見ても実装情報はないよ。
それはそうなのですが、ソースが無いと、Eclipseで追いづらいと思います。

なお、RequestUtil.class は catalina.jar に含まれていました。
publicクラスですが、一般ユーザが利用することが適切なのか、よく分かりません。

ところで、どのクラスがどのjarに含まれるのかを簡便に知るにはどうしたらい
いでしょう?

・1つ1つJarコマンドで表示
・拡張子をzipに変えて検索
・片端からEclipseのプロジェクトに組み込んでみる

これらよりもっといい方法はあるでしょうか?

670 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 20:45:49 ]
>>669
Eclipseで追うだけなら、jadclipseを入れておくとソースがないものは
jadで逆コンパイルしたものを表示してくれたりする。

jar探しは、コマンドラインに苦痛を感じないヒトなので、
jar tfで探すかなー。Eclipseに組み込むのはいい方法だと思います。



671 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 21:42:42 ]
String url = "foo.bar.com/hoge.cgi?a=b&x=y&foo=bar";
String[] params = url.substring(url.lastIndexOf('?')+1).split("[&=]");
これで{"a","b","x","y","foo","bar"}っていう配列ができる。
後は、配列の偶数と奇数で分けて適当に処理すればいけるだろ。

672 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 21:53:10 ]
>>671
フラグメントがあったら最後の要素が "bar#hoge" みたいにならんか?

673 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 22:06:09 ]
>>672
なるほど。じゃあこれでどだ。無理矢理1行。
String[] params = url.substring(url.lastIndexOf('?')+1, url.indexOf('#') > 0 ? url.indexOf('#') : url.length()).split("[&=]");

674 名前:658 mailto:sage [2007/03/22(木) 22:50:29 ]
>>670
ありがとうございます。参考になります。
できたら配布元のサイトでドキュメント化してくれていたら楽なのですが。

>>671-673
標準のAPIには存在しないらしいので、自分もそれなりに書いてみました。

String url = "www.youtube.com/watch?v=pd74BKx0x-w";
String q = new URL(url).getQuery();
Map<String, String> map = new HashMap<String, String>();
for (String pv : q.split("&")) {
    String[] p = pv.split("=");
    map.put(p[0], p[1]);
}


675 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 22:53:43 ]
a=&x=yみたいに値がないパラメタがあったらうまくいかない気がする。

676 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 22:55:13 ]
675は>>673ね。

>>674
たいていはそれでいいけど同じキーの値が複数あったらうまくいかないので注意。

677 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 22:58:46 ]
パラメータ間の区切りに最近は;も使うので、汎用性から言ったらこれも認識する
とよい。
>>675のケースを回避するために、まず &(および; )だけで区切り、そののち=で
分解するといいだろう。
>>676を考慮するならmapの値側をコレクションクラスにする必要がある。


678 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 23:26:33 ]
書式指定子について教えてください。
ある本で↓みたいなのがでてきたんですが、%が多くて何やってんのかよくわかりません。

System.out.printf(String.format("%%2d | %%%dd\n", n), r, x);

%dで10進数に変換。2は2桁の長さを表す。ということはわかったのですが、
引数に対して書式指定子がやたら多いような気が・・・
メソッドが入り子になってるからややこしいんでしょうか?
そもそもformat()の第2引数 n は何に変換されるんでしょう?




679 名前:658 mailto:sage [2007/03/22(木) 23:27:54 ]
>>675氏のケースに対応
String[] p = pv.split("=");

String[] p = pv.split("=", 2);

自分の用途には>>676氏のケースはなさそうなので、これで何とかなりそうです。
ありがとうございました。


680 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 23:35:52 ]
%%が%そのものになるというのは理解してる?

順番に書くと、
String format = String.format("%%2d | %%%dd¥n", n);
System.out.printf(format, r, x);

たとえばnが5だと最終的には System.printf("%2d | %5d¥n", r, x) を行う。

# 一つ指摘しておくと、フォーマット指定として改行を記述するには¥n
# ではなく%nを使うべき。


681 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 01:30:23 ]
すみません、XPathAPIを使って、以下のXMLから<media:thumbnail> のurl属性
を取得するには、どのようにXPathを記述したらいいでしょうか?

video.google.com/videofeed?fgvns=1&fai=1&docid=507732229697832036&hl=en
(以下、抜粋)
<rss>
<channel>
<item>
<media:group>
<media:thumbnail
  url="video.google.com/ThumbnailServer2?app=vss&contentid=
c5ed681df175c4b0&offsetms=5000&itag=w320&lang=en&sigh=8GjvM1prox25GC-jte15jydXiAA"
  width="320"
  height="214" />
</media:group>
</item>
</channel>
</rss>

以下のページなどを参考にしているのですが、具体的な記述が無くて困っています。
msugai.fc2web.com/java/XML/XPath.html


682 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 02:18:50 ]
java関係ないね。と言っても該当スレがここしか見当たらない。

ttp://pc11.2ch.net/test/read.cgi/tech/1133280488/l50



683 名前:681 mailto:sage [2007/03/23(金) 02:31:04 ]
>>682
すみません、XPathAPIに固有の問題もあるかと思い、こちらで質問しました。
例えば、.NETならこんなページがありますが、
www.atmarkit.co.jp/fdotnet/easyxml/easyxml05/easyxml05_03.html
この内容(addNameSpace)はJavaでは使えないようです。

684 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 02:39:18 ]
XmlNamespaceManager site:w3c.org
に該当するページが見つかりませんでした。

おや?


685 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 04:58:49 ]
>>681
>どのようにXPathを記述したらいいでしょうか?

こういう事聞くレベルなら仕様を理解してない。実装されたAPI以前の問題。て言うかW3Cの仕様に対してMSの実装出してくるなんて釣りにしか見えないんだが・・・。

>XMLから<media:thumbnail> のurl属性
を取得する
ロケーションパスの書き方は分かるのか?

>>684
.NETのクラス名がw3cのページでヒットするわけ無いだろ。煽るならもっと頭使え。
googleくらい使えるようになろうな

xpath site:www.w3.org/
    ~~~~~~~~~~~~~~~~~~~~~~~~

686 名前:681 mailto:sage [2007/03/23(金) 05:12:15 ]
すみません。
>>685
>
> こういう事聞くレベルなら仕様を理解してない。実装されたAPI以前の問題。
> て言うかW3Cの仕様に対してMSの実装出してくるなんて釣りにしか見えないん
> だが・・・。

おっしゃるとおり、よく理解しておりません。

> >XMLから<media:thumbnail> のurl属性
> を取得する
> ロケーションパスの書き方は分かるのか?

おそらく、
/rss/channel/item/media:group/media:thumbnail/@url
ではないかと思うのですが…。

687 名前:681 mailto:sage [2007/03/23(金) 05:18:48 ]
追記です。
よく分かっていないのは、名前空間の扱いです。
.NETの実装を見て、JavaのXPathApiにも、addNameSpace にあたる関数があるの
だろうと考えたのですが、それを見つけられなくて困っていました。


688 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 09:54:40 ]
>>685は、XmlNamespaceManagerなんぞw3c標準にないのに知るかよ!
という回答するつもりだった人からのピーデーの某氏へのイヤミです。




689 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 09:55:34 ]
×という回答するつもりだった人からの
○という、回答するつもりだった人からの

「、」いっこ抜けて意味が変わってるしorz



690 名前:デフォルトの名無しさん [2007/03/23(金) 12:06:23 ]
ログを解析するアプリケーションを作りたいのですが、SwingやAWTで
UI部分を作り、エンジン部分をC言語で作る事は出来るのでしょうか?

出来る場合、JAVA側(UI)とC側(エンジン)とのやりとりはどのような
感じになるのでしょうか?

C言語は少し経験ありますが、JAVAはまったくの初心者です。
よろしくお願いします。

691 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 12:11:49 ]
出来る。

やりとりはソケットを使う/JNIを使うなど。


692 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 12:15:33 ]
>>691
即レスありがとうございます
その単語でぐぐったら期待通りのAPIがHITしました!

693 名前:681 mailto:sage [2007/03/23(金) 12:54:47 ]
自己フォローです。

Java XPath API
www-06.ibm.com/jp/developerworks/java/060906/j_x-javaxpathapi.shtml
> しかし、pre という接頭辞を、www.example.com/books という URI
> にマップする必要があります。NamespaceContext インターフェースが
> JDK(Java software development kit) や JAXP にデフォルトで実装されてい
> ないのは多少ばかげた話ですが、実際にないのです。

この後、記事は「名前空間マッピングクラスを自作する」ことになります。ど
うなってるの?何か意見の対立と混乱があるように見えます。

ちょっと使おうと思っただけなのに。弱りました。

694 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 13:05:58 ]
PS3でFolding@homeが利用可能になりました!
タンパク質解析プロジェクトFolding@homeで病気で苦しむ人達を救えるかも。

PS3でFolding@homeしようぜ(Team 2ch)
ex22.2ch.net/test/read.cgi/ghard/1174030817/

チーム番号:162
チーム名:Team 2ch
fah-web.stanford.edu/cgi-bin/main.py?qtype=teampage&teamnum=162

☆PS3での参加方法
PS3からFolding@homeを起動し、チーム番号162に入力すればOK。
ユーザ名は何でも良いが、folding.stanford.edu/japanese/download.html
にて、名前が既に使われているかどうか確認する事を推奨。
参加の確認としては、「オプション(△)」→「関連サイト」→「チーム処理統計量」と開き、
「Team 2ch」(上記URLのページ)が表示されればちゃんと参加できている。
☆Folding@homeについて
folding.stanford.edu/japanese/

695 名前:デフォルトの名無しさん [2007/03/23(金) 14:02:20 ]
File#mkdirsが失敗した場合に
その原因を取得する方法ってありますか?

696 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 14:23:47 ]
>>695
無いよ。
SecurityManager が許可しない場合だけは例外もらうから分かるけど。

mkdir() する前に、作ろうとするディレクトリが既に存在しても失敗するし、
同名ファイルがあってディレクトリ作れなくても失敗するし、
ディレクトリの名前が不正な場合 名前が長すぎたり名前に使えない文字が含まれたり でも失敗するし、
ファイルシステム上の権限がなくてディレクトリを作れなくても失敗する。

697 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 14:28:48 ]
>>696
そうなんすか…orz
一応isDirectory()で存在しない時だけ作るようにはしてるんですが
何で失敗したのかわからないとどうしようもない…

698 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 20:47:55 ]
>>693
そもそもAPIは何使ってんだ?JAXP1.3以上?

名前空間のバインディングなんてアプリケーションによっては必要ないし
バインドするプレフィックスの数によってデータ構造なり検索アルゴリズムの
最適な実装が変わるから汎用な物は作れないから実装を用意するのは無駄。

バインダくらい自分で書け。愚痴しか書いてないじゃないか?



699 名前:デフォルトの名無しさん [2007/03/23(金) 23:10:02 ]
よろしくお願いします。完全に手詰まってしまいました。

環境-
マシンA(開発機):Windows XP Pro、IIS6、WebLogic8.1、JavaSDK1.4.13
マシンB(評価機):Windows Server 2003、IIS6

マシンAで開発、デバッグしてOKなものをマシンBに置き換えています。
それぞれにサーブレットクラス1と固定値が書いてあるfinal staticメンバがいるクラス2があります。
マシンAとマシンBではクラス2のfinal staticメンバは違う値が書いてあります。

マシンAでリコンパイルしたクラス1をマシンBに置き換えます。
その後WebLogicを再起動後、マシンBを動かしてみると
マシンBでクラス1が参照しているクラス2のfinal staticメンバ変数が
マシンAの値となり、エラーが出てしまいます。
クラス2は置き換えていないのに、エラーになってしまいます。

どこかに値がキャッシュされてるとしか思えない動きなのですが、
APサーバを再起動しているのにそういうことがありうるのか、まったくわかりません。



700 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 23:16:48 ]
キャッシュでハマることはまああるけどそのパターンならキャッシュ以前の話。
マシンA.クラス2をマシンBに"一度も"持っていったことがないはずなのに
マシンA.クラス2の値を参照しているなんておかしい。
なんらかの形でいっしょに持っていってしまったとしか思えない。

701 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 23:16:54 ]
最適化されてクラス1にその定数の値が埋め込まれちゃってんじゃないの?

702 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 23:22:43 ]
java.sun.com/docs/books/jls/third_edition/html/binaryComp.html#13.4.9

これじゃね?


703 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 01:13:54 ]
質問です。サーブレットとJAVAって違うの?

704 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 01:24:06 ]
>>703
質問です。ゴキブリと害虫って違うの?

705 名前:681 mailto:sage [2007/03/24(土) 01:59:52 ]
XPathについての自己フォローです。おそらく解決しました。

何が分からないのか自体をよく分からず調べていたのですが、まとめるとこう
なります。

・XPathの名前空間と接頭辞のバインディングの設定の、Javaでの標準的な方法
 は何か?
→完全には決まっていない。それを規定するNamespaceContextは、インター 
 フェースだけしかなくて、実装がない。

・なぜ決まっていないのか?
→単にまだ出来ていないだけ。JAXPは現在1.3だが、1.5までには何とか。

・じゃあ、どうしたらいいのか?
→自分で非標準の実装を作るか、privateな内部クラスで使い捨てにするか、ま
 たは有志の作ったライブラリを利用するか。

・こういう大事なことがXPath単体でできるようになっていないのはなぜか?
→XPathはもともとXSLTのためのもので、XSLT自体がXMLだから、XSLT内に名前
 空間宣言をそのまま書けば済んでしまう。

実はXPathを知ったの自体がつい一昨日で、うまく調べられず、ずいぶん無駄な
回り道をしてしまいました。結局、

norman.walsh.name/2006/03/28/jaxpNamespaceContext
www-06.ibm.com/jp/developerworks/java/060906/j_x-javaxpathapi.shtml
初見では分からなかったのですが、これらにほぼすべてが書かれていました。

解決に当たって、このスレのやり取りも非常に参考になりました。ありがとう
ございます。特に>>685, >>698さんには深く感謝します。


706 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 02:27:26 ]
質問者の見本みたいな人だ

707 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 02:33:26 ]
>>681以外の質問者のほとんどがクズに見えてきた

708 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 03:49:46 ]
お前ら冷静になって良く見てみろ。箇条書きにしてるだけで結局は

仕様が定める範囲と実装がサポートする範囲と自分で実装しなきゃいけない部分を理解してないし

そもそもどのコンテキストでXPathを使いたいのか一度も言ってないんだぞ?
XSL内でロケーションを表すのに使うのかプログラム中に直接叩きたいのかすら分からず仕舞だぞ?何を教えろと?

事後報告は当然の事だ。


#XPointerの事もたまにで良いので思い出してあげて下さい。



709 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 10:37:35 ]
できて当然のことでも褒めないと人は伸びない

710 名前:デフォルトの名無しさん [2007/03/24(土) 12:03:27 ]
>709ごめんなさい…

711 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 12:13:29 ]
               |/
          _., .,、._,r hh.、 y...u,_ 、 、.,.,
        .yl!).彳}゙.^゙冖^^^゙゙'⌒゙゙「{ .〕:!|ァ_ l.r.
       .rl!.「.゙.′            .゙.^゙「.|^|'!.,.ri,、
    _,.u:l 「″        _,..vv-─--v、、.,__゙ ´「 リ゙ .r
  .-i(┴^        ,.v‐ ′    i!、  厂^'ー、_ .'゙/
 .,l|         .,.‐'゙r  '=,  .|ト!  ..     /_ ┘ _,
.[.′      .,r(,,vv!冖h厂 _,、、、,_ ¨゙()   .゙゙il|リ冖ミ(ミ,.l|/レ'
.||     _,yr!^″    [.zli》ニ《)ミ|l;, |ノ冖ーu「.,zzzzy,{丁′
.!ミ   .yr(l「′      〔″    `.,i^   .〔.!!干「「)v)《フ
i|  __,/′.}     .    \,,,,,_,,,,,,vr″    .゙)z    ,メ゙'ly
|゙/|レr》!  }     .}..       /,v--r ,、u_:rフ'¬ー^″ ゙ミ
》゙|′ .ミ .|     .∨   ,、    {lzトrr┘ \从,,)     }:! .《
}}.,rー ミ,,ェ    ,     .'|フ      .,,zu厶  ̄     ゙'^ l!
゙|从  》″    | r          -:(工ェ」zミv_   n.    〔   
.》ト  .′    ∨       7vv=(干=─干ミl||l,_,z ″    》
.《l,_ .'|!                 .__     , . ゙̄..      〕
 《^¨′                 .゙冖'^^'''冖   v\    }
 [      、        .           〕   〔 .′ .」_ .ll′
 .|      | 」       ._}         .hノ   .:| ,.. .,.トト 〕
 .}     .^′      ゙《,_           .、,ノ ...厂、 .il
  }          _  .、 .゙゙'〜 .y,_      _,r;|¨ <、、‐ . ノ
  .{,         〔 」  ´ ‐ 「ilリiアアァァァ;lllllli(リ゙} ┌ 冫.. .ア
   \        ∨゙ . _ .- . ' .`゙厂¨厂゙厂'. .゙ 、' .゙. ヽ‐,r|
   .ノy           .´ 、 .: ' ..:  .、 ' ` ' _ . .冫 -.',y;|^


712 名前:コン [2007/03/24(土) 13:30:20 ]
jsp試したいのにトムキャットの設定がむずくてだめです。
エクリプスは動くし、しかしエクリプスでトムキャットはだめ、
どこかいいサイトあったら教えてください。



713 名前:デフォルトの名無しさん [2007/03/24(土) 14:25:14 ]
>712
オレかよ(:D)| ̄|_ =3=3

714 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 14:30:17 ]
NetBeans使えばバンドルされてるからそれ使えばいいと思う。
設定が難しいってのには?だが、まあやりたい事の主品はそこじゃないだろうしね

715 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 17:01:50 ]
マウスカーソル消す方法ご存知ないですか?
Cursorクラス見てもそれらしい設定がないです・・・:

716 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 17:53:52 ]
>>715
カーソルを消したいComponentでjava.awt.Component#setCursor(Cursor cursor)を使え。
cursor = Toolkit.getDefaultToolkit().createCustomCursor(new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB), new Point(), "");
与えるImageについては別にこれでないといけないということはない。

Cursorクラスのドキュメントから全て辿れるぞ。もっとドキュメントの読み方を勉強汁。
Component#setCursorはクラス説明の関連項目から。
Toolkit#createCustomCursorはコンストラクタの説明から。

717 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 17:54:18 ]
>>715
java.awt.Toolkit#createCustomCursor(Image, Point, String); に透明な Image 渡す

718 名前:デフォルトの名無しさん [2007/03/24(土) 18:31:05 ]
初歩的な質問で恐縮ですが、

<head>内に<link rel="stylesheet" type="text/css" href="css/style.css">

と入れるとjavaが動いてくれません。
色々手は尽くしてみたのですが・・
原因はなんでしょうか?

よろしくお願いします。

<link rel="stylesheet" type="text/css" href="css/style.css">
↑の一行を外すと動作してくれます。




719 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 18:36:25 ]
>>718
style.cssの中でアプレットを無効化してない?

720 名前:718 [2007/03/24(土) 18:44:59 ]
>>719さん
早速のご返答ありがとうございます。
今確認してみましたが、無効となるような設定はしていないようです・・






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<251KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef