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


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

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



1 名前:デフォルトの名無しさん [2008/03/01(土) 18:16:51 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。pc10.2ch.net/hp/

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

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

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

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

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

448 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 22:18:48 ]
>>443
lab.moyo.biz/wiki/index.php?Java%2F%E8%A8%AD%E8%A8%88%2F%E4%BB%96%E8%A8%80%E8%AA%9E%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9

449 名前:デフォルトの名無しさん [2008/03/15(土) 09:11:19 ]
プロトコルハンドラって何に使うものなんですか?
よろしくお願いします。

450 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 09:39:52 ]
ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLD,GGLD:2005-13,GGLD:ja&q=%e3%83%97%e3%83%ad%e3%83%88%e3%82%b3%e3%83%ab%e3%83%8f%e3%83%b3%e3%83%89%e3%83%a9

451 名前:デフォルトの名無しさん [2008/03/15(土) 09:51:11 ]
JFileChooserで、
・ディレクトリ選択
・でも、普通のファイルも見れる
ようにしたいんですけどどうすればいいですかね?

ディレクトリ選択するようにすると、普通のファイルは見えなくなるし、
普通のファイル見えるようにするとディレクトリ選択できなくなるんですけど

452 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 09:59:35 ]
ディレクトリ選択でファイルを見せる意味が分からん

453 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 10:03:46 ]
ファイルが見えるとなんのディレクトリかよくわかるじゃん

454 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 10:07:05 ]
試して無いけど、approveSelectionメソッドをオーバーライドすればいけるんじゃね?
setFileSelectionModeでFILES_AND_DIRECTORIESを指定してさ。

455 名前:デフォルトの名無しさん [2008/03/15(土) 10:13:37 ]
此処で良いのか疑問ですが質問です。

OS:WindowsXP IE6/Firefox/2.0.0.12
Sun Java Standerd Edition 6
バージョン6 アップデート5 (ビルド1.6.0_06-b13)

先日アップデートした処、Javaの起動で「Javaコンソール」を表示しないと実行されません。
コンソールを非表示でJavaの実行は無理なのでしょうか?
どうか教えて下さい。

456 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 10:15:05 ]
うん、できた。

public class JDirectoryChooser extends JFileChooser {
 @Override public void approveSelection() {
  if (getSelectedFile().isFile()) return;
  super.approveSelection();
 }
 public static void main(String[] args) {
  JFileChooser c = new JDirectoryChooser();
  c.showOpenDialog(null);
 }
}



457 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 10:57:35 ]
u5ってu4のセキュリティフィックスだよね。
そろそろ入れようと思ってたけどなんか色々問題あるみたいだね。

458 名前:451 [2008/03/15(土) 11:39:37 ]
>>456
c.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
を一行追加してみても、だめでした。

さらに
public boolean accept(File f){return true;}
を追加してみてもだめでした。

459 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 11:44:41 ]
ちゃんと>>456の書き込み読んでる?

460 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 13:37:06 ]
内部クラスの中に内部クラスを作ったりって普通にしますか?
経験も積んでないのですが少し気持ちが悪い気がして質問しました。

461 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 13:59:26 ]
全くしない訳ではないが普通しない


462 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 14:00:19 ]
forの中にforを書いたりって普通にしますか?
のようなものかと
2段くらいはすることもあるけど、頻繁には使わない
3段以上は滅多にやらない
人にもよるかも

463 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 14:05:29 ]
必要があれば使うみたいな
x,y,z,tなんて4次元だしw

464 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 14:17:38 ]
そうでしたか。やはり熟練者の方の意見は勉強になります。
ありがとうございました。

465 名前:デフォルトの名無しさん [2008/03/15(土) 15:32:42 ]
import java.io.*;
class hoge{
public static void main(String args[]){
if(args.length <= 0){
System.out.println("specify the file name correctly");
System.exit(1);
}
try{
int i;
for(i = 0; i < args.length; i++){
BufferedReader br = new BufferedReader(new FileReader(args[i]));
String str;
while((str = br.readLine()) != null){
System.out.println(str);
}
}
br.close();
}
catch(IOException e){
System.out.println("input/output error");
}
}
}

コマンドライン引数からファイルを受け取って表示するプログラムですが、
br.close()の行で "シンボルを解決できない" というエラーが出ます。なぜエラーが出るのかわかりません。
br.close()を削除すれば実行できるのですが・・・。

466 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 15:38:49 ]
>>465
br.close(); の前の閉じ括弧 '}' が一個多い。
それで br がスコープから外れて「シンボルを解決できない」といわれてる。



467 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 15:39:21 ]
スコープを勉強しろ

468 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 15:51:21 ]
{}の組み合わせは力ずくでは良くないがな

469 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 15:54:06 ]
メモ帳でもつかって無い限りこんな間違いしないと思うんだけどな

470 名前:465 [2008/03/15(土) 16:20:48 ]
>465の質問者ですが
br.close()の 前の閉じ括弧を’ } ' を取り除いても エラーが出ます。
その閉じ括弧はfor文の閉じ括弧になっています。

閉じ括弧を除いた場合のエラーは
hoge.java:13: 'try' への 'catch' または 'finally' がありません。
hoge.java:27: 'catch' への 'try' がありません。
hoge.java:32: '}' がありません。
です。

471 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 16:22:21 ]
日本語も読めねーのかよw

472 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 16:47:25 ]
>>470
br.close(); の前の閉じ括弧を一つ取り除いた後、
br.close(); の後に一つ閉じ括弧つけろ。

473 名前:デフォルトの名無しさん [2008/03/15(土) 17:43:23 ]
環境 Windows xp, jdk 1.5
ポリシファイルで全部のファイルの読み込みを可能にしました。

swingアプレットを作ったのですが、
プロンプトからだと画像やボタンが表示できました。
しかしブラウザから起動するとボタン等は表示できますが
画像が表示できません。(読み込めていない様子)
どうしたらできるのでしょうか?
一応、ソースの怪しい所を貼り付けておきます。
import......
/*
<applet code="TimerTest2.class" width=500 height=250>
</applet>
*/
___javaソースの一部___
public class Test2 extends JApplet implements ActionListener{
  フィールドなので省略
public void init(){
icon0 = new ImageIcon("07.gif");

___起動させるhtmlファイル___
<html>
<head></head>
<body>
<p>
<APPLET code="Test2.class"width=500 height=250></APPLET>
</body>
</html>
_______________
htmlファイルは短いので全て載せました。


474 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 17:48:22 ]
>>473
HTMLに画像を読み込むコードが無いから。

475 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 17:54:21 ]
>>473
Javaコンソールからエラーの内容確認

476 名前:デフォルトの名無しさん [2008/03/15(土) 17:59:06 ]
自宅サーバ板のTomcatでwww鯖ってスレに質問したんですが、
なんか過疎ってるのでこちらに再掲します。

Debian etchでTomcat5.5使おうとしてるんですけど、

SEVERE: 設定記述子 test.xml を配備中のエラーです
org.apache.commons.logging.LogConfigurationException:
java.security.AccessControlException: access denied
(java.io.FilePermission /usr/share/tomcat5.5-webapps/test/WEB-INF/classes/logging.properties read)
(Caused by java.security.AccessControlException: access denied (java.io.FilePermission /usr/share/tomcat5.5-webapps/test/WEB-INF/classes/logging.properties read))

こんなエラーが出ます。
サンプルアプリは動いていて、自分で作ったやつがエラーになります。
パーミッションはサンプルと同じでrootのみに与えています。

そもそも、logging.propertiesというファイルはサンプルアプリになかったのですが、
classesに777でlogging.propertiesを作っても同じエラーが出ます。

どなたか解決策を教えてもらえないでしょうか?



477 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 18:12:29 ]
>>473
たぶんこうだ
new ImageIcon(getClass().getResource("07.gif"))

478 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 18:34:02 ]
>>476
その上位ディレクトリに x パーミッション付いてるのかよ。

# su tomcatuser -c "cd /usr/share/tomcat5.5-webapps/test/WEB-INF/classes"

479 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 18:44:13 ]
>>473
そもそも画像はどこ?

480 名前:デフォルトの名無しさん [2008/03/15(土) 18:53:59 ]
>>476
/var/cache/tomcat5.5/Catalina/localhost# lla /usr/share/tomcat5.5-webapps/test/WEB-INF/
合計 24
drwxr-xr-x 5 root root 4096 2008-03-15 17:43 .
drwxr-xr-x 3 root root 4096 2008-03-15 17:19 ..
drwxr-xr-x 2 root root 4096 2008-03-15 17:38 classes
drwxr-xr-x 2 root root 4096 2008-03-15 17:20 lib
drwxr-xr-x 3 root root 4096 2008-03-15 17:28 src
-rw-r--r-- 1 root root 637 2008-03-15 17:43 web.xml

となっています。

481 名前:465 [2008/03/15(土) 19:21:25 ]
465です。
解決しました。
ありがとう。

482 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 20:22:16 ]
>>476
policyファイルで弾かれてるんじゃない?Debian etchなら、
/etc/tomcat5.5/policy.d/の下に*.policyってファイルがあるから、
それ読んでほげほげしてみるといいかも。

483 名前:デフォルトの名無しさん [2008/03/15(土) 20:43:54 ]
476です。
>>477 さんのやり方で解決できました。
みなさん
親切にありがとうございました。


484 名前:デフォルトの名無しさん [2008/03/15(土) 21:14:50 ]
>>482
ありがとうございます。
04webappsの
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar"
の中に
permission java.io.FilePermission "<webアプリのpath>", "read";
を追加したところ、上記のエラーは消えました。

485 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 21:16:29 ]
04webappsじゃなくて04webapps.policyでした

486 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 00:58:16 ]
swingに関して質問させてください
JFrameのサイズを指定する際にまわりの枠を気にしないで済む様にInsetsを利用しています。
しかし、JMenuBarを追加すると、その分の幅はInsetsで考慮されていないようです。
JMenuBarの上下方向の幅を取得するにはどうすればよいのでしょうか?

あと、BufferStrategyを使いたいのですが、JPanelでは使えないんでしょうか?
よく、JavaのGUIの勉強をすると、JFrameの上にJPanelを張って、その上にさらに何かを張ってと階層状にするべきと見かけますが、BufferStrategyを使う場合はJFrame上にべた書きすべきでしょうか?



487 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 02:12:38 ]
>>486
中身のサイズに合わせてJFrameのサイズを決めたいならpackすればJFrameの方がそれに合わせてくれる。
packではだめなレイアウトマネージャを使っていたり、どうしても自分でフレームサイズを決めたいというのなら、
JFrame#getJMenuBar()でJMenuBarコンポーネントを得てgetSize().heightでメニューバーの高さを取得できる。
ただし、フレームが表示されてないと大きさは取れないので、ダミー的に表示してサイズ計算後setSizeで変更してやる。
JFrame f = ...
f.setVisible(true);
Dimension d = f.getJMenuBar().getSize();
Insets i = f.getInsets();
f.setSize(contentWidth + i.left + i.right, contentHeight + d.height + i.top + i.bottom);
みたいな感じで。

BufferStrategyを使いたいならjava.awt.Canvasをコンテントペインに乗っけてやれば大抵うまくいく。
swingコンポーネントにAWTコンポーネントを乗せるのは抵抗があるかもしれないけれど。

488 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 02:32:41 ]
幅の情報は要らないからgetSize().heightでなくgetHeight()で十分だった

489 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 03:26:29 ]
リアルタイムのゲームを作っているのですが、
数秒ごとにカクカク止まってしまいます。
ガベージコレクションのせいかと思ったのですが、
空きメモリのこぎりグラフとは無関係にカクカクします。
速いマシンだと全く気にならないレベルなのですが、
セレロン600だと耐えられないカクカクです。

どうしたらいいか分かる人いますか?

490 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 04:21:26 ]
プロファイルを取ってみればいいと思うよ

491 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 05:10:10 ]
Java のログ機能と Log4j とどっちがいいの?

492 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 05:22:46 ]
>>491
状況に応じて変わる。
lab.moyo.biz/recipes/java/logging/loggingvslog4j.xsp

493 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 06:30:51 ]
JRE 単体って入れたことないんだけど 6 で Java DB もバンドルされてる?

494 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 08:10:33 ]
練習サイトを見て勉強しているのですが
何故メインメソッドをできるだけ小さくして
簡単な作業でも個別にメソッドを作るのかがわかりません

ex)ttp://www.u-farm.jp/en/a001_04.html

495 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 08:36:08 ]
俺はこの前他人が作ったプログラムをいじる必要があったんだけど
そのプログラムのmainメソッドは1000行以上あって、読むのが大変だった。
そういう悲劇をなくすため。

496 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 08:40:22 ]
意味のある単位でプログラムを小さな部品に分解していくと、分かりやすいものになる。
こういう意識を普段からもっておいたほうがいいし、
入門用の短いプログラムでも意識するべき。




497 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 08:52:41 ]
どのくらいのレベルでメソッド化していけばよいのでしょうか
メインメソッドにはメソッド処理以外書かないぜくらいの勢いでしょうか・・・

498 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 08:55:27 ]
その時代の画面のスクロールで 2 ページが目安。

499 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 09:31:35 ]
メソッド名が無理なく考えられるような処理(上のリンクの場合だとdrawTriangle)
とかは、常に分けてもいいんじゃないかな。
上手い名前付けができない場合は、コードの長さと相談して分けたり分けなかったり


500 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:18:26 ]
複数のjarファイルからクラスを探してきて欲しい時に
・lib/extにjarファイルを置く
・-classpath引数で一つ一つ指定する
以外の方法はありますか?
javacならば-extdirsでjarの入ったフォルダを指定すれば
そのフォルダの中のすべてのjarを探してくれるのですが
javaにはextdirsのようなオプションがありません

501 名前:500 mailto:sage [2008/03/16(日) 18:22:42 ]
すいません、自己解決しました
java -Djava.ext.dirsでいけました

502 名前:デフォルトの名無しさん [2008/03/16(日) 20:31:24 ]
Javaダウンロードできないんだけど(笑)

503 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 21:46:48 ]
Javaでオーバーロードを行なった場合の「あいまい」と言われる、言われない条件というのを詳しく知りたいのですが
何か良い資料はないでしょうか?
例えば
class Hoge{}
class Hoge2 extends Hoge{}
class Hoge3 extends Hoge2{}
と定義して
test(new Hoge3(), new Hoge3());
と呼び出したとき、

void test(Hoge2 a, Hoge3 b){}
void test(Hoge a, Hoge3 b){}
問題なし

void test(Hoge2 a, Hoge3 b){}
void test(Hoge2 a, Hoge2 b){}
問題無し

void test(Hoge a, Hoge3 b){}
void test(Hoge2 a, Hoge2 b){}
あいまいエラー

となる基準がいまいちピンときません。

504 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 21:54:52 ]
続きです。

なんとなく (Hoge3, Hoge3)により近いものを探している雰囲気はあります。
ではと思い、
class Hoge4 extends Hoge3{}
test(new Hoge4(), new Hoge4());

void test(Hoge a, Hoge4 b){}
void test(Hoge3 a, Hoge3 b){}
これなら、Hoge4,Hoge4まで上は3ステップ。下は2ステップ。下が選ばれるはず。
と思いきやあいまいエラーでした。


505 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 21:58:36 ]
>>503
> void test(Hoge2 a, Hoge3 b){}
> void test(Hoge a, Hoge3 b){}
Hoge2 a は Hoge a に代入可能。 Hoge3 a は Hoge3 b に代入可能。
以上により、前者の引数は全て後者の引数に代入可能。
なので、前者は後者より特殊なメソッド(specific method)と言われる。
この特殊なメソッドが一つに決まる場合は、
それが最も特殊なメソッド(most specific method)と言われて、それが呼び出される。

> void test(Hoge a, Hoge3 b){}
> void test(Hoge2 a, Hoge2 b){}
みたいに一つに決まらない場合は曖昧となってコンパイルエラーになる。

詳しくはこの辺呼んでくれ。
15.12.2.5 Choosing the Most Specific Method
java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.12.2.5
15.12.2.2 最も特殊なメソッドの選択
www.y-adagio.com/public/standards/tr_javalang2/expressions.doc.html#18428

506 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 21:59:16 ]
>503
条件も何も曖昧だから曖昧なんだよ
A’がAを継承しているならば、A’はAともA’とも解釈できるって理解していればそんなオーバーライドは普通書かない



507 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:12:16 ]
ジェネリックスと否ジェネリックスでObject型かぶらせちゃうのはたまにやるな。
実行時型情報ないからなぁjavaのジェネリックスは。

508 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:26:34 ]
>>505
とても分かりやすい説明と、良い文献をありがとうございます。
熟読させてもらいます

インターフェースも絡めて色んなパターンを試していたのですが、
「あるメソッドの全ての引数が、他の同名メソッドの引数に代入可能な場合、あるメソッドはより特殊と判断する」
という1文ですっきり解決して魔法のようでした。

509 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:16:37 ]
508です。
一応情報です。

>>505の日本語版のほう、和訳が間違ってますね。
英語の方読んだほうがいいです

510 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:28:59 ]
>>509
和訳のは第2版で英語のは第3版だからその違いじゃなくて?

511 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:43:59 ]
いや、完全に文章がおかしかったです

「もしすべての最大限に特殊なメソッドが同じシグネチャをもたないならば」
と和訳されていますが、英文では
「If all the maximally specific methods have override-equivalent signatures, then」
とあるので「〜〜をもつならば」が正しいかと思われます


512 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:59:03 ]
>>511
うわ、ほんとだ。

513 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 08:28:19 ]
specific を特殊と訳した奴のセンスを疑う。

514 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 08:39:14 ]
>15.12.2.5 Choosing the Most Specific Method
「もっとも明確なメソッドの選択」だな。

515 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 08:51:28 ]
> 「もっとも明確なメソッドの選択」だな。
そのセンスもどーかと思うが

516 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 10:53:19 ]
批判だけではなく対案を



517 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 11:02:19 ]
メソッドの選択でいいんじゃ?

518 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 11:03:40 ]
>>516
俺は「特殊なメソッド」でいいと思うが。
長ったらしくてもいいなら語を補って「実引数型に特化したメソッド」とか。

519 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 11:11:06 ]
実引数型だけだと実行時の型と勘違いされる可能性もあるから
より正確には「実引数のコンパイル時の型に特化したメソッド」とか?

520 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 11:33:16 ]
議論の最中にすみません。
Preferencesについての質問です。
Preferences#userNodeForPackage(Class<?> c) で取得したノードは、その名の通りパッケージのノードですが実際プロパティを保存したい場合どのようにすべきなのでしょうか?

私のイメージとしては、そのノードにあるクラスのプロパティを直接putInt(String,int)とするのは後々パッケージ内での重複の危険や、そもそも意味的な意味の違いで使いたくはありません。
よって、上で取得したノードにさらに
prefs(←パッケージのノード).node("クラス名").node("インスタンス名").putInt(String,int);
のようにするのがプロパティ的で良い気がしますがこちらは何かと面倒です。

特に何も気にせずパッケージノードにputするものなのでしょうか?

521 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 11:53:06 ]
そもそも、どのように使いたいかじゃねーの?

522 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 13:46:52 ]
インスタンスごとに設定項目作りまくりという糞設計なのか
データベース使え

523 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 14:46:18 ]
すみません。
ここに来てる時点で分かってくださるとは思いましたが、私は初心者で設計なんてまだまだこれからの段階なんです。

しかしインスタンスごとに設定項目変えている訳ではありません。
例えばjavax.swingパッケージを見てみると、その中に存在するクラスだけでもx,yというプロパティはかなりの数あるでしょう。
ですから必然的にその下のノードが必要になるのではないか、と疑問に思ったのです。

単純に一般的にどうされているのかと気になったので聞いてみたのですがここに来るのすら早かったようですね。
すみませんでした。

524 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 15:04:02 ]
>523
そんなAPIを使う前にクラスとインスタンスの関係を勉強したほうがいい

525 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 16:37:46 ]
preferenceに、インスタンスごとの値を記録したい場合というと、
例えばマルチタブエディタで個別のタブごとの設定値
(ファイル名とかカーソル位置とか)を記録したいとか?
まあ、そういう用途ならそれでいいんじゃね?

526 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 17:27:48 ]
MDIのセクションの復元とか



527 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 17:40:59 ]
どちらにせよ初心者には縁の無い話かと

528 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 17:57:47 ]
javaだとMDIはSwingにあるしセクション保存なんて情報を外に追い出せばとりあえず出来るから初心者でもやるんじゃない?
SwingAppFrameworkは始めからセクションのストア・リストアに対応してるし。

529 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 18:29:31 ]
それは既に初心者ではない件

530 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 18:32:45 ]
その程度は初心者の域

531 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 18:51:03 ]
フレームの位置と大きさが画面から外れてないかどうかってどう確認すれば良い?
GraphicEnvironment とか言うのを使うの?

532 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 19:40:23 ]
JavaってCのインラインアセンブラみたいなのはないですよね?

533 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 19:46:16 ]
naiyo

534 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 19:48:49 ]
aruyo

535 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 20:59:00 ]
アセンブラを扱うライブラリがあったはず

536 名前:デフォルトの名無しさん [2008/03/17(月) 21:52:45 ]
質問です。
以下の要件を満たすためにはどのような手段がありますでしょうか。

■環境
Java1.5
Tomcat5.5 + Apache2.3
FedoraCore7

1.ローカルでは、あるjavaプロセスがほほ常時立ち上がっています。
「ほぼ」と書いているのは、たまにプロセスが停止することがあるため。
最大停止時間は10秒。そのjavaプロセスの死活監視及び起動をshellで行っています。

2.1とは別に、tomcat+ApacheでServletを使ったWebアプリケーションがあります。

上記の環境のもとで、Webアプリケーションへのリクエスト送信をトリガーに
Webアプリケーション側から1のjavaプロセスのクラスを呼び出して1のクラス内の情報を取得したいです。

上記の実現方法について、教えていただけませんでしょうか。

私なりに調べてみたのですが、RMIというのはこの場合使えるのでしょうか?
RMIの紹介サイトはどこもクライアント側からのトリガーでサーバーへ返すものしかなく、
逆の場合も使えるのか確証が持てません。

また、RMIの他にも、Tomcat,Apache側の設定でどうにかなる方法などあるでしょうか?
上記以外の手段についてもあればお願いします。

以上、ご教授いただきたく思います。








537 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 22:18:52 ]
apache httpd 2.3って、trunkからビルドしてんのかよ。人柱乙。

監視対象のjavaプログラムに手を入れられるなら、
そっち側で必要な情報をファイルかDBに記録すればいいんじゃね?

538 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 22:50:15 ]
>>536
> RMIの紹介サイトはどこもクライアント側からのトリガーでサーバーへ返すものしかなく、
> 逆の場合も使えるのか確証が持てません。

昔似たような処理をやったことがあるけどサーバーのトリガーをクライアントからスレッドで監視してやれば
できたような…ただトリガーの発生が不定期だったりするので同期取らせたりいろいろうざいことしなけりゃ
ならんかった


539 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 03:30:57 ]
1 側で RMI がサービスしてりゃいいじゃん。
レジスロリは Tomcat で。

540 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 09:18:39 ]
core なんてウンコみたいなもんだろ。
詳細に分析すりゃ症状は分かるかも知れないが、大半はクソの役にもたたねぇ。

541 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 09:46:21 ]
ウンコさえ分析できないきみはクソの役にも立たねえ

542 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 09:58:21 ]
core だけで分析できると豪語する神が現れた。

543 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 15:24:21 ]
手動で serialVersionUID 管理する場合って 1, 2, 3, ... で良いよな。

544 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 15:27:09 ]
うん

545 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 17:29:25 ]
Javaのお勉強をしているものです
プログラム用エディタ使ってコマンドプロンプトでシコシコやってました

ところが同一ソフト上でエディットとコンパイルと実行ファイル化までできる
『統合開発環境』なるソフトが無料で出回っているそうじゃないですか
さっそくEclipseとNetBeans?をダウンロードしました
はい、何やってんだか分りません 重くて動きません etc…
ということで 軽くて初心者向けの統合開発環境ありますか?


546 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 17:31:38 ]
つ プログラム用エディタとコマンドプロンプト



547 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 17:33:36 ]
Visual J++ 1.0

548 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 17:34:10 ]
eclipseとかnetbeansとかが動かないほど重いPCは捨てて買い換えなさいな
よほどリソースが足りないPCだ、それは






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

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

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