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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

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

以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath

前スレッド
【初心者】Java質問・相談スレッド69【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1121993032/50

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */

また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

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

次スレは>>980あたりでお願いしまする。
2デフォルトの名無しさん:2005/08/21(日) 02:49:38
3前すれ911:2005/08/21(日) 02:50:25
斜めも入れたらよさげになりますた。
public void outLine(String s, int x, int y, Color c, Graphics g){
Color hoge = g.getColor();

g.setColor(c);
g.drawString(s, x+1, y);
g.drawString(s, x+1, y+1);
g.drawString(s, x+1, y-1);

g.drawString(s, x-1, y);
g.drawString(s, x-1, y+1);
g.drawString(s, x-1, y-1);

g.drawString(s, x, y+1);
g.drawString(s, x, y-1);

g.setColor(hoge);
g.drawString(s, x, y);
}
4デフォルトの名無しさん:2005/08/21(日) 02:50:26
で、どうなった?
5デフォルトの名無しさん:2005/08/21(日) 02:57:59
うれしいか?
>>前すれ911
6デフォルトの名無しさん:2005/08/21(日) 08:11:18
JInternalFrame の中に JToolBar を入れて、ツールバーをフローティングさせた
まま内部フレームを dispose() したらツールバーの小ウィンドウだけ残ってしまった。
これって消すためにわざわざ InternalFrameListener 仕掛けなきゃだめか?
消し方は setVisible(false) で良いのか?
7デフォルトの名無しさん:2005/08/21(日) 08:38:06
あの、署名付きアップレットを作って、ローカルリソースにアクセスできる状態だとします。
その状態では、クラスローダーで独自クラスのロードとかもできたりするものでしょうか?
というか、署名付きアップレットとはどこまでの権限が得られるものなのでしょうか。
教えて下さい。また、参考になるサイトがありましたら誘導よろです(意外と適当なサイトが見つからない・・・・)。
8デフォルトの名無しさん:2005/08/21(日) 08:58:12
>>7
公式見れば一発です
9デフォルトの名無しさん:2005/08/21(日) 10:41:30
>>8
あの、公式サイトのアップレットに関する文書の場所教えて下さい。
なぜか見つからないんです・・・・・・・。よろしくおねがいします。
10デフォルトの名無しさん:2005/08/21(日) 12:03:01
ひょっとして、英語ページにしかないとか?
11デフォルトの名無しさん:2005/08/21(日) 12:10:28
>>9
>>8じゃないので、これが求めるものか知らないけど、これとかは?
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/plugin/developer_guide/contents.html
12デフォルトの名無しさん:2005/08/21(日) 13:01:06
SDK1.3じゃないと正常に動かないアプリを動かしたいのですが、
通常1.4のパスが通ってます。
そのつど1.4のパスを消して、1.3にパスを通さないといけないのでしょうか。
13デフォルトの名無しさん:2005/08/21(日) 13:05:56
>>12
絶対パスで java コマンドを動かせばいいのでは?
14デフォルトの名無しさん:2005/08/21(日) 13:47:50
ファイルのimport/exportについて教えてください。
tomcat+eclipseでサーブレットを使ったWEBシステムを作ってるんですが、
propertiesファイルやxmlファイルを思ったように読んでくれないんです。

今以下のようにファイルを置いてるんですが、
eclipseディレクトリの直下にファイルを置かないと
動いてくれないし、ログもeclipse直下にしか出してくれないんです。
これをアプリのディレクトリのWEB-INF/classesに出すにはどうしたらいいでしょうか?
何かそれをいじる設定ファイルとかってあるんでしょうか?
1514:2005/08/21(日) 13:48:42
アプリは以下のように置いてます。

eclipse
  ├─classA-log
  ├─log4j.xml←ここに置かないとエラーが出る
  ├─info.properties←ここに置かないと読んでくれない
 workspace
  │
 system
  ├─jsp
  │ ├─jspA.jsp
  │ └─jspB.jsp
  ├─works
  ├─WEB-INF
  │ ├─classes
  │ │ ├─classA.class
  │ │ ├─etc
  │ │ │
  │ │ ├─info.properties←ここに置きたい
  │ │ └─log4j.xml←ここだけに置きたい
  │ ├─lib
  │ │ ├─log4j-1.2.11.jar
 │ │ ├─etc
 │ └─src
  │ ├─classA.java
  │ ├─etc
 │
  ├─index.html
 └─works
1614:2005/08/21(日) 13:50:42
で、classAというのはこんな感じで作っていて、
import org.apache.log4j.*;
(略)
public class classA {
 public String exec(String ID,String PW){
  DOMConfigurator.configure("log4j.xml");
  Logger log = Logger.getLogger(classA.class.getName());
  (処理)
  return result;
 }
}

ブラウザから実行するとコンソールにこんなログを出します。
log4j:ERROR Could not open [log4j.xml].
java.io.FileNotFoundException: log4j.xml (指定されたファイルが見つかりません。)
17デフォルトの名無しさん:2005/08/21(日) 13:52:08
log4jの中身はこんな感じです。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="classA" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="classA-log" /><param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="threshold" value="INFO"/><param name="append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss},%p,%m%n" />
</layout>
</appender>
<appender name="System" class="org.apache.log4j.DailyRollingFileAppender" >
<param name="file" value="sys-log" /><param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="threshold" value="ERROR"/><param name="append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss},%p [%t] %c (%F:%L) %m%n" />
</layout>
</appender>
<logger name="util.classA">
<level value="info" />
<appender-ref ref="classA"/>
</logger>
<root>
<level value="error" />
<appender-ref ref="System" />
</root>
</log4j:configuration>
18デフォルトの名無しさん:2005/08/21(日) 14:56:19
>>11
おおお、これっぽいです。
d(゚Д゚)☆スペシャルサンクス☆( ゚Д゚)b 。
19デフォルトの名無しさん:2005/08/21(日) 16:55:47
あの、Java VMのメモリ領域(本当はいろいろな区分があるけど気にせずに)
を丸ごとコピーして、違うPCのVMで動作を再開させる(プロビジョニングとか言うらしい)って
なことは実現できるかな?ネイティブコード使ってVMからデータを持ってきてもOK。
ただVMに手を加えることはしたくない。どうでしょう?
関連情報でもいいのでキボンヽ(´ー` )ノ
20デフォルトの名無しさん:2005/08/21(日) 17:47:41
>>17

javaっつーかプログラム初心者なんで微妙なんだけど、log4j.xmlは
 DOMConfigurator.configure("log4j.xml");
ってやるとclassAのフォルダ内の「log4j.xml」を読みに行くことになるんじゃないか?
だからそこにファイルがなければ、NotFoundになると思うんだが。
log4j.xmlのところをしっかりとした相対パスか、絶対パスにすればなんとかなるかもしんない。
./workspace/log4j.xml にすればworkspace内のファイル読むんじゃないかな。
最終手段で絶対パスでしょ。

info.propertiesはやったことなくて分からんです。
2120:2005/08/21(日) 17:51:12
ごめん読み間違えた。
パスに問題がありそうだけど、内容まちがっとる・・・orz
22デフォルトの名無しさん:2005/08/21(日) 18:09:04
Javaの.net環境へのコンパイラってありますか?
23デフォルトの名無しさん:2005/08/21(日) 18:18:40
IKVM.NETってのがある
24デフォルトの名無しさん:2005/08/21(日) 18:35:26
>>23
ん、これはどうやら.netの上にVMを起動して〜みたいな感じのようですね。
単純に.net用のバイトコード(って言うのか知らないけど)にコンパイルする
ことはできるものはありませんかね〜
25デフォルトの名無しさん:2005/08/21(日) 18:50:48
>>24
それもできるってば・・・もっとよく調べてみろ。
26GiantLeaves ◆6fN.Sojv5w :2005/08/21(日) 18:53:02
【質問】
JavaVMはIEXPLORER, Sun Javaの他に何がありますか?
また、Java Applet の作り方を教えてください。
それと、アプレットではない方のJavaは何か特別な呼び方があるのでしょうか?
JREとは何ですか?
27デフォルトの名無しさん:2005/08/21(日) 19:03:08
>>26
> JavaVMはIEXPLORER, Sun Javaの他に何がありますか?

列挙できないほどたくさんあります。

> また、Java Applet の作り方を教えてください。

書籍を購入して学習することをオススメします。

> それと、アプレットではない方のJavaは何か特別な呼び方があるのでしょうか?

あります。

> JREとは何ですか?

Java Runtime Environment の略語です。
28デフォルトの名無しさん:2005/08/21(日) 19:12:20
数学板のコテか。
29デフォルトの名無しさん:2005/08/21(日) 19:19:48
IBMのJREを個人情報なしでDLできませんか?
30デフォルトの名無しさん:2005/08/21(日) 19:22:45
>>29
WebSphere Application Server のお試し版でもダウンロードすれば入ってるんじゃ
31デフォルトの名無しさん:2005/08/21(日) 19:25:08
>>30
お試し版DLでも入力求められるよ

おれなんか会社名適当に入力したら折り返し連絡が来て
「正確な情報をお願いします」とか連絡が来たよ
32デフォルトの名無しさん:2005/08/21(日) 19:31:42
SUNはハード屋だから(プゲラ って言ってるわりにはケチだね
33GiantLeaves ◆6fN.Sojv5w :2005/08/21(日) 19:56:34
talk:>>27 役に立たない奴め。自分でサイトを見つけてきたぞ。http://java.sun.com/j2se/1.5.0/ja/docs/ja/index.html
34デフォルトの名無しさん:2005/08/21(日) 20:34:23
すぐに調べて分かることを聞くあふぉがまたでたか
35デフォルトの名無しさん:2005/08/21(日) 20:56:03
無礼すぎ。
自分でサイトを見つけてきた事を、自慢できるほど Google は難しくない。
36デフォルトの名無しさん:2005/08/21(日) 21:00:32
つたない日本語乙
3714:2005/08/21(日) 21:33:34
>>20

確かにコンパイルのときはWEB-INF/classes(classAがあるところ)を
見に行ってくれてるんですが、
WEBからアプリ実行させるときは
eclipse直下にファイルがないと怒られるんですよ。
(propertiesファイルも同じ)

classesの下のファイルだけ読みに行ってくれるように
したいんですけど、どこで設定すればいいんでしょう?
38デフォルトの名無しさん:2005/08/21(日) 21:46:41
>>14,37
初期化サーブレットを書くことをお勧めする。
でその中でweb.xmlにlog4j.xmlの場所を書いてやるようにすればいい。

ちょっと探したらすぐ出てきたぞ
http://www.ingrid.org/jajakarta/log4j/jakarta-log4j-1.1.3/docs-ja/manual.html

39GiantLeaves ◆6fN.Sojv5w :2005/08/21(日) 22:00:28
talk:>>34-35
いいからJavaVMをとっとと教えろ!
ちなみにIExplorer, Sun Java, Hot Java以外にだぞ。
どうもJavaVMはスタンバイから復帰したときにシステムの不調をきたす場合があるのでな。
40デフォルトの名無しさん:2005/08/21(日) 22:03:51
VMの意味が分かってないように見えるが釣りだろうな

スタンバイから何度も復帰させてるが問題起こってねーよ
41デフォルトの名無しさん:2005/08/21(日) 22:07:56
Tomcat5.5.9について質問があります。

Windows2000ProSP4
j2sdk1.5.0_04
Tomcat5.5.9
を使用してローカルの開発環境を作っています。

JDKをインストールしてJAVA_HOMEを設定。
Tomcat5.5.9のZIPファイルを解答してCATALINA_HOMEを設定。

CATALINA_HOME\binのstartup.batを叩いて起動させると、
コンソールに『XML検証は無効です』と出力されます。
しかし、そのままエラーなどは出ずに起動され、
http://localhost:8080にアクセスすると正常に表示されます

ググってみましたが、同様のエラーメッセージが出てる場合、起動にも失敗してるみたいですし、
解答でもserver.xmlでは?というものでしたが、
server.xmlは全く弄っていませんし、起動自体も成功しています。

何か問題があるのでしょうか?
42デフォルトの名無しさん:2005/08/21(日) 22:12:27
>>41
DDL非検証モードですという意味では?
43デフォルトの名無しさん:2005/08/21(日) 22:17:18
   ∩___∩       |            , '´l,
   | ノ\     ヽ      |         , -─-'- 、i
  /  ●゛  ● |      |       _, '´ /     ヽ、
  | ∪  ( _●_) ミ     j     iニニ, "● ∪    ヽ、
 彡、   |∪|   |    >>39    iニニ、_          ',
/     ∩ノ ⊃  ヽ            〈`'ー;==ヽ、〈ー- 、 !
(  \ / _ノ |  |             `ー´    ヽi`ヽ iノ
.\ “  /__|  |                      ! /
  \ /___ /                    r'´、ヽ
                               `´ヽノ
44GiantLeaves ◆6fN.Sojv5w :2005/08/21(日) 22:25:40
talk:>>40 ということは、そのときはたまたまスタンバイのときに大量のデータが生成されたか、大量の計算が発生したのか?
45デフォルトの名無しさん:2005/08/21(日) 22:27:54
>>44
すごいバカがいますよ
46デフォルトの名無しさん:2005/08/21(日) 22:28:36
>>38

サンクス!ちょっと調べてみますね。
サーブレットのコンストラクタでやるんですか・・・
JSF使ってるけど大丈夫かな
47デフォルトの名無しさん:2005/08/21(日) 22:29:56
わざわざトリ付けて頭の悪さを晒すのってスゴイな
48デフォルトの名無しさん:2005/08/21(日) 22:31:03
頭が悪いからな。
49デフォルトの名無しさん:2005/08/21(日) 22:33:36
50デフォルトの名無しさん:2005/08/21(日) 22:38:07
>>49
鬼の首でも取ったかのごとく「シュミレーション」にツッコミ入れてるが
思いっきり >>1 の思惑通りに釣られてるあたりクオリティが高い
51デフォルトの名無しさん:2005/08/21(日) 22:53:23
>>46
全く問題ない。
52デフォルトの名無しさん:2005/08/21(日) 23:02:54
>>44
きっと頭はいいのでしょうが、もう少しその頭の使い方を覚えたほうがいい
のでは?
今のままではただのキ○ガイ。
53デフォルトの名無しさん:2005/08/21(日) 23:55:31
なんで頭いいと思うんだ?普通にバカだろ。
54デフォルトの名無しさん:2005/08/21(日) 23:56:59
>>53
ヒント:皮肉
55デフォルトの名無しさん:2005/08/22(月) 00:34:15
ヒント:精一杯のやさしさ
56デフォルトの名無しさん:2005/08/22(月) 00:39:51
JFileChooserでユーザーが指定したディレクトリのパスをString戻すにはどの用にすればよいでしょうか?
57デフォルトの名無しさん:2005/08/22(月) 00:42:44
失礼。。。
「Stringで戻すには」でした。
よろしくお願いします。
58デフォルトの名無しさん:2005/08/22(月) 01:01:09
File#getPath()とかFile#getAbsolutePath()
でしょうか?
59デフォルトの名無しさん:2005/08/22(月) 01:26:55
>>58
ファイルチューザーの設定の時点で悩んでます。
ディレクトリ(ファイルではなく)を指定する方法がわかりません。
public String getPath(){
   setDialogType(JFileChooser.SAVE_DIALOG);
   int i =showSaveDialog(null);
   return getSelectDirectory();
} 
とすればできると思ったのですが、ディレクトリを選択しても、「開いて内容を表示する」だけで、
キャンセルを押してもダイアログを閉じることができずに強制終了するしかない状態になってしまいます。
60デフォルトの名無しさん:2005/08/22(月) 01:29:01
JApplet で JFileChooserを使うにはどのようにすればよいのでしょうか?
環境はWinXP
J2SDK1.4.2

 「開く」ボタンをつけて、押したらファイル「gif」と「jpg」を選べるようにしたいだけなのですが、
ボタンのアクションを拾ってJFileChooserを起動しようと思っているのですが
appletだとどうやればいいのか見当が付かず困っています。

どなたかわかるかたいらっしゃらないでしょうか


import javax.swing.JApplet;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;

public class TestFileFilter extends JApplet{
public void init()
{
JFileChooser chooser = new JFileChooser(".");
ExampleFileFilter filter = new ExampleFileFilter();
filter.addExtension("jpg");
filter.addExtension("gif");
filter.setDescription("jpg,gif");
chooser.setFileFilter(filter);
}
}
61デフォルトの名無しさん:2005/08/22(月) 02:22:49
>>59
これだよこれ。
setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY)
62デフォルトの名無しさん:2005/08/22(月) 02:25:18
>>60
JFileChooser のインスタンスはクラス変数に入れておいて
ボタンの ActionListener で出せばいい。
63デフォルトの名無しさん:2005/08/22(月) 03:00:52
おおおおおお!!>>61さん、どうもありがとうございました。
64デフォルトの名無しさん:2005/08/22(月) 11:23:57
>>60
サンドボックス内だとファイル選択ができないけど
WebStartならJNLPAPIでできる
65GiantLeaves ◆6fN.Sojv5w :2005/08/22(月) 13:25:19
talk:>>45,>>47-48 どこだよ?
talk:>>49-50 いいから趣味で食べるレーションを私に支給してくれ。
talk:>>52-55 お前に何が分かるというのか?
66デフォルトの名無しさん:2005/08/22(月) 13:51:52
>>65
巣に帰れよ
67デフォルトの名無しさん:2005/08/22(月) 14:57:58
Executable Jarファイルを作りたいと思っています。
環境にエクリプスを用い、メインのプロジェクトは他に作ってあるプロジェクトの参照を行っています。
この場合どのようにすれば実際に動かせるようになるのでしょうか?

試したこと:
 ・エクスポート→jarファイル でエクスポートするプロジェクトで両方指定
 ・参照プロジェクトのjar化→マニフェストのクラスパスで指定  
結果両方とも動きませんでした。 
68デフォルトの名無しさん:2005/08/22(月) 15:08:56
>動きませんでした。
釣りケテーイ
6967:2005/08/22(月) 15:31:08
>>68
・・・・つりじゃないです。。。
ダブルクリックするとマウスポインタは一応作業中になるのですが、
何も起こらずに元に戻っちゃいます。
アプレットみたいにタスクバーにコンソールが表示されるわけでもなく
何が悪いのかまったく原因がわかりません。
70デフォルトの名無しさん:2005/08/22(月) 15:45:56
そりゃ何か設定が間違っているんだろう。
71デフォルトの名無しさん:2005/08/22(月) 15:48:54
どのような動作を期待していて、どのような動作をしたから期待通りでは無かったのか。
コンソールからは実行できるのか。
OSは?
JDKは?
72デフォルトの名無しさん:2005/08/22(月) 16:03:41
>>69
「どのように動かないのか」を書かないとまともな回答は得られないよ。

他の参照プロジェクトもJar化する。
動かしたいプロジェクトもJar化してそちらのマニフェストファイルに
クラスパスを設定し、他のプロジェクトのJarをクラスパスに含める。
・・・でうまくいくんじゃね?
73デフォルトの名無しさん:2005/08/22(月) 16:16:46
>>67
実行可能jarをダブルクリックだと、標準エラー出力に出るエラーが見えないので、原因がわからない。
まずはコマンドラインから実行して、原因を調べよう。こんな感じで。

java -jar hoge.jar
74デフォルトの名無しさん:2005/08/22(月) 16:51:11
本で読んだところ
System.currentTimeMillisはWindowsだけ
1ずつ増えないそうで
つまり、MSが改善すれば
Javaは精密な動作を実現できるということ?
75デフォルトの名無しさん:2005/08/22(月) 17:26:52
ジャバーはアホなのでいつも
catch(Exception ex){
  System.err.println(ex);
}
ちゃんとエラー処理しろよ
76デフォルトの名無しさん:2005/08/22(月) 18:04:27
>>74
WindowsというかOSによって変わるな
同じWindowsでも95,98やnt4,2000とxpすべて動作がばらばら

それにCPU・・・かチップセットによっても動作が大きく変わるの確認済みなんだが
あれもなんとかならんのかね
インテル系は今のはきっちりかえしてるっぽい
AMDは古いのはちゃんとかえしてるっぽいが新しいのはダメとか

逆にLinux等Windows以外はナノタイム取得はちゃんと動いてないっぽいけどな
7767:2005/08/22(月) 18:27:02
>>73
Exception in thread "main" java.lang.NoClassDefFoundError: org/exolab/castor/xml
/MarshalException
at MainBDIV.main(MainBDIV.java:16)
外部Jarのクラスが見つからない???・・・・クラスパスは通してあるのになんで???
78デフォルトの名無しさん:2005/08/22(月) 18:39:12
>>77
java -verbose:class -jar hoge.jar で良く考える
79デフォルトの名無しさん:2005/08/22(月) 19:22:19
JPanelのFPSを保つまた表示するにはどうすればいいでしょうか。
80デフォルトの名無しさん:2005/08/22(月) 19:24:27
frames per second?
81デフォルトの名無しさん:2005/08/22(月) 19:25:03
yes
82デフォルトの名無しさん:2005/08/22(月) 19:45:52
SwingSet2デモのソースを見ると、frame数を数えて計算してるねぇ。
(Surface.javaのLogPerformanceメソッド)
83デフォルトの名無しさん:2005/08/22(月) 19:46:42
SwingSet2じゃないや、Java2Dデモ。
どっちもSDKに入ってる。
84デフォルトの名無しさん:2005/08/22(月) 19:49:23
JavaでWindowsだと厳密には無理
Java.util.Timer#scheduleAtFixedRate
使うのが一番楽だった。
85デフォルトの名無しさん:2005/08/22(月) 20:12:42
>>77
こういうこと。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/java.html#options
ここの-jarオプションの説明を参照。

対策は、「Java 実行可能 jar」あたりでググれば見つかる。
86デフォルトの名無しさん:2005/08/22(月) 20:38:20
JTree のノードのラベルを動的に変更しています。表示の更新はちゃんと行われている
ようですが、文字列が長くなったときに後ろが省略されて「...」となってしまいます。
なんか幅が変わってないようですが、全体を表示させるにはどうしたら良いでしょうか?
treeNodesChanged() だけでなく treeStructureChanged() イベントも飛ばして見ましたが
変わりませんでした。

ちょうど以下のページのような感じ
http://www.javadrive.jp/tutorial/jtree/index2.html
> 恐らく表示する幅が変わっていないため、画像の分だけ文字を表示する幅が少なくなって、
> 「...」のような省略形になってしまっています。原因が今のところわかりません。
87デフォルトの名無しさん:2005/08/22(月) 21:02:21
その参考サイトもいいかげんだな
「...」になる理由が分かりませんとは

ノードの変更をtreemodelに通知してないからかと

変更部分のコードをさらしてみ
88デフォルトの名無しさん:2005/08/22(月) 22:14:47
以下のことがしたいです。
1.Javaプログラムからブラウザを起動
2.その開いたブラウザを閉じる

1はProcessBuilderでできるとして、ブラウザを閉じるというのは
プログラムからできるのでしょうか?
89GiantLeaves ◆6fN.Sojv5w :2005/08/22(月) 22:16:45
talk:>>88 プロセスの終了とか?
90GiantLeaves ◆6fN.Sojv5w :2005/08/22(月) 22:20:14
91デフォルトの名無しさん:2005/08/22(月) 22:20:52
>>87
TreeModel 実装してるので全部載せたらでかいから、TreeModel のイベント通知部分だけ。
ノードとなる Bean のプロパティ変更通知を受け取って TreeModelEvent として配信する
TreeModel を JTree に使用している。nodeLabel プロパティの変更通知が来て画面上も
変更されるのは確認済みです。

if(propertyName.equals("leafNode") || propertyName.equals("nodeIcon")
|| propertyName.equals("openNodeIcon") || propertyName.equals("nodeLabel")){
  TreeModelEvent e = getTreeModelEvent(evt);
  for(int i=0; i<listener.size(); i++){
    ((TreeModelListener)listener.get(i)).treeNodesChanged(e);
  }
}

treeNodeChanged() の直前に println() 入れてみましたが nodeLabel 変更時の通知は
意図したように行われています。getTreeModelEvent(evt) は Bean からのイベントを
TreeModelEvent に変換しています。必要であればこちらも載せますが。
92デフォルトの名無しさん:2005/08/22(月) 22:22:20
>>88
Process#destroy()

まぁ gracefully な終了のさせ方じゃないが。
93デフォルトの名無しさん:2005/08/22(月) 22:37:47
>>91
いや、イベント通知ってへんなのやる必要はないよ
ノードのオブジェクトの変更部分のせてみそということだったのだが
94デフォルトの名無しさん:2005/08/22(月) 22:58:47
jniでWM_CLOSE送ればええやん
95デフォルトの名無しさん:2005/08/22(月) 23:11:33
>>93
TreeModel インターフェースを独自に実装してるから、ノードのオブジェクトに相当するものって
ただの Bean なんだけど。変更部分って setter のこと?

public void setNodeLabel(String nodeLabel){
  Object oldValue = this.nodeLabel;
  Object newValue = nodeLabel;
  this.nodeLabel = nodeLabel;
  firePropertyChange("nodeLabel", oldValue, newValue);
  return;
}

イベントは以下のように伝わっています。

Bean
 ↓ <プロパティ変更イベント>
TreeModel の実装クラス
 ↓ <TreeModel イベント>
JTree

ちなみに TreeCellRenderer は DefaultTreeCellRenderer を継承して以下のように作成しています。

public Component getTreeCellRendererComponent(JTree tree, Object value, ...){
  DataNode node = (DataNode)value;
  super.getTreeCellRendererComponent(tree, node.getNodeLabel(), sel, expanded, leaf, row, hasFocus);
  this.setIcon(node.getNodeIcon());
  return this;
}
96デフォルトの名無しさん:2005/08/22(月) 23:26:48
アプレットの質問です。

ラベルを使っているアプレットなんですが、手前に画像を表示しようとすると、
ラベルを貼った場所だけ一番手前に出て見えてしまいます。
ラベルと画像が重なった時にラベルを隠すようにしたいのですが、それは可能ですか?
もし可能なら方法を教えてくれると助かります。

こゆ質問でもソースとかうpした方が良ければ、指摘してください。
97デフォルトの名無しさん:2005/08/22(月) 23:29:44
レンダラは関係ないし難しく考えすぎ

model.valueForPathChanged(path,"あいうえおかきくけこ");

を使うか

root.setUserObject("あいうえおかきくけこ");
model.nodeChanged(root);

だけでいい

なんでJTreeつかってuserObjectがでてこないのかなぁとおもった
98デフォルトの名無しさん:2005/08/22(月) 23:32:16
補足
modelはツリーモデル
pathはツリーパス
rootはルートをさすツリーノード(別にルートである必要もないがテストにルートはらくだから)
"あいうえお"はユーザーオブジェクトのさんぷる

デフォでtoStringの内容を使うというSwingの特徴を考えるとStringはやはり楽だからね
99デフォルトの名無しさん:2005/08/22(月) 23:46:06
>>97
ええとですね、DefaultTreeModel や DefaultMutableTreeNode は使っていません。
独自のデータモデル用に TreeModel と TreeCellRenderer を自作してイベント処理含めて
自分でやっています。

ですが >>86 のページのように、それらを使った場合と同じような感じになっているので、
自作云々というよりデフォルトのものを使ってる JTree か DefaultTreeCelLRenderer かなーと
推測しています。
100デフォルトの名無しさん:2005/08/23(火) 00:04:32
defaultなんちゃらをベースに拡張してないのね
初心者っぽいから無理しなけりゃいいのに

valueForPathChangedの実装部分が怪しいと予想
101デフォルトの名無しさん:2005/08/23(火) 00:35:47
>>100
valueForPathChanged は GUI 上の変更 (JTree 上での TreeCellEditor 経由での変更) が
TreeModel 側に通知される時に呼び出されるものなので無関係と思います。そもそも今回は
呼ばれていません。

いやもう、最初のレスから勘違い君だと思ってたが。
Defaultなんちゃらしか使ったことないならもう無理スンナw
102デフォルトの名無しさん:2005/08/23(火) 00:39:13
ツリーだけに釣り?
103デフォルトの名無しさん:2005/08/23(火) 00:41:19
       ヽ(・ω・)/   ズコー
      \(.\ ノ
104デフォルトの名無しさん:2005/08/23(火) 00:50:03
treeNodesChangedも飛ばせないくせにえらそうだな
105デフォルトの名無しさん:2005/08/23(火) 01:11:08
ArrayListやLinkedListクラスについて質問です。
StringやIntなどを addを使ってリストに加えていく例が多いですが、
double型の二次元配列をリストに加えていくと、なぜかうまくいきません。


具体的に示すと、

double[][] Num = new double[7][9] /*7×9の表を表現した二次元配列*/
ArrayList TableList = new TableList<double[][]>();

(Num[][]に値が入った状態になる)

TableList.add(Num);

この後、TableList.get(0)として、一番初めの要素の値を参照するようにしたのですが、
addをしていくたびに、0番目の要素が一番最後に読み込んだ物に変わります。
また、別のn番目の要素を参照しても、getでは新しいものしか返ってきません。
しかし、要素の数をsize()で調べると、キチンとaddで要素を加えた回数分だけ返ってきます。

数時間、書籍やネット、JavaDocを参照しても分かりません。
ここは、AllayListを2つ、3つ組み合わせるほうが得策なのでしょうか?
また、この使い方に問題があるのでしょうか?(泣
106デフォルトの名無しさん:2005/08/23(火) 01:15:12
…は?
107デフォルトの名無しさん:2005/08/23(火) 01:33:17
for(N)
TableList.add(Num);
か?
108105:2005/08/23(火) 01:36:24
すみません。もうちょい分かりやすく書いてみます。

上の方法で、リストに要素を加えても、中身の要素がすべて一番最後にaddで加えた値になってしまい、
キチンとしたリストが作成できていないっていうことです;;
109デフォルトの名無しさん:2005/08/23(火) 01:45:50
>>105
プリミティブ型の配列ってListクラスに入れれたっけ?
自分だったらListを2つ使うか、Beanを1個つ作ってそれをListに追加かな
あとはString型の2次元配列にするか・・・
頭で考えただけだから試してないけど
110デフォルトの名無しさん:2005/08/23(火) 01:46:04
何回もNumというやつをaddしてるというオチとか
111デフォルトの名無しさん:2005/08/23(火) 01:46:56
>ArrayList TableList = new TableList<double[][]>();
これなに?
112デフォルトの名無しさん:2005/08/23(火) 01:47:56
つうか、List 云々じゃなくて double[][] を使いまわして格納してるだろ。
TableList.add(Num); した後に Num = new double[7][9]; しなおせ。
113105:2005/08/23(火) 02:08:38
>>112
正解でした!
double[][] Num = new double[7][9] って頭の宣言部分で書いていたものを

double[][] Num
Num= new double[7][9]

の2つに分けて、後者を新しく7×9の表を作る前の部分に入れてみたところ、うまく動作しました。

考え方としては、
【原因】
同じオブジェクトを何回も何回もaddで加えていた。

【解決法】
新しいオブジェクトをリストに入れる分だけキチンと用意する。

ってことでよさそうですね;; 間違ってたらレスお願いします;;
114デフォルトの名無しさん:2005/08/23(火) 02:14:12
>>107
で既に答えてるのだが
115デフォルトの名無しさん:2005/08/23(火) 02:22:13
>>114
もまいのコミュニケーション能力に問題があると思われr
116デフォルトの名無しさん:2005/08/23(火) 02:26:41
まぁその次も>>110でこたえてるな
117デフォルトの名無しさん:2005/08/23(火) 04:03:24
丁寧に書いてやらないと理解できんのよジャバーはアホなんで
118デフォルトの名無しさん:2005/08/23(火) 09:58:03
丁寧に書いてやっているやつも馬鹿ってこと?
119デフォルトの名無しさん:2005/08/23(火) 13:41:04
コメント行を書くときに、

//コメント。

と書く場合と、

/*コメント。*/

と書く場合がありますが、
どちらを使った方が正しいのでしょうか?
自分は全て前者の方でやっておりますが、問題ないでしょうか?
120デフォルトの名無しさん:2005/08/23(火) 13:45:49
複数行の時は/**/
簡単なコメントは//
だいたいコード規約で決まってるからそれに従う。

個人でやってるときは好きなようにしたらいいと思う。
Javadocコメントもあるからそれも利用するとよりよい。
121デフォルトの名無しさん:2005/08/23(火) 13:51:58
ありがとうございます。
122デフォルトの名無しさん:2005/08/23(火) 13:52:44
publicなメソッドはかならず/** 〜 */で
privateでシンプルなメソッドや注釈入れといたほうがいい場合は//にしとる
/* 〜 */はデバッグ時とかしかつかってないかな
123デフォルトの名無しさん:2005/08/23(火) 14:31:06
なるほど、自分なりの使い分けを考えろってことですね
124デフォルトの名無しさん:2005/08/23(火) 14:33:35
一体どこからそんなことが読み取れた?
125デフォルトの名無しさん:2005/08/23(火) 14:36:09 BE:346872858-
>>119
漏れの場合、>>122とは違い、
メソッド、フィールド、クラス手前には必ず/** */コメントを使っている。

なぜなら、CheckStyle(EclipseのCheckstyleプラグイン含む)が
大量に警告を出すから。
それが喩えprivateであろうとも必ずコメントは書き、
説明をちゃんと入れ、CheckStyleによる警告が全てなくなるまで
@paramタグ、@returnタグ、@sinceタグ、
@throwsまたは@exceptionタグは全て入れている。


メソッド内のロジックや変数について一行のコメントをしたいときは
//を使っている。

一般的なエディタで緊急時に
一時的にちょっとだけコメントで囲いたいときは/* */で囲ってコメントアウトするが、
Eclipseを使っている場合は、ctrl + / でコメントアウト、コメント外しが
できるので//を使っている。


126デフォルトの名無しさん:2005/08/23(火) 14:41:27
何もしないことを明示するために /* */ を使うな。まぁ古い書き方かも知れないが。

for(int i=0; /* */; i++)
catch(Exception ex){/* */}
default:
  /* */
  break;
127デフォルトの名無しさん:2005/08/23(火) 14:49:48
おれは
default:
  // NOP
  break;
だな。
128デフォルトの名無しさん:2005/08/23(火) 14:55:35 BE:242811247-
何もしないことを示すときは漏れも
//を使ってる
129デフォルトの名無しさん:2005/08/23(火) 14:55:39
俺はこうかな。
System.out.println("Hello World !");
130デフォルトの名無しさん:2005/08/23(火) 15:15:03
(゚Д゚)ハァ?
131デフォルトの名無しさん:2005/08/23(火) 17:08:38
NOP代わりに//派って結構居るんだな、ちょっと意外。
俺は1行コメントに//を使ってるから、NOPの代わりは/* */を使ってる。

あと、/* */で複数行コメントを書く事はまずない。
この手のコメントが必要だと感じた時は、処理を抽出してプライベート
なメソッドにした上で、JavaDocな/** */を書く様にしてる。
132デフォルトの名無しさん:2005/08/23(火) 18:10:23
>>131
質問でも相談でもない独り言はチラシの裏にでも書いてろ
133デフォルトの名無しさん:2005/08/23(火) 20:52:05 BE:15128238-###
数理モデルを作ってシミュレーションを行い、
複数のウィンドウ(フレーム)でその図表を表示するようなプログラムを作りたいのですが、
run()の中身とスレッドの扱いをどうすればいいのか良く判りません。
各ウィンドウ(のパネル)のrepaint()を全部run()の中に入れたら、動くのは動くのですが、なんか動きがガクガクになってしまいます。
134デフォルトの名無しさん:2005/08/23(火) 20:52:43
質問です。

Stringの中身が「a="A" b="B"」のとき、
「B」を取りたいのですが良い方法はないでしょうか?
単純に「"」でsplitすると「b="B" a="A"」や
「a="A" c="C" b="B"」となったとき困ってしまいます。

よろしくお願いします。
135デフォルトの名無しさん:2005/08/23(火) 21:06:59
そういう書式なら、最初に「 」でsplitして、
その断片を処理すればいいのでは?
136デフォルトの名無しさん:2005/08/23(火) 23:28:34
>>134
質問の意味がわからんよ。
Bをとりたいって何よ?
137デフォルトの名無しさん:2005/08/24(水) 00:21:42
>>136
キー値「b」の値「B」を別の変数に代入したいという意味です。
もし、「a="A" b="Z"」だったら「Z」を別の変数に代入したい。
138デフォルトの名無しさん:2005/08/24(水) 00:34:11
もっとわからなくなってきた
139デフォルトの名無しさん:2005/08/24(水) 00:36:16
まず空白で分割。
その後等号で分割。
左辺値が 'b' なら右辺値の飲尿記号を取り除いて目的達成。

ただし右辺値が空白を含むならちょっと面倒。
140デフォルトの名無しさん:2005/08/24(水) 03:21:07
String prob = "a=\"A\" b=\"B\" c=\"C\"";
Matcher mat = Pattern.compile("b=\"(.*)\"").matcher(prob);
mat.matches();
return mat.group(1);

こんな感じ?試してないから動くか分からないけど。
141デフォルトの名無しさん:2005/08/24(水) 10:05:28
オブジェクト指向の本を読んでいると深いコピーと浅いコピーを
しっかり理解しなさいと書いてありました。理解はしたのですが、
Java ではどう実装するのが標準ですか?
どうも、clone を書き換えるみたいなんですが、clone は標準で
浅いコピーであると書いてあるので深いコピーをするように勝手に
変えちゃっていいのでしょうか? それとも、clone ではなく独自に
copy とかのメソッドを作るものなんでしょうか? どうも clone は
わかりにくいです...
142デフォルトの名無しさん:2005/08/24(水) 10:17:18
>>141
deepコピーがしたければcloneを上書きで正しい。
普段はshallowコピーがいいなら、
DeepコピーしたいクラスをAとすると、
AのコンストラクタにAを引数とするようにして、
そこでDeepコピーして、明示的に新しいインスタンスとして
返すような仕組みにしてもいいのではないだろうか。
143デフォルトの名無しさん:2005/08/24(水) 11:09:07
お願いします。

現在、JTextFieldを縦10個×横10個、GridLayoutで碁盤目状に
配置しています。
各JTextFieldの入力文字数を一文字にしたいと思っています。
JTextFiledに入力される一文字は、カタカナであることが想定されます。
さらに、一文字入力したら、自動的にカタカナ変換して
右横のJTextFieldにキャレットが移動するようにしたいと考えています。

しかし、具体的にどうすればキャレットを操作できるか分かりません。
CaretListenerを使えば良いのかと考えたのですが・・・

アドバイス宜しくお願い致します。
144 ◆6FWUET4y.6 :2005/08/24(水) 12:23:52
>>143
requestFocusInWindow()メソッドを使えばいいのではないでしょうか。
Componentクラスで定義されています。
145デフォルトの名無しさん:2005/08/24(水) 12:59:41
>>142
お答えありがとうございます。
コピーコンストラクタで深いコピーを実装するんですね。
ところで、なぜ、C++にはあるコピーコンストラクタが Java では
なくなったのでしょうか?
146デフォルトの名無しさん:2005/08/24(水) 13:17:11
>>145
いやいや、そういう風に明示的にDeepコピーをする方法もあるよ
と提示しただけで、そう実装するべきといったわけではないですよ。
Cloneメソッドをオーバライドしたく無い場合はこうしてます。

>C++にはある・・・・
については、べつにC++を目指して作った言語では無いので
思想の違いとしか答えようがないと思います。
それを言うなら、多重継承もないですが、
Interfaceがあるおかげで必要な場面がほとんど無いですから。
(欲しいと思うときは確かにあります。が工夫で逃げれます。)
同じようにコピーコンストラクタも常に必要ではないので、
必要なときに実装すれば良いと思いますよ。
147デフォルトの名無しさん:2005/08/24(水) 13:19:05
>>145
意図しない誤用を防止するために切り捨てられた (振り替え可能な) 機能は
いくつかある。コピーコンストラクタはもその一つ。(それだけが理由とは
言わないが)

だが 5.0 からそういった機能を復活させる傾向にあるみたい。JCP への移管も
あるだろうけど、New Java へ盛り込む新機能がそろそろ頭打ちになってきた
ように見える (つまりネタが尽きてきた)。
148デフォルトの名無しさん:2005/08/24(水) 14:04:40
Object o = x;
でコピーコンストラクタが呼ばれないのはc++で書くとこうだから
Object* o = x;
149デフォルトの名無しさん:2005/08/24(水) 14:41:33
>>144

ご回答ありがとうございます。
お示しくださったアドバイスのとおり、requestFocusInWindow()を使ってみました。
JTextField(変数名:field)は配列で作成してあるので、
field.requestFocusInWindow();
としてみましたが、うまくいきません。
他のボタンでも試してみましたが、うまくいきませんでした。

http://terai.xrea.jp/Swing/DefaultFocus.html

上のページでは動作しているのですが、どうして私のではうまくいかないんでしょう。

もう一度、アドバイスがあれば宜しくお願いします。
150デフォルトの名無しさん:2005/08/24(水) 15:25:01
#include <stdio.h>
main() {
char str[20];
gets(str);
printf("%S", str);
return 0;
}
Cを勉強中です、いきなりつまずきました。
出力されません!わかる人いますかー?
151デフォルトの名無しさん:2005/08/24(水) 15:35:40
>>150
×%S
○%s

あと、スレ違い。
152デフォルトの名無しさん:2005/08/24(水) 15:41:56
なんかマルチっぽい。
153デフォルトの名無しさん:2005/08/24(水) 16:10:25
数理モデルを作ってシミュレーションを行い、
複数のウィンドウ(フレーム)でその図表を表示するようなプログラムを作りたいのですが、
run()の中身とスレッドの扱いをどうすればいいのか良く判りません。
各ウィンドウ(のパネル)のrepaint()を全部run()の中に入れたら、動くのは動くのですが、なんか動きがガクガクになってしまいます。
154デフォルトの名無しさん:2005/08/24(水) 17:13:44
swingなら
SwingUtilities.invokeLater

それ以前に、リアルタイムで計算してるんなら、単に処理が重過ぎるだけだったりして。
155デフォルトの名無しさん:2005/08/24(水) 18:04:06
>>141-142
Deepコピーをcloneのオーバーライドで実装するのは無用な
混乱の元になりかねない。
new Hoge(hogeInstance)やgetDeepCopyの様なメソッドを作
った方が明示的で健全。
156デフォルトの名無しさん:2005/08/24(水) 18:18:53
>>155
>>142もそのように書いてるように見えるのだが。

公開するようなものならともかく、
clone使うときはそういうところちゃんと気にして使うけどなぁ。
157デフォルトの名無しさん:2005/08/24(水) 18:20:39 BE:20170548-###
>154
ありがとうございます。説明がよく判らなかったのですが、sleep()を入れなくても良くて全部のフレームを更新するという事ですか。
158デフォルトの名無しさん:2005/08/24(水) 18:25:23 BE:22691366-###
説明が→docsの説明が
159141:2005/08/24(水) 19:26:00
皆様、いろいろありがとうございます。
当面は深いコピー専用のメソッドを書くことにします。
自分でもいろいろ勉強をしようと思ってJDKのソースを眺めていたのですが
ArrayList の clone は浅いコピーなんでしょうか?ソースにははっきり
a shallow copy of this ArrayList って書いてあるんのでそうなんでしょうが
ArrayList 自体は別のものがメモリ上にできているので入れ物の ArrayList
は深いコピーで中身が浅いコピーだと思うのです。こういう混ざった状態は
総じて浅いコピーと呼ぶのでしょうか?
160デフォルトの名無しさん:2005/08/24(水) 19:47:58
C言語のソースコードをバイトコードへコンパイルする事ができるコンパイラ
どなたか知りませんか?
161デフォルトの名無しさん:2005/08/24(水) 21:00:46
>>157
swingは複数のスレッドから操作するように作られていない。
よって、別スレッドからrepaint()なんかを呼ぶ場合は
swingに実行させる。 そのために invokeLaterを使う。
処理や状況によっては、そうしないと例外出るよ。
162デフォルトの名無しさん:2005/08/24(水) 21:43:42
動的にオブジェクトを作ることは何って言うんですか?
163デフォルトの名無しさん:2005/08/24(水) 21:51:49
JAR から起動する GUI アプリケーションで、特定のキーを押しながら起動すると
デバッグモードで起動するとかそんな動きをさせたいんだけど、コマンドプロンプトも
ウィンドウも出てない状態でキーが押されてるかってどうやって判断するの?
164デフォルトの名無しさん:2005/08/24(水) 22:06:33
見えないウインドウを作ってみるとか
165デフォルトの名無しさん:2005/08/24(水) 22:20:27
>>162
普通のインスタンス生成じゃないの。

もしかして「動的にクラスを作る」ってこと?
166デフォルトの名無しさん:2005/08/24(水) 22:25:16
>>165
インスタンスを動的に作るんです
すみません、初心なもんで
167デフォルトの名無しさん:2005/08/24(水) 22:47:49
????? instantiate ?
168デフォルトの名無しさん:2005/08/24(水) 22:53:27
public class Hoge{
public static void main(String[] args){
int hoge = 1;
int hage = 3;
System.out.println(hoge+hage);
}
}
これを13と表示させたいんですが、どうすればいいでしょうか。
169デフォルトの名無しさん:2005/08/24(水) 22:58:55
>>168
System.out.println("" + hoge + hage);
170デフォルトの名無しさん:2005/08/24(水) 22:59:25
System.out.println(""+hoge+hage);
または
System.out.println(Integer.toString(hoge)+Integer.toString(hage));
171168:2005/08/24(水) 23:01:52
ありがとうございました。
hoge.toString()とやったらエラーが出てくまってました。
172162:2005/08/24(水) 23:13:01
事故解決しました
173デフォルトの名無しさん:2005/08/25(木) 01:33:47
printfつかえばいいだけかと
174デフォルトの名無しさん:2005/08/25(木) 09:49:33
配列を宣言していて、自分が何番目の配列かという
数字をintで出力したいのですが、どうすればいいですか?
175 ◆6FWUET4y.6 :2005/08/25(木) 09:56:39
配列を拡張するのは出来ないので、自分でクラスを作るしかないかと。
static変数に今何個の配列が作成されたかを保存しておき、インスタンス生成時にそのインスタンスが何個目かをインスタンス変数に保存する、と。

# せっかくだからListを使ってみては?
# Javaの配列は過去の遺産を引き継いだだけって側面が大きいように思います。
176デフォルトの名無しさん:2005/08/25(木) 09:58:12
Java+JSP+SQLServer+TomcatでWebアプリを作ってます。
Javaのコード中に、DBコネクトの閉じ忘れが混在しているようで、
たまにコネクト数が限界を超えてシステムが止まってしまいます。
かなり膨大なコードになっていて、バグを見つけるのが大変なのですが、
DBコネクトの閉じ忘れを効率的に発見する方法はありますか?
どうかアドバイス下さい。よろしくお願いします。
FindBugsで今実験中です。
177デフォルトの名無しさん:2005/08/25(木) 10:13:30
>>175
ありがとうございました。
もう一度、配列とListの復習を始めてみます。
178 ◆6FWUET4y.6 :2005/08/25(木) 10:21:41
>>176
try...finally... を使ってみては?

try {
// DBコネクト
// 色々な処理
} finally {
// DBコネクトを閉じる
}
179デフォルトの名無しさん:2005/08/25(木) 10:49:31
>>178
ずいぶんと的はずれな回答だな。

>>176
アプリ自体の設計がわからないから何とも言えないが、
適切な箇所でConnection#isClosed():booleanを使って調べるしかないんじゃないかな。
DAOと呼べるクラスがあるのなら、すべてのメソッドの最後にisClosed()を書いて、
falseだったらログを出力するとか。
・・・閉じ忘れが多数なプログラムだと、設計もきれいではないだろうからこれで
対処できるかどうか不安だけどね。。。
180デフォルトの名無しさん:2005/08/25(木) 11:27:57
>176
コネクションぷうりんぐかませば楽だよ
手を加える部分も少ないだろうし
181デフォルトの名無しさん:2005/08/25(木) 11:32:26
>>178,180
あのな、質問者は「どうしたら閉じ忘れを防げるか?」じゃなくて
「既に閉じ忘れが多いコードから、どうやって効率的にその箇所を見つけるのか?」を
聞いてるんだぞ?
見当違い・勘違いもいいところ。
182デフォルトの名無しさん:2005/08/25(木) 11:53:14
質問です。以下の文ですが、このdo while文は抜けられませんか?

int d = (int)(random()*100);
d = (d%6);
if(conl[d]!=99) atl = d;
}while(atl != 0);

static double random()
{
return (Math.random());
}

ループの中でランダム関数を使っていても、返す数字は変わらないのでしょうか。
183デフォルトの名無しさん:2005/08/25(木) 12:55:42
どこにもdo whileなど無いが?
そもそもコンパイルすら通らないだろうに。
184デフォルトの名無しさん:2005/08/25(木) 13:04:17
あースイマセン、正しくはこうです。
変数atl=0に、conl[d]!=99の条件を満たす0以外の数字0〜5が入るまで繰り返す文なんですが、
このランダム関数の値が、ループする度に変わるのかという質問でした。

do
{
int d = (int)(random()*100);
d = (d%6);
if(conl[d]!=99) atl = d;
}while(atl != 0);

185デフォルトの名無しさん:2005/08/25(木) 16:15:57
Javaノウハウに関するWikiを探しています。
Eclipse のWiki ( http://www.eclipsewiki.net/eclipse/ )
も随分と情報が集まってきています。

このEclipseのWikiのように
Javaに関して良く集められたWikiというものを探しています。
皆さん知っているものありますでしょうか?
ご教示願います。


186デフォルトの名無しさん:2005/08/25(木) 16:26:09
>>181
言われたことだけやってりゃいいってもんじゃないぞ
187デフォルトの名無しさん:2005/08/25(木) 17:20:34
JDesktopPane の背景色って LookAndFeel や UIManager からどうやって決定してるの?

UIManager.getColor(Object) が臭いけど何を与えれば良いのか分からない。
188デフォルトの名無しさん:2005/08/25(木) 17:23:03
夏休みなんだね・・・
189デフォルトの名無しさん:2005/08/25(木) 17:39:53
(゚Д゚)ハァ?
190デフォルトの名無しさん:2005/08/25(木) 17:51:33
>>187

javax.swing.plaf.basicの
BasicDesktopPaneUI.javaとか
BasicLookAndFeel.javaとか。
191デフォルトの名無しさん:2005/08/25(木) 17:55:24
>>187
うろ覚えだけどjavax.swing.plaf.basicあたりにJDesktopPane ImplみたいなクラスがあってそこでgetColorしてた。
絶対間違ってるけどおおまかこんな感じ。
192デフォルトの名無しさん:2005/08/25(木) 17:56:25
今さらだけど。
このスレって、初心者に教えられるほどのプログラマーいないね。
自分が高慢なキモオタだと自覚してない香具師ばっか張り付いてる希ガス。
193デフォルトの名無しさん:2005/08/25(木) 18:03:00
>>190-191
あった、UIManager.getColor("Desktop.background") でした。
194デフォルトの名無しさん:2005/08/25(木) 18:05:37
>>192
ここは数年前から派遣社員が初心者に高説かますスレですがなにか?
195デフォルトの名無しさん:2005/08/25(木) 18:29:23
>>194
その高説を聞きたくて来た初心者より、
吹き出しそうな回答をしているキモオタの方が多い件について。

……や、つまらん事言ってスマン。
夏とはいえ、もう少し良スレにならんかな、と思っただけ。
196デフォルトの名無しさん:2005/08/25(木) 18:44:34
みんな派遣なの?
197デフォルトの名無しさん:2005/08/25(木) 19:28:03
jspにinterfaceをimplementsする方法ってありますか?
198デフォルトの名無しさん:2005/08/25(木) 19:37:55
結構前にDOSコマンドも知らない初心者に皆で教えて上げたときの流れは良かったなぁ
199デフォルトの名無しさん:2005/08/25(木) 19:43:19
>>197
JSPはクラスには変換されるが、それそのものがクラスな分けじゃないぞ
200デフォルトの名無しさん:2005/08/25(木) 19:50:39
それはすなわち出来ないということでいいんですかね?
できたらいいのになと思ったので、質問してみました。
ありがとうございました。
201180:2005/08/25(木) 20:04:30
>181
本人そのつもりで書いたんだけど
プーリングのマックス最小限にしてうごかしゃすぐみつかんじゃない?
って事を今更ながら語ってみました。
よし!じゃープランテーブルこしらえて、ヒント使えば
だめだ時間かかるね、176の質問俺パス
202デフォルトの名無しさん:2005/08/25(木) 20:50:53
最近、というか今年になってからか、
自分のこと棚上げにして、
質問の仕方が悪いだけなのに
質問に誰も答えてくれず
相手にされないからと言って>>192
みたいに文句言う我が儘な奴のレスが増えたなあ。
203デフォルトの名無しさん:2005/08/25(木) 20:52:00
>>196
大学院生アルバイトプログラマです。
派遣?
ああ、なら以前、某学生派遣会社D社経由で
学生派遣アルバイトしたことならあるよ。
204デフォルトの名無しさん:2005/08/25(木) 20:52:33
>>197
何がしたいの?
205デフォルトの名無しさん:2005/08/25(木) 20:54:34
>>176
つーか
Tomcat使ってるなら
データソース使ってserver.xmlで設定すれば?
206デフォルトの名無しさん:2005/08/25(木) 21:13:03
>>202
自覚ないね(^ ^;)
207デフォルトの名無しさん:2005/08/25(木) 21:31:00
>>202
何か心当たりでも?w
208デフォルトの名無しさん:2005/08/25(木) 21:32:10
図星付かれたからって誤魔化すなよ。
誰もあんたの感想なんて求めてないんだからさ。
そもそもスレ違いだからこっちでやってください。

http://society3.2ch.net/shugi/
209デフォルトの名無しさん:2005/08/25(木) 21:33:33
そりゃおまえだろ、三流派遣w
210192:2005/08/25(木) 22:02:20
俺の発言からちょっと荒んだな、スマソ。

>>184
>0以外の数字0〜5が入るまで繰り返す文

が目的なら、最後の一行

}while(atl != 0);

}while(atl == 0);
じゃない?

>…数字0〜5が入るまで…
ってのも引っかかるけど。
randomの値はワカンネ、パス
211デフォルトの名無しさん:2005/08/25(木) 22:26:46
>>197
javax.servlet.jsp.HttpJspPageと任意のインタフェースを実装したクラスを定義して、
JSPのpageディレクティブに以下のように指定するといけるかも。
<%@page extends="foo.bar.MyHttpJspPage"%>

試してないので間違っている可能性大。
HttpJspPageの実装が面倒だけど、Tomcatに含まれる実装クラスを継承すれば
楽に作れるかもね。そうするとコンテナ依存になるけど。

ただし、これがえらく面倒なことからわかるとおり、
JSPにインタフェースを実装させたら便利だと思う人などほとんどいない。
インタフェースを実装させようという発想そのものが間違っている可能性が高いので
他の方法を探した方がいいよ。
212デフォルトの名無しさん:2005/08/25(木) 22:54:03
http://www-ise2.ise.eng.osaka-u.ac.jp/~iwanaga/programming/csharp/cmp_type.html

Javaっていつの間にunsigned付きのプリミティブ型に対応したのですか?
213197:2005/08/25(木) 23:08:06
なるほど確かに、面倒そうですね。

今JSPとサーブレット学習中でして、
setAttributeに設定するキーの値をインターフェースで共有できれば、
エイリアスで楽チンにコーディングできるかと思った次第です
(importだと簡単にできるんですが、インタフェース名.エイリアスみたいに冗長かなと)

ただ実際はサーブレットを自分自身でプログラムすることもなさそうなので
どちらかというと興味本位で質問したまででした。

お返事頂いた方々改めてありがとうございました。
214デフォルトの名無しさん:2005/08/26(金) 10:11:08
>>205
DataSourceを使ったらConnection#close()を呼ばなくてもいいとでも???
何の解決策にもなってないぞ。
Connectionプーリングつかえば?なんてしたり顔で書き込んでる奴もいたが
そいつも同レベル。コード中にConnection#close()を書くか、それを呼ぶ
ライブラリなりフレームワークなりを使わないと結局コネクションが足りなくなる
問題は全く解決されない。

HibernateとSpring使ってOpenSessionInViewFilterでも使えば?
215デフォルトの名無しさん:2005/08/26(金) 10:44:54
まぁコネクションプール使えばとかたしかによくわからん返事だよな
216デフォルトの名無しさん:2005/08/26(金) 11:07:05
メソッドを作成する問題をアプリケーションで作りたい。

例えば、”int型の第1引数と第2引数を持ち足し算を戻り値とする int add(int a, int b)
というメソッドを作れ”という問題があり、解答者は答えを打ち込む。

答え合わせボタンを押すと、正解・不正解が解る。

これを実現するには答え合わせボタンを押した時に、打ち込まれた答えをコンパイルしなければいけないのだ!!
(答えのソースは無限にあるため、)

どうすればアプリケーションからソースコードをコンパイルできるのか??
Compileクラスは訳解らんし、System.setProperty(String key, String value)とか使うの??

誰か〜、助けてください!!
217デフォルトの名無しさん:2005/08/26(金) 11:54:18
>>216 http://www.hellohiro.com/command.htm
ここに外部コマンド呼び出す方法があるから。これの応用でいけるんじゃないかな?
218デフォルトの名無しさん:2005/08/26(金) 12:03:38
コンパイルがとおるのと結果が正しいのとはイコールじゃないぞ
219デフォルトの名無しさん:2005/08/26(金) 12:31:16
>>216
与えられたソースコードをスクリプト宣言として埋め込んだJSPを出力して
後の処理はTomcatとかに任せちゃうと殆ど何もしなくて済むけど、ダメ?
220デフォルトの名無しさん:2005/08/26(金) 12:42:49
>>216
勝手に問題の意図を取り違えてテンパっているように見えるのは俺だけか?
221216です:2005/08/26(金) 12:51:56
>>218 その通りです。

でも、コンパイルできないと先に進めません、、
222216です:2005/08/26(金) 12:55:54
>>220

CCNAのシミュレーション問題のJava盤が作りたいのですが、、

>勝手に問題の意図を取り違えて

えっ、、 どういう事、、
223216です:2005/08/26(金) 13:11:51
>>219

ふぁああっ!!

解ったかも、、 たぶん、、

>>217

とにかく、いろいろやってみます。
224216です:2005/08/26(金) 13:27:54
import java.io.*;

class Test {

public static void main(String args[]) {
try {
Process process = Runtime.getRuntime().exec("javac A.java");

InputStream is = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));

String line = br.readLine();

System.out.println(line);

} catch(Exception e) {
}
}
}

とりあえず、アプリケーションからコンパイルを実行することができた。

>>217
どうもありがとうございました。
225デフォルトの名無しさん:2005/08/26(金) 15:33:16
>>214
Cayenneもおすすめだぞ
ほかにjakarta トルクとか

Cayenneのほうがええけど
226ド級超初心者:2005/08/26(金) 15:58:41
20を補数で表記すると-21 になります。なんで-1がプラスされるんですか?教えてくださいお願いします。ちなみに二進法など知りません。
227デフォルトの名無しさん:2005/08/26(金) 16:08:25
>20を補数で表記すると-21になります。
ならん。
228デフォルトの名無しさん:2005/08/26(金) 16:16:08
じゃあ本当はどんなふうになるんですか?
229デフォルトの名無しさん:2005/08/26(金) 16:36:50
>>226
Javaの話じゃねーだろ
電子計算機概論くらいおぼえてから質問しなおせ
230デフォルトの名無しさん:2005/08/26(金) 16:40:10
>>226
2進数を知れ
2種情報処理ぐらいの簡単な参考書でも読めばわかる
231デフォルトの名無しさん:2005/08/26(金) 16:47:36
なんか偉そうな虫けらが、初心者をいじめているようですね。
232デフォルトの名無しさん:2005/08/26(金) 16:50:43
あの早急に答えを知りたいんですが…20は何になるんですか?
233デフォルトの名無しさん:2005/08/26(金) 17:05:08
>>232
javaに関係ないっしょ。
2進数勉強しないと同じので何度もつまずくよ。
-21の次に-22をしりたいときまたなんでしょうか?ってきくのか?
234デフォルトの名無しさん:2005/08/26(金) 17:08:52
>>225
今時、Torqueなんて勧める奴がいるのか。驚いた。
もう開発も止まっていて誰も使わなくなっているのに。
O-RマッピングフレームワークならHibernateだろう。
JBossにも含まれ、EJB3.0にも取り入れられ、
事実上の標準仕様になりつつある。
Springなどの他のフレームワークもHibernateに対応する動きが広がっている。

Torqueは遅いし、エンティティオブジェクトがPOJOにならないのが気に入らない。
235デフォルトの名無しさん:2005/08/26(金) 17:11:21
その理屈でいけばDBもJBOSSに含まれてるHSQLDB以外はカスってことか
236デフォルトの名無しさん:2005/08/26(金) 17:14:00
>>235
そういう指向にたどり着くおまえがカスってことだ
237デフォルトの名無しさん:2005/08/26(金) 17:14:52
>>236
思考だろ
238デフォルトの名無しさん:2005/08/26(金) 17:16:38
>>235
もう使う人もいなくて、仕様が糞で、遅くて、開発も止まっていればカスと言えよう。
239225:2005/08/26(金) 17:22:01
誰か教えてください(T_T)
240デフォルトの名無しさん:2005/08/26(金) 17:22:21
firebirdを侮辱するな。
241226:2005/08/26(金) 17:23:13
226だったオルツ
242デフォルトの名無しさん:2005/08/26(金) 18:20:35
http://www-ise2.ise.eng.osaka-u.ac.jp/~iwanaga/programming/csharp/cmp_type.html

Javaっていつの間に整数型に符号なしの指定ができるようになったのですか?
243デフォルトの名無しさん:2005/08/26(金) 19:13:38
SDKの旧バージョンがダウンロードできるところありませんか?
244デフォルトの名無しさん:2005/08/26(金) 19:27:23
>>243
あります
245デフォルトの名無しさん:2005/08/26(金) 19:31:00
>244
おまえ、意地が悪いな。
>243
java.sun.com でダウンロードできます。
246デフォルトの名無しさん:2005/08/26(金) 19:49:50
Javaの勉強しててデザインパターンってのが出てきたのですが、
説明文を読んでもよく分かりません
どなたか分かりやすく教えてもらえませんか?
247デフォルトの名無しさん:2005/08/26(金) 20:05:28
つーか、キモい奴大杉。死ねよ。
248デフォルトの名無しさん:2005/08/26(金) 20:17:47
>>246
デザインパターンはソフトウェアの原点です。
プログラミングよりも、これを理解した方がいいかもしれません。
実際、SEには全然コーディング(プログラムを書く行為)を
知らない人がいますが、デザインパターンを知る彼らは
そつなくソフトウェア設計ができるのです。プログラマという
下級労働者はその設計の通りにコーディングする訳です。
249デフォルトの名無しさん:2005/08/26(金) 20:54:36

248 デフォルトの名無しさん New! 2005/08/26(金) 20:17:47
>>246
デザインパターンはソフトウェアの原点です。
プログラミングよりも、これを理解した方がいいかもしれません。
実際、SEには全然コーディング(プログラムを書く行為)を
知らない人がいますが、デザインパターンを知る彼らは
そつなくソフトウェア設計ができるのです。プログラマという
下級労働者はその設計の通りにコーディングする訳です。
250デフォルトの名無しさん:2005/08/26(金) 20:54:57
>>248
でもってEJBみたいに、『使いにくい』『遅い』とプログラマは勿論、
ユーザから文句言われて、あいつは駄目なSEだと客からも上司からも言われる訳ですね。
しかも、下のプログラマからも、あいつは現実を知らないと陰口叩かれると。
251デフォルトの名無しさん:2005/08/26(金) 21:05:11
ホント、PG職とSE職は仲悪いな。
現場と事務が仲悪いのは、どの業界も同じだが。
252250:2005/08/26(金) 21:21:31
>>251
俺の会社では、社長を含めて事務職、特に経理には誰も逆らえないぞ。

だって、機嫌損ねて経費で色々と落ちなかったら自腹だしな・・・
253デフォルトの名無しさん:2005/08/26(金) 21:21:39
たまに必死にデザパタに合わせようとしてる
(しかも微妙に用途が合ってない)設計を見かける。
254デフォルトの名無しさん:2005/08/26(金) 21:36:34
皮肉なのか釣りなのか本気なのか… 判断に困る >>248
255デフォルトの名無しさん:2005/08/26(金) 21:39:24
>>254
事実を書いただけだと思う。
たぶん現場の人なんじゃね?
256デフォルトの名無しさん:2005/08/26(金) 23:31:42
(・∀・)ニヤニヤ
257243:2005/08/26(金) 23:35:53
>>244 >>245
ダウンロードできました、ありがとうございました!
258デフォルトの名無しさん:2005/08/26(金) 23:58:13
すいません30の補数ってなんですか?
259デフォルトの名無しさん:2005/08/27(土) 00:00:37
1の補数とか2の補数とかは良く聞くし、
9の補数とか10の補数もたまに聞くけど、
30の補数はめったに聞かない。
たぶん30進数なんだろうな。
260デフォルトの名無しさん:2005/08/27(土) 00:07:17
>>248
SE て… おまえが言いたいのはアーキテクトの事だろ。
以下ちらしのうr(ry

コードを書かなくなったアーキテクトが現場でやってけるのはせいぜい
5 年。それ以降は設計の知識と現場の実現方法が乖離してくる。
そうなってきたら生き残るの大変よ。論文、英語、
口頭論述、特に業務知識は
客より知ってるくらいでないとやっていけない。論文発表や海外のカンファ
レンス参加の機会なんかは会社の環境に左右されるし。
それができなかったら、うまく立ち回って利権的ポジションに立つか、
ただの評論家になって出版業界にでも行くしかないな。

そんな先生方と現場をつなぐのが俺みたいなコードを書くアーキテクト。
各チーム SE 連中に設計切り分けて全体の設計をまとめてるのがこのへん。
先生方の絵空事を実現するのは楽しいし、こっちの設計で先生方を
うならせて考え込ませるのも楽しい。ま、良い環境なんだろうねここ。
261デフォルトの名無しさん:2005/08/27(土) 00:42:40
30(DEC) = 11110(BIN)
~30(DEC) = 00001(BIN)

幅関係する? 32bit 版

30(DEC) = 0000000000011110(BIN)
~30(DEC) = 1111111111100001(BIN)
262デフォルトの名無しさん:2005/08/27(土) 00:47:27
>>261
すいません。で、30の補数ってなんですか?
263デフォルトの名無しさん:2005/08/27(土) 00:52:45
>>262
public class Hoge {
public static void main(String[] args) {
System.out.println(~Integer.parseInt(args[0]));
}
}
264デフォルトの名無しさん:2005/08/27(土) 00:53:35
>>261
それただの1の補数だろ
265デフォルトの名無しさん:2005/08/27(土) 00:56:27
数学の出来ないプログラマ云々のスレってここだったヶ?(補数
266デフォルトの名無しさん:2005/08/27(土) 01:03:33
補数って何?
267デフォルトの名無しさん:2005/08/27(土) 01:05:42
情報工学をキッチリ修めた俺様がコピペしてやろう



補数(ほすう)とは、ある基数法において、ある自然数 a に足して桁が1つ上がるような最小の数のことを言う。

正確に言うと、

a に足して全体の桁が1つ上がるような最小の自然数を「 a に対する N の補数」という。
a に足しても桁が上がらない最大の自然数を「 a に対する (N-1) の補数」という。
中でも、2進法における2の補数はコンピュータで負の数を表現するためによく使われる。
268デフォルトの名無しさん:2005/08/27(土) 01:06:56
>>267
すいません。で、30の補数ってなんですか?
269デフォルトの名無しさん:2005/08/27(土) 01:09:31
>>264
プログラミングの質問スレで補数といったら 2 進数のことではないのか?
なんか最近下らない揚げ足取りばっかだな。
270デフォルトの名無しさん:2005/08/27(土) 01:10:26
>>269
すいません。で、30の補数ってなんですか?
271デフォルトの名無しさん:2005/08/27(土) 01:19:08
>>269
いきなり開発現場に叩き込まれて覚えた最近の業務系の人は
ビット演算なんて使ったことないだろうからそういう意識ないかもね。
272デフォルトの名無しさん:2005/08/27(土) 01:22:30
>>269
普通は1の補数か2の歩数が使われるから2進数なのは当たり前

そこに30の補数というわけのわからないのがでてきてみんなびびってるのだ
273デフォルトの名無しさん:2005/08/27(土) 01:31:39
30進数だったら30の補数も考えられるんだったと思う
274デフォルトの名無しさん:2005/08/27(土) 01:33:51
Javaでは、負の数は2の補数で表現することになっているので、
数Nの2の補数は-Nになる。

したがって、30の2の補数はいくつですかという質問の答は-30になる。

でも、「30の補数ってなんですか?」という質問に「-30です。」と答えていいものだろうか?
275デフォルトの名無しさん:2005/08/27(土) 01:35:14
Javaと関係ない話が続いてるな

276デフォルトの名無しさん:2005/08/27(土) 01:51:42
>>269,>>271
おまえら、1の補数と2の補数の区別がついていないだろ。
277デフォルトの名無しさん:2005/08/27(土) 02:05:19
だから2進数って書いてんじゃん。日本語読めてるか?
278デフォルトの名無しさん:2005/08/27(土) 02:50:06
>>276
図星か。早くシフト演算子くらい使えるようになれよ。
279デフォルトの名無しさん:2005/08/27(土) 03:53:36
JAVAからWindowマシン固有のコードを実行するにはJNIを使うみたいですが、
サンプルなどはCやC++のソースをコンパイルしてDLLを自作してからLoadLibrary
をして使っています。そこでWindowsAPI(例えばMessageBoxAなど)を直接呼ぶ
ことはできないのでしょうか?どこかのサンプルではこれもまた自作関数を間に
挟んでいました。
280デフォルトの名無しさん:2005/08/27(土) 05:11:10
>>279
質問の意味がよく取れないので2通りの回答をしておくが、
Javaのコードから直接ネイティブOSのAPIが呼べないかという質問なら答えは不可能。
JNIのモジュール(DLL)からネイティブOSのAPIを動的(LoadLibraryに)呼び出すのではなく
静的に呼べるかという質問なら答えは可能。
281デフォルトの名無しさん:2005/08/27(土) 06:05:16
ファイルを読み込んで処理を行いたいのですが、
文字コードがEUC以外ならばエラーを返したいです。
EUCで使用される文字コードを1文字ずつ比較していく以外に
効率の良い方法は無いのでしょうか?
282デフォルトの名無しさん:2005/08/27(土) 07:20:41
>>281
一番手っ取り早いのは、EUC以外の文字コードでも読み込んで処理できること。
文字コードが何で書かれていても、特定の文字コードへ変換するという事はすぐに出来る。

ファイルがShift-JISだろうがUTF-8だろうがなんだろうが、EUCへ変換を行った後、
処理をするのが手っ取り早い。
283デフォルトの名無しさん:2005/08/27(土) 07:41:39
Jtest ってどうですかね?値段だけの価値はある?
284216と224です:2005/08/27(土) 07:44:24
アプリケーションから動的にjavacコマンドを実行して作られたクラスファイルは、どうやって使うの??
例えば、まずダミーのA.javaを作る
class A {
String hello() {
return null;
}
}
そして、
import java.io.*;
class Test {
public static void main(String args[]) {
try {
String str = "class A {\n\nString hello() {\nreturn \"Hello AA\";\n}\n\n}";
BufferedWriter bw = new BufferedWriter(new FileWriter("A.java"));
bw.write(str);//-------------------------------------------------------@
bw.close();
Process process = Runtime.getRuntime().exec("javac A.java");//---------A
InputStream is = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
} catch(Exception e) {
e.printStackTrace();
}
A a = new A();//------------------------------------------------------------B
System.out.println(a.hello());
}
}
を実行すると、コンソールには null が出力されてしまう。でも、この時点でA.javaは書き換えられている。
もう1度実行すると、今度は Hello A が出力される。
Aは、@で作られた A.java をコンパイルしている。 しかし、Bが参照しているのは@によって書き換えられる前の物のようだ。。
これって、読み取りの一貫性を保つため??(オラクルのような)
BがAでコンパイルされた物を参照するにはどうすればいいのでしょうか
285デフォルトの名無しさん:2005/08/27(土) 09:13:58
>>284 細かいことは調べてませんがクラスローダーを
ごにょごにょするといけそうですよ
http://tokyo.cool.ne.jp/hharuki/java/71loader.html
286デフォルトの名無しさん:2005/08/27(土) 11:23:39
>>284
>これって、読み取りの一貫性を保つため??(オラクルのような)
すごいところに共通部分を見つけたなぁ、言ってる意味はわかるけど・・・
287284です:2005/08/27(土) 13:00:46
ClassLoaderクラスとか、色々やってみましたがようやく解決しました。
出来なかった原因は、

br.readLine();

を書き忘れていただけでした。

ご迷惑をおかけしました。
288デフォルトの名無しさん:2005/08/27(土) 13:34:01
javaの質問じゃなくて恐縮ですが、30の補数
先頭ビットたてるってお約束のもとそうなるって意味?
1と2はいいよごっちゃになりそうだけどわかる
30の補数?30の2の補数??これ何進法で求めるの??むつかしーよ説明!!
30て数値を2の補数でって事?みかん何個とか使って説明してくれよ
289デフォルトの名無しさん:2005/08/27(土) 13:45:38
さすがに30の補数は釣りだろ
290デフォルトの名無しさん:2005/08/27(土) 14:03:32
Eclipse 3.1 で finally 節で return をすると
finally block does not complete normally
みたいな警告を出されます.Java って finally 節で return
しちゃだめなの?
291デフォルトの名無しさん:2005/08/27(土) 14:26:38
>290
だめ。
つうか、finally節でreturnしてよい言語ってあるのか?
292デフォルトの名無しさん:2005/08/27(土) 16:15:53
>>235
Apache Derbyがあるじゃないか
HSQLDBのほうがいいらしいし
293デフォルトの名無しさん:2005/08/27(土) 17:24:47
JAVAでフリーソフトを作って公開しようとおもっているのですが、実行環境としてJREを
インストール済みのパソコンでソフトを動かす前提でやろうと思ってます。
実際どのようにコーディング、公開すればいいのでしょうか?
294 ◆6FWUET4y.6 :2005/08/27(土) 17:41:33
別に、JAVAで作るから特に気をつけなきゃいけない事は無いと思います。
他の言語で作るときと同じかと。
しいて言えば、作ったクラスファイルをJARファイルに固めて、クリックすれば起動する様にしておけば便利。

OS非依存のフリーソフトを作りたいのなら、ディレクトリを区切る記号を\や/でハードコーディングしないとか、そういう事に気を付ける必要がある。

# ところで、JREって再配布OKだった様な気がするけど・・・
295デフォルトの名無しさん:2005/08/27(土) 17:42:30
ディレクトリの区切りって/使ってもWindowsでもなんの問題でないよな?
296 ◆6FWUET4y.6 :2005/08/27(土) 18:09:01
問題ないんでしたっけ?
いつもFile.separatorを使っているのでちょっと分からないです。
297デフォルトの名無しさん:2005/08/27(土) 18:20:30
Windows のファイルシステムは '/' が予約されているので問題ないと実装されているようです。
しかしパスセパレータが ';' のくせに ';' を含むファイルやディレクトリ作れるのはどうかと思う。
298デフォルトの名無しさん:2005/08/27(土) 18:29:50
;使えるのかよ

しらんかった
299デフォルトの名無しさん:2005/08/27(土) 18:31:00
>>293
便乗で申し訳ありませんが、興味があるので
実際にどのように配布するつもりなのか教えてください。
300デフォルトの名無しさん:2005/08/27(土) 20:01:16
>>295
確かに"C:"というディレクトリとかを作ったらややこしいことになるかもしれないな
301デフォルトの名無しさん:2005/08/27(土) 20:13:45
え?
cygwinなら/cygdrive/C/Windows/System32
とかよくやってるけど
302デフォルトの名無しさん:2005/08/27(土) 20:58:27
>>300>>295>>297の間違いだったorz
303デフォルトの名無しさん:2005/08/27(土) 21:17:36
WINNT;WINDOWS;CYGWIN
こんなディレクトリ作ったけどここいけない面白いこれ
304デフォルトの名無しさん:2005/08/28(日) 02:58:25
>>288,289
定義:
N進法で、P = p(0),p(1),p(2),...,p(n) と表記される値の
(N-1)の補数:Q = (N-1-p(0)),(N-1-p(2)),(N-1-p(0)),...,(N-1-p(n))
Nの補数 : Q+1

ex.2進法の時
00000011
1の補数:11111100
2の補数:11111101 (元の値と足し合わせるとoverflowして0になる)

ex.10進数のとき
12345
9の補数:87654
10の補数:87655 (元の値と足し合わせるとoverflowして0になる)

ex.30進法の時(一桁が0123456789abcdefghijklmnopqrst)
12345
29の補数:srqpo
30の補数:srqpp (元の値と足し合わせるとoverflowして0になる)
305デフォルトの名無しさん:2005/08/28(日) 04:19:04
>>304
31進法での30の補数を忘れてる。
306デフォルトの名無しさん:2005/08/28(日) 11:36:33
>>304は釣り?
それともただのバカ?
307デフォルトの名無しさん:2005/08/28(日) 11:36:36
Sunって、Javaによる利益はどこから回収してるのですか?
308デフォルトの名無しさん:2005/08/28(日) 11:37:33
空リス
309デフォルトの名無しさん:2005/08/28(日) 11:37:54
IBMが代わりに収益を上げている
310デフォルトの名無しさん:2005/08/28(日) 11:46:41
Maven2.0の開発が予定よりも遅れているな。
もうBeta2がでていいはずなのに
まだAlphaしかでていない。

Beta1が8月半ば、Beta2が8月末、Finalが9月にでるという予定だったのに。
そして次にはMaven2.1がでるようだ。

Eclipseも3.1がでてからCommunityが3.2への開発に取りかかっている状態だ。
すでに3.2M1がでている。
311デフォルトの名無しさん:2005/08/28(日) 11:47:11
312デフォルトの名無しさん:2005/08/28(日) 12:35:32
画面の物理的な解像度が知りたいんだが dpi で取るような方法あったっけ?
(もちろんユーザがきちんとディスプレーサイズ設定してること前提で)
313デフォルトの名無しさん:2005/08/28(日) 12:48:52
ぷに?
314デフォルトの名無しさん:2005/08/28(日) 12:50:29
SWTにはあったけどAWT/Swingは忘れた
315デフォルトの名無しさん:2005/08/28(日) 13:01:49
ToolKit::getScreenResolution()
のことか?
316デフォルトの名無しさん:2005/08/28(日) 13:07:26
ToolKitとか
Javaの画像の扱いって多種多様だね。
C/C++ほどではないにしてもよくわからないことが多い。

ImageI/O
Advanced ImageI/O
AWTの画像関係
Java Media Framework
どれを使えばいいか初めのうちは困惑する。
317デフォルトの名無しさん:2005/08/28(日) 13:25:10
IOはそのままIOだろ
318デフォルトの名無しさん:2005/08/28(日) 13:59:01
>>317
断片 乙
319デフォルトの名無しさん:2005/08/28(日) 14:47:23
あのjavaコマンドでプログラムを実行する時にクラスパスをたくさん設定できない
事情があって、プログラム内でクラスパスを追加したいのですが可能でしょうか?
(もちろん設定するパスは動的に設定した後に使うクラスのパスですのでご心配なく)
320デフォルトの名無しさん:2005/08/28(日) 15:05:29
ポリモフィズム前提のコードになって良いなら
URLClassLoaderで引っ張ってくれば?
321319:2005/08/28(日) 15:54:40
>>320
自分でクラスローダーを使ってロードするという事ですよね。確かにそういう
方法もあると思いますし、自分も最初に考えました。でも、面倒くさそうですよね〜

というわけでもっと簡単な方法を考えてみてます。ちなみにsetPropertyで"java.class.path"を
再設定してみましたが駄目なようです・・・・・・・あれれ

やっぱり急がば回れでしょうかね・・・・
322デフォルトの名無しさん:2005/08/28(日) 15:56:24
>>321
むしろ
>あのjavaコマンドでプログラムを実行する時にクラスパスをたくさん設定できない 事情があって
この部分を語ったほうが良い気がする・・・
323デフォルトの名無しさん:2005/08/28(日) 15:59:00
クラスローダは別に面倒ではないと思うが
324デフォルトの名無しさん:2005/08/28(日) 16:02:46
使うjarが最初から分かってるなら
batファイル経由で実行すればいいじゃないか。

[run.bat]
set _CP=foo.jar;bar.jar;hoge.zip
set _CP=%_CP%;add.jar;add2.jar;add3.jar
set CLASSPATH=%CLASSPATH%;%_CP%
java -jar run.jar
325319:2005/08/28(日) 16:41:32
>>322
>>324
えーと、プラグインみたいな物を動的に追加していくようなアプリケーションを
作っているので、起動時に-classpathで設定することができないんですよね( ;´・ω・`)アセアセ

>>323
ですね。結局クラスローダ使って今やっています(;´Д`)
326デフォルトの名無しさん:2005/08/28(日) 16:47:43
>>319
はぁ、そういうことね・・・
プラグインで拡張するアプリがどのようにそれを実現しているかは、ちょっとは探ったんだよね?

327デフォルトの名無しさん:2005/08/28(日) 16:53:26
pluginフォルダにクラスパス通して
classまでの参照をパッケージと等価にすれば良いだけでは?
328デフォルトの名無しさん:2005/08/28(日) 16:57:32
そのプラグインのなかのclassのパッケージ名などはどこかで指定する必要があるよな
329319:2005/08/28(日) 16:58:30
>>327
すいません説明が足りませんでしたね。
読み込みたいのがjarファイルなんですよ。というわけで、自分もそれで失敗しました(;´Д`)
330デフォルトの名無しさん:2005/08/28(日) 16:59:15
>>327 それだとプラグインの配布にjarが使えないな。
331デフォルトの名無しさん:2005/08/28(日) 17:04:12
>>319
すでにあるものを使うってのも手だよ。
http://oscar-osgi.sourceforge.net/
http://www.eclipse.org/rcp/main.html
後者はプラグインだけ使うなら大きさはoscarとそんなかわらん。
332331:2005/08/28(日) 17:07:51
前者のリンク間違えた。
http://oscar.objectweb.org/
333デフォルトの名無しさん:2005/08/28(日) 17:10:36
>>331
なんかすごそうだなそれ
前で説明している人のClassLoader云々の話のフレームワークか?
わからんけど
334デフォルトの名無しさん:2005/08/28(日) 19:15:05
Oscar、ObjectWebからApacheに移るみたいだな。
まあそっちのほうが知名度上がっていいかも。JSR277とか
盛り上がるかもしれない感じだし。
335デフォルトの名無しさん:2005/08/28(日) 20:31:22
すいません、超初心者なのですが2の1000乗をfor文で求めるにはどうすれば良いのでしょうか
どこが間違ってるのか教えてください。
class Enshu7{
public static void main(String[] args){
double[] a=new double[1000];
a[0]=2;
int e=1;
for(;e<1000;e++){
a[e]=a[e-1]*2;
}
System.out.println("2の1000乗は"+a[e]+"です");
}
}
336デフォルトの名無しさん:2005/08/28(日) 20:40:52
2^1000≒10^300
337デフォルトの名無しさん:2005/08/28(日) 21:05:45
>>242
SUN以外のVMならできるのだろうか?
誰か指摘すれば?阪大のページだし。
338デフォルトの名無しさん:2005/08/28(日) 21:07:59

間違ってるのかが知りたいのに、ごめんなさいね、
言いたくなった。ばっさり指摘すると
for(;e<1000;e++)
ここの後ろのとこ足さないで二乗してけばいいよ間違えは減ると思う
339デフォルトの名無しさん:2005/08/28(日) 21:12:28
>338
こゆー馬鹿を見習うなよ!おおめーーそれじゃ1000乗なんて夢のまた夢じゃねーかよ

おまえらうっせー黙れ言葉のあやだ!!だまれうっさいこの歯茎!
340デフォルトの名無しさん:2005/08/28(日) 21:56:59
酔っ払いが紛れ込んだようです
341デフォルトの名無しさん:2005/08/28(日) 21:57:17
>>335
// double使用の場合
double a = 2;
for (int i = 1; i < 1000; i++) a *= 2;
System.out.println("2の1000乗は" + a + "です");

// BigInteger使用の場合
BigInteger a = new BigInteger("2");
BigInteger b = new BigInteger("2");
for (int i = 1; i < 1000; i++) a = a.multiply(b);
System.out.println("2の1000乗は" + a + "です");
342デフォルトの名無しさん:2005/08/28(日) 22:05:55
1 << 1000
343デフォルトの名無しさん:2005/08/28(日) 22:13:30
>>341
ありがとうございます。
344デフォルトの名無しさん:2005/08/28(日) 22:17:45
>>342
正数で1001ビット以上の型を教えてくれ。
345デフォルトの名無しさん:2005/08/28(日) 22:34:56
>>341
そのことの真に驚嘆すべき型を発見したが、余白が狭すぎて書けない。
346デフォルトの名無しさん:2005/08/28(日) 22:43:49
2 ^ 1000 =
10715086071862673209484250490600018105614048117055
33607443750388370351051124936122493198378815695858
12759467291755314682518714528569231404359845775746
98574803934567774824230985421074605062371141877954
18215304647498358194126739876755916554394607706291
45711964776865421676604298316526243868372056680693
76
347デフォルトの名無しさん:2005/08/28(日) 22:46:44
数学板の奴が見たら荒れるだろうな・・・
2^1000なんて計算するまでも無いだろうと
348デフォルトの名無しさん:2005/08/28(日) 22:49:08
>>347
なんで?
349デフォルトの名無しさん:2005/08/28(日) 22:53:28
@ a (mod n)<n
A a<n なら a (mod n)=a.
B a (mod n)=bなら適当なxによって,a=nx+bとなる.
C a (mod n)=bなら(a-b)はnで割り切れる.
D a*b*c (mod n)=(a (mod n)*(b (mod n)*(c (mod n)) (mod n).たとえば 53 (mod 4)=125 (mod4)={5 (mod 4) *5 (mod 4) *5 (mod 4)} (mod 4) ={1*1*1} (mod 4)=1 (mod 4)=1
E(a+b)(mod n)={(a(mod n)+b(mod n)}(mod n).たとえば(5+7)(mod 3)=12(mod 3)=0={5(mod 3)+7(mod 3)}(mod 3)={2+1}(mod 3)=0
350デフォルトの名無しさん:2005/08/29(月) 00:07:22
>>348
order
351デフォルトの名無しさん:2005/08/29(月) 00:08:26
>>348
16を求めるのに2を4回掛けるよりも4を二回掛けるほうが効率が速い
がヒント
352デフォルトの名無しさん:2005/08/29(月) 11:54:40
>>347
>数学板の奴が見たら荒れるだろうな・・・
>2^1000なんて計算するまでも無いだろうと

Javaのプリミティブ型で扱える正確な値の範囲は最大で、
long型の64ビット(符号付整数)なのだぁああ〜〜!!(doubleだと精度が落ちる。)

上のやり取りは、
2の1000乗の結果は64ビットをはるかに超えるために計算できない。
その解決策として、BigIntegerクラスを使うと言うことがい言いんじゃないの??
353デフォルトの名無しさん:2005/08/29(月) 13:46:52
数学板の住民は2^65536辺りまで暗記して脳内に表でも作ってるんじゃないの?w
354デフォルトの名無しさん:2005/08/29(月) 13:55:49
 346346(サセロサセロ)
 184184(イヤヨイヤヨ)
 346346(サセロサセロ)
+ 184184(イヤヨイヤヨ)
--------------------
1061060(イレロイレロー)


1061060(イレロイレロー)
 346346(サセロサセロ)
 114114(イイヨイイヨ)
 346346(サセロサセロ)
+ 114114(イイヨイイヨ)
----------------------
1981980(イクワイクワー)
355293:2005/08/29(月) 14:41:34
>>299 ベクターとかで普通に配布しようかと思ってます。
JARファイル+JREで配布することになるかな?

…といいつつまだまったく実装してませんが^^;
356デフォルトの名無しさん:2005/08/29(月) 15:19:37
>>355
JREを内包するのはやめとけ。
普通にJavaプラグインのありかのURLを示しておけばいい。
357293:2005/08/29(月) 15:34:24
>>356 そうですか・・・ そうします。JREってそんなにでかい? それとも他の理由?
358デフォルトの名無しさん:2005/08/29(月) 16:23:06
JREを入れる必要なんてないはずだが。
JavaWebStartを上手く使ってな
359デフォルトの名無しさん:2005/08/29(月) 16:25:45
>>357
JREのアップデートが困難ってのが理由だと思う。もちろんJREが大きい(10MB程度)のもあるだろうけど。
先日のJCEの期限切れ問題のこともあるし、古いバージョンのJREが残ったままってのは
いろいろ問題があるかと。
どうせJavaプラグイン入れてもらえば勝手にアップデートできるようになるんだし、
便利なものは使うが吉。

>>358
ちょっと待て。JavaWebStartが動くためにはJREがインストールされている必要があるんだが?
もちろんexeダウンロードしてインストール、なんてことは不要だけど。
360デフォルトの名無しさん:2005/08/29(月) 16:55:53
JREを同梱することで細かいバージョンアップで動かなくなることを防ぐというのはよくあること
ものにもよるがゲームのようなクリティカルなタイミングが必要な場合はJREこみでもいいと思う
361デフォルトの名無しさん:2005/08/29(月) 17:00:54
vectorのジャンルの問題は?
JRE込みでexeキックにして
Windowsソフトとして登録した方がダウンロード多そうだが
362デフォルトの名無しさん:2005/08/29(月) 18:06:34
Windows用とか各OS用でいいだろうね
363デフォルトの名無しさん:2005/08/29(月) 19:20:26
Autoexec.batの最後の部分なのですが、いくら変更して再起動しても
コンパイル出来ません。

SET PATH=%PATH%;C:\PROGRA~1\COMMON~1\AUTODE~1;C:\Program Files\Java\jdk1.5.0\bin;
SET CLASSPATH=%CLASSPATH%;.

C:\Program Files\Java\jdk1.5.0\bin;の部分はフォルダを開いてのコピペですので
間違っていないと思います。
プログラムのあるディレクトリに移動して、dirで見るとTest1.javaという
ファイルがあります。
javac Test1.java
と入力いたしますと『コマンドまたはファイル名が違います。』
と画面に出ます。
ご教示お願いいたします。
364デフォルトの名無しさん:2005/08/29(月) 20:41:34
>363
OSは?
365デフォルトの名無しさん:2005/08/29(月) 21:02:16
>363
SET PATH=%PATH%;C:\PROGRA~1\COMMON~1\AUTODE~1;C:\PROGRA~1\JAVA\JDK1.5.0\BIN;
366デフォルトの名無しさん:2005/08/29(月) 21:33:05
WebStartってサンドボックス?
367デフォルトの名無しさん:2005/08/29(月) 21:44:31
三度ボックス。
権限の要求があれば起動時にダイアログがでる。
368デフォルトの名無しさん:2005/08/29(月) 21:47:01
>>367
雑な聞き方なのに二行も使ってくれてありがとう
369デフォルトの名無しさん:2005/08/29(月) 21:47:48
>>367
起動時?ものによるのかな
370デフォルトの名無しさん:2005/08/29(月) 21:52:08
すまん、初回起動時。
371デフォルトの名無しさん:2005/08/29(月) 21:53:53
俺がWebStartやってたときは起動時にはきかれなかったな
必要とされたときに聞かれる
372363:2005/08/29(月) 21:55:05
お返事ありがとうございます。
OSはWIN98SEです。
>SET PATH=%PATH%;C:\PROGRA~1\COMMON~1\AUTODE~1;C:\PROGRA~1\JAVA\JDK1.5.0\BIN;


こちらを上書きしてコンパイルしました所、Test.classが出来ました。
ですが、それが出来るまでフリーズするような感じに長い間なりまして、
java Test
と入力致しますと完全に固まってしまいました。
373デフォルトの名無しさん:2005/08/29(月) 21:59:11
┌─────────┐
│  ガンガンいこうぜ  │
│  みんながんばれ  │
│>みんなてきとう.   │
│  じゅもんつかうな  │
│  いのちだいじに   │
│  おれにまかせろ  │
│  めいれいさせろ.  │
└─────────┘
374デフォルトの名無しさん:2005/08/29(月) 23:06:40 BE:239265893-
勉強し始めてまだ間もないのですが、最初でコケてしまいました…;;
"Java Test"と表示するプログラムで、多分コンパイルは出来ていると思うのですが、実行出来ません。
実行時に↓の文章が出ます。

could not open `C:\Program Files\Java\jre1.5.0_04\lib\i386\jvm.cfg'

原因と解決方法教えて下さい!!お願いしますm(__)m
375デフォルトの名無しさん:2005/08/29(月) 23:07:11
>>372
9x系だと環境変数のエリアが足りなくてSET命令でエラーが出てないかな。
config.sysに
shell=command.com /e:4096 って感じだった。資料も環境も無いのでうろ覚えです。
376デフォルトの名無しさん:2005/08/29(月) 23:11:29
>363よ。あなたは普通の人より多く苦労しています。

あなたの落したOSはこのXPか?
363「いいえ違います。」
それではこの2000のOSか?
363「いいえ違います。98SEです」
よろしい正直者には98Meを与えよう

っとかで喜んじゃだめですよ!志をもっとたかく!
MacOSX出るまで引っ張って、即答で「それ俺んです!」
ぐらいでいいんだぜ!わかるね??
377363:2005/08/29(月) 23:17:21
ありがとうございます。
9x系は難しいのでしょうか。パソコンは買って5年経ちました。
config.sysを開いてみましたが
shell=の所がありませんでした。
378363:2005/08/29(月) 23:49:13
>363よ。あなたは普通の人より多く苦労しています。

マジですか・・・。

今日はみなさんありがとうございました。
明日は未経験者歓迎のプログラマーの就職試験です。
Hello world.さえできていません。
行って参ります。
379デフォルトの名無しさん:2005/08/30(火) 00:07:03
JAVAって難しいですね。
380 ◆GelUgugUhI :2005/08/30(火) 00:07:38
IE for macでAppletContext#showDocumentが空振りします
そいでLiveConnectも効かないもんだからアプレットから次の画面へ遷移する
方法を見失ってしまいました・・八方塞です(;´Д`)

同じ壁にぶつかった方、いませんか?
「こんな風にしたら動くんでない?」的な意見お待ちしております
381デフォルトの名無しさん:2005/08/30(火) 00:30:35
JColorChooser でプレビュー部分を入れ替えてみようと思いサンプルをこしらえたんだが
プレビュー部分に何も表示されない。どこかおかしいですか?

JColorChooser chooser = new JColorChooser();
chooser.setPreviewPanel(new JLabel("hello, world"));  // ←●ここ
JDialog dialog = JColorChooser.createDialog(FontColorSelection.this, "色の選択", true, chooser, null, null);
dialog.setVisible(true);
382デフォルトの名無しさん:2005/08/30(火) 04:23:21
javac
com.sun.tools.javac.Main
sum.com.sun.tools.javac.Main

上の3つの違いについて教えて下さい
ぐぐってもわからんぽ(´・ω・`)
383382:2005/08/30(火) 04:24:32
javac
com.sun.tools.javac.Main
sun.tools.javac.Main

ですた(´Д`)
384デフォルトの名無しさん:2005/08/30(火) 05:01:38
>>359
> ちょっと待て。JavaWebStartが動くためにはJREがインストールされている必要があるんだが?

いや、その必要はない。
以前からこの話題はなんどもこのスレでなされてきた。
ブラウザがありさえすればJREが入ってなくともJRE自体も自動でダウンロードインストールされる。
385デフォルトの名無しさん:2005/08/30(火) 06:26:29
>382
たぶんjavacの中で実際処理してるのが3番か?いや2だな
パッケージ名にこだわってるふうだから2だ!根拠はないがどっちかが
定義してもいっこが実装とか

>381
show()とかapply()とかupdate()とかsetSize()とかsetEnable()とか
それっぽいのいじればいい!どうよ

>380
IE for MacってどのJDK動くの?
MRJとかなの?


よし全問知識も根拠もないが回答してみました。
御三方、採点のほう宜しく御願いします
386デフォルトの名無しさん:2005/08/30(火) 07:34:04
Javaプログラムを起動するためのCプログラムってどう作れば良いですか?
原則としてコマンドプロンプトが開かない方法をお願いします
387ゲルググ ◆GelUgugUhI :2005/08/30(火) 08:09:04
MRJですぉ

もうmacの対応いやんぬ('A`)
ちなみにネスケはshowDocument動くんですわ‥LiveConnectは使えんけども。
388デフォルトの名無しさん:2005/08/30(火) 09:41:55
WEBサイトでSUN用のJavaアプレットを使用しているのですが、
ユーザのほとんどがMicrosoftVMを使っていて、
しかもSunVMへの移行作業を促しても面倒がってやってくれてないようなんです。
MSVMが廃止されつつあると説明しても、ほとんどのアプレットはMSVMで動くので移行作業が敬遠されているようです。
アプレットをMSVMで動作する様にコンパイルする方法は分からないし
(target 1.1じゃエラーメッセージ出ないから仕様が合わせられない)
何か良い知恵はありませんか?
389デフォルトの名無しさん:2005/08/30(火) 09:57:43
>>388
促すんじゃなくて、Java Plug-inを使って半ば強制的にSunのJREを入れさせたら?
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/plugin/index.html
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/plugin/developer_guide/using_tags.html
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/plugin/developer_guide/html_converter_more.html

APPLETタグを使わずOBJECTタグを使うとJava Plug-inとSunのJREが自動的にインストールされる。
Flash プレーヤーみたいな感じ。

「ダイアログに従って『はい』を押してればいいよ」と言えば面倒でもない…か?
それでも面倒くさがる人もいるのかもね。
390デフォルトの名無しさん:2005/08/30(火) 10:12:49
>>389
レスありがとう。

http://www.htmq.com/html/object.shtml
これによるとOBJECTタグは対応ブラウザが少ないみたいだから、出来ればAPPLETタグを使いたい。
APPLETタグだと自動的なインストールは行われない?
391デフォルトの名無しさん:2005/08/30(火) 10:31:18
>>390
>>389の3つめのページを読むとわかるんだけど、HTMLConverter使用時に
extend.tplというテンプレートを使うと
「IEならOBEJCTタグ、NetscapeかMozillaならEMBEDタグ」と使い分けるJavaScriptを
加えてくれる。
これならある程度対応できるんでない?
392デフォルトの名無しさん:2005/08/30(火) 11:39:31
ファイルのコピー・移動を行うメソッドってあるのでしょうか?
(こんなのhttp://www.atmarkit.co.jp/fdotnet/dotnettips/046filecopy/filecopy.html

javaのFileクラスではリネームとか削除のメソッドはあるのですが、コピーとか移動のメソッドが有りません。
他にもそれらしいのが見つからないのですが、FileInputStreamで読んでからFileOutputStreamで書き込むなんてことをしなくてはいけないのでしょうか?
アドバイスお願いします。
393388:2005/08/30(火) 11:46:35
>>391
やってみましたが、生成されるHTMLが間違ってませんか?
</object>は全てのブラウザの場合で出力される様に書かれていて、
でも<object>はieの場合しか出力しない様になっているような・・・。
これだとie以外のブラウザだと</object>に対する開始タグが見つからない。
<embed>についても同様の問題が発生しそうな。
394デフォルトの名無しさん:2005/08/30(火) 13:05:14
>>393
お、ほんとだ間違ってる。
一応、テンプレートは自作したものを使えるようになっているので、自作してみます?

>>392
File#renameTo()はファイルの移動も兼ねてるよ。
コピーは標準のAPIにはない。自作が面倒くさかったらこれを使うと楽。
ttp://jakarta.apache.org/commons/io/apidocs/org/apache/commons/io/FileUtils.html#copyFile(java.io.File, java.io.File)
395デフォルトの名無しさん:2005/08/30(火) 13:24:23
FC3でtomcat5.5.9をインスコしてサーブレットが動くサーバーを構築しようとしているところなんですが
なぜか以下のような事が起こり、サーブレットにアクセス出来ません。(JSPは問題ないです。)
どうすればアクセス出来るようになりますかね?

$TOMCAT_HOME/webapps/ユーザー名/jsp/に置いたJSPはブラウザ上から
http://サーバ名:8080/ユーザー名/jsp/ファイル名.jspにアクセスする事で
正常に動きますが
$TOMCAT_HOME/webapps/ユーザー名/WEB-INF/classes/に置いたサーブレットも本来であれば
http://サーバ名:8080/ユーザー名/servlet/ファイル名
でアクセス出来るはずなんですがなぜか404になってしまいます。
この場合どこの設定を変えればアクセス出来るようになるか教えて下さい。
396デフォルトの名無しさん:2005/08/30(火) 13:31:48
>>395
WEB-INF/classes 以下に置いたサーブレットが http://<ホスト名>/<WebAPP>/servlet/<クラス名> で
デフォルトで起動できたのははるか昔の話。WEB-INF/web.xml を編集して目的のサーブレットを起動
できるようにするか、TOMCAT_HOME/conf/server.xml (って 5.5 でもあるんか知らんが) で
/servlet/* とマッピングしてある奴のコメントをはずせ。
397395:2005/08/30(火) 13:34:17
>>396
ありがd!!
さっそく試してみます〜の。
駄目だったらまた報告しまつ。
398392:2005/08/30(火) 13:59:51
>>394
「java renameto 移動」でググってやっと自分の知りたいことが出てきました。
(「java ファイル コピー 移動 メソッド copy move」なんてのでは出てこなかった)

標準APIにコピーが無いということは実際の現場ではたいして必要とされてないってことなんですかね?
私は開発経験値が全然ないのでよくわかりませんが。

なんにしても自作ではヘンなのを作っちゃいそうなので、紹介してもらったクラスを使わせてもらいます。

回答ありがとうございました。
399デフォルトの名無しさん:2005/08/30(火) 15:09:04
WebサーバーA
バッチサーバーB
があるとします。(両方ともwindows2000)

AのJavaのWEBアプリから、Windowsのネットワーク共有を通して
Bのbatファイルを実行したい。
但し、batのプロセスはBのプロセスで実行しなければならない。
(CPUやメモリはBを使うという意味)

これって実現できますか?

Runtime.exec() ではAのプロセスが使用されてしまいます…
比較的容易な方法での実現方法が知りたいです。
400デフォルトの名無しさん:2005/08/30(火) 15:47:20
>>399
Javaじゃないけど
サービス登録してnet startしたらどうかな?
401395:2005/08/30(火) 16:18:22
$TOMCAT_HOME/conf/web.xmlにある
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
これ↑を囲んでた <!-- と --> を外してみたらlocalhost:8080へアクセスしても404が出てしまう。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
$TOMCAT_HOME/webapps/ユーザー名/WEB-INF/にあるweb.xmlを以下の内容で作成した上で
サーブレットにアクセスしてみたがそれでも404が出る。

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

</web-app>
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
$TOMCAT_HOME/conf/server.xmlにある<host></host>タグの間に以下のタグを入れてみたが
それでも404が出る。
<Context path="/<クラス名>" docBase="<クラス名>" debug="0" reloadable="true" >
</Context>
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
参考サイト
http://www.hellohiro.com/servlet.htm

どうすればサーブレットが起動できるか教えて下さい。。・゚・(ノД`)・゚・。 トホホ
402デフォルトの名無しさん:2005/08/30(火) 16:27:17
コンテキストパスでの指定が間違っていると思うが。
君の書いた起動URIだと、ユーザー名がアプリケーション名になっていると思うのだが。
403デフォルトの名無しさん:2005/08/30(火) 16:41:42
>>401
↓ここも有効化しないとダメ。
<!--
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
-->

そもそも、invokerを使うのは推奨されない。だからコメントアウトされているんだよ。
アプリケーションのweb.xmlでちゃんとServletをマッピングしろよ。
404デフォルトの名無しさん:2005/08/30(火) 16:42:40
>>402
そこはいいんじゃない?
Tomcat/webappsにユーザ名と同じ名前でディレクトリが作ってあるみたいだから。
405395:2005/08/30(火) 17:16:32
>>403 = 神
  /\        /\
  /  \      /  \
 /    ゙'----''"´    ヾ
/               `:、
/                `:
|                  i
|      ノ '           |
|      .,___.,     .,___.,   i  >>403様、及び皆様のおかげで無事サーブレットを
、    ''"´`:、        υ /   動かすことが出来ました
 `丶,:' 、.  . )___Д____,,.,_,,.;''"  ほんと感謝の気持ちで一杯です
  /    /  
406デフォルトの名無しさん:2005/08/30(火) 18:17:57
Jakarta Velocityで
#foreach()を使っているんだけど
これ、Javaのforのように使えない?

$velocityCountの値を使って
#for($i = 0; $i < $velocityCount; $i = $i + 1)
何かを表示
#end

ということをやってみたいんだけど
#foreach($a in $velocityCount)
何かを表示
#end

と書くわけにもいかないし。どうするのがいいかな。困った
407デフォルトの名無しさん:2005/08/30(火) 18:23:15
>>405
今考えてみたら、admintool使えばよかったんでねーの?
408363:2005/08/30(火) 18:24:46
403様、昨日からこちらで質問させていただいているのですが、
自分で検索してJAVAの導入を見ても問題が解決しませんので、
お願い致します。

Autoexec.batの最後の部分なのですが、いくら変更して再起動しても
コンパイル出来ません。

SET PATH=%PATH%;C:\PROGRA~1\COMMON~1\AUTODE~1;C:\Program Files\Java\jdk1.5.0\bin;
SET CLASSPATH=%CLASSPATH%;.

C:\Program Files\Java\jdk1.5.0\bin;の部分はフォルダを開いてのコピペですので
間違っていないと思います。
プログラムのあるディレクトリに移動して、dirで見るとTest1.javaという
ファイルがあります。
javac Test1.java
と入力いたしますと『コマンドまたはファイル名が違います。』
と画面に出ます。

相談したら下のようにアドバイスを頂きましたので
>SET PATH=%PATH%;C:\PROGRA~1\COMMON~1\AUTODE~1;C:\PROGRA~1\JAVA\JDK1.5.0\BIN;

こちらを上書きしてコンパイルしました所、Test1.classが出来ました。
ですが、それが出来るまでフリーズするような感じに長い間なりまして、
java Test1
と入力致しますと完全に固まってしまいました。
OSはWin98SEです。
ご教示お願いいたします。
409デフォルトの名無しさん:2005/08/30(火) 18:28:02
echo %CLASSPATH%
410デフォルトの名無しさん:2005/08/30(火) 18:32:29
SET PATH=%PATH%;C:\PROGRA~1\COMMON~1\AUTODE~1;C:\PROGRA~1\JAVA\JDK1.5.0\BIN;
を、
SET PATH=C:\PROGRA~1\JAVA\JDK1.5.0\BIN;C:\PROGRA~1\COMMON~1\AUTODE~1;%PATH%;

とすれば、C:\Program Files\Java\jdk1.5.0\binを検索する順番が前になって、
java.exeやjavac.exeを良く使うんなら、便利。
411デフォルトの名無しさん:2005/08/30(火) 18:35:34
>>409
>こちらを上書きしてコンパイルしました所、Test1.classが出来ました。
>ですが、それが出来るまでフリーズするような感じに長い間なりまして、
普通ならんけどなぁ。
コンパイルできたのなら、Test1.javaのほうが怪しいと思うが。
いきなり複雑なのをコンパイルするのでなくて、
HelloJavaか何かを書いてみてコンパイルしてみてよ。
412363:2005/08/30(火) 18:53:08
お返事ありがとうございます。
Cのコンパイルをしたときはものすごく
速かったのに、なんでこんなにおそいのかなーと思います。
Test1.javaがhelloって表示する単純なプログラムなのですが
public class Test1{
public static void main(String[] args) {
System.out.printin("Hello.");
}
}

コンパイルすると三行目がシンボルがみつけられませんになりました。
それでもエンターキーを押さないとフリーズしたみたいな感じになって
連打すると時間がたってなんとかもとに戻ります。
413デフォルトの名無しさん:2005/08/30(火) 18:57:13
>>406
#foreach ( $item in [1..3] )
414デフォルトの名無しさん:2005/08/30(火) 19:02:00
printinて何?
415363:2005/08/30(火) 19:14:08
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("HelloWorld");
}
}
こちらのプログラムで実行できるようにしたいと思います。
java HelloWorld
で実行した場合
Exception in thread "main"java.lang.NoClassDefFoundError:HelloWorld
とエラーがでます。
416デフォルトの名無しさん:2005/08/30(火) 19:16:25
>>415
いっかい echo %CLASSPATH%  の結果を張りつけてくれ
417363:2005/08/30(火) 19:16:42
間違えました。
javac HelloWorld.java
でした。やってみます。
418デフォルトの名無しさん:2005/08/30(火) 19:18:20
>>412
>>414の指摘の通り
printinをprintlnに変えればいいよ。
419363:2005/08/30(火) 19:28:10
みなさんありがとうございます。
Autoexec.batの最後の部分は今このようになっています。

SET PATH=C:\PROGRA~1\COMMON~1\AUTODE~1;C:\PROGRA~1\JAVA\JDK1.5.0\BIN;%PATH%;
SET CLASSPATH=echo %CLASSPATH%.

javac HelloWorld.javaと入力しますと
ハードディスクにアクセスしているランプが光っていますので作業を
しているようです。コンパイルに約12秒かかりました。

java HelloWorld と入力して実行しますと
Exception in thread "main"java.langNoClassDefFoundError:HelloWorld
となります。
もう一度再起動してやってみます。
420デフォルトの名無しさん:2005/08/30(火) 19:36:00
>SET CLASSPATH=echo %CLASSPATH%.

ワロス
ちげーよ!
421363:2005/08/30(火) 19:41:02
>SET CLASSPATH=echo %CLASSPATH%

ではなく
SET PATH=C:\PROGRA~1\COMMON~1\AUTODE~1;C:\PROGRA~1\JAVA\JDK1.5.0\BIN;%PATH%;
echo %CLASSPATH%.

でしょうか?
422デフォルトの名無しさん:2005/08/30(火) 19:43:15
>>419
>SET CLASSPATH=echo %CLASSPATH%.
ちがうちがう。
>>415はそういうことしろって言ってないぞ。

そこはそのまま
SET CLASSPATH=%CLASSPATH%;.
でいい。

問題はClassPathのようだ。
そのClassファイルがある絶対パスがc:\hogeとすると、
コマンドプロンプトでは
java -cp c:\hoge HelloWorld
となるはず。
c:\hoge
の部分は自分の環境に合わせて書き直しなさい。

で、発展的なことをいうと、先に出てきた
SET CLASSPATH=%CLASSPATH%;.
っていうのはjavaのコマンドライン引数の
-cpを毎回指定しなくて良いように設定しているもの。
コマンドプロンプトでjavaコマンドを動かす前に一番最初に
SET CLASSPATH=%CLASSPATH%;.
をやっておけば、常にカレントフォルダにCLASSPATHが通っている状態になる。

423デフォルトの名無しさん:2005/08/30(火) 19:45:07
MS-DOS プロンプトで 「echo %CLASSPATH%」 って打ち込んだ結果を
貼り付けてくれって意味。
ついでに CPU とメモリと機種も。
424363:2005/08/30(火) 19:50:53
いろいろすみません。
echo .
です。

SET PATH=C:\PROGRA~1\COMMON~1\AUTODE~1;C:\PROGRA~1\JAVA\JDK1.5.0\BIN;%PATH%;
SET CLASSPATH=%CLASSPATH%.

に変更しましたのでまた再起動します。

CPUはceleron600MHz、メモリ128MB、機種はソーテックです。
425デフォルトの名無しさん:2005/08/30(火) 19:59:08
JPanel上に表示する文字を中央揃えをするにはどうすればいいでしょうか?
426デフォルトの名無しさん:2005/08/30(火) 20:02:52
>>425
JLabel label = new JLabel("氏ね", SwingConstants.CENTER);
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
p.add(label, BorderLayout.CENTER);
427デフォルトの名無しさん:2005/08/30(火) 20:08:09
>>424
>SET CLASSPATH=%CLASSPATH%.
ちがうー、正しくは、
SET CLASSPATH=%CLASSPATH%;.
最後が微妙にちがっとる
428デフォルトの名無しさん:2005/08/30(火) 20:09:57
>>424
つーかさ、SET CLASSPATHとか必須条件じゃないのにな。
とりあえず>>422をやってみて動いたのか?
429363:2005/08/30(火) 20:10:13
コンパイルに30秒と実行に15秒ほどかかりましたが、とうとう実行出来ました。
見ず知らずの私に親切にして下さってありがとうございました\(>д<)/
長年フリーター生活をやってきましたが、がんばります。
430デフォルトの名無しさん:2005/08/30(火) 20:19:19
まぁ暇だったしな。厨房煽り専門の派遣が来なくて良かったな。
431425:2005/08/30(火) 20:56:13
言葉足らずでした。

>>426
レスありがとうございます。

String hoge = " ほげほげほげほげ";
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawString(hgoe,x,y);
}
今はこれで表示しているんですがx,yは変化するのでlabelじゃ |ι´Д`|っ < だめぽ です。
上のx,yをhogeの中央にしたいのです。hogeも変動します。
432デフォルトの名無しさん:2005/08/30(火) 21:11:13
>>431
Graphics#getFontMetricsか何かして、FontMetricsの文字列の幅求めるメソッドで幅取得して座標算出すりゃいいんでないかな
クラスのスペルは自信無し。携帯からなのでゴメンぬ


AppletContext#showDocumentの件、解決できず仕舞いだ('A`)
433デフォルトの名無しさん:2005/08/30(火) 21:12:44
( Componentのサイズ-FontMetrics#StringWidth(str) ) / 2
これでわかるだろうから、あとは調べろ。
434406:2005/08/30(火) 21:51:05
>>413
やっぱりそれなんだね。
思い出してどうにか動かすことができた。
#foreach($foo in [1..$velocityCount])
 なにか
#end


とやることで。
Thanks
435デフォルトの名無しさん:2005/08/30(火) 21:51:48
436デフォルトの名無しさん:2005/08/30(火) 23:18:37
Luceneにかんするようなスレッドってありますか?
437デフォルトの名無しさん:2005/08/30(火) 23:47:50
>>393
タグがちゃんと入れ子になってないHTMLで正しいの。
ブラウザによって認識するタグ、認識しないタグがあるだろ?
認識しないタグだと無視されるという仕様をうまく使って
IEとNNに対応してる。まあかなりトリッキーだが。

>>406
$velocityCountはループカウンタだぞ。いわゆるforループのiにあたる。
>>434は使い方が思いっきり間違ってる。
438399:2005/08/31(水) 00:33:47
>>400
Javaから呼び出すことが前提です。

だれか>>399のいい方法ないですか?
439デフォルトの名無しさん:2005/08/31(水) 00:53:58
質問させていただきます。

メソッドへ配列を渡す際の記述方法に関する質問なのですが、
例えば
String[] string = { "abc", "def", "ghi" };
method(string);

のようにメソッドに配列を渡すことができますが、
method({ "abc", "def", "ghi" });

のように直接配列をメソッドに渡す記述方法ってあるのでしょうか?
もしあれば教えていただければと思います。
440デフォルトの名無しさん:2005/08/31(水) 00:55:02
>>438
Javaに限らず何の仕組みもなければ相手のプロセスでは動かせんよ
RMIとかやりたいってこと?
Tomcatでもいれてキックさせてやるほうが楽そうだが
441デフォルトの名無しさん:2005/08/31(水) 00:55:47
>>439
new string[]といれてみそ
442デフォルトの名無しさん:2005/08/31(水) 00:58:52
>>441さん
できました!迅速な御回答ありがとうございました。
443デフォルトの名無しさん:2005/08/31(水) 01:32:29
サーバーBでjavaプログラム動かしてそれにソケットとかでバッチ実行しろって依頼すればええやんけ
444デフォルトの名無しさん:2005/08/31(水) 08:51:00
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class sample80 extends Applet{
Button btnCulc;
TextField txtA,txtB,txtAnswer;
Label lblPlus;
public void init(){
btnCulc=new Button("=");
btnCulc.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){

int intAnSwer = Integer.parseInt(txtA.getText())
+ Integer.parseInt(txtB.getText());
txtAnswer.setText(Integer.toString(intAnswer));
}
});
txtA = new TextField("0",3);
txtB = new TextField("0",3);
lblPlus = new Label("+");
txtAnswer = new TextField("0",5);

add(txtA);
add(lblPlus);
add(txtB);
add(btnCulc);
add(txtAnswer);
}
}

445デフォルトの名無しさん:2005/08/31(水) 08:51:35
>>444
なんですけど何処がエラーか教えて下さいませ
446デフォルトの名無しさん:2005/08/31(水) 08:53:54
Java コンソール見れ。
447デフォルトの名無しさん:2005/08/31(水) 08:55:40
Javaコンソールって何ですか??
448デフォルトの名無しさん:2005/08/31(水) 10:34:11
>>438
javaから呼べばいいじゃん
net startを。
449デフォルトの名無しさん:2005/08/31(水) 12:45:44
>444
int intAnSwer じゃなくて、int intAnswer じゃないの??
450デフォルトの名無しさん:2005/08/31(水) 13:44:29
テンプレにもある初歩的な質問で申し訳ないのですが

「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
このPATHについてです。
システム→詳細→環境変数→システムの環境変数にあるPathの変数値を編集して
C:\Program Files\Java\jdk1.5.0_04\bin これを書き加えました。
次に
システムの環境変数内にCLASSPATHを新規で作り変数値にはC:\Javaを作りました。
それでもjavacが認識されません。 フォルダ名も確認したのですが合ってました。
どこが悪いのか教えてください。 OSはWindows2000です。
451デフォルトの名無しさん:2005/08/31(水) 14:00:12
>>450
コマンドプロンプトで
echo %PATH%
ってやってみて、自分が設定した環境変数が含まれていないなら
設定が間違っていることになる。
452デフォルトの名無しさん:2005/08/31(水) 14:05:36
>>451
ありがとうございます。
見直したところ変数値への追加が問題でした。
;C:\Program Files\Java\jdk1.5.0_04\bin 
↑このセミコロンがなかったです。盆ミスでしたすいません。
453デフォルトの名無しさん:2005/08/31(水) 14:07:07
>>450
環境変数を書き換えたらコマンドプロンプトは再起動してる?
454デフォルトの名無しさん:2005/08/31(水) 14:12:25
>>450,452
おれの個人的な意見だけど、
みんなもやってると思うんだけど。
システムの環境変数書き直すのはどうかなと思うんだよね。


複数のJDK入れてる俺の環境とかだとどれが呼ばれているかとか
けっこう気にしなきゃならないからなんだけど。

君の場合の解決方法を提案させてもらうと、
コンパイル時に必要なときだけPATHとCLASSPATHを設定するような
バッチファイルを作るとか。
作業フォルダが決まっているなら、そこにそのバッチファイルを置いておいて
最初に一度実行すればいい。
バッチファイルの内容も
SET PATH=C:\Program Files\Java\jdk1.5.0_04\bin;%PATH%
とかでいいしね。

455デフォルトの名無しさん:2005/08/31(水) 14:30:18
ttp://www.hellohiro.com/socket.htm
にを参考にしてソースを実行すると
Eclipsのデバッグ中で

while ((inputLine = in.readLine()) != null) {
out.println(inputLine);
}

こんなwhile文の中でかたまってしまうYo・・・
ご指南よろしくでつ・・・

456デフォルトの名無しさん:2005/08/31(水) 14:35:18
>>437
じゃ、こうすれば
#foreach((ry)
#set($temp = $velocityCount)
#end

#foreach($foo in [1..$temp])
なにか
#end
457デフォルトの名無しさん:2005/08/31(水) 14:55:28
>>455
サーバとクライアントどちらもちゃんと無いと動かんのだけど
そこら辺はわかった上での質問?
458455:2005/08/31(水) 15:11:39
>>457
自マシン自身にソケット通信で接続しようとしてるんだけど
2台用意してVM起動しないと駄目かな?
459デフォルトの名無しさん:2005/08/31(水) 15:13:47
tomcat5で:8080をつけずにアクセスするにはどうすればいいですか?
一応 http://goby.nobody.jp/linux/tomcat.html を見ながら
$TOMCAT_HOME/conf/server.xmlの中の

<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />

を <!-- と --> で囲みましたが無理でした。(これを実行するとアクセスすら出来なくなりました。)

もう一つは起動する度にsource /etc/profileを実行しないと環境変数が反映されないんですが
これを回避するにはどうすればいいですか?
460デフォルトの名無しさん:2005/08/31(水) 15:18:57
>>459
そこのport="8080"を"80"に書き直せ。
461デフォルトの名無しさん:2005/08/31(水) 15:21:36
>>455,458
一台で問題なく動く。
クライアント側のout.printlnのあとにout.flush
してみたらどうなる?
462デフォルトの名無しさん:2005/08/31(水) 15:35:52
>>460
それやるとどうなるかなぁと思い
意味ありませんでした。
463462:2005/08/31(水) 15:37:00
>>460
それやるとどうなるかなぁと思い
以前、やってみましたが
意味ありませんでした。

真ん中抜けてたスマソ
464デフォルトの名無しさん:2005/08/31(水) 15:40:25
>>459を見て思い出したのですが
皆さんに質問です。

外部に公開するFecora Core4サーバで
TomcatとJBoss両方を動かすとき、
そのままではポート番号80が被ってしまいますが、
これを回避して同じポート番号でTomcatとJBossを使うことはできるのでしょうか?

それとも、別のポート番号を使うように、ルータで特定のポートを開放してでも別の
ポートを使うべきでしょうか? もしこの選択しを迫られたとき、どのポート番号の範囲なら被らずに、セキュリティ
ホールにならずに問題なく使えるのでしょうか?

自宅の環境はCATVで動的グローバルIPが一つつかえます。
ドメインを一つもっています。 http://www.ドメイン名.info/ というものを使えます。
wwwのところを別のものに変えても動くようです。
このサブドメインを変えるように設定すれば同じポート番号でお動くものなのでしょうか?
バーチャルホストの設定もできるようですが、
実運用ではTomcatのほかにも、連携しているApacheやLinuxの
どこを弄らなければならないのか把握しきれずちょっと混乱しています。

JBossにはTomcatが内蔵されているので
ふたつ容易するのは多少無駄はあるとは言えますが
独立して使いたい場合もありそうなので
あえて両方使ってみたいと考えています。


よろしくご教示ねがいます。

あと、
もしこういうことをよく理解できる書籍やサイトがありましたら、紹介してもらえませんでしょうか?
465デフォルトの名無しさん:2005/08/31(水) 15:43:32
>>463
俺の使ってるTomcatとは別のものなんだろうな。

もう一度ちゃんと設定を見直せ。再起動してませんでしたとかないか?
まぁ別世界のTomcatのようだから別の方法があるのかもシレンが。
466デフォルトの名無しさん:2005/08/31(水) 15:45:45
>>463
ウィルスバスターやNorton Internet Secirityなどのアンチウィルスソフトが邪魔してるとか
467デフォルトの名無しさん:2005/08/31(水) 15:46:40
じつは囲ったコメントを外していないとか
468デフォルトの名無しさん:2005/08/31(水) 16:28:21
data 1| 1 3 4 2 …
data 2| 5 2 10 7 …

のようなフォーマットでデータが羅列してあるテキストファイルがあるのですが、
ここから一行ずつ読んで正規表現でパターンマッチングして、data 1の部分をintの変数に、
その後の数字の羅列を一つずつListに入れたいです(この部分の長さは行によって可変)
Pattern.compile()の中身とMatcherからデータを取り出す部分はどういう風に実装すればいいでしょうか?
Pattern.compile("data\\s+(.+?)|\\s+(.+?)");
とか書いてもマッチしませんでした
よろしくお願いします
469デフォルトの名無しさん:2005/08/31(水) 16:40:21
いわゆるscanfもどき使えば
470デフォルトの名無しさん:2005/08/31(水) 16:55:27
フォーマットが、
列名の分割文字が「|」で各数値の区切り文字がスペースで固定なら
String#split()使った方が楽じゃないか?
まず、「|」でsplitして、その結果の値の方を今度はスペース文字でsplit
得られた配列の長さでListに入れるだけ。
正規表現使うより楽だと思うが。
471450:2005/08/31(水) 16:58:54
>>461
状況全く変わらず・・・・

おとなしくまずはTELNETできちんと接続できるかを
確認しておいたほうがいいのかな・・・
472デフォルトの名無しさん:2005/08/31(水) 17:01:52
>>471
ファイアーウォールの設定とかちゃんと見てみた?
473455:2005/08/31(水) 17:02:03
↑上のは俺でした
番号間違えてすまない・・・

回線切って(ry
474455:2005/08/31(水) 17:05:52
>>472
スマン、職場のマシンはXPなんで
あんまし使ったことない。

んなんでファイヤウォールの設定ワカラナサス
俺クオリティヒクソングレイシーorz
475455:2005/08/31(水) 17:11:44
>>472
ファイヤウォールとウィルスチェックを
1時的にはずしたけど、ぜんぜん変わらんOTZ
476デフォルトの名無しさん:2005/08/31(水) 17:16:54
>>475
まずはそのホームページのJavaソースをそのままコンパイルして
動かしてみてよ。

動かないなら、環境がおかしいって事だけは特定できるから。
477455:2005/08/31(水) 18:09:38
なんだかPrintWriterストリームに余計なもの(?)が入ってたから
無限ループから抜け出れなか感じですた

回線切って吊って(ry
478デフォルトの名無しさん:2005/08/31(水) 18:19:29
チャットでjava起動させないようにするにはどうしたらいいですか?
479デフォルトの名無しさん:2005/08/31(水) 18:23:01
age
480デフォルトの名無しさん:2005/08/31(水) 18:23:14
チャットプログラムがJavaで出来ているなら
無理。
どうかわからないなら、調べてもう一度質問。
481デフォルトの名無しさん:2005/08/31(水) 18:26:15
大福チャットでスクロールが自動で行われないからテラメンドクサス
解決策何?
482デフォルトの名無しさん:2005/08/31(水) 18:31:14
イミワカンネ
483デフォルトの名無しさん:2005/08/31(水) 18:38:13
とりあえずJavaが関係あるのかもわからんね。
484デフォルトの名無しさん:2005/08/31(水) 18:48:15
始めたばかりなのでくだらない質問なんですが
プログラムを書いてコンパイル→バイナリコードを作る
って所までやりました。 そこで質問なんですが
一般的なexeには出来ないのでしょうか?jarたらいう物には出来るそうのですが。
485デフォルトの名無しさん:2005/08/31(水) 19:11:52
Javaをexe形式にするものはある
JSmooth
で検索してみると良い。
有料だといろいろある。

一番の問題は
結局Javaプラグインが必要
ってことで、あんまり必要性を感じないのだけどな。

有料のやつだと内蔵してくれるものもあるが、
巨大なファイルになるのでそのつもりで。
486デフォルトの名無しさん:2005/08/31(水) 19:37:32
long waitTime,long nowTime;float frameTime;
waitTime=System.currentTimeMillis();
while (true){
  nowTime = System.currentTimeMillis();
  frameTime = (nowTime-waitTime ) /1000.0f;
  waitTime = nowTime;
  chara.move(DOWN,frameTime);
  repaint();
  try {
    Thread.sleep(10);
  }catch(InterruptedException e){
    e.printStackTrace();
  }
}
public void paintComponent(Graphics g){
  super.paintComponent(g);

  g.drawString("一回表示するのにかかる秒数:" +Float.toString(frameTime),5,15);
}
-Chara
int speed = 100;//キャラの速度。1秒で100ドット。
public void move(int dir,float frameTIme{
  moveQuantity = (int)(speed * frameTime);
  switch(dir){
  case DOWN:
    buff.translate(0,moveQuantity);
    break;
  }
}
jdkのjavaで実行した場合とjreのそれとでは前者は安定していて後者は
不安定(時々カクカクする)ですが前者の3倍ほど処理速度が速いです。
仕様ですか?私のパソコンがへんですか?どっちも5update4です。
487デフォルトの名無しさん:2005/08/31(水) 19:48:20
すいません。質問なのですが、レクサスのHPやTBSのムービーニュースを見ようとすると、「Javascript及びCSSを有効にしてください」と出てきて、全て説明どおりインターネットオプションから有効に設定したのですが、全く改善しません。。
どうしたらよろしいでしょうか、教えてください
488デフォルトの名無しさん:2005/08/31(水) 19:50:49
>>487
投げ捨てろ
いじょ
489デフォルトの名無しさん:2005/08/31(水) 19:56:40
>>487
>>1にも書いてありますがJavaとJavascriptは名前こそ似てい
ますが中身は全くの別物であって、あなたの質問は後者に関する
ものなのでスレ違いってやつです。

こちらにどうぞ。
IE6総合 Part.11
http://pc8.2ch.net/test/read.cgi/win/1100287247/
490デフォルトの名無しさん:2005/08/31(水) 20:13:27
あ・・・これは申し訳ありません。。
わざわざ誘導してくださいってありがとうございます。
お騒がせしてすいませんでした。
491デフォルトの名無しさん:2005/08/31(水) 20:18:43
>>486
そもそもループ中に一定のsleepってことはsleep以外の処理時間が可変になったときに
安定した速度が出ない
sleep自体もOSやチップによって性能が様々

そもそもJDKのprivateJREもpublicJREもまったく同じだが
コンパイルが通るくらいのソースにしてもらわんとなんとも
492デフォルトの名無しさん:2005/08/31(水) 20:46:21
Java ってさぁ、JIT でネイティブにしてるならその技術つかって
簡単にネイティブコンパイラができるんじゃねぇーの?
WORA が崩れるのがいやなんか?それとも全部ネイティブにできる
わけじゃねぇーのかな?
493デフォルトの名無しさん:2005/08/31(水) 20:54:50
全部ネイティブにできるよ。つーか、ただの中間コードごときでできないわけがない。
ただし、バイトコードの動的なロードをサポートする必要があるので、実行時には
ネイティブコンパイラが必要。それって結局 JIT コンパイラ使うのと変わらない。
494デフォルトの名無しさん:2005/08/31(水) 22:52:37
>>491
同じなんですか。結果が同じにならないんですよね・・
>sleep自体もOSやチップによって性能が様々
機種依存しないようにframeTime云々の処理をやってます。
http://www.harukitchen.com/program/anime.txt
495デフォルトの名無しさん:2005/08/31(水) 22:58:41
>>494
参考にした先が悪かったな。
そのサイトCじゃないか
JavaとCはもちろん違うからな。
496デフォルトの名無しさん:2005/08/31(水) 23:02:31
497デフォルトの名無しさん:2005/08/31(水) 23:03:43
>459
Linux ではポート80は特権ポートなので、root権限がないと80で待ち受けることが
できないんだけど、関係ないですか?
498デフォルトの名無しさん:2005/08/31(水) 23:09:19
java Hoge

javaw Hoge
の違いを教えてください
499デフォルトの名無しさん:2005/08/31(水) 23:09:49
>>496
どっちにしろ、そのサイトに書いてるのは間違いがあるな。
Windows上で厳密に10msecでSleepは出来ない。
かなりぶれる。
JDK5になってnano秒も扱えるようになったが、
結局同じだったのにはがっかりだったが。

どちらにしろ最初の問題のJDKとJREの違いの答えではないけどな。
考えられるとすると、Eclipse上とかで動かしていて、
自分の知らない起動オプションが入っているとかね。
-verboseとかあり得そうだ。

どうしても気になるなら、プロファイラ使って調べるぐらいしか
思いつかない。
500デフォルトの名無しさん:2005/08/31(水) 23:10:51
>>498
Javaコンソール表示有りと無し
501デフォルトの名無しさん:2005/08/31(水) 23:13:55
みんなnetビーンズみたいな奴使ってる?
502デフォルトの名無しさん:2005/08/31(水) 23:22:47
>>499
ぶれてもいいようなアルゴリズムでは?
JDKとJREの違いの答えじゃないけど。

JREはexejar使って関連付けから開いているので怪しいところを
調べてみると関連付け蛾javawになってました。
JDKのjavawを使い起動するとJREと同じくぶれました。

なんどもレスありがとうございました。

>>500
レスありがとうございます。


うーん、何故それだけで上のような問題がでるんでしょうか。
503デフォルトの名無しさん:2005/08/31(水) 23:46:23
すいません以下のソースがコンパイルできないのです。
classが見つからないと。 ちゃんとclass書いてるのになぜでしょうか?


class TestPrintln {
public static void main(String[ ] arg) {
System.out.print("この帽子ドイツんだ?:");
System.out.println("オランダ");
System.out.print("この囲いどうかな?:");
System.out.println("カッコイイー");
504デフォルトの名無しさん:2005/08/31(水) 23:47:14
コピペ不足でした。

class TestPrintln {
public static void main(String[ ] arg) {
System.out.print("この帽子ドイツんだ?:");
System.out.println("オランダ");
System.out.print("この囲いどうかな?:");
System.out.println("カッコイイー");
}
}
505デフォルトの名無しさん:2005/08/31(水) 23:54:21
>>504
public class TestPrintln {
506デフォルトの名無しさん:2005/09/01(木) 00:00:33
コンパイルできないのと、実行できないのは区別しような。
507デフォルトの名無しさん:2005/09/01(木) 00:04:20
まずそのジョークに問題ありと見た
508デフォルトの名無しさん:2005/09/01(木) 00:05:07
>>502
たしかにぶれてもいいアルゴリズムだろうけど、
Sleepの精度が無視できるほどでもない。

sleep(30)とかに値を増やしてみて試すとわかると思うよ。
javawでもきっと安定するから。
509デフォルトの名無しさん:2005/09/01(木) 00:09:43
>>505
レスどもです。
ttp://www.nextindex.net/java/print.html
ここ見て勉強してるんですけど間違いなのでしょうか?

>>506
すいません。勉強がんばります。
510デフォルトの名無しさん:2005/09/01(木) 00:16:54
>>509
コンパイルの仕方がわるいんじゃねーの?
ちゃんと
javac TestPrintln.java
ってやってるか?
511デフォルトの名無しさん:2005/09/01(木) 00:23:09
>>508
ありがとうございます!
sleep(50)で安定しました。sleepが問題とは予想外でした。
ただFPSが20ないので、これを上げる上手い手段はありませんか?
512デフォルトの名無しさん:2005/09/01(木) 00:29:11
>>511
無いこともないが、実装の変更が伴うよ。
java.util.Timer#scheduleAtFixedRate
を使うことによって、指定時間で繰り返すってことが可能になる。
自前でウェイト調整をするよりはよっぽど簡単。
JDKとJREとの差は知らんけどね。
513デフォルトの名無しさん:2005/09/01(木) 00:44:19
>>510
コンパイルの方法は問題ないようです。

ひょっとして作業用フォルダに他のclassファイルがあるから
問題起きたのでしょうか?
514デフォルトの名無しさん:2005/09/01(木) 00:46:20
>>513
classが見つからないってエラーは
普通は実行しようとしたときなんだけどな。
515デフォルトの名無しさん:2005/09/01(木) 00:55:33
コンパイルができず、空白を削ってみたり
文をキレイに並べ替えてみたりして(意味ないと思うけど)
コンパイルした結果
Exception in thread "main" java.lang.NoClassDefFoundError: TestPrintln/java
と出ました。これも意味不明です。

>>505氏の記述通りでコンパイルしたら成功
実行もうまくできました。
516デフォルトの名無しさん:2005/09/01(木) 01:03:45
>>456
全然違う。それだとjavaで例えるなら
int tmp;
for(int i = 0; i < 略) {
tmp = i;
}
for(int foo = 1; foo <= tmp; foo++) {
なにか
}

正しい使い方はこう。
#set($list = ["a", "b", "c"])
#foreach($item in $list)
$velocityCount 番目の要素は $item です。
#end
517デフォルトの名無しさん:2005/09/01(木) 01:33:13
>>494
わかってないようだがsleepがwaitする時間が機種依存なんだよ
タイマー関係は結構動きが違う
518デフォルトの名無しさん:2005/09/01(木) 01:35:39
ゲーム目的でアプリケーションならフルスクリーンにして垂直同期をとるという方法もある
519デフォルトの名無しさん:2005/09/01(木) 01:48:27
Iアプリ作ろうかと思いJAVA始めようと思うのですが
携帯向けアプリ作成について解説してるサイトとかないでしょうか?
ちなみにVBの経験しかありません
520デフォルトの名無しさん:2005/09/01(木) 01:49:34
521デフォルトの名無しさん:2005/09/01(木) 02:50:52
質問させてください、現在swingを使ってプログラミングしてるのですが。
まずメインとなるフレームを作成し、メニューに「open」をくわえました。
このopenをクリックして、任意のフォルダ内のファイルを全部フレーム内に表示させる
ようにしたいのです(ウィンドウズでいうエクスプローラーの右側の画面のような感じに
どうしたらいいかわからず困っています、わかるかたいたら助言お願いします。
522デフォルトの名無しさん:2005/09/01(木) 02:53:34
>>521
質問の目的は JFileChooser でファイルを選ぶことじゃないのかね?
523521:2005/09/01(木) 03:38:40
JFileChooserに近いものをつくりたいのですが、
最終的にはフレームをJSplitPaneにて縦に二分割し、左側にフォルダ内のファイルを一覧表示
させるようにしたいのです。分割した右側には左側でフォーカスのあたっているファイル
のプレビューを表示させるようにしたいと考えています。(たとえば、フォーカスが*.txtなら
そのテキストファイルの内容が右側に表示されるといった感じに

ファイルチューザにアクセサリを追加してプレビューを表示させるほうが
はやいかなとも思っていますが・・・。
できればシンプルな画面にしたいのでファイルチューザを使わなくてもできる
やりかたはないでしょうか?
524デフォルトの名無しさん:2005/09/01(木) 03:53:23
File, JList, ListModel, ListCellRenderer (JTable, TableModel の方が良いか?) 調べろ。
ツリー表示したければ JTree, TreeModel, TreeNode も
525デフォルトの名無しさん:2005/09/01(木) 08:27:01
通常はそのまま使えるクラスをjarファイルで提供したいのですが、
必要な場合はそのクラスを継承して使用することでカスタマイズ出来る様にしたいと思っています。
で、定数の値を変えられる様にしたいのですが、外部ファイル(プロパティファイル)は使いたくありません。
public static finalで定義してしまうと、メソッドも継承しないといけなくなるので、勝手が悪くなります。

そこで、定数をprotectedで定義し、インスタンスイニシャライザで初期化するようにしています。
そうすれば、サブクラスでもインスタンスイニシャライザを記述すれば、必要な定数の値だけ変更できるので。
protectedなので「インスタンス生成→後で勝手に定数値変更」のような事故は
わかっていて意図的に行わないと発生しないと思いますが、
より良い方法(安全で簡便)はあるのでしょうか?
526デフォルトの名無しさん:2005/09/01(木) 10:59:25
屈強なコーディングとやらでは
定数にはフィールドでなく
GETTERを使え、とあったな。
527デフォルトの名無しさん:2005/09/01(木) 11:10:48
マジか
528デフォルトの名無しさん:2005/09/01(木) 12:29:30
http://www.hellohiro.com/jdbcpostgresql.htm に書いてあるとおりに
作業を行い、HelloWorldJDBCPostgreSQL.javaまで進みましたが
コンパイルは問題なく出来ますが実行すると以下のようなエラーが出ます。
どうすれば対処出来ますでしょうか?

java.lang.ClassNotFoundException: org.postgresql.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at HelloWorldJDBCPostgreSQL.main(HelloWorldJDBCPostgreSQL.java:8)

 
エラーを解決する為、http://www.wikiroom.com/java/?path,classpath#content_1_2 も読みましたがわかりませんでした。
529デフォルトの名無しさん:2005/09/01(木) 12:43:19
>>528
コンパイル時と実行時のクラスパスは別だぞ。
530528:2005/09/01(木) 14:26:03
>>529
どこをどのように変えれば動くか詳しく御教授お願い致します。
531デフォルトの名無しさん:2005/09/01(木) 15:12:42
>528
質問者は謙虚たれ。
まず、「クラスパス」とは何かについて
人に説明出来るようになるまで調査すること。
532デフォルトの名無しさん:2005/09/01(木) 15:36:48
postgres???.jar を [JAVA_HOME]\lib\ext に放り込んで実行せれ。
533デフォルトの名無しさん:2005/09/01(木) 15:45:37
>>532
それは根本的な解決にならんじゃないか・・・。

>>528 はまずクラスパスとは何ぞや?ということを学習して
その上で分からんことがあったら再度質問するがよろし。具体的にな。
534デフォルトの名無しさん:2005/09/01(木) 15:58:44
そもそもどうやってコンパイルに成功したんだろ? eclipseかなんかでやってる?
535デフォルトの名無しさん:2005/09/01(木) 16:00:52
どれくらいである程度マスターできますか?
7日くらいかかりますか?
536デフォルトの名無しさん:2005/09/01(木) 16:26:43
質問です。
Apache-FOP をPDFの生成に使っているのですが、未実装の機能が多く、またプ
ロジェクト自体も2年以上、進捗が無いようです。
http://xmlgraphics.apache.org/fop/compliance.html

オープンソースまたはフリーの XSL-FO ライブラリで、いまおすすめのものは
何があるでしょうか?
537デフォルトの名無しさん:2005/09/01(木) 19:03:07
>>515
よくわからないが、クラスがみつからない(パッケージが検索できない)のかな?

UNIXの場合は、環境変数CLASSPATHにクラスのパッケージを検索する場所を設定する
例えば、CLASSPATH=/usr/local/jdk1.3.1/lib
カレント・ディレクトリも含めたければ、CLASSPATH=/usr/local/jdk1.3.1/lib:.

他のOSの場合はわからないので、そのOSのやり方に従うこと
538デフォルトの名無しさん:2005/09/01(木) 19:07:14
>>537
いくらなんでもブートストラップクラスを例に挙げるなよ...
しかも不完全だし。 >>1読めのほうがまだマシだ。
539デフォルトの名無しさん:2005/09/01(木) 19:24:03
KeyListenerの
void keyPressed(KeyEvent e)
キーを押しているときに呼び出されます。
void keyReleased(KeyEvent e)
キーを離したときに呼び出されます。
void keyTyped(KeyEvent e)
キーをタイプすると呼び出されます。

「タイプすると」 とはどういういみでしょうか?
Pressed = 押されている最中
Released = 離した瞬間
Typed = 押した瞬間
と思っていたのですが、docのKeyEventクラスの説明を読むとどうも違うような気がします。
540デフォルトの名無しさん:2005/09/01(木) 20:03:30
>>539
java.awt.event.KeyEvent の説明を10回ぐらい読め。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/event/ItemEvent.html
> 「キータイプ」イベントは、より高レベルのイベントであり、
> 通常はプラットフォームまたはキーボードの配置に依存しません。
> これらは Unicode 文字が入力されたときに生成され、
> 文字入力の検出において優先されます。もっとも単純な例としては、
> 「a」などの 1 度のキープレスでキータイプイベントが発生します。
> 一方、一連のキープレス (「Shift + a」など) で文字を生成することもよくあります。
541デフォルトの名無しさん:2005/09/01(木) 20:06:33
542デフォルトの名無しさん:2005/09/01(木) 22:07:31
Javaで全角文字を半角に変換するライブラリってありませんか?
commonsの日本語特化版みたいなのあればいいんですけど無さそうだし。
結構業務で求められそうだけどみんな自分で作ってるんですかね?
543デフォルトの名無しさん:2005/09/01(木) 22:26:23
>>542
自作するにしても簡単だろ?

だって全角と半角が存在する文字ってそんなに多くないんだから、
対応表作るだけでいいし。
544デフォルトの名無しさん:2005/09/01(木) 22:27:06
Java超超初心者です。
Notepadに以下のようにプログラムを打ち込んだのです。
class Sample1App{
public static void main(String[] args)
{
int a, b, c, d;

a = 5;
b = a++;
c = a;
d = 2;
b *= d;
c %= 2;
}
}
このあと、saveしたのですが、それからどうすれば、
計算処理されるのですか?
本当に超初歩的な質問ですみません。
よろしくお願いします。
545デフォルトの名無しさん:2005/09/01(木) 22:33:12
>>544
1. コマンドプロンプトを開いて、ファイルを保存した場所まで移動
2. javac Sample1App.java と打ち込む
3. java Sample1App と打ち込む (ただし結果は表示されない)

情報少なすぎ。JDK インスコしてるかすら分からん。多分 PATH とか設定してないだろう。
Eclipse 等の IDE を使うことをお勧めする。
546デフォルトの名無しさん:2005/09/01(木) 22:40:23
>>545
PATHはテフ用に設定済みなんですよ。
てことはこれを変えなくっちゃならないてことですか?
JDKはインスト済みです。
547デフォルトの名無しさん:2005/09/01(木) 22:44:34
>>546
TeX 使えるなら多少のコマンドライン操作はできるんだろ。
コマンドプロンプトで javac [ファイル名] 起動しろ。
「コマンドまたは〜」が出たら PATH に JDK の bin ディレクトリを追加しろ。
set "PATH=%PATH%;C:\jdk1.4.1_00\bin" とか。
548デフォルトの名無しさん:2005/09/01(木) 22:48:56
>547
そんな古いJDK使っていますか。
549デフォルトの名無しさん:2005/09/01(木) 22:49:42
まァ実行しても何も出力されんがな。
550GiantLeaves ◆6fN.Sojv5w :2005/09/01(木) 22:51:35
551デフォルトの名無しさん:2005/09/01(木) 22:52:03
>>545
Eclipse?なんですか、それ?
552デフォルトの名無しさん:2005/09/01(木) 22:53:19
>>542
IBMのicu4jとかはどうだ?
国際化ライブラリなので、西暦<->和暦変換とかも入ってるので
業務には便利だぞ。
やや遅いが、巨大なデータをバッチ処理でもしなけりゃ問題ない速度。
553デフォルトの名無しさん:2005/09/01(木) 23:07:26
>>547
javac[Sample1App]
ってコマンドプロンプトに打ち込んだら、
「”ファイル ”は内部コマンドまたは外部コマンド、操作可能
なプログラムまたはバッチ ファイルとして認識されません。」
という返事がきたんだけど。????
554デフォルトの名無しさん:2005/09/01(木) 23:10:51
>>553
じゃあ PATH に javac.exe のディレクトリを追加しろ。
555デフォルトの名無しさん:2005/09/01(木) 23:12:44
先ず括弧いらないよ"[" と"]" 。 Sample1App ってファイル名
なのかな .java ってサフィックス付けてね。 それでも同じ
エラー出るなら547の後半で言ってるパスの設定確かめてね。
最後のハテナ連打は印象悪いからやめたほうが良いよ。
556デフォルトの名無しさん:2005/09/01(木) 23:25:02
>>543
やっぱないんすね。
せめてペアで載ってるテーブル表みたいなのぐらいありませんか?
自分で作ると漏れとか出そうで・・・。
誰か公開してくれればみんな使うと思うんですけどねぇ。
こういうライブラリ。
javaは再利用性も売りのひとつじゃないのかぁ〜。
557デフォルトの名無しさん:2005/09/01(木) 23:28:03
>>552
リロードするの忘れてました・・。
ありがとうございます!
調べてみます!
558デフォルトの名無しさん:2005/09/01(木) 23:30:46
OSはXPなんですけど、コマンドプロンプトでPATH打ち込んでも
「ファイル名、ディレクトリ名またはボリュームの構文ラベルが
間違っています」
と返事が返ってきます。
javaはj2sdk1.4.2_08をインストしてああります。
559デフォルトの名無しさん:2005/09/01(木) 23:41:47
>>558
断片的なことばかりでよくわからんから、
入力したそのものの文字列と、
エラーの出力そのままコピペしなさい。
あと、echo %PATH% の結果も
560デフォルトの名無しさん:2005/09/01(木) 23:42:39
すみません。PATHの作り方がわかりません。
TeXではシェアウェアだったのですぐに見つけることができた
のですが、何回も質問してすみません。
561デフォルトの名無しさん:2005/09/01(木) 23:45:22
>>559
コマンドプロンプトには以下のように打ち込みました。
\local\bin\set"PATH=%PATH%;C:\j2sdk1.4.2_08"
562デフォルトの名無しさん:2005/09/01(木) 23:51:29
>>561
なんでそのままコピペしないかなぁ・・・。
打ち込むときにタイプミスが紛れ込む可能性があるから、
そのままコピーしなさいって言ってるのに。

とりあえずその情報からわかることで答えると
PATHの設定の仕方は正しい。
けどjavacが置いてあるのはそのフォルダにあるbinフォルダ
だから
PATH=%PATH%;C:\j2sdk1.4.2_08\bin"
とすればとりあえず、javacに関する問題は解決する。

まだまだ他に問題ありそうだけどね。
563デフォルトの名無しさん:2005/09/01(木) 23:53:15
>>559
echo %PATH%の結果は以下の通りです。

C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;%PATH%
;C:\usr\local\bin;C:\gs\gs5.50\bin;C:\dviout
564デフォルトの名無しさん:2005/09/01(木) 23:55:10
>>562
なぜかコマンドプロンプトってコピぺができない、ってオイラだけですか・・・?
565デフォルトの名無しさん:2005/09/01(木) 23:57:18
>>563
>>562を実行した後に、コマンドプロンプトを閉じずに、
そのままecho %PATH% を実行して見て、
さっきのC:\j2sdk1.4.2_08\binが含まれていればOK.
566デフォルトの名無しさん:2005/09/02(金) 00:01:46
>>564
ああ、設定が必要だね。
コマンドプロンプトのタイトルバー(っていうのかな?)
要するにコマンドプロンプトって書いてあるところを右クリックすると
プロパティが選べるから、それを選択して、
そのオプションタブの編集オプションの
簡易編集モード
にチェックを入れたらいいよ。
567デフォルトの名無しさん:2005/09/02(金) 00:05:36
>>565
だめだ・・・
>>558と同じ返事が返ってくるよ・・・
568デフォルトの名無しさん:2005/09/02(金) 00:09:58
>>567
う、ちょっとうそだったかも・・・。
SET PATH=%PATH%;C:\j2sdk1.4.2_08\bin
でどう?
569デフォルトの名無しさん:2005/09/02(金) 00:22:12
>>568
できますた。
これでファイルをデバックすればよいのですね。
570デフォルトの名無しさん:2005/09/02(金) 00:31:18
あれ?
何にも起こりませんよ・・・
java application window でファイル開いてDEBUGの show elements
をやったら以下のようなフレーズが出てきましたよ。
paragraph[0,193]Attributes:[]
bidi root[0,193]Attributes:[]
あと何がいけないんだ!
571デフォルトの名無しさん:2005/09/02(金) 00:40:44
本日はここまで。
572デフォルトの名無しさん:2005/09/02(金) 00:46:41
      r;ァ'N;:::::::::::::,ィ/      >::::::::::ヽ
.      〃  ヽル1'´        ∠:::::::::::::::::i
       i′  ___, - ,. = -一   ̄l:::::::::::::::l
.      ! , -==、´r'          l::::::/,ニ.ヽ
      l        _,, -‐''二ゝ  l::::l f゙ヽ |、 ここはお前の日記帳じゃねえんだ
        レー-- 、ヽヾニ-ァ,ニ;=、_   !:::l ) } ト
       ヾ¨'7"ry、`   ー゙='ニ,,,`    }::ヽ(ノ  チラシの裏にでも書いてろ
:ーゝヽ、     !´ " ̄ 'l,;;;;,,,.、       ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{   __)`ニゝ、  ,,iリ::::::::ミ
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ ,  な!
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
573デフォルトの名無しさん:2005/09/02(金) 01:20:16
ぬるぽ





が出て30分ほど途方にくれていたが、コンストラクタで参照渡したオブジェクトがnewする前だったorz
Java新参者のチラシの裏でした〜
574デフォルトの名無しさん:2005/09/02(金) 11:14:29
catch(NullPointerException e) { System.out.println("ガッ"); }
575デフォルトの名無しさん:2005/09/02(金) 11:21:39
サーブレットを作っているんですが、IEのバグだと思うんだけど
JavaScriptを含んだページが「西ヨーロッパ言語」として認識されてしまい
文字化けを起こしてしまいます。

で一般的な対処法としては
※1 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
とかやると文字化けは解消されるそうなのですが。
テキストどおりにサーブレットを作っていると
※2 <meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
って書くことになりますよね?(もちろんこの場合文字化けは解消されない)


たとえば、※1の方法を使って文字化けを解消した場合JSPファイルの
※3 <%@ page contentType="text/html;charset=windows-31j"%>
↑この記述の部分もShift_JISに変えた方がいいんでしょうか?また、Shift_JISを指定した
場合サーブレットエンジンはそれを認識してくれるのでしょうか?
〜別の質問〜
今作ってるシステムでは
サーブレットからJSPファイルを呼び出して表示させる形で全てのHTMLは表示させて
いるのですが

doPostメソッドの中で
response.setContentType(CONTENT_TYPE);//CONTENT_TYPEは上の方で定義
request.setCharacterEncoding("Windows-31J");
ってやってるんですけども、JSPの方で※3みたいなやりかたで コンテンツタイプ
やキャラクターエンコーディングの指定をしている場合はサーブレット側でこういった
処理を記述する必要はないのでしょうか?(2度手間?)

576デフォルトの名無しさん:2005/09/02(金) 11:34:51
>>575
サーブレットエンジンはcontentTypeを見て何かしてることはあまりないと思うが。
普通は、逆にロケールに応じてcontentTypeを設定すると思う。
それは置いておいて、
※2の方法で文字化けが解消されないってのがよくわからん。

最後の質問だけど、そんなの実装によって違うからわからんけど、
普通はサーブレットはデータ詰めるとかそういったところだけを
気にするものだと思うが。
577デフォルトの名無しさん:2005/09/02(金) 11:36:15
※1でOK
※2,※3は必要なし
578デフォルトの名無しさん:2005/09/02(金) 11:36:17
>>575
metaタグと@pageの違いがよくわかってないようだな
579デフォルトの名無しさん:2005/09/02(金) 11:40:52
>>575
・出力に使用する文字エンコーディングの指定と入力に使用する文字エンコーディングの指定を区別しろ
・Windows-31JとShift_JISの違いを区別しろ
・JSPでのどの指定がServletだとどの指定に相当するのかを理解しろ
・文字エンコーディング指定は基本的には最終的な処理で上書きされることを理解しろ
580575:2005/09/02(金) 11:45:45
>>576-578 レスありがとうございます。
とりあえず、メタタグだけ書き換えて対応しておこうと思います。
(統一されていないのがなんとなく気持ち悪いですが…)

>>578
@pageで指定する奴はHTTPヘッダ(生データみたいの)の文字コード情報で
metaタグで指定する奴はHTMLとしての文字コード情報って解釈してるんですが
違います?

581575:2005/09/02(金) 11:59:56
>>576
>※2の方法で文字化けが解消されないってのがよくわからん。
文字化けするソースコードをいったん保存して、そのままだと
文字化け表示されます。これを確認した上で
JavaScriptのコメント文を全部はずすと文字化けがなくなるので
おそらくIEの「メタタグのContent-Type認識機能」がWindows-31Jに
対応してないのかと… まぁ妄想ですが。

>>579 レスありがとうございます。かなり参考になりました
>・出力に使用する文字エンコーディングの指定と入力に使用する文字エンコーディング
の指定を区別しろ
これは、response.setContentTypeが(サーブレットからの)出力に使用する
文字エンコーディング指定で
request.setCharacterEncodingが(サーブレットへの)入力に使用する文字エンコーディング
みたいな事ですかね?

ここで、もうひとつ疑問がわいてくるのですが、サーブレットへの入力に使用する文字エンコーディングっていうのは、何によって決定されるのでしょうか?
1.送信フォームをサブミットする直前のブラウザのエンコード指定
2.OSの言語セットとかIMEとか
3.その他
582デフォルトの名無しさん:2005/09/02(金) 12:01:31
そういやJDKインストするときに西ヨーロッパ言語をうんちゃらかんちゃら
って出たけど、みんなインスコしてないよね?
583デフォルトの名無しさん:2005/09/02(金) 12:56:07
よく覚えてないけど必要なさそうだったんで入れてない
追加フォントとエンコーディングのサポートだったかな?
584デフォルトの名無しさん:2005/09/02(金) 14:19:07
JTextPaneでタブの文字数の設定ってできないのでしょうか?
585デフォルトの名無しさん:2005/09/02(金) 16:41:35
-serverみたいにがつっと威勢良くなる技ないですか?
皆さんは最適化するならどこ突っつきます?
無駄にスコープ広かったの削ってみたけど全然だめだね
586デフォルトの名無しさん:2005/09/02(金) 16:46:22
シングルトンとかフライウェイトを採用しろ
587デフォルトの名無しさん:2005/09/02(金) 16:48:25
メモリ消費量の把握とか

プロファイラとか使って最適化すれば?
588デフォルトの名無しさん:2005/09/02(金) 16:59:15
com.sunパッケージと
sunパッケージの中に似たようなものがあるんですが、
sunパッケージは旧バージョンということですか?
589デフォルトの名無しさん:2005/09/02(金) 18:18:31
>>551
Eclipseは、無料の統合開発ソフトかな?よく知らないけど
書店で、Eclipseの本をよく見かける
590デフォルトの名無しさん:2005/09/02(金) 18:31:01
Eclipseは当然無料だ。
無料なのに高機能。

44億ドル相当の価値があるIDEだ。
遠慮無く使え。
591デフォルトの名無しさん:2005/09/02(金) 18:33:49
>>588
パッケージ名にcom.sunが付くものよりも、
パッケージ名の頭にjavaが付く、Java標準で付いてくるもの
を優先的に使うことをSun側は推奨している。

実際、com.sunがつくパッケージ名はおすすめしない。
sunで始まるパッケージ名のことはよくしらないが。

大抵、パッケージ名はドメイン名を逆さまにしたものを接頭辞にして
その後にカテゴリのように分類して表記する。
592デフォルトの名無しさん:2005/09/02(金) 20:28:48
>>591
レスドモ

>大抵、パッケージ名はドメイン名を逆さまにしたものを接頭辞にして
>その後にカテゴリのように分類して表記する。
sunパッケージは、上の法則にしたがってないから、
ただ単に互換性のために残されてるだけなのかな?
教えて下さいエロい人
593デフォルトの名無しさん:2005/09/02(金) 21:49:21
プログラミング自体全くやったことないド初心者が、
Javaを勉強したい場合、一番お勧めの本ってどれですか?
594デフォルトの名無しさん:2005/09/02(金) 22:17:13
情報処理概論

言語とか以前の知識を教えてくれる
2進数とかそういうの
595593:2005/09/02(金) 22:20:27
>>594
マジレスお願いします。。
Javaの雑誌とかが普通に読めるようになるにはどの本がいいんですか?
596デフォルトの名無しさん:2005/09/02(金) 22:23:11
マジレスだろ。

他の言語をすでに使える人ならJavaだけ覚えればいいけど
プログラムの基本がなければノイマン型とかメモリってどういう意味なのかとか
ビットとか細かいところでつまずくことになるぞ。

何の勉強でも基本は大事だよ。
アルファベット知らないのに英文を書こうとしてるのと同じ。
597593:2005/09/02(金) 22:31:32
>>596
2進数とかはさすがにわかります。
ちょっとしたことなら、e-wordとかで調べれられます。
Javaの雑誌が読めるようになるまでの、1段階前の入門書教えてください。
598デフォルトの名無しさん:2005/09/02(金) 22:35:59
599デフォルトの名無しさん:2005/09/02(金) 22:44:08 BE:346872285-
>>593
何がおすすめの本かは、
今まで何を勉強し何をしてきたか、
これから何をしたいかにもよるね。

作りたいものによっては
OSの仕組みについて理解する必要があるかもしれないし。
ネットワーク頼みならTCP/IPの本を読むべきだろう。

Javaの基本を習得したいなら、やさしいJavaや独習Javaなどで
いいかも。
600デフォルトの名無しさん:2005/09/02(金) 22:55:18
>>597
概論はシフトとかorやand等の特性とかそんな大事なのも覚えることが出来るよ
基本がないやつは誤差が出たらだめな計算に平気で浮動小数点使ってたりする


a = b * 1.1とかかいたらもう終わりなのに。
601デフォルトの名無しさん:2005/09/02(金) 23:43:32
つーかシフトとかorとかandとか二進数とか必要ない。
今すぐ本屋に走って馬鹿でもわかるJavaっぽい本買って来い
602デフォルトの名無しさん:2005/09/02(金) 23:52:19
変数yearを引数としてオブジェクトmyYearのcheckメソッドを呼び出す。

これをJavaで書くとどんな風になるんでしょうか?
603デフォルトの名無しさん:2005/09/03(土) 00:16:47
集え! 2chねらーなJavaアーキテクト達!

Sun Developer Connection
"『JavaOne Tokyo 公式ブロガー』大募集(追加募集)

11月に開催される「JavaOne Tokyo」を盛り上げるため、 SDC編集局では、記事執筆者(ブロガー)を募集いたします。 「Javaについて語りたい」、「JavaOne Tokyoについていろいろと語りたい」など、ご興味のある方は是非ご応募ください。
募集要項

* 募集内容:JavaOne Tokyo 公式ブロガー
* 人数:10名(SDC編集局にて選考)
* 募集資格:以下の要件を満たす方とします。
o JavaOne Tokyoの開催を応援し、盛り上げる意気込みのある方
o Javaに対し、熱い意見をお持ちの方(Java初心者、ベテランは問いません)
o 現在、ご自身でブログを運営している方
o 週に最低一回のJavaOne Tokyo に関して記事を更新でき、かつイベント期間中(11月8日〜11日)は参加したすべての Activity について記事を更新することができる方
o イベント終了(11月11日)までブログの更新が可能な方
* 募集〆切:2005年9月14日(水)"
http://sdc.sun.co.jp/news/2005/08/j1tokyo_blogger.html
604デフォルトの名無しさん:2005/09/03(土) 00:18:49
>>602

んな簡単なこともわからんのか。
引数、オブジェクト、メソッドの意味一つ一つがわかればすぐ書ける。
605デフォルトの名無しさん:2005/09/03(土) 00:19:17
ブログに応募したら悪口ばかり書いてしまいそう
606デフォルトの名無しさん:2005/09/03(土) 00:21:16
質問があります。
JAVA言語でプログラムを書いて、swingとかAWTは使わずにwindows上で動くブラウザとか作成するのは可能でしょうか?

どなたか教えてください。
607デフォルトの名無しさん:2005/09/03(土) 00:23:21
意味がわからない。
コマンドプロンプトでブラウジングできるよ。
608デフォルトの名無しさん:2005/09/03(土) 00:25:38
>>606
SWT 使えば?
609606:2005/09/03(土) 00:32:02
>>607
すいません。
えと、SlepnirやDonutみたいなWebブラウザは作成可能かどうかをお聞きしたかったのです。

うまく説明できませんが、swingやawtを使用すると、作成されたアプリケーションが古臭いという感じがしてしまい、嫌なのです。
610デフォルトの名無しさん:2005/09/03(土) 00:32:56
>>608
SWTって一瞬たりともAWTを呼び出したりしてない?
611デフォルトの名無しさん:2005/09/03(土) 00:34:07
>>609
当然可能ですよ

SwingやAWTに相当するものも含めて
すべてあなたが作ればよいだけの話じゃないですか
612デフォルトの名無しさん:2005/09/03(土) 00:36:14
lookandfeelにべったりで行こうと決めてる時点で古臭いも糞もないでしょw
macだってもう古臭いじゃんw
613デフォルトの名無しさん:2005/09/03(土) 00:37:51
>>606
public class Browser {
public static void main(String[] args) throws IOException {
Runtime.getRuntime().exec("C:\\Program Files\\Internet Explorer\\iexplore.exe");
}
}
614606:2005/09/03(土) 00:48:23
色々なご意見ありがとうございます。

>>611
ごもっともな意見ですね。
swingもAWTも根っこにあるのはJAVAなわけで・・・

>>612
確かにswingやAWTがやだと言った理由にlookandfeelにべったりで行こうという考えがあったからなんですが、
JAVAで書いたアプリケーションを普段windows上で動かしている、
Webブラウザ(普段Sleipnirを使用しているので、ここではそれを指していると思ってください。)や、
メールソフトのようなGUIを実現するのはどうしたらいいのかなと思って質問しました。


615デフォルトの名無しさん:2005/09/03(土) 00:49:06
>>609
> >>607
> すいません。
> えと、SlepnirやDonutみたいなWebブラウザは作成可能かどうかをお聞きしたかったのです。
>
> うまく説明できませんが、swingやawtを使用すると、作成されたアプリケーションが古臭いという感じがしてしまい、嫌なのです。

お前が選んだLook and Feelが古くさいだけ。
どうせ数年前のSwingやAWTのデフォルトのLook and Feel しか選んでいないんだろう。
616デフォルトの名無しさん:2005/09/03(土) 00:50:23
SwingやAWT使わないでどうやってGUIアプリをつくれというのだ?
617デフォルトの名無しさん:2005/09/03(土) 00:51:12
ブラウザならGUIが無くても簡単に作れるがな。

テキストブラウザLynx, w3mみたいなのをな。
618デフォルトの名無しさん:2005/09/03(土) 00:51:45
おっと、構文解析が大変だからそう簡単には作れないな
619デフォルトの名無しさん:2005/09/03(土) 01:16:21
>>616
JNIでWin32APIなりXlibなり好きなGUIライブラリを呼べばいい。
共通のクラスでラップすれば移植性もなんとかなるだろ。
620デフォルトの名無しさん:2005/09/03(土) 01:23:08
>>618
HTMLを解析してくれるJavaライブラリはいくつもあるよ。
それを使って適当に表示すればCUIウェブブラウザは作れる。

同様に最悪ウィンドウ1個の出し方とそのウィンドウへの描画の仕方さえわかれば
自前でGUIウェブブラウザを作ることも可能。
621デフォルトの名無しさん:2005/09/03(土) 02:10:03
だか、こっから先をパースするのは大変だろう。
<script language="JavaScript">
(ry

<style>
(ry

<embed src="test.vrml">
<!-- VRMLを表示する -->
(ry



622デフォルトの名無しさん:2005/09/03(土) 02:36:02
JavaでVC++のリストビューに相当するクラスってありますか?
若しくは、"こういう方法で実現できる"というのがあれば教えてください。

エクスプローラの"詳細表示"のような表示を実装したいのです。
GUIはSwingで作る予定です。
623デフォルトの名無しさん:2005/09/03(土) 02:47:59
>>622
javax.swing.JTable
624デフォルトの名無しさん:2005/09/03(土) 04:02:36
プログラム言語をはじめて勉強しようとおもい
苦労してインスコ→PATH設定してやっとjavacとかやれるようになりました。
上の方のレスでも出てるEclipseって導入したほうがいいでしょうか?
VBチックに作れるんですよね?

Eclipseをインスコしても従来通りコマンドラインからjavacとかプログラム組めるのでしょうか?
初心者はとりあえずEclipse入れたほうがいいでしょうか?
625デフォルトの名無しさん:2005/09/03(土) 04:03:59
ちょっと眠気で質問攻めになってますが
要するにEclipseをインスコしたほうがいいのでしょうか?
ということです。 
626デフォルトの名無しさん:2005/09/03(土) 04:07:32
>導入したほうがいいでしょうか?
YES。勉強するのはいいことだ。
>VBチック
NO。共通点は見当たりません。
>従来通りコマンドラインからjavacとかプログラム組めるのでしょうか?
YES。Eclipseは環境破壊しません。
>Eclipseをインスコしたほうがいいのでしょうか?
YES!YES!YES!
627デフォルトの名無しさん:2005/09/03(土) 04:10:35
丁寧にありがとうございます。
VBチックといういいかたは悪かったです。
いわゆるGUIといいますのでしょうか。 マウスで
フォームを作って〜 ここにボタンつけて〜 ここにテキストボックスを置いて〜
という感じなのかな?と思いました。
とりあえず環境破壊しないようなので無料なので使ってみるべきですね。
628デフォルトの名無しさん:2005/09/03(土) 04:13:32
>>627
>マウスでフォームを作って〜 ここにボタンつけて〜 ここにテキストボックスを置いて〜
デフォルトではそうなっていない
プラグインで拡張することにより実現可能
629デフォルトの名無しさん:2005/09/03(土) 08:45:38
>>627
質問レベルからしてNetBeansでいいのでは
630デフォルトの名無しさん:2005/09/03(土) 09:17:53
>586-587
アドバイスそっくりそのまま頂戴しました。効果覿面、以下結果です。
「リスクなく導入できそうだったらバンバンしてきましょう」と御願いしました。
そしたらがんがん手が加えられたんですよ。頼もしいです。
自分プロファイラ初挑戦でちんたらして悪いなと思いました、がきた!!
やったみっけた確信犯!!プロファイラ使い方わかってないけど、見通しよくなる
偽証シングルトン見つけた。内部にnewを4箇所隠し持ってる。

で、問題は、この偽シングルトンがお願いした後に作られたものだって事なんです、気まずい
631デフォルトの名無しさん:2005/09/03(土) 10:55:52
NetBeansは日本語版ないでしょ
632デフォルトの名無しさん:2005/09/03(土) 11:13:31
今JAVAアプレットで実行するプログラムを作成したのですが、
開発しているマシンでは見えるのに、他のマシンで見るとそれが見えません。
#アプレットが見つからないといわれる

開発環境はjdk1.5.0_04、見えているマシンの環境はJRE 1.5.0_04
見えないマシンの環境はWindowsXP-SP2を入れただけという環境で、
sunのjavaVMをダウンロードしていない状態です。

その見えない環境のマシンでも、見えるようなアプレットを作成するには
どのようにすればよいのでしょうか。
そのマシンにもsunのjavaVMを入れるしか方法はないのでしょうか。
633デフォルトの名無しさん:2005/09/03(土) 11:22:52
どう見えんのかちゃんと書け。
あほ質問者ばっかりだな
634デフォルトの名無しさん:2005/09/03(土) 11:51:15
>>632
MSのJREは1.1までしか対応してないって奴だろ
仕事上で使うアプレットなら当然SUNのを落とさせるべき
そうじゃないなら1.1で作れ
635632:2005/09/03(土) 12:04:07
>>632
すいません。
例えば
import java.awt.*;
import java.applet.*;
public class HelloWorld extends Applet{
 public void paint(Graphics g){
  g.drawString("Hello World",20,20);
 }
}
程度のものでも、見える環境では普通に見えるのですが、
見えない環境ではアプレット領域が灰色になるだけで、何も表示されません。
636デフォルトの名無しさん:2005/09/03(土) 12:06:30
だからtargetは1.1でやってるのかって・・・
637632:2005/09/03(土) 12:07:15
>>634
ありがとうございました。
638デフォルトの名無しさん:2005/09/03(土) 12:30:45
Javaって何これ?
メジャーバージョンが1のままなのに
Java2とかほざいてるし
マイナーバージョンが5なのに
Java2 5.0とかほざいてる

Javaのメジャーバージョンが2になったらなんて呼ばれるん?
639デフォルトの名無しさん:2005/09/03(土) 12:44:42
JAVA3
640デフォルトの名無しさん:2005/09/03(土) 12:56:19
javaのバージョンなんかwindowsのバージョンに比べたらどうってことないよ。
641デフォルトの名無しさん:2005/09/03(土) 13:05:33
Java 1.5でjdk1.5.0, jre1.5.0でもなんら支障はない
Tigerというあだ名をつけてるんだから、本名まで改名するなよなw
642デフォルトの名無しさん:2005/09/03(土) 13:12:30
>>638
公式見れば解決します。
643デフォルトの名無しさん:2005/09/03(土) 13:17:14
次のバージョン(Mustang)は Java SE 6
644デフォルトの名無しさん:2005/09/03(土) 13:21:49
>>643
jdk6.0とかに落ち着くのかな?
645デフォルトの名無しさん:2005/09/03(土) 13:36:38
ソラリスも変
646デフォルトの名無しさん:2005/09/03(土) 13:41:16
1.0 2.0 386 3.0 3.1 NT 95 NT4.0 98 2000 ME XP 2003
647デフォルトの名無しさん:2005/09/03(土) 13:51:23
スレタイで初心者大歓迎と歌っているが一向に>>633みたいなのが減らない件

回答者ならエスパー使おうぜ!
648デフォルトの名無しさん:2005/09/03(土) 13:52:07
>>646
MEが明らかに浮いてるな
年号を外すのはそれなりにパラダイムシフトしてるはずなのに
649デフォルトの名無しさん:2005/09/03(土) 13:53:16
>>647
エスパるまでもない問題だったけどな
650デフォルトの名無しさん:2005/09/03(土) 14:00:01
「Javaの絵本」という本にprivateはサブクラスへ継承できないとかいてあるのですが
以下のソースが通ってしまうのは何故ですか?

public class ExtendsTest{
public static void main(String[] args){
Huga huga = new Huga();
huga.setStr("ほげほげほげほげ");
huga.printStr();
}
}

class Hoge{
private String str;

void setStr(String str){
this.str = str;
}

String getStr(){
return str;
}
}
class Huga extends Hoge{
void printStr(){
System.out.println(getStr());
}
}
651デフォルトの名無しさん:2005/09/03(土) 14:02:58
「privateはサブクラスへ継承できない」ってほんとに書いてあるの?
普通は、privateなフィールドやメソッドはサブクラスからはアクセスできない
みたいに書いてあると思うんだけど。
652デフォルトの名無しさん:2005/09/03(土) 14:06:24
はい、誤表記でしょうか。確かに書いてあります。

private
オブジェクト内からのみ利用できます

オブジェクト内からの利用:利用可
サブクラスへの継承:パッケージ内外ともに利用不可
オブジェクト外からの利用:同じパッケージ内:利用不可
                :異なるパッケージ:利用不可
653デフォルトの名無しさん:2005/09/03(土) 14:06:55
>>650
privateとは関係ないけど、
初心者のうちは、デフォルトパッケージは使わないほうが良いと思う。
同じパッケージにあるものは、デフォルトパッケージでも見えるけど、
パッケージが異なると見えなくなるので、特に理由のない限りは
publicにしておいたほうが良い。
654デフォルトの名無しさん:2005/09/03(土) 14:10:00
>652
継承したクラスからは直接に利用できないだけで存在しなくなったわけではない。
間接的に(getStrを介して)利用するのはかまわない。
655デフォルトの名無しさん:2005/09/03(土) 14:14:38
>>654
privateとして継承されているという解釈であっていますか?
656デフォルトの名無しさん:2005/09/03(土) 14:17:53
>>631
なにこれ
657デフォルトの名無しさん:2005/09/03(土) 14:23:55
>>655
そういう表現(privateとして継承)は誤解を招くので使用しないほうが良い。

(C++には、private継承という用語がある。)
658デフォルトの名無しさん:2005/09/03(土) 14:31:21
>>657
そうですか。
誤解の無い様に言うと、
>>655
>privateとして継承されている

private String strというメンバとして継承されている

>>655の解釈があっているとすればJavaの絵本の説明は何を言わんとしているんでしょうか。
サブクラスへの継承
public:パッケージ内外とも利用可
protected:パッケージ内外とも利用可
なし:パッケージないなら利用可
private:パッケージ内外とも利用不可

142ページです。
659デフォルトの名無しさん:2005/09/03(土) 14:32:35
>private String strというメンバとして継承されている
されてねえっつってんだろハゲカス
660デフォルトの名無しさん:2005/09/03(土) 14:36:51
あ、なるほど!
わかりました。あるようで無いんですね。
>>654,659
ありがとござました。
661デフォルトの名無しさん:2005/09/03(土) 14:41:09
うおおおおおおおおおお何かしばらく(10分)悩んで分からんことがすっきりしあqwせdrftgyふじこlp;「」
>>654,659 ネ申

Javaって上手く出来てるなぁ。
662デフォルトの名無しさん:2005/09/03(土) 15:02:04
>>627
VBライクに開発というのならNetBeansしかないだろうね。
無料だし、環境は壊さんよ。

VEのsetSize使う仕様バグなくなればまだいいのだろうけど
初心者にプラグイン含めてセットアップさせるのは厳しいかと。

>>631とかみるとネガティブキャンペーン中なのかもしれんが普通に日本語版あるし。
663デフォルトの名無しさん:2005/09/03(土) 15:40:13
1.メニューバーのファイル(F)などをalt+Fで展開するにはどうすればいいですか?
2.これはアプリケーションなどに多いのですが、windows特有の操作ですか?
664デフォルトの名無しさん:2005/09/03(土) 15:48:55
WにできることでJにできないことなどない
665デフォルトの名無しさん:2005/09/03(土) 15:56:33
言ったな!こいつぅ〜
666デフォルトの名無しさん:2005/09/03(土) 16:33:10
Java(アプレット可)からWindowsのアンインストールをするにはどうすれば良いですか?
667デフォルトの名無しさん:2005/09/03(土) 16:49:05
意味がわからない。
668デフォルトの名無しさん:2005/09/03(土) 17:01:20
>>647
Javaの初心者は歓迎しても
質問の初心者や日本語の初心者といった池沼は歓迎していません
669デフォルトの名無しさん:2005/09/03(土) 17:03:25
>>666
もっと勉強してJavaの質問になるレベルまで落とし込むと良いです
670デフォルトの名無しさん:2005/09/03(土) 17:22:07
>666
Runtime.getRuntime().exec("%WINDIR%\\system32\appwiz.cpl");

どうだ当たり?的外れ?
むずかいしねここの質問者、ずっとこんな感じなんだ
671デフォルトの名無しさん:2005/09/03(土) 18:18:52
エディタからjavacにコマンドラインで起動しているのですが、
一瞬でjavacを開いているDOS窓が終了してしまいます。

javacが終了してもDOS窓が閉じない方法、
またはMS-DOSの > log.txtの様なファイルに記録する起動方法ないですかね?
672デフォルトの名無しさん:2005/09/03(土) 18:32:29
>>671
> javacが終了してもDOS窓が閉じない方法、
> またはMS-DOSの > log.txtの様なファイルに記録する起動方法ないですかね?

あります。Javaの質問というよりはWindowsやDOSの質問ですので適切な場所へどうぞ。
673デフォルトの名無しさん:2005/09/03(土) 18:33:19
エディタの種類にもよるだろ
あとjavacを直接指定せずにバッチファイル使え
なかに
javac hoge.java
pause
674デフォルトの名無しさん:2005/09/03(土) 19:08:40
cmd /c javac hoge.java
もおすすめすとくよ
pauseのほうがいいかも、閉じるの手間ないし
675デフォルトの名無しさん:2005/09/03(土) 21:43:57
JFreeChartについて詳しく説明してあるサイトor書籍を詳解してください。エロイ人たち!!
676デフォルトの名無しさん:2005/09/03(土) 21:55:58
検索すればいっぱい引っかかるのだが
それで物足りなければ、sampleソース追うしかないよな
これ以上何を詳しく知れと・・・
677デフォルトの名無しさん:2005/09/03(土) 22:02:19
>>675
オフィシャルで英文PDF売ってるよ
半年ぐらい前買ったけど4000円ぐらいだった
詳解ってほどではなかったな
へなちょこサイトよりはましな程度
678デフォルトの名無しさん:2005/09/03(土) 22:04:39
その「エロイ人」とかいうのやめれ
出づらい
679デフォルトの名無しさん:2005/09/03(土) 22:10:59
>>676-678
エロイ人たちアリガトウ!
680デフォルトの名無しさん:2005/09/03(土) 22:11:53
>>679
何で俺がいまビデオDLしているってバレるのか・・・
681デフォルトの名無しさん:2005/09/03(土) 23:52:11
詳しくは無いですがエロいので来て見ました
682デフォルトの名無しさん:2005/09/04(日) 00:07:19
今日からビシバシ勉強して
JAVAマスターになります。 そこで質問なんですがプログラム初心者で
数学も苦手な僕がマスターになるには何週間必要でしょうか?
マジレスでお願いします。がんばりますから。
683デフォルトの名無しさん:2005/09/04(日) 00:53:25
>>682
ざっと見て100週間ぐらい。
684デフォルトの名無しさん:2005/09/04(日) 00:57:01
初級者になるまで100時間、中級者になるまで200時間
合計300時間必要です

初級者の間に読破すべきはこの2冊
http://www.amazon.co.jp/exec/obidos/ASIN/4774119776/
http://www.amazon.co.jp/exec/obidos/ASIN/4797329734/
さらにJavaWorldを定期購読するとより良いです
http://www.javaworld.jp/media/
685デフォルトの名無しさん:2005/09/04(日) 01:15:35
>>683
長すぎます。

>>684
ありがとございます。とりあえずお金がないのでブクオフで
アスキー出版のJAVAプログラミング講座 日本サンマイクロシステムズ
株式会社 サン・サービスエデュケーション部(3200円)1996年10月11日発行を
105円で買いました。

自分の使ってるJDKは最新版なので些か不安ではありますが
特に問題ないでしょうか? 月末に給料が入ったらおすすめいただいた本を
購入してみたいと思います。
686683:2005/09/04(日) 01:18:48

   ||
 Λ||Λ
( / ⌒ヽ
 | |   |
 ∪ 亅|
  | | |
  ∪∪
   :     マジレスだったのに。。
   :

 ‐ニ三ニ‐
687デフォルトの名無しさん:2005/09/04(日) 01:24:07
        ======     
            || ノ(´ 
             ヽ <       o
            ||  ゛ ` 
            || ドサ !! 
         Σ  ||   ∩  
         ⊂('A`⊂_ノ⊃    
           ゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 
 ∫ ∫                 ikiro
  ∬∫    _  ())二) ))A`) 、
   @ニ===)二二ニニ)""゙ヽ,  、,,, 
       ^ ̄" フ\''|ノ=ノ ̄,〇、,,ノ  ~ヽ 
           _/  \_
688デフォルトの名無しさん:2005/09/04(日) 01:24:33
おいおい
プログラム初心者からJavaマスターになるのに100週間って短すぎるだろ
689デフォルトの名無しさん:2005/09/04(日) 01:27:27
「がんばる」って書いてるから。。
690デフォルトの名無しさん:2005/09/04(日) 01:29:45
文字列の中の特定の文字(正規表現で表す文字)に対してその文字の前後に新たに文字を挿入したいのですが
どのように書けばいいかわかりません。

"あいうえお"という文字列の「うえ」の前後にhogeという文字を挿入する、というようなことをしたいです。
"あいうえお"→"あいhogeうえhogeお"

replaceAll等のメソッドではその文字列を丸ごと置換してしまうので前後に挿入ということができず、
splitで分割してstring[]に入ったものにappendするというのも考えたのですが、
正規表現を使いたいのでこれもうまくできず・・・。

どうかいい方法は無いでしょうか?
よろしくお願いします。
691デフォルトの名無しさん:2005/09/04(日) 01:31:26
「うえ」→「hogeうえhoge」で置換してもダメなのか?
692デフォルトの名無しさん:2005/09/04(日) 01:33:11
>691
たぶん「あい」と「お」に挟まれた「うえ」を「hogeうえhoge」に換えたいということじゃないのかなあ。
693デフォルトの名無しさん:2005/09/04(日) 01:36:05
じゃあ「あいうえお」→「あいhogeうえhogeお」で終了だな
694690:2005/09/04(日) 01:38:09
>>691
置換したい文字列が常に一定の文字列ならそういったことも可能ですが、
正規表現で文字列を表したいので、そういったことができないんですよね・・・。
695デフォルトの名無しさん:2005/09/04(日) 01:45:49
いっちょまえに正規表現云々ぶっこいてんじゃねーよ
てめーの提示する条件が少なすぎるんだよ、そんなこともわからんのかボケが
「"あいうえお"→"あいhogeうえhogeお"」の1パターンから何をどう読みとれっつーんだよ
欲しい答えが返ってこないのはお前の質問のせいだ
Javaなんかより質問の仕方を勉強しろゲリミソ
696デフォルトの名無しさん:2005/09/04(日) 01:45:53
つ group
697デフォルトの名無しさん:2005/09/04(日) 01:48:42
695氏が怖いんですけど・・
698デフォルトの名無しさん:2005/09/04(日) 01:49:16
むべなるかな
699デフォルトの名無しさん:2005/09/04(日) 01:50:28
いらいらしてる695がいるスレはここですか?
700デフォルトの名無しさん:2005/09/04(日) 01:52:14
「あい.*うえ.*お」→「あいhogeうえhogeお」
701デフォルトの名無しさん:2005/09/04(日) 01:52:54
695は正しいと思うよ
702デフォルトの名無しさん:2005/09/04(日) 01:54:41
エスパーな俺が結論を予言してやろう
正規表現一発で置換は不可能
703690:2005/09/04(日) 01:57:39
なんかスレ荒らしみたいになっちゃってすいません・・・。
言いたいことは、正規表現でマッチした部分の文字列の
前後に文字を挿入したいということです。

正規表現でマッチした部分の文字列を取り出せればいいんですが。。。
704デフォルトの名無しさん:2005/09/04(日) 02:02:08
java.util.regex.Pattern#splitで得られた値を
java.lang.StringBuffer#appendすればいいのでは?
705デフォルトの名無しさん:2005/09/04(日) 02:16:27
>>703
Commonsさん家のORO使え。
ORO:Perl5互換の性器表現ライブラリー
706デフォルトの名無しさん:2005/09/04(日) 02:17:50
String str = "あいうえお";
Matcher m = Pattern.compile("(うえ)").matcher(str);
StringBuffer sb = new StringBuffer();
while (m.find()) m.appendReplacement(sb, "hoge" + m.group(1) + "hoge");
m.appendTail(sb);
str = sb.toString();
707デフォルトの名無しさん:2005/09/04(日) 02:19:56
>>706
うは、お前激エロっ
なんでそんな激エロなん?
708690:2005/09/04(日) 02:30:24
>>706
ありがとうございました。
それで動かしてみます。
こんな時間にどうもすいませんでした。
709デフォルトの名無しさん:2005/09/04(日) 02:30:44
>>706はJavadoc見るかぎり
String str = "あいうえお";
str.replaceAll("(うえ)", "hoge$1hoge");
でもいけるはず。

ということはもしかしたら
str.replaceAll("うえ", "hoge$0hoge");
でもいけるかもしれない。
710デフォルトの名無しさん:2005/09/04(日) 03:09:16
//hoge.java
String static void main(String []args) {
String purintln = "HELLO JAVA!";{
}
}

はじめて何も見ずに書いてみたんだけど添削よろしくです。
711706:2005/09/04(日) 03:37:34
>>709
$nつかえたんだ。じゃあそれでよさげだな。
712デフォルトの名無しさん:2005/09/04(日) 03:39:22
>>710
おつかれさん。

//Hoge.java
public class Hoge{
public static void main(String []args) {
System.out.purintln("HELLO JAVA!");
}
}
こうかな。
713デフォルトの名無しさん:2005/09/04(日) 03:40:49
ごめん間違ってた。
public static void main(String []args) {

public static void main(String[] args) {
ね。
714デフォルトの名無しさん:2005/09/04(日) 03:41:38
ごめん間違ってた。
System.out.purintln("HELLO JAVA!");

System.out.println("HELLO JAVA!");
ね。
715デフォルトの名無しさん:2005/09/04(日) 04:26:33
性器表現で痴漢?
716デフォルトの名無しさん:2005/09/04(日) 09:06:28
100週間(約2年)でJavaマスターになれたらすげえな・・・
会社はJavaの神様集団になれる。
717デフォルトの名無しさん:2005/09/04(日) 09:25:56
>>716
休みなしかよwww
718デフォルトの名無しさん:2005/09/04(日) 10:06:09
なぁ、Javaって実行するマシンにメモリを何GB積んでも、
通常使われるのは64Mまでって本当?

俺の会社でJavaやってるプロジェクトがサーバにメモリを2GB積んだけど、
パフォーマンス上がらないって言ってたんだけど、
これって、起動時のオプションで -Xmx で指定しないといけないってこと?
719デフォルトの名無しさん:2005/09/04(日) 10:14:33
>>718
本当。ただしIBM製のJREは賢いからそんなん意識せんでもいいらしい。
720デフォルトの名無しさん:2005/09/04(日) 10:16:39
>>718
> これって、起動時のオプションで -Xmx で指定しないといけないってこと?
そういうこと。
自分でメモリの使用量の上限を決められる。
721デフォルトの名無しさん:2005/09/04(日) 10:22:12
-Xmxを埋め込むなら特に理由が無ければ-Xmsも同値に設定しといたほうがいいね
メモリ確保する必要が無くなって実行中は滑らかになる
722デフォルトの名無しさん:2005/09/04(日) 10:32:06
>>716
会社で業務に使いながら学習する場合の二年間と
Javaマスターになることに集中して学習する場合の二年間では
全く話が違ってくると思いますよ
723デフォルトの名無しさん:2005/09/04(日) 11:03:19
業務の中で起こるいろいろな問題への対応と解決を身につけてこそJavaマスター。
724デフォルトの名無しさん:2005/09/04(日) 11:08:32
ならばJNIを使わなくてはならないときもあるわけで
C++をも知っていてこそJavaマスターというわけだな
725デフォルトの名無しさん:2005/09/04(日) 11:12:33
>>724
凄い馬鹿がいるね
726デフォルトの名無しさん:2005/09/04(日) 11:14:15
>>725
何が違っているのか説明してくれないか
727デフォルトの名無しさん:2005/09/04(日) 11:22:20
>>726
>>724の出生がそもそもの過ち
728デフォルトの名無しさん:2005/09/04(日) 11:24:24
>>727
答えになっていないお前の存在がそもそもの過ちということだな
729デフォルトの名無しさん:2005/09/04(日) 11:24:35
>>724
そこもJavaプログラマの仕事の範囲だと思っているところ。
730デフォルトの名無しさん:2005/09/04(日) 11:29:37
「ボクの仕事じゃありません」と逃げようとする無能さ
731デフォルトの名無しさん:2005/09/04(日) 11:29:42
実際仕事の範囲なんだけどな。
732デフォルトの名無しさん:2005/09/04(日) 11:35:29
ロールが明確になっていない糞プロジェクトしか経験できない哀れさ。
733デフォルトの名無しさん:2005/09/04(日) 11:38:23
新人でもできるような低レベルな安い仕事しか回ってこない悲しさ
734デフォルトの名無しさん:2005/09/04(日) 11:44:05
JNIが一ヶ月経っても習得できないJava屋は見たことある
あいつら公式のリファレンスも読まないのな
735デフォルトの名無しさん:2005/09/04(日) 12:07:07
Javaマスターというのを仕事から切り離して考えられない人がいるみたいね
736デフォルトの名無しさん:2005/09/04(日) 12:11:09
SQLとかXMLとかさすがにしらないとお話にならないだろ

JavaマスターとかいいつつSQLインジェクションだしてるとかはさすがにな
737718:2005/09/04(日) 12:23:13
>>719
IBM製のJREやJDKだけど、Windows用のが見つからないんだけど・・・
AIXとかLinuxとかz/OSとかは見つかったんだけど。

サーバはLinuxとかだからいいんだけど、開発するときはWindowsだから
ローカルにJDK欲しいんだけど、どうすればいいの?

昔、Java2とかが出たときとかは普通にダウンロードできたはずなんだよね・・・

それと、BEAのJDKはどうなの?
Webシステムだとパフォーマンスがいいというのを、
何かの記事なりでSUNとIBMとのベンチマークとかで比較して出てたんだけど、
BEAのは賢くないのかなぁ?

>>720
了解した。
738デフォルトの名無しさん:2005/09/04(日) 12:23:38
>>735
だって仕事じゃなきゃこんなのやってられない。

>>736
そこは常識的に考えてその通りだと思う。
しかも、その弱点を知った上でO-Rマッピングツールを使いこなすところまで行って欲しい。
739デフォルトの名無しさん:2005/09/04(日) 12:30:05
>>737
開発はSunのJDKじゃダメなの?
IBM独自機能(があるのかどうか知らんけど)を使ってるとかで
開発時もIBMじゃないと不都合なの?
740デフォルトの名無しさん:2005/09/04(日) 12:33:09
>>739
メモリの問題で、IBMのJDK/JREが賢いのなら、
実行環境だけでなくてもIBMのを使ったほうが得策なのでは?という事です。
741デフォルトの名無しさん:2005/09/04(日) 12:34:05
>>738って絶対最近Java始めたばかりだろ…?
742デフォルトの名無しさん:2005/09/04(日) 12:42:27
>>741
Javaは1998年から業務でやってるけど・・・?
743デフォルトの名無しさん:2005/09/04(日) 12:43:04
出た出たw
744デフォルトの名無しさん:2005/09/04(日) 12:44:15
>>742
あーあ
745デフォルトの名無しさん:2005/09/04(日) 12:46:24
>>742
すごいバカっぽいのがいるね
746デフォルトの名無しさん:2005/09/04(日) 12:48:01
一番やっちゃいけないレスをやりやがった。
アホか742は
747デフォルトの名無しさん:2005/09/04(日) 12:49:45
>>742 の言ってることが脳内だったらまだしも本当だとしたら
長いことやっててもダメな人はダメだっていう好例になっちゃってますな
748デフォルトの名無しさん:2005/09/04(日) 12:53:55
>>741,743-747は同一人物のレスだろ。なぜ>>742がそうなのか俺にも教えてくれよ。
749748:2005/09/04(日) 12:56:21
部下がJavaを始めて2年でセキュリティも意識しつつ、O-Rマッピングフレームワークを使いこなせてくれたら嬉しいけどな、俺は。
750デフォルトの名無しさん:2005/09/04(日) 12:56:26
>>742
カワイソス
751デフォルトの名無しさん:2005/09/04(日) 13:03:26
IBMのJREの機能はうわさが先行してるな
ダウンロードのために会員登録みたいなのが必要だから誰も落とさない
752デフォルトの名無しさん:2005/09/04(日) 13:04:31
1.3時代はたしかに効率よかったけど1.4からはどっちもどっちだし
積極的に選ぶ理由もないな
753718:2005/09/04(日) 13:07:10
>>751>>752
という事は、JDK・JREは何でも良く、パフォーマンスに問題があるなら、
実行時に適切にメモリ使用量を指定せよという事で良いのでしょうか。
754デフォルトの名無しさん:2005/09/04(日) 13:07:17
javaなんか文法かんたんなんだからすぐ覚えろよ
755デフォルトの名無しさん:2005/09/04(日) 13:07:52
>>754
文法なんて誰も問題にしていないと思うぞ。
756718:2005/09/04(日) 13:10:14
って、1つだけ思ったんだけど、システムにIBM製品使ってる場合って大丈夫?

というのは、IBMってWindowsのShift-JISってWindows-31JやMS932、CP932じゃなくて
CP943の方だよね?

他のJDKって対応してるのかなぁ・・・
757745:2005/09/04(日) 13:14:32
>>748
同一人物じゃないよ

>>742 みたいなのは何の説得力もないどころか
無駄に荒れるだけだから「すごいバカっぽいの」と評した
758デフォルトの名無しさん:2005/09/04(日) 13:16:02
>>749
論点ズレてるよ
バカがずらした論点の方に意識を引っ張られちゃダメだよ
759デフォルトの名無しさん:2005/09/04(日) 13:18:23
javaすらマスターできないアホはVBやっとけ
760デフォルトの名無しさん:2005/09/04(日) 13:24:28
//hoge.java
public class HOGE{
public static void main(String[] args){
System.out.print("ほげほげ");
System.out.println("HOGEHOGE");
String s1 = "ほげー";
String s2 = "JAVA";
String s3;
System.out.println("ほげほげ" + s1);
System.out.println("HAGEHAGE" + s2);
s3 = s1 + s2;

添削お願いします。
761デフォルトの名無しさん:2005/09/04(日) 13:27:43
>>760
100点。
762デフォルトの名無しさん:2005/09/04(日) 13:45:45
public static void ばか
763デフォルトの名無しさん:2005/09/04(日) 13:51:59
たくさん釣れたね
764デフォルトの名無しさん:2005/09/04(日) 13:54:22
>>737
単独で配布されているJREはIBMの製品にしかインストールできないようプロテクトが
かかっている。WindowsのJDKはSunとの契約上単体で配布ができないので
Eclipse3.0と抱き合わせで配布されている。どちらもAIXやLinuxと同じ
ところからリンクがはられているはずだが。

ところでIBMのJREは1.4の後期型から、Sunのコードを含まない完全にオリジナル
なVMも同梱されていてオプションで切り替えられる。整数演算がそれ以前のSun + IBM JIT
より速かった。でもデフォルトで有効になっていないからあまり知られていない。
765デフォルトの名無しさん:2005/09/04(日) 13:57:27
クラス名の前にpublicってつけるときはファイル名とクラス名を同じにする
クラス名は単語ごとの最初の文字は大文字で後は小文字にするのがルール

//hoge.java→Hoge.java
public class Hoge{
  public static void main(String[] args){
    System.out.print("ほげほげ");
    System.out.println("HOGEHOGE");
    String s1 = "ほげー";
    String s2 = "JAVA";
    String s3;
    System.out.println("ほげほげ" + s1);
    System.out.println("HAGEHAGE" + s2);
    s3 = s1 + s2;
  }//カッコの閉じ忘れに注意
}//カッコの閉じ忘れに注意
766デフォルトの名無しさん:2005/09/04(日) 13:57:34
>>742は、>>741の何の根拠もないレスに釣られてマジレスしてしまうところがアフォなんだな。
767デフォルトの名無しさん:2005/09/04(日) 13:58:52
今更O-Rマッピングどうのと声高らかに言われてもなw
768デフォルトの名無しさん:2005/09/04(日) 14:05:27
>767 100週間目のエンジニアには充分だろ。
769デフォルトの名無しさん:2005/09/04(日) 14:15:21
IBM製、SUN製同じバージョンついてるのは両方入れないほうがいいぜ!
昔コンパネいかれた
770デフォルトの名無しさん:2005/09/04(日) 14:27:46
>>769
つーかそもそも開発ターゲットを開発・テストするためのJDK/JREと、開発
に使っているマシンのpublic JREを混ぜることじたいがやっちゃいけないことだよな。
#アプレットのデバッグ時にIE + Java pluginを使わなきゃいけない場合とか例外はあるけど。
771デフォルトの名無しさん:2005/09/04(日) 14:27:47
>>765
ありがとうございます。終了カッコをよく忘れるので
注意します。 
772taka:2005/09/04(日) 15:19:52
VS.NET2003をインストールしたいんですが手元に
どのソフトがあればインストールできるかわかりますか?


773デフォルトの名無しさん:2005/09/04(日) 15:44:08
Windows XP
774デフォルトの名無しさん:2005/09/04(日) 15:52:38
>>772
> どのソフトがあればインストールできるかわかりますか?

わかります。以上。帰れ。
775デフォルトの名無しさん:2005/09/04(日) 15:58:46
Javaでのメリットを教えてください。

というのは、社内の会議にて”Javaで開発するメリットは何か?”という経営者の質問に
答えられませんでした。

よく言われているのは初期導入コストが抑えられるというもの。
しかし、大規模開発で使われる場合、Javaでの開発といっても、
OSは商用UNIX、サーバも倉庫に眠ってるような古い物ではなく、
新規に購入して、メモリなども増やしお金が掛かる。
更には、APサーバもIBMなどの商用の物を使用し、DBもOracleなどを使う。
更に、システムの稼働率を上げるためにクラスタ構成やホット/コールドスタンバイ方式を取る。

こういった場合、Windows+.NETで開発した場合とのコスト面での差が殆ど無い。
さらに、メンテナンスという面を考えるとWindowsOSの方がユーザでも扱えるために
運用コストも抑えられる。

それなのに、なぜJavaが大規模開発などで企業に採用されるのでしょうか?
776デフォルトの名無しさん:2005/09/04(日) 16:02:11
JAVAはプログラム言語のチャンピオンだから。
777デフォルトの名無しさん:2005/09/04(日) 16:04:04
>>775
初心者でも糞質問でも大歓迎だけど
おまえの質問には愛がないよ。 経営者だろうが
横っ面ひっぱたいてJavaの良さを語れないようじゃ
Javaを使う資格なし。
778デフォルトの名無しさん:2005/09/04(日) 16:04:05
>>775
言語仕様でバグが内在しにくいから。
CはNullPointerExceptionなんて投げないでしょ。
779デフォルトの名無しさん:2005/09/04(日) 16:05:51
>>778
C#は投げるよ
780デフォルトの名無しさん:2005/09/04(日) 16:07:20
>>775
何と何をどういう観点で比較してるのか自分の中で整理したらどうか
とりあえず貴方の頭の中が全然整理されてないことがよくわかった
781デフォルトの名無しさん:2005/09/04(日) 16:08:21
>>779
ならC#でいいね。でもIISは怖いからApacheで頼むよ。
782デフォルトの名無しさん:2005/09/04(日) 16:11:19
>>781
世の中で公開されているIISのサーバが特に問題無く動いているのに、
なんでIISは危険でApacheは安全なのだろう?

問題はサーバ管理者が管理してるかどうかの違いだけなんじゃ・・・
783デフォルトの名無しさん:2005/09/04(日) 16:12:41
Apache遅いだろ
IISのほうが速い
784デフォルトの名無しさん:2005/09/04(日) 16:17:02
>メンテナンスという面を考えるとWindowsOSの方がユーザでも扱えるために
これはある意味危険でもある、諸刃の剣だから気をつけろよ。
鯖とクライアントOSの区別もつかないDQNユーザも多いからな。

>>783
逆だろ
785デフォルトの名無しさん:2005/09/04(日) 16:17:49
Win + IIS でJavaという手もあるけどな。
786デフォルトの名無しさん:2005/09/04(日) 16:20:42
Apacheというわけじゃないんだけど、IBMだろうとBEAだろうとAPサーバの質が悪いよな。

高負荷が掛かった場合、APサーバとか容赦無く落ちるけど、
IISの場合ってワーカープロセスが再起動して落ちることは無くなる。

ワーカープロセスが再起動されるとセッション情報とか消えちゃうんだけど、
セッション情報は別サーバとか別のDBサーバとかで管理させれば、問題無いし。

俺も正直、Javaとかで大規模システム作るメリットが分からない。
最近は、仕事でも客に.NETを進めてるよ。
単価は確かにJavaの場合より低くなるけど、開発期間自体も短くなるので問題無い。
(見積上はJavaでの開発と同じぐらいの工数取るし)

それに企業も短期間での開発を求めてるから、短期間での案件を多数こなさないと
俺らも利益にならない。

.NETでさっさと開発して次の案件に取り掛かる。
既に書いたようにJavaと同じぐらいの工数取ってるから、同時に2プロジェクト進行とか普通にできるし。
787デフォルトの名無しさん:2005/09/04(日) 16:23:51
>>784
でも、そんなもんじゃない?

俺の場合なんて、客先が事務所引越しとか停電とかで金曜の夜にサーバの電源落としたいって事で
電話が来たんだけど、Linuxの使い方が分からないからサーバ落とせないっていうんだよね。
しかも、週明けに立ち上げたときに動かないと仕事にならないから、
金曜の夜と月曜の朝、立ち会ってくれって依頼が来たよ。

その会社・・・山口県なんだけど、俺は東京勤務。
金曜の夕方から月曜の昼まで土日挟んで山口まで出張って事あったよ・・・
788デフォルトの名無しさん:2005/09/04(日) 16:24:44
>WindowsOSの方がユーザでも扱えるために
極端な話をすると
ユーザが扱えないほうがいいんですよ
管理の仕事が減らないので・・・
これはどこの現場でも言われている事実
しかし、あまりにも難しい構成にしてしまうと
逆に今度は一部の開発者しか扱えなくなってしまう(皆が優秀とは限らないからね)
789デフォルトの名無しさん:2005/09/04(日) 16:27:41
>>784
>>783
>逆だろ

すいませんマジで負荷テストしたことあります?
Apacheはレスポンス遅いですよ
というより、IISが速いといったほうがいいでしょうね・・・
IISがOSにどのように組み込まれているか考えれば分かるでしょ
Apacheはただ単に載っているだけなので・・・
TUXサーバはIISと同じような構成で速いが実用的ではない
790デフォルトの名無しさん:2005/09/04(日) 16:30:36
>>788
正直言って、疑問なんだけど?

納品したシステムをいつまでの面倒見てるの?
それって、当然費用が発生するよね?

客にとっても開発側にとっても、開発して納品したシステムは、
安定稼動した時点で、運用は開発側からユーザ側に移行しないと
運用コストかかって仕方ないし、開発側もいつまでたってもシステムから離れられないしで
何のメリットもないよね。
791デフォルトの名無しさん:2005/09/04(日) 16:33:25
>開発側もいつまでたってもシステムから離れられないしで 何のメリットもないよね。
通常保守5年契約です

「開発側もいつまでたってもシステムから離れられないし」
↑これをプラスかマイナスと考えるかは会社の方針次第じゃないの?
相手が大手なら、引き続き他の仕事もらえるしね
792デフォルトの名無しさん:2005/09/04(日) 16:33:54
Windows XP プロフェッショナルじゃなきゃ試すことができない
しかも運用となると2003鯖とかいうの買わなきゃいけないんだろ?
793デフォルトの名無しさん:2005/09/04(日) 16:35:06
いや、おれMSの開発事情は知らないから
794デフォルトの名無しさん:2005/09/04(日) 16:36:14
> IISの場合ってワーカープロセスが再起動して落ちることは無くなる。

ここはクラスタリングで対処かな。

鯖そのものの信頼性はUNIXが一枚上だし。
Windowsはパッチ適用やら何やらで何かとOS丸ごと再起動が必要なのがイヤ。

> ワーカープロセスが再起動されるとセッション情報とか消えちゃうんだけど、
> セッション情報は別サーバとか別のDBサーバとかで管理させれば、問題無いし。

この辺はJavaでも同じじゃない?

795デフォルトの名無しさん:2005/09/04(日) 16:37:49
>>791
そうか?
開発者側がシステムを見ていないと使えないシステムってだけだろ

>>792
Javaも運用考えると商用UNIXとか使ってるけど、これもお金出して買わないといけないんだよね?
796デフォルトの名無しさん:2005/09/04(日) 16:40:07
>>794
問題が違うよ。

IISは落ちること無く、高負荷が掛かると再起動される。
JavaとかのAPサーバの場合は落ちる。

この場合、クラスタリングで対応しても、徐々にAPサーバが落ちるだけで意味が無い。
確かに、UNIXの場合はOS毎持っていかれるという事は滅多にないから、
安定してると言えるけど、システムが動かない時点でどっちも変わらない。
逆に、変にOSだけ動いてる分だけ発見が遅れる原因にもなる。
797デフォルトの名無しさん:2005/09/04(日) 16:40:47
つうかAPサーバっていうかJavaのもともとの仕様による問題かもしれないのですが
クラスファイル入れ替えとかしたら、APサーバ再起動あるいは、再デプロイが必須だと思うんだけど
お客さんによく「再起動無しで出来ないの?」とか言われます
リソースファイル変更の場合はstaticフィールドにもっちゃってるのでAPサーバ再起動 or アプリ再デプロイしないと無理だろうし・・・
798デフォルトの名無しさん:2005/09/04(日) 16:42:15
ヒント:Solaris 10
799デフォルトの名無しさん:2005/09/04(日) 16:43:18
ASP.NETはホットコード(?)に失敗はしないの?
EclipseでTomcatやってるとたまに言われるんだけど
800デフォルトの名無しさん:2005/09/04(日) 16:46:31
>>799
ASP.NETでホットコードの失敗ってあまり聞いたことないんだけど?

というか、コードの更新が行われた場合、IISというかASP.NETのワーカープロセスは再起動されるし。
801デフォルトの名無しさん:2005/09/04(日) 16:47:22
なんだホットコードって
802デフォルトの名無しさん:2005/09/04(日) 16:48:55
>>797
アプリのみ再読込できない製品なんてあるの?
Tomcatでさえサーバの再起動やアプリの再デプロイ無しでアプリのみの再読込や再起動ができるよ。
803デフォルトの名無しさん:2005/09/04(日) 16:49:30
>>797
> リソースファイル変更の場合はstaticフィールドにもっちゃってるので
ヒント:クラスローダの階層構成
804デフォルトの名無しさん:2005/09/04(日) 16:49:48
だから再デプロイって書いてあるだろ
805デフォルトの名無しさん:2005/09/04(日) 16:50:03
ホットコード・リプレースとかホットコード・アクティベーションのことじゃない?

つまり、コードの修正とかがあった場合、システムを停止させる事無く、
修正のあった部分を更新させる機能。
806デフォルトの名無しさん:2005/09/04(日) 16:50:35
>Tomcatでさえサーバの再起動やアプリの再デプロイ無しでアプリのみの再読込や再起動ができるよ。
どこにそんな機能があった?あったけそんなの?
807デフォルトの名無しさん:2005/09/04(日) 16:51:29
>>799
再読込や再起動無しならそうだろうね。

>>800
>コードの更新が行われた場合、IISというかASP.NETのワーカープロセスは再起動されるし。
逆に、それはセキュリティ上の問題は発生しないの?
コードが置き換えられたら問答無用で反映されてしまうってこと?
808デフォルトの名無しさん:2005/09/04(日) 16:51:50
「reloadable=true」とかいう
実運用では通常使わない設定のことを言っているのだと言ってみるテスト
809デフォルトの名無しさん:2005/09/04(日) 16:52:26
>>799
それはデバッグモードで起動したJavaプロセスをEclipseが捕まえてるから。
ここでその議論に加わるにはもう少しお勉強してね。
810デフォルトの名無しさん:2005/09/04(日) 16:53:33
>>808 無知だな。そんな設定じゃなく、Tomcatには任意にリロードできる機能があるんだよ。
811デフォルトの名無しさん:2005/09/04(日) 16:53:58
>>806
再起動はできるじゃん。

managerの画面だっけ?
あそこで配置されてるアプリを停止させたり再起動させたり、WARファイル指定してデプロイさせたりできるじゃん。

でも、再デプロイ無しで読み込ませる方法はしらね。
Javaの場合、JSPとか更新した場合、再デプロイしても偶に変更されなくて、
コンパイルされてるファイルを手動で削除したりしてたしなぁ・・・
この部分、どうにかならないかなぁ。
812デフォルトの名無しさん:2005/09/04(日) 16:54:04
>>806
Tomcat Manager App からもそれらの機能は使える。
813デフォルトの名無しさん:2005/09/04(日) 16:54:53
そのリロードは、static final フィールド(staticのみではない)もちゃんと更新してくれるの?
814デフォルトの名無しさん:2005/09/04(日) 16:55:02
>>811
> でも、再デプロイ無しで読み込ませる方法はしらね。
TomcatManagerで再起動と再読込のどちらもできる。
815デフォルトの名無しさん:2005/09/04(日) 16:55:33
>>811、812
だからそれって再デプロイのことだろが!
816デフォルトの名無しさん:2005/09/04(日) 16:55:58
>>809
へぼいネタで上級者ぶるなよ、厨ここに極まれりだな
817デフォルトの名無しさん:2005/09/04(日) 16:56:02
>>813
ヒント:クラスローダ
818デフォルトの名無しさん:2005/09/04(日) 16:56:10
>>807
コードが置き換えられた事による反映はセキュリティと関係ないでしょ。

問題は、無関係の奴とかがコードの更新ができるかどうかがセキュリティ上の問題で、
これは.NETとかJAVAとか関係無い事だと思うぞ。
819デフォルトの名無しさん:2005/09/04(日) 16:57:31
Tomcatのadminが別配布になったのは何で?
820デフォルトの名無しさん:2005/09/04(日) 16:58:00
>>815
再デプロイと再起動を同じに考えちゃだめ。

再デプロイは再デプロイ。
再起動は再起動。

どっちもできる。
821デフォルトの名無しさん:2005/09/04(日) 16:58:13
起動 停止 再ロード 配備解除
ってあるけど
再ロードの動作を説明してください
再ロードは再読み込みなのか、再デプロイのことなのか・・・

>TomcatManagerで再起動と再読込のどちらもできる。
そんなに選択肢ないと思うけど・・・
822デフォルトの名無しさん:2005/09/04(日) 16:58:18
>>815
再デプロイと再読込の違いがわからないのか?

>>816
逆だろ。あまりにヘボ過ぎるから上級者でもない奴からああいうレスがつく。
823デフォルトの名無しさん:2005/09/04(日) 16:59:23
>>820
ってことは
やっぱ「再読み込み」なんていうものは出来ないって事ですね
だれだうそ教えたのは
824デフォルトの名無しさん:2005/09/04(日) 16:59:42
>>819
別に要らないから。

手動でXMLファイルを弄れば同じ事が出来る。
それを画面上から出来るようになってるだけ。

下手に画面としての機能を用意すると、リリースしたときに設定ミスとかすると、
ユーザに使われちゃう場合もあるから、別配布。
825デフォルトの名無しさん:2005/09/04(日) 16:59:49
再ロードは再読込。ドキュメントぐらい読めよ。
再起動は、正確には停止+起動。
826デフォルトの名無しさん:2005/09/04(日) 17:00:44
>>823
再デプロイと再起動と再読込ぐらい区別しろよな。
827デフォルトの名無しさん:2005/09/04(日) 17:02:26
「再ロードは再読込」
最ロード中のアクセスはどうなるの?待ち?それとも破棄なの?
828デフォルトの名無しさん:2005/09/04(日) 17:04:19
>>826
なぜそういう言い方をしたか教えてあげよう
>>820の説明最後に
「どっちも出来る」とかいてある
この「どっちも」にかかる言葉は820の説明上では
「再デプロイ」と「再起動」
つまり「再読み込み」は出てこない

わかるね、あの時点で俺の言いたかったこと
829デフォルトの名無しさん:2005/09/04(日) 17:06:41
再ロード=停止→起動 じゃないのか?
だったら何も変わらないと思うが・・・
830デフォルトの名無しさん:2005/09/04(日) 17:07:29
結局ASP.NETもJavaも再起動するんだな?
831デフォルトの名無しさん:2005/09/04(日) 17:07:54
>>830
する。
832デフォルトの名無しさん:2005/09/04(日) 17:07:58
ちなみにここでいう
停止→起動
はTomcatではなく
起動 停止 再ロード 配備解除
の並びのやつね
833デフォルトの名無しさん:2005/09/04(日) 17:08:27
ますます、.NETとJAVAの差が分からないな。
834デフォルトの名無しさん:2005/09/04(日) 17:10:29
>>833
むしろ融合すればいいのに
835デフォルトの名無しさん:2005/09/04(日) 17:11:11
調べる量が少なくなるという意味では.NETが優勢か
リソース管理が下手とかも無いんでしょ?
836デフォルトの名無しさん:2005/09/04(日) 17:11:53
最近クラスローダ関係の話になると、以前より詳しい奴が出てくるようになっているけど
JavaWorldとかJPで特集でもやったのかなぁ・・・
837デフォルトの名無しさん:2005/09/04(日) 17:14:41
>リソース管理が下手
Javaは下手なんすかねぇ
838デフォルトの名無しさん:2005/09/04(日) 17:18:49
>>837
下手じゃん。

というか、OSとかを選ばないというのが売りの1つだから、
それぞれのOS用に開発したとしても、一部だけコードが違って殆どは共通。
まぁ、そうじゃないと開発に時間がかかるから仕方ないんだけど、
だからこそそういったものが下手。

WindowsOSで動くことしか考えてなくて、それに特化したものを作ってる以上、
.NETの方がリソース管理が上手くて当たり前。
839デフォルトの名無しさん:2005/09/04(日) 17:20:35
伸びてると思ったら、なんだこの流れ
840デフォルトの名無しさん:2005/09/04(日) 17:21:31
>>838
それは下手という言い方をしていいのだろうか
かなりニュアンスが違うんだが
841デフォルトの名無しさん:2005/09/04(日) 17:22:20
>>839
最初から居るくせによく言うよ
842デフォルトの名無しさん:2005/09/04(日) 17:23:03
XML_Schema を読み込む時の方法について質問があります。
目的は、文字列としてきたXMLをパーサーにパースさせる、です。


引数の requestXml は、↓のように文字列として来ます。
<?xml version="1.0" ?><request xmlns='C:/xmlRpc/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='C:/xmlRpc/ test.xsd' >・・・以下略



public static void validateXml(String requestXml) {
  〜 省略 〜
  InputStream in = WebUtil.convertXmlStr2XmlInputStream(requestXml);

  // XML解析
  parser.parse( in, saxHandler);
}


上のように、InputStream からSchemaを読み込むと、
 cvc-elt.1: Cannot find the declaration of element 'request'.
と、何故かrequest要素が無いよ、と言われてしまいます。
  parser.parse( "C:/xmlRpc/test.xml",saxHandler );
と、ファイルから直接読み込むと全て正常にSchemaの処理が完了します。
test.xmlの中身は前述のrequestXmlをそのまんまファイルに落としただけのものです。
843俺暴走:2005/09/04(日) 17:24:10
水疱瘡
これどうぞ
あい、これ銅像
844842:2005/09/04(日) 17:25:38
 public static final ByteArrayInputStream convertXmlStr2XmlInputStream( String xmlText ){
  try {
   byte buffer[] = xmlText.getBytes();
   ByteArrayInputStream in = new ByteArrayInputStream( buffer, 0, xmlText.length() );

   return ( in );
  } catch (Exception ex) {
   System.out.println( ex.getMessage() );
   return( null );
  }
 }
845俺暴走:2005/09/04(日) 17:26:04
saxでやっているからでは・・・?
846デフォルトの名無しさん:2005/09/04(日) 17:27:19
これだけ言っても再起動と再ロードを区別できないヤツが大杉qrz
847デフォルトの名無しさん:2005/09/04(日) 17:30:10
>>836
JavaAssistやAPサーバの実装に関する解説が増えてクラスローダに関する
資料が増えた。
それら実装そのものがサンプルにもなるんで一般への認知度と理解度がこ
こ最近で急激に上がってる。
848デフォルトの名無しさん:2005/09/04(日) 17:30:12
>>846
それほど親切な教え方ではないと思うが・・・
(つうか教える側がいろんな奴登場しすぎで混乱もあるが・・・)
うまく教えられないのは、本人の理解も中途半端な事が多い

>再ロード=停止→起動 じゃないのか?
>だったら何も変わらないと思うが・・・
>ちなみにここでいう
>停止→起動
>はTomcatではなく
>起動 停止 再ロード 配備解除
>の並びのやつね
849842:2005/09/04(日) 17:35:11
>>845
・・・もしかしてSAXってファイルから読み込まないとだめなのですか?
XMLの文字列をストリームとして扱う、じゃだめなのですか?
850デフォルトの名無しさん:2005/09/04(日) 17:37:17
質問させてください。

JSPって初回の実行時にサーブレットに変換されてコンパイルされてから実行されますよね?
これを最初からコンパイルさせることって出来ないのですか?

色々調べたところ、URLの後に何かをつけるとコンパイルのみ行うというものがあったのですが、
現実的じゃないですよね?
例えばJSPのファイルが数百個もあった場合、非常に面倒。

何かコマンドのようなもので配置済みのJSPを一括してコンパイルできないでしょうか?
また、最初からコンパイルしてWARファイルなどに含めて、
デプロイする方法ってないでしょうか?
851デフォルトの名無しさん:2005/09/04(日) 17:38:47
ファルも結局ストリームじゃないの
そんなことよりもっとシンプルなXMLで確認してみよう
<requestのなかにnamespaceとかがあるとダメとかそんなことはない?
852デフォルトの名無しさん:2005/09/04(日) 17:39:42
>>841
朝からこんなとこに張り付いて
休日にもっと他にやること無いのか。お前
853デフォルトの名無しさん:2005/09/04(日) 17:40:07
>>847
ホントここ最近だよな>クラスローダ関連

独自のクラスローダを書きたくて昨年調べた時は
http://www.nminoru.jp/~nminoru/java/class_unloading.html
くらいしか情報がなくて難儀した。
まぁ、英語サイトにはもっと昔から情報があったんだろうけど……
854デフォルトの名無しさん:2005/09/04(日) 17:43:02
つうか受け売り連中多いよなここ
855デフォルトの名無しさん:2005/09/04(日) 17:48:27
>>854
あれ?この言葉にグサっときちゃった?止まったよ
856デフォルトの名無しさん:2005/09/04(日) 17:48:49
初心者スレですから
私もあなたも含めてね
857デフォルトの名無しさん:2005/09/04(日) 17:50:04
がははは
858854:2005/09/04(日) 17:52:29
>>856
釣れたwwwwwwwwwwwうぇっwwwwwwwぅえっwwwww
859デフォルトの名無しさん:2005/09/04(日) 17:53:00
>850
できる。
トムキャットでもできるぐらいなのでほとんどのコンテナでサポートしていると思う。
コンテナのマニュアルを参照。
またはant使う。
860デフォルトの名無しさん:2005/09/04(日) 17:54:02
>>853
てことは、次は流れ的にアレとかコレとかが来そうですね・・・
楽しみですわ
861デフォルトの名無しさん:2005/09/04(日) 17:54:49
内容の無い煽りより受け売りのほうがまだまし。
862デフォルトの名無しさん:2005/09/04(日) 17:54:55
>>859
すげー意地悪
典型的だ
863842:2005/09/04(日) 17:55:36
>>851
色々試してみましたが結果変わらず。
そもそも requestXmlの文字列をそのままtest.xmlとして保存した方が正常終了しますから
あまり記述云々で間違っていると思えないのですが・・
864デフォルトの名無しさん:2005/09/04(日) 18:08:42
>>862
じゃあ逆に聞くが、どこまで他人にやってもらえば気が済む?

Tomcatならこのへん、
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jasper-howto.html
Antならこのへん見ろよ
http://ant.apache.org/manual/OptionalTasks/jspc.html
865デフォルトの名無しさん:2005/09/04(日) 18:14:00
>>864
事前コンパイルではあるが、それって、実際に配置するときのコンパイルだよね。

じゃあ、配布前のWARとしてコンパイルして含めるには?
866デフォルトの名無しさん:2005/09/04(日) 18:19:32
864ではないけど
単独でANT起動すればいけそうかなと勝手な予想するが・・・どのみちjavaファイル&classファイルは
Catalina/localhost/名前以下におく必要があるのではないか?
867デフォルトの名無しさん:2005/09/04(日) 18:24:57
>>865
できあがったclassファイルを他のクラスと一緒にWEB-INF/classes以下に配置するか
jarにしてWEB-INF/libに置けばいい。

>>866
ワークディレクトリにあるファイルよりも、個別のアプリのWEB-INF/libの方が優先してロードされる。
さらには、個別のアプリのWEB-INF/classes以下に配備されたクラスがもっと優先してロードされる。
868864,867:2005/09/04(日) 18:27:39
補足すると、コンパイルしてclassファイルができあがったら
どこに配備するかという問題は、JSPコンパイルとは既に無関係。
Servlet仕様に基づく。
869842:2005/09/04(日) 18:55:10
解らん。ボスケテ・・・
870デフォルトの名無しさん:2005/09/04(日) 19:35:20
実行可能なJarファイルの作り方はわかるのですが、引数を与えて実行する方法
がわかりません。どなたかよい参考サイトがありましたら教えて下さい。
(たぶんマニフェストファイルをいじるんでしょうが、よくわからない・・・)
871デフォルトの名無しさん:2005/09/04(日) 19:49:06
class Orz{
public static void main(String[] args){
System.out.println("何を語ってるのかわかんね");
}
}
872デフォルトの名無しさん:2005/09/04(日) 19:54:04
java -jar hoge.jar Hoge 引数
じゃないの?
873デフォルトの名無しさん:2005/09/04(日) 19:57:40
JDKと一緒にJAVADOCって説明書みたいの50メガ近くの圧縮フォルダね。
これ落としたんだけど必要?
解凍してみたらえらいファイルたくさんあるようでしばらくまっても解凍率5%とかだったから
キャンセルしたんだけど展開後は何メガになるんですか?
つーか必要?
874870:2005/09/04(日) 19:58:13
すいません、書き方が悪かったです。

Windowsとかで、jarファイルをダブルクリックして起動することができますよね。
そういった事が可能なようなJarファイルの作り方は分かったのですが(マニフェストファイルとか入れて)
そういった起動をする時に与えるプログラム引数をjarファイルの中にあらかじめ設定しておきたいわけです。

875デフォルトの名無しさん:2005/09/04(日) 20:05:39
>>874
ああーそういうことね
私はそのような方法はないと認識しています
なのでそのようなことがやりたい場合は任意のファイルを一緒にJARして
読み込ませる方法しか思い浮かびません
他の人の意見を待ちます
876デフォルトの名無しさん:2005/09/04(日) 20:15:10
その欠陥は昔から言われてるのに一向に治す気配がないね
透明ウィンドウから間接的に起動するってのが主流?
877デフォルトの名無しさん:2005/09/04(日) 20:15:34
そら引数を与えるように記述したバッチファイルだかexeだか何だかを別に用意するしかねーべ
んなもんJavaに限った話じゃねーべ
878870:2005/09/04(日) 20:25:34
Java Web Startで起動させるアプリケーションに引数が与えられれば
どんな方法でもいいのですが(;´∀`)

透明ウィンドウかの手法を使えばどうにかできそうですね。
879デフォルトの名無しさん:2005/09/04(日) 20:30:45
>透明ウィンドウかの手法を使えばどうにかできそうですね。
あんまやりたくないなぁ

875の方法は
Properties prop=new Properties();
prop.load(Test.class.getResourceAsStream("引数プロパティーファイル名"));
といったところ
880デフォルトの名無しさん:2005/09/04(日) 20:47:43
-Xmsと-Xmxを指定するのが目的だろ?
動的にシステムをチェックして最適モードで起動とかするなら
外部プログラムに頼るしかないのでは?
881デフォルトの名無しさん:2005/09/04(日) 20:51:19
>>880
流れ的に「引数」の件についての話だよね
今まで聞かなかったけど
>>870のやりたいことって
javaに渡す引数と
プログラムに渡す引数
どっちの話なの?
俺はてっきり後者だと思ってずっと話し進めてきたが
880がコレに関する話だとしたら前者のことを言っているんだけど・・・
882880:2005/09/04(日) 20:56:50
>>881
まあ当然俺は前者で言ってるな
883デフォルトの名無しさん:2005/09/04(日) 20:58:34
>>880
他人なのに
>-Xmsと-Xmxを指定するのが目的だろ?
ここまで言い切れるのはなぜ?
どこにもヒントなかったのに・・・
884デフォルトの名無しさん:2005/09/04(日) 20:59:53
>>880
もしかして朝から居る人ですか?
885デフォルトの名無しさん:2005/09/04(日) 21:02:21
>>883
>>872が言ってるやん
886870:2005/09/04(日) 21:04:53
>879
以前クラスパスをその方法で設定したところ反映されなかったのですが、
大体のプロパティは内部から設定して反映されるのでしょうか。
887デフォルトの名無しさん:2005/09/04(日) 21:08:38
>>872は俺なんだけど・・・
おれは引数の値までは読めなかったよ
ましてやXmsなんて・・
888870:2005/09/04(日) 21:09:09
追記
具体的にはjava.security.policyにポリシーファイルを設定したいです。
889デフォルトの名無しさん:2005/09/04(日) 21:10:26
>>870
>879
以前クラスパスをその方法で設定したところ反映されなかったのですが、
大体のプロパティは内部から設定して反映されるのでしょうか。

そうなってくるとjavaの引数だから無理です

俺が言っていた(というか質問の意図の読みとして)プログラム引数は可能です
890デフォルトの名無しさん:2005/09/04(日) 21:10:47
まあ外れたからエスパーではないな
891デフォルトの名無しさん:2005/09/04(日) 21:11:30
ごめん「プログラム引数」としての代替策として可能ということ
892デフォルトの名無しさん:2005/09/04(日) 21:12:42
>具体的にはjava.security.policyにポリシーファイルを設定したいです。
そんなんJavaSecurityプログラミングやんか
引数じゃなくてもいけるじゃんか
893870:2005/09/04(日) 21:35:34
>>892
やっぱそうですかノ(´д`*)
894デフォルトの名無しさん:2005/09/04(日) 21:45:11
うそ?できないでしょ?>java.security.policyにポリシーファイルを設定したい
これできたらセキュリティーも糞もなくなる気がするんだけど?
895デフォルトの名無しさん:2005/09/04(日) 21:48:46
つうかJWSってユーザに聞けるから
そんなことやる必要すらないのでは
896デフォルトの名無しさん:2005/09/04(日) 21:53:06
どうでもいい100レス読みとばし
897870:2005/09/04(日) 22:33:58
>>895
ちょっと今回は特殊な事情があってそうはいかないんですよね。
898デフォルトの名無しさん:2005/09/05(月) 00:28:39
>>886
クラスパスをプログラム内部から設定できるとセキュリティホールになりかねないので
(クラスパス上のファイルはclassファイルにかぎらず読めてしまう)できないようになっている模様。
899デフォルトの名無しさん:2005/09/05(月) 00:35:20
>>896
たった 100 レス!?
900デフォルトの名無しさん:2005/09/05(月) 00:41:45
JavaでCPUリソースの監視ってどこまで出来るの?
JavaServletの鯖が鯖屋に人気無いのはここらへんが原因って聞いた
901デフォルトの名無しさん:2005/09/05(月) 00:48:16
質問です
TableViwerを使用してリストの表示を行い
毎秒表示するデータを更新させたいのですが
更新時のちらつきが気になります。
ちらつきが起こらないように更新させる
良い方法はないでしょうか?
902デフォルトの名無しさん:2005/09/05(月) 00:56:36
>>900
プラットフォーム依存な部分は別の言語で書いてJavaからはJNI経由で
使うのが慣わし。
903デフォルトの名無しさん:2005/09/05(月) 10:14:30
java.util.regexの正規表現で、
.
を扱いたい場合はどうすればいいんでしょうか?
\.も駄目って言われ、APIリファレンスにも載ってないのでHELP。
904デフォルトの名無しさん:2005/09/05(月) 10:25:35
>>903
エスケープすれば良い
905デフォルトの名無しさん:2005/09/05(月) 10:54:47
\.とは別にエスケープ文字があるのですか。ども。
906デフォルトの名無しさん:2005/09/05(月) 10:56:44
>>903
\. だと、\nや\rと同じように\.という文字として判断しようとするのでダメって言われる。
だから、文字列として "\." を渡すためには "\\." になるわけだ。
907903:2005/09/05(月) 11:15:03
今、世界が見えました。ありがとうございました。
908デフォルトの名無しさん:2005/09/05(月) 11:34:20
どういたしまして
909デフォルトの名無しさん:2005/09/05(月) 14:13:12
>>901
TableViewerってことはSWT/JFace? だったら本当はSWTスレだがまあいいや

内容更新中に table.setRedraw (false) で画面更新を停止すればOK
最後にtable.setRedraw (true)しとくのを忘れないように
910デフォルトの名無しさん:2005/09/05(月) 14:52:35
Rectangle intersection(Rectangle r)
この Rectangle と指定された Rectangle との共通部分を算出します。
Rectangle union(Rectangle r)
この Rectangle と指定された Rectangle との結合部分を算出します。

二つの違いを教えてください。
911デフォルトの名無しさん:2005/09/05(月) 15:03:45
>>910
実行してみればすぐに分かりそうなものを
912デフォルトの名無しさん:2005/09/05(月) 15:15:13
>>911
実行したらすぐに分かりました
913デフォルトの名無しさん:2005/09/05(月) 16:42:55
配列は一度サイズが決められると変更することはできないということですが、
その中のデータも変更はできませんか?
914デフォルトの名無しさん:2005/09/05(月) 16:44:17
配列とはそういうもの。

そういう要望に応えられるものがある。
Listインターフェースしらべれ。
915デフォルトの名無しさん:2005/09/05(月) 16:52:21
>>914
ご回答ありがとうございます。
やはり、可変長配列のjava.util.Vector や java.util.ArrayListを
利用するしかないんですね。

さっそく試してみようと思いますが、VectorとArrayListで、
速度的な違いは起きるのでしょうか?
916デフォルトの名無しさん:2005/09/05(月) 16:58:46
同期化の有無と多少のメソッドの違いだから速度的な違いはもちろんある
内部で配列使ってるけど拡張の仕方を知らないとVectorのほうが速いとかありえるけど
通常はアルゴリズムの違いを考えるならArrayListかLinkedListかを意識したほうがいい

引数の引渡し等はListインターフェースで柔軟にしておくがよろし
そうすればVectorでもArrayListでもLinkedListでもいいわけだ
917デフォルトの名無しさん:2005/09/05(月) 17:04:36
>>913
>>914は微妙に説明間違ってるような気がする
2行目について言及していないだけだけど。

データはもちろん変更できる。
つーか出来ないと意味無いからな
918デフォルトの名無しさん:2005/09/05(月) 17:16:00
>>916
>>917
アドバイスありがとうございます。
配列もろくに使えないとは、お恥ずかしい限りです。

今回は、配列の要素を増やす必要はないのですが、
場面に応じてその中の値を更新させたいと考えています。
配列に記憶してあるデータを変更できるなら、Vectorなどを
利用せず、配列を使おうと思います。

どうもありがとうございました。
919デフォルトの名無しさん:2005/09/05(月) 17:48:28
シフト演算で100倍と1/100を計算したいのですがどう書けばいいのでしょうか
920デフォルトの名無しさん:2005/09/05(月) 17:56:40
どのタイミングでガベージコレクションが行われているのか知る方法はありませんか?
System.gc() の効果とかを知りたいので
921デフォルトの名無しさん:2005/09/05(月) 17:57:43
>>919
ビットシフトの事だとして
なんで100とか10進数のシフトが出来ると思うんだ?
922デフォルトの名無しさん:2005/09/05(月) 18:00:56
>>920
-verbose:gc を起動時に与える
923デフォルトの名無しさん:2005/09/05(月) 18:52:32
演算子がオーバーライドできればできないこともないが
Javaでは演算子のオーバーライドはできないよな。
924デフォルトの名無しさん:2005/09/05(月) 19:21:49
100倍は (v<<6)+(v<<5)+(v<<2) だが、きっと v*100 のほうが速い。
1/100は…めんどくさ。きっと v/100 のほうが速い。
925デフォルトの名無しさん
>>922
ありがとうございます
さっそく試してみます