【初心者】Java質問・相談スレッド70【大歓迎】
乙
斜めも入れたらよさげになりますた。 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); }
で、どうなった?
うれしいか? >>前すれ911
JInternalFrame の中に JToolBar を入れて、ツールバーをフローティングさせた まま内部フレームを dispose() したらツールバーの小ウィンドウだけ残ってしまった。 これって消すためにわざわざ InternalFrameListener 仕掛けなきゃだめか? 消し方は setVisible(false) で良いのか?
7 :
デフォルトの名無しさん :2005/08/21(日) 08:38:06
あの、署名付きアップレットを作って、ローカルリソースにアクセスできる状態だとします。 その状態では、クラスローダーで独自クラスのロードとかもできたりするものでしょうか? というか、署名付きアップレットとはどこまでの権限が得られるものなのでしょうか。 教えて下さい。また、参考になるサイトがありましたら誘導よろです(意外と適当なサイトが見つからない・・・・)。
9 :
デフォルトの名無しさん :2005/08/21(日) 10:41:30
>>8 あの、公式サイトのアップレットに関する文書の場所教えて下さい。
なぜか見つからないんです・・・・・・・。よろしくおねがいします。
10 :
デフォルトの名無しさん :2005/08/21(日) 12:03:01
ひょっとして、英語ページにしかないとか?
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に出すにはどうしたらいいでしょうか? 何かそれをいじる設定ファイルとかってあるんでしょうか?
15 :
14 :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
16 :
14 :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に手を加えることはしたくない。どうでしょう? 関連情報でもいいのでキボンヽ(´ー` )ノ
>>17 javaっつーかプログラム初心者なんで微妙なんだけど、log4j.xmlは
DOMConfigurator.configure("log4j.xml");
ってやるとclassAのフォルダ内の「log4j.xml」を読みに行くことになるんじゃないか?
だからそこにファイルがなければ、NotFoundになると思うんだが。
log4j.xmlのところをしっかりとした相対パスか、絶対パスにすればなんとかなるかもしんない。
./workspace/log4j.xml にすればworkspace内のファイル読むんじゃないかな。
最終手段で絶対パスでしょ。
info.propertiesはやったことなくて分からんです。
21 :
20 :2005/08/21(日) 17:51:12
ごめん読み間違えた。 パスに問題がありそうだけど、内容まちがっとる・・・orz
22 :
デフォルトの名無しさん :2005/08/21(日) 18:09:04
Javaの.net環境へのコンパイラってありますか?
IKVM.NETってのがある
24 :
デフォルトの名無しさん :2005/08/21(日) 18:35:26
>>23 ん、これはどうやら.netの上にVMを起動して〜みたいな感じのようですね。
単純に.net用のバイトコード(って言うのか知らないけど)にコンパイルする
ことはできるものはありませんかね〜
>>24 それもできるってば・・・もっとよく調べてみろ。
26 :
GiantLeaves ◆6fN.Sojv5w :2005/08/21(日) 18:53:02
【質問】 JavaVMはIEXPLORER, Sun Javaの他に何がありますか? また、Java Applet の作り方を教えてください。 それと、アプレットではない方のJavaは何か特別な呼び方があるのでしょうか? JREとは何ですか?
>>26 > JavaVMはIEXPLORER, Sun Javaの他に何がありますか?
列挙できないほどたくさんあります。
> また、Java Applet の作り方を教えてください。
書籍を購入して学習することをオススメします。
> それと、アプレットではない方のJavaは何か特別な呼び方があるのでしょうか?
あります。
> JREとは何ですか?
Java Runtime Environment の略語です。
数学板のコテか。
IBMのJREを個人情報なしでDLできませんか?
>>29 WebSphere Application Server のお試し版でもダウンロードすれば入ってるんじゃ
>>30 お試し版DLでも入力求められるよ
おれなんか会社名適当に入力したら折り返し連絡が来て
「正確な情報をお願いします」とか連絡が来たよ
SUNはハード屋だから(プゲラ って言ってるわりにはケチだね
33 :
GiantLeaves ◆6fN.Sojv5w :2005/08/21(日) 19:56:34
すぐに調べて分かることを聞くあふぉがまたでたか
無礼すぎ。 自分でサイトを見つけてきた事を、自慢できるほど Google は難しくない。
つたない日本語乙
37 :
14 :2005/08/21(日) 21:33:34
>>20 確かにコンパイルのときはWEB-INF/classes(classAがあるところ)を
見に行ってくれてるんですが、
WEBからアプリ実行させるときは
eclipse直下にファイルがないと怒られるんですよ。
(propertiesファイルも同じ)
classesの下のファイルだけ読みに行ってくれるように
したいんですけど、どこで設定すればいいんでしょう?
39 :
GiantLeaves ◆6fN.Sojv5w :2005/08/21(日) 22:00:28
talk:
>>34-35 いいからJavaVMをとっとと教えろ!
ちなみにIExplorer, Sun Java, Hot Java以外にだぞ。
どうもJavaVMはスタンバイから復帰したときにシステムの不調をきたす場合があるのでな。
VMの意味が分かってないように見えるが釣りだろうな スタンバイから何度も復帰させてるが問題起こってねーよ
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は全く弄っていませんし、起動自体も成功しています。
何か問題があるのでしょうか?
∩___∩ | , '´l,
| ノ\ ヽ | , -─-'- 、i
/ ●゛ ● | | _, '´ / ヽ、
| ∪ ( _●_) ミ j iニニ, "● ∪ ヽ、
彡、 |∪| |
>>39 iニニ、_ ',
/ ∩ノ ⊃ ヽ 〈`'ー;==ヽ、〈ー- 、 !
( \ / _ノ | | `ー´ ヽi`ヽ iノ
.\ “ /__| | ! /
\ /___ / r'´、ヽ
`´ヽノ
44 :
GiantLeaves ◆6fN.Sojv5w :2005/08/21(日) 22:25:40
talk:
>>40 ということは、そのときはたまたまスタンバイのときに大量のデータが生成されたか、大量の計算が発生したのか?
>>38 サンクス!ちょっと調べてみますね。
サーブレットのコンストラクタでやるんですか・・・
JSF使ってるけど大丈夫かな
わざわざトリ付けて頭の悪さを晒すのってスゴイな
頭が悪いからな。
>>49 鬼の首でも取ったかのごとく「シュミレーション」にツッコミ入れてるが
思いっきり
>>1 の思惑通りに釣られてるあたりクオリティが高い
52 :
デフォルトの名無しさん :2005/08/21(日) 23:02:54
>>44 きっと頭はいいのでしょうが、もう少しその頭の使い方を覚えたほうがいい
のでは?
今のままではただのキ○ガイ。
なんで頭いいと思うんだ?普通にバカだろ。
ヒント:精一杯のやさしさ
56 :
デフォルトの名無しさん :2005/08/22(月) 00:39:51
JFileChooserでユーザーが指定したディレクトリのパスをString戻すにはどの用にすればよいでしょうか?
57 :
デフォルトの名無しさん :2005/08/22(月) 00:42:44
失礼。。。 「Stringで戻すには」でした。 よろしくお願いします。
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 さん、どうもありがとうございました。
>>60 サンドボックス内だとファイル選択ができないけど
WebStartならJNLPAPIでできる
65 :
GiantLeaves ◆6fN.Sojv5w :2005/08/22(月) 13:25:19
67 :
デフォルトの名無しさん :2005/08/22(月) 14:57:58
Executable Jarファイルを作りたいと思っています。 環境にエクリプスを用い、メインのプロジェクトは他に作ってあるプロジェクトの参照を行っています。 この場合どのようにすれば実際に動かせるようになるのでしょうか? 試したこと: ・エクスポート→jarファイル でエクスポートするプロジェクトで両方指定 ・参照プロジェクトのjar化→マニフェストのクラスパスで指定 結果両方とも動きませんでした。
>動きませんでした。 釣りケテーイ
69 :
67 :2005/08/22(月) 15:31:08
>>68 ・・・・つりじゃないです。。。
ダブルクリックするとマウスポインタは一応作業中になるのですが、
何も起こらずに元に戻っちゃいます。
アプレットみたいにタスクバーにコンソールが表示されるわけでもなく
何が悪いのかまったく原因がわかりません。
そりゃ何か設定が間違っているんだろう。
どのような動作を期待していて、どのような動作をしたから期待通りでは無かったのか。 コンソールからは実行できるのか。 OSは? JDKは?
>>69 「どのように動かないのか」を書かないとまともな回答は得られないよ。
他の参照プロジェクトもJar化する。
動かしたいプロジェクトもJar化してそちらのマニフェストファイルに
クラスパスを設定し、他のプロジェクトのJarをクラスパスに含める。
・・・でうまくいくんじゃね?
>>67 実行可能jarをダブルクリックだと、標準エラー出力に出るエラーが見えないので、原因がわからない。
まずはコマンドラインから実行して、原因を調べよう。こんな感じで。
java -jar hoge.jar
本で読んだところ System.currentTimeMillisはWindowsだけ 1ずつ増えないそうで つまり、MSが改善すれば Javaは精密な動作を実現できるということ?
ジャバーはアホなのでいつも catch(Exception ex){ System.err.println(ex); } ちゃんとエラー処理しろよ
>>74 WindowsというかOSによって変わるな
同じWindowsでも95,98やnt4,2000とxpすべて動作がばらばら
それにCPU・・・かチップセットによっても動作が大きく変わるの確認済みなんだが
あれもなんとかならんのかね
インテル系は今のはきっちりかえしてるっぽい
AMDは古いのはちゃんとかえしてるっぽいが新しいのはダメとか
逆にLinux等Windows以外はナノタイム取得はちゃんと動いてないっぽいけどな
77 :
67 :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のクラスが見つからない???・・・・クラスパスは通してあるのになんで???
>>77 java -verbose:class -jar hoge.jar で良く考える
JPanelのFPSを保つまた表示するにはどうすればいいでしょうか。
frames per second?
yes
SwingSet2デモのソースを見ると、frame数を数えて計算してるねぇ。 (Surface.javaのLogPerformanceメソッド)
SwingSet2じゃないや、Java2Dデモ。 どっちもSDKに入ってる。
JavaでWindowsだと厳密には無理 Java.util.Timer#scheduleAtFixedRate 使うのが一番楽だった。
JTree のノードのラベルを動的に変更しています。表示の更新はちゃんと行われている
ようですが、文字列が長くなったときに後ろが省略されて「...」となってしまいます。
なんか幅が変わってないようですが、全体を表示させるにはどうしたら良いでしょうか?
treeNodesChanged() だけでなく treeStructureChanged() イベントも飛ばして見ましたが
変わりませんでした。
ちょうど以下のページのような感じ
http://www.javadrive.jp/tutorial/jtree/index2.html > 恐らく表示する幅が変わっていないため、画像の分だけ文字を表示する幅が少なくなって、
> 「...」のような省略形になってしまっています。原因が今のところわかりません。
その参考サイトもいいかげんだな 「...」になる理由が分かりませんとは ノードの変更をtreemodelに通知してないからかと 変更部分のコードをさらしてみ
88 :
デフォルトの名無しさん :2005/08/22(月) 22:14:47
以下のことがしたいです。 1.Javaプログラムからブラウザを起動 2.その開いたブラウザを閉じる 1はProcessBuilderでできるとして、ブラウザを閉じるというのは プログラムからできるのでしょうか?
89 :
GiantLeaves ◆6fN.Sojv5w :2005/08/22(月) 22:16:45
90 :
GiantLeaves ◆6fN.Sojv5w :2005/08/22(月) 22:20:14
>>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 に変換しています。必要であればこちらも載せますが。
>>88 Process#destroy()
まぁ gracefully な終了のさせ方じゃないが。
>>91 いや、イベント通知ってへんなのやる必要はないよ
ノードのオブジェクトの変更部分のせてみそということだったのだが
jniでWM_CLOSE送ればええやん
>>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;
}
アプレットの質問です。 ラベルを使っているアプレットなんですが、手前に画像を表示しようとすると、 ラベルを貼った場所だけ一番手前に出て見えてしまいます。 ラベルと画像が重なった時にラベルを隠すようにしたいのですが、それは可能ですか? もし可能なら方法を教えてくれると助かります。 こゆ質問でもソースとかうpした方が良ければ、指摘してください。
レンダラは関係ないし難しく考えすぎ model.valueForPathChanged(path,"あいうえおかきくけこ"); を使うか root.setUserObject("あいうえおかきくけこ"); model.nodeChanged(root); だけでいい なんでJTreeつかってuserObjectがでてこないのかなぁとおもった
補足 modelはツリーモデル pathはツリーパス rootはルートをさすツリーノード(別にルートである必要もないがテストにルートはらくだから) "あいうえお"はユーザーオブジェクトのさんぷる デフォでtoStringの内容を使うというSwingの特徴を考えるとStringはやはり楽だからね
>>97 ええとですね、DefaultTreeModel や DefaultMutableTreeNode は使っていません。
独自のデータモデル用に TreeModel と TreeCellRenderer を自作してイベント処理含めて
自分でやっています。
ですが
>>86 のページのように、それらを使った場合と同じような感じになっているので、
自作云々というよりデフォルトのものを使ってる JTree か DefaultTreeCelLRenderer かなーと
推測しています。
defaultなんちゃらをベースに拡張してないのね 初心者っぽいから無理しなけりゃいいのに valueForPathChangedの実装部分が怪しいと予想
>>100 valueForPathChanged は GUI 上の変更 (JTree 上での TreeCellEditor 経由での変更) が
TreeModel 側に通知される時に呼び出されるものなので無関係と思います。そもそも今回は
呼ばれていません。
いやもう、最初のレスから勘違い君だと思ってたが。
Defaultなんちゃらしか使ったことないならもう無理スンナw
ツリーだけに釣り?
ヽ(・ω・)/ ズコー \(.\ ノ
treeNodesChangedも飛ばせないくせにえらそうだな
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つ組み合わせるほうが得策なのでしょうか? また、この使い方に問題があるのでしょうか?(泣
…は?
for(N) TableList.add(Num); か?
108 :
105 :2005/08/23(火) 01:36:24
すみません。もうちょい分かりやすく書いてみます。 上の方法で、リストに要素を加えても、中身の要素がすべて一番最後にaddで加えた値になってしまい、 キチンとしたリストが作成できていないっていうことです;;
>>105 プリミティブ型の配列ってListクラスに入れれたっけ?
自分だったらListを2つ使うか、Beanを1個つ作ってそれをListに追加かな
あとはString型の2次元配列にするか・・・
頭で考えただけだから試してないけど
何回もNumというやつをaddしてるというオチとか
>ArrayList TableList = new TableList<double[][]>(); これなに?
つうか、List 云々じゃなくて double[][] を使いまわして格納してるだろ。 TableList.add(Num); した後に Num = new double[7][9]; しなおせ。
113 :
105 :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 もまいのコミュニケーション能力に問題があると思われr
丁寧に書いてやらないと理解できんのよジャバーはアホなんで
丁寧に書いてやっているやつも馬鹿ってこと?
119 :
デフォルトの名無しさん :2005/08/23(火) 13:41:04
コメント行を書くときに、 //コメント。 と書く場合と、 /*コメント。*/ と書く場合がありますが、 どちらを使った方が正しいのでしょうか? 自分は全て前者の方でやっておりますが、問題ないでしょうか?
複数行の時は/**/ 簡単なコメントは// だいたいコード規約で決まってるからそれに従う。 個人でやってるときは好きなようにしたらいいと思う。 Javadocコメントもあるからそれも利用するとよりよい。
121 :
デフォルトの名無しさん :2005/08/23(火) 13:51:58
ありがとうございます。
publicなメソッドはかならず/** 〜 */で privateでシンプルなメソッドや注釈入れといたほうがいい場合は//にしとる /* 〜 */はデバッグ時とかしかつかってないかな
123 :
デフォルトの名無しさん :2005/08/23(火) 14:31:06
なるほど、自分なりの使い分けを考えろってことですね
一体どこからそんなことが読み取れた?
>>119 漏れの場合、
>>122 とは違い、
メソッド、フィールド、クラス手前には必ず/** */コメントを使っている。
なぜなら、CheckStyle(EclipseのCheckstyleプラグイン含む)が
大量に警告を出すから。
それが喩えprivateであろうとも必ずコメントは書き、
説明をちゃんと入れ、CheckStyleによる警告が全てなくなるまで
@paramタグ、@returnタグ、@sinceタグ、
@throwsまたは@exceptionタグは全て入れている。
メソッド内のロジックや変数について一行のコメントをしたいときは
//を使っている。
一般的なエディタで緊急時に
一時的にちょっとだけコメントで囲いたいときは/* */で囲ってコメントアウトするが、
Eclipseを使っている場合は、ctrl + / でコメントアウト、コメント外しが
できるので//を使っている。
何もしないことを明示するために /* */ を使うな。まぁ古い書き方かも知れないが。 for(int i=0; /* */; i++) catch(Exception ex){/* */} default: /* */ break;
おれは default: // NOP break; だな。
何もしないことを示すときは漏れも //を使ってる
俺はこうかな。 System.out.println("Hello World !");
(゚Д゚)ハァ?
NOP代わりに//派って結構居るんだな、ちょっと意外。 俺は1行コメントに//を使ってるから、NOPの代わりは/* */を使ってる。 あと、/* */で複数行コメントを書く事はまずない。 この手のコメントが必要だと感じた時は、処理を抽出してプライベート なメソッドにした上で、JavaDocな/** */を書く様にしてる。
>>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"」となったとき困ってしまいます。 よろしくお願いします。
そういう書式なら、最初に「 」でsplitして、 その断片を処理すればいいのでは?
>>134 質問の意味がわからんよ。
Bをとりたいって何よ?
137 :
デフォルトの名無しさん :2005/08/24(水) 00:21:42
>>136 キー値「b」の値「B」を別の変数に代入したいという意味です。
もし、「a="A" b="Z"」だったら「Z」を別の変数に代入したい。
もっとわからなくなってきた
まず空白で分割。 その後等号で分割。 左辺値が 'b' なら右辺値の飲尿記号を取り除いて目的達成。 ただし右辺値が空白を含むならちょっと面倒。
String prob = "a=\"A\" b=\"B\" c=\"C\""; Matcher mat = Pattern.compile("b=\"(.*)\"").matcher(prob); mat.matches(); return mat.group(1); こんな感じ?試してないから動くか分からないけど。
オブジェクト指向の本を読んでいると深いコピーと浅いコピーを しっかり理解しなさいと書いてありました。理解はしたのですが、 Java ではどう実装するのが標準ですか? どうも、clone を書き換えるみたいなんですが、clone は標準で 浅いコピーであると書いてあるので深いコピーをするように勝手に 変えちゃっていいのでしょうか? それとも、clone ではなく独自に copy とかのメソッドを作るものなんでしょうか? どうも clone は わかりにくいです...
>>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クラスで定義されています。
>>142 お答えありがとうございます。
コピーコンストラクタで深いコピーを実装するんですね。
ところで、なぜ、C++にはあるコピーコンストラクタが Java では
なくなったのでしょうか?
>>145 いやいや、そういう風に明示的にDeepコピーをする方法もあるよ
と提示しただけで、そう実装するべきといったわけではないですよ。
Cloneメソッドをオーバライドしたく無い場合はこうしてます。
>C++にはある・・・・
については、べつにC++を目指して作った言語では無いので
思想の違いとしか答えようがないと思います。
それを言うなら、多重継承もないですが、
Interfaceがあるおかげで必要な場面がほとんど無いですから。
(欲しいと思うときは確かにあります。が工夫で逃げれます。)
同じようにコピーコンストラクタも常に必要ではないので、
必要なときに実装すれば良いと思いますよ。
>>145 意図しない誤用を防止するために切り捨てられた (振り替え可能な) 機能は
いくつかある。コピーコンストラクタはもその一つ。(それだけが理由とは
言わないが)
だが 5.0 からそういった機能を復活させる傾向にあるみたい。JCP への移管も
あるだろうけど、New Java へ盛り込む新機能がそろそろ頭打ちになってきた
ように見える (つまりネタが尽きてきた)。
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を勉強中です、いきなりつまずきました。 出力されません!わかる人いますかー?
なんかマルチっぽい。
153 :
デフォルトの名無しさん :2005/08/24(水) 16:10:25
数理モデルを作ってシミュレーションを行い、 複数のウィンドウ(フレーム)でその図表を表示するようなプログラムを作りたいのですが、 run()の中身とスレッドの扱いをどうすればいいのか良く判りません。 各ウィンドウ(のパネル)のrepaint()を全部run()の中に入れたら、動くのは動くのですが、なんか動きがガクガクになってしまいます。
swingなら SwingUtilities.invokeLater それ以前に、リアルタイムで計算してるんなら、単に処理が重過ぎるだけだったりして。
>>141-142 Deepコピーをcloneのオーバーライドで実装するのは無用な
混乱の元になりかねない。
new Hoge(hogeInstance)やgetDeepCopyの様なメソッドを作
った方が明示的で健全。
>>155 >>142 もそのように書いてるように見えるのだが。
公開するようなものならともかく、
clone使うときはそういうところちゃんと気にして使うけどなぁ。
157 :
デフォルトの名無しさん :2005/08/24(水) 18:20:39 BE:20170548-###
>154 ありがとうございます。説明がよく判らなかったのですが、sleep()を入れなくても良くて全部のフレームを更新するという事ですか。
158 :
デフォルトの名無しさん :2005/08/24(水) 18:25:23 BE:22691366-###
説明が→docsの説明が
159 :
141 :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言語のソースコードをバイトコードへコンパイルする事ができるコンパイラ どなたか知りませんか?
>>157 swingは複数のスレッドから操作するように作られていない。
よって、別スレッドからrepaint()なんかを呼ぶ場合は
swingに実行させる。 そのために invokeLaterを使う。
処理や状況によっては、そうしないと例外出るよ。
162 :
デフォルトの名無しさん :2005/08/24(水) 21:43:42
動的にオブジェクトを作ることは何って言うんですか?
JAR から起動する GUI アプリケーションで、特定のキーを押しながら起動すると デバッグモードで起動するとかそんな動きをさせたいんだけど、コマンドプロンプトも ウィンドウも出てない状態でキーが押されてるかってどうやって判断するの?
見えないウインドウを作ってみるとか
>>162 普通のインスタンス生成じゃないの。
もしかして「動的にクラスを作る」ってこと?
166 :
デフォルトの名無しさん :2005/08/24(水) 22:25:16
>>165 インスタンスを動的に作るんです
すみません、初心なもんで
????? instantiate ?
public class Hoge{ public static void main(String[] args){ int hoge = 1; int hage = 3; System.out.println(hoge+hage); } } これを13と表示させたいんですが、どうすればいいでしょうか。
>>168 System.out.println("" + hoge + hage);
System.out.println(""+hoge+hage); または System.out.println(Integer.toString(hoge)+Integer.toString(hage));
171 :
168 :2005/08/24(水) 23:01:52
ありがとうございました。 hoge.toString()とやったらエラーが出てくまってました。
172 :
162 :2005/08/24(水) 23:13:01
事故解決しました
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コネクトを閉じる
}
>>178 ずいぶんと的はずれな回答だな。
>>176 アプリ自体の設計がわからないから何とも言えないが、
適切な箇所でConnection#isClosed():booleanを使って調べるしかないんじゃないかな。
DAOと呼べるクラスがあるのなら、すべてのメソッドの最後にisClosed()を書いて、
falseだったらログを出力するとか。
・・・閉じ忘れが多数なプログラムだと、設計もきれいではないだろうからこれで
対処できるかどうか不安だけどね。。。
>176 コネクションぷうりんぐかませば楽だよ 手を加える部分も少ないだろうし
>>178 ,180
あのな、質問者は「どうしたら閉じ忘れを防げるか?」じゃなくて
「既に閉じ忘れが多いコードから、どうやって効率的にその箇所を見つけるのか?」を
聞いてるんだぞ?
見当違い・勘違いもいいところ。
質問です。以下の文ですが、この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()); } ループの中でランダム関数を使っていても、返す数字は変わらないのでしょうか。
どこにもdo whileなど無いが? そもそもコンパイルすら通らないだろうに。
あースイマセン、正しくはこうです。 変数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というものを探しています。
皆さん知っているものありますでしょうか?
ご教示願います。
>>181 言われたことだけやってりゃいいってもんじゃないぞ
187 :
デフォルトの名無しさん :2005/08/25(木) 17:20:34
JDesktopPane の背景色って LookAndFeel や UIManager からどうやって決定してるの? UIManager.getColor(Object) が臭いけど何を与えれば良いのか分からない。
夏休みなんだね・・・
(゚Д゚)ハァ?
>>187 javax.swing.plaf.basicの
BasicDesktopPaneUI.javaとか
BasicLookAndFeel.javaとか。
>>187 うろ覚えだけどjavax.swing.plaf.basicあたりにJDesktopPane ImplみたいなクラスがあってそこでgetColorしてた。
絶対間違ってるけどおおまかこんな感じ。
今さらだけど。 このスレって、初心者に教えられるほどのプログラマーいないね。 自分が高慢なキモオタだと自覚してない香具師ばっか張り付いてる希ガス。
>>190-191 あった、UIManager.getColor("Desktop.background") でした。
>>192 ここは数年前から派遣社員が初心者に高説かますスレですがなにか?
>>194 その高説を聞きたくて来た初心者より、
吹き出しそうな回答をしているキモオタの方が多い件について。
……や、つまらん事言ってスマン。
夏とはいえ、もう少し良スレにならんかな、と思っただけ。
みんな派遣なの?
jspにinterfaceをimplementsする方法ってありますか?
結構前にDOSコマンドも知らない初心者に皆で教えて上げたときの流れは良かったなぁ
>>197 JSPはクラスには変換されるが、それそのものがクラスな分けじゃないぞ
それはすなわち出来ないということでいいんですかね? できたらいいのになと思ったので、質問してみました。 ありがとうございました。
201 :
180 :2005/08/25(木) 20:04:30
>181 本人そのつもりで書いたんだけど プーリングのマックス最小限にしてうごかしゃすぐみつかんじゃない? って事を今更ながら語ってみました。 よし!じゃープランテーブルこしらえて、ヒント使えば だめだ時間かかるね、176の質問俺パス
最近、というか今年になってからか、
自分のこと棚上げにして、
質問の仕方が悪いだけなのに
質問に誰も答えてくれず
相手にされないからと言って
>>192 みたいに文句言う我が儘な奴のレスが増えたなあ。
>>196 大学院生アルバイトプログラマです。
派遣?
ああ、なら以前、某学生派遣会社D社経由で
学生派遣アルバイトしたことならあるよ。
>>176 つーか
Tomcat使ってるなら
データソース使ってserver.xmlで設定すれば?
そりゃおまえだろ、三流派遣w
210 :
192 :2005/08/25(木) 22:02:20
俺の発言からちょっと荒んだな、スマソ。
>>184 >0以外の数字0〜5が入るまで繰り返す文
が目的なら、最後の一行
}while(atl != 0);
↓
}while(atl == 0);
じゃない?
>…数字0〜5が入るまで…
ってのも引っかかるけど。
randomの値はワカンネ、パス
>>197 javax.servlet.jsp.HttpJspPageと任意のインタフェースを実装したクラスを定義して、
JSPのpageディレクティブに以下のように指定するといけるかも。
<%@page extends="foo.bar.MyHttpJspPage"%>
試してないので間違っている可能性大。
HttpJspPageの実装が面倒だけど、Tomcatに含まれる実装クラスを継承すれば
楽に作れるかもね。そうするとコンテナ依存になるけど。
ただし、これがえらく面倒なことからわかるとおり、
JSPにインタフェースを実装させたら便利だと思う人などほとんどいない。
インタフェースを実装させようという発想そのものが間違っている可能性が高いので
他の方法を探した方がいいよ。
213 :
197 :2005/08/25(木) 23:08:06
なるほど確かに、面倒そうですね。 今JSPとサーブレット学習中でして、 setAttributeに設定するキーの値をインターフェースで共有できれば、 エイリアスで楽チンにコーディングできるかと思った次第です (importだと簡単にできるんですが、インタフェース名.エイリアスみたいに冗長かなと) ただ実際はサーブレットを自分自身でプログラムすることもなさそうなので どちらかというと興味本位で質問したまででした。 お返事頂いた方々改めてありがとうございました。
>>205 DataSourceを使ったらConnection#close()を呼ばなくてもいいとでも???
何の解決策にもなってないぞ。
Connectionプーリングつかえば?なんてしたり顔で書き込んでる奴もいたが
そいつも同レベル。コード中にConnection#close()を書くか、それを呼ぶ
ライブラリなりフレームワークなりを使わないと結局コネクションが足りなくなる
問題は全く解決されない。
HibernateとSpring使ってOpenSessionInViewFilterでも使えば?
まぁコネクションプール使えばとかたしかによくわからん返事だよな
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 与えられたソースコードをスクリプト宣言として埋め込んだJSPを出力して
後の処理はTomcatとかに任せちゃうと殆ど何もしなくて済むけど、ダメ?
>>216 勝手に問題の意図を取り違えてテンパっているように見えるのは俺だけか?
221 :
216です :2005/08/26(金) 12:51:56
>>218 その通りです。
でも、コンパイルできないと先に進めません、、
222 :
216です :2005/08/26(金) 12:55:54
>>220 CCNAのシミュレーション問題のJava盤が作りたいのですが、、
>勝手に問題の意図を取り違えて
えっ、、 どういう事、、
223 :
216です :2005/08/26(金) 13:11:51
>>219 ふぁああっ!!
解ったかも、、 たぶん、、
>>217 とにかく、いろいろやってみます。
224 :
216です :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 どうもありがとうございました。
>>214 Cayenneもおすすめだぞ
ほかにjakarta トルクとか
Cayenneのほうがええけど
226 :
ド級超初心者 :2005/08/26(金) 15:58:41
20を補数で表記すると-21 になります。なんで-1がプラスされるんですか?教えてくださいお願いします。ちなみに二進法など知りません。
>20を補数で表記すると-21になります。 ならん。
228 :
デフォルトの名無しさん :2005/08/26(金) 16:16:08
じゃあ本当はどんなふうになるんですか?
>>226 Javaの話じゃねーだろ
電子計算機概論くらいおぼえてから質問しなおせ
>>226 2進数を知れ
2種情報処理ぐらいの簡単な参考書でも読めばわかる
231 :
デフォルトの名無しさん :2005/08/26(金) 16:47:36
なんか偉そうな虫けらが、初心者をいじめているようですね。
232 :
デフォルトの名無しさん :2005/08/26(金) 16:50:43
あの早急に答えを知りたいんですが…20は何になるんですか?
>>232 javaに関係ないっしょ。
2進数勉強しないと同じので何度もつまずくよ。
-21の次に-22をしりたいときまたなんでしょうか?ってきくのか?
>>225 今時、Torqueなんて勧める奴がいるのか。驚いた。
もう開発も止まっていて誰も使わなくなっているのに。
O-RマッピングフレームワークならHibernateだろう。
JBossにも含まれ、EJB3.0にも取り入れられ、
事実上の標準仕様になりつつある。
Springなどの他のフレームワークもHibernateに対応する動きが広がっている。
Torqueは遅いし、エンティティオブジェクトがPOJOにならないのが気に入らない。
その理屈でいけばDBもJBOSSに含まれてるHSQLDB以外はカスってことか
>>235 そういう指向にたどり着くおまえがカスってことだ
>>235 もう使う人もいなくて、仕様が糞で、遅くて、開発も止まっていればカスと言えよう。
239 :
225 :2005/08/26(金) 17:22:01
誰か教えてください(T_T)
firebirdを侮辱するな。
241 :
226 :2005/08/26(金) 17:23:13
226だったオルツ
243 :
デフォルトの名無しさん :2005/08/26(金) 19:13:38
SDKの旧バージョンがダウンロードできるところありませんか?
>244 おまえ、意地が悪いな。 >243 java.sun.com でダウンロードできます。
246 :
デフォルトの名無しさん :2005/08/26(金) 19:49:50
Javaの勉強しててデザインパターンってのが出てきたのですが、 説明文を読んでもよく分かりません どなたか分かりやすく教えてもらえませんか?
つーか、キモい奴大杉。死ねよ。
248 :
デフォルトの名無しさん :2005/08/26(金) 20:17:47
>>246 デザインパターンはソフトウェアの原点です。
プログラミングよりも、これを理解した方がいいかもしれません。
実際、SEには全然コーディング(プログラムを書く行為)を
知らない人がいますが、デザインパターンを知る彼らは
そつなくソフトウェア設計ができるのです。プログラマという
下級労働者はその設計の通りにコーディングする訳です。
248 デフォルトの名無しさん New! 2005/08/26(金) 20:17:47
>>246 デザインパターンはソフトウェアの原点です。
プログラミングよりも、これを理解した方がいいかもしれません。
実際、SEには全然コーディング(プログラムを書く行為)を
知らない人がいますが、デザインパターンを知る彼らは
そつなくソフトウェア設計ができるのです。プログラマという
下級労働者はその設計の通りにコーディングする訳です。
>>248 でもってEJBみたいに、『使いにくい』『遅い』とプログラマは勿論、
ユーザから文句言われて、あいつは駄目なSEだと客からも上司からも言われる訳ですね。
しかも、下のプログラマからも、あいつは現実を知らないと陰口叩かれると。
ホント、PG職とSE職は仲悪いな。 現場と事務が仲悪いのは、どの業界も同じだが。
252 :
250 :2005/08/26(金) 21:21:31
>>251 俺の会社では、社長を含めて事務職、特に経理には誰も逆らえないぞ。
だって、機嫌損ねて経費で色々と落ちなかったら自腹だしな・・・
たまに必死にデザパタに合わせようとしてる (しかも微妙に用途が合ってない)設計を見かける。
皮肉なのか釣りなのか本気なのか… 判断に困る
>>248
>>254 事実を書いただけだと思う。
たぶん現場の人なんじゃね?
(・∀・)ニヤニヤ
257 :
243 :2005/08/26(金) 23:35:53
258 :
デフォルトの名無しさん :2005/08/26(金) 23:58:13
すいません30の補数ってなんですか?
1の補数とか2の補数とかは良く聞くし、 9の補数とか10の補数もたまに聞くけど、 30の補数はめったに聞かない。 たぶん30進数なんだろうな。
>>248 SE て… おまえが言いたいのはアーキテクトの事だろ。
以下ちらしのうr(ry
コードを書かなくなったアーキテクトが現場でやってけるのはせいぜい
5 年。それ以降は設計の知識と現場の実現方法が乖離してくる。
そうなってきたら生き残るの大変よ。論文、英語、
口頭論述、特に業務知識は
客より知ってるくらいでないとやっていけない。論文発表や海外のカンファ
レンス参加の機会なんかは会社の環境に左右されるし。
それができなかったら、うまく立ち回って利権的ポジションに立つか、
ただの評論家になって出版業界にでも行くしかないな。
そんな先生方と現場をつなぐのが俺みたいなコードを書くアーキテクト。
各チーム SE 連中に設計切り分けて全体の設計をまとめてるのがこのへん。
先生方の絵空事を実現するのは楽しいし、こっちの設計で先生方を
うならせて考え込ませるのも楽しい。ま、良い環境なんだろうねここ。
30(DEC) = 11110(BIN) ~30(DEC) = 00001(BIN) 幅関係する? 32bit 版 30(DEC) = 0000000000011110(BIN) ~30(DEC) = 1111111111100001(BIN)
>>261 すいません。で、30の補数ってなんですか?
>>262 public class Hoge {
public static void main(String[] args) {
System.out.println(~Integer.parseInt(args[0]));
}
}
数学の出来ないプログラマ云々のスレってここだったヶ?(補数
補数って何?
情報工学をキッチリ修めた俺様がコピペしてやろう 補数(ほすう)とは、ある基数法において、ある自然数 a に足して桁が1つ上がるような最小の数のことを言う。 正確に言うと、 a に足して全体の桁が1つ上がるような最小の自然数を「 a に対する N の補数」という。 a に足しても桁が上がらない最大の自然数を「 a に対する (N-1) の補数」という。 中でも、2進法における2の補数はコンピュータで負の数を表現するためによく使われる。
268 :
デフォルトの名無しさん :2005/08/27(土) 01:06:56
>>267 すいません。で、30の補数ってなんですか?
>>264 プログラミングの質問スレで補数といったら 2 進数のことではないのか?
なんか最近下らない揚げ足取りばっかだな。
270 :
デフォルトの名無しさん :2005/08/27(土) 01:10:26
>>269 すいません。で、30の補数ってなんですか?
>>269 いきなり開発現場に叩き込まれて覚えた最近の業務系の人は
ビット演算なんて使ったことないだろうからそういう意識ないかもね。
>>269 普通は1の補数か2の歩数が使われるから2進数なのは当たり前
そこに30の補数というわけのわからないのがでてきてみんなびびってるのだ
273 :
デフォルトの名無しさん :2005/08/27(土) 01:31:39
30進数だったら30の補数も考えられるんだったと思う
Javaでは、負の数は2の補数で表現することになっているので、 数Nの2の補数は-Nになる。 したがって、30の2の補数はいくつですかという質問の答は-30になる。 でも、「30の補数ってなんですか?」という質問に「-30です。」と答えていいものだろうか?
Javaと関係ない話が続いてるな
276 :
デフォルトの名無しさん :2005/08/27(土) 01:51:42
だから2進数って書いてんじゃん。日本語読めてるか?
>>276 図星か。早くシフト演算子くらい使えるようになれよ。
JAVAからWindowマシン固有のコードを実行するにはJNIを使うみたいですが、 サンプルなどはCやC++のソースをコンパイルしてDLLを自作してからLoadLibrary をして使っています。そこでWindowsAPI(例えばMessageBoxAなど)を直接呼ぶ ことはできないのでしょうか?どこかのサンプルではこれもまた自作関数を間に 挟んでいました。
>>279 質問の意味がよく取れないので2通りの回答をしておくが、
Javaのコードから直接ネイティブOSのAPIが呼べないかという質問なら答えは不可能。
JNIのモジュール(DLL)からネイティブOSのAPIを動的(LoadLibraryに)呼び出すのではなく
静的に呼べるかという質問なら答えは可能。
ファイルを読み込んで処理を行いたいのですが、 文字コードがEUC以外ならばエラーを返したいです。 EUCで使用される文字コードを1文字ずつ比較していく以外に 効率の良い方法は無いのでしょうか?
>>281 一番手っ取り早いのは、EUC以外の文字コードでも読み込んで処理できること。
文字コードが何で書かれていても、特定の文字コードへ変換するという事はすぐに出来る。
ファイルがShift-JISだろうがUTF-8だろうがなんだろうが、EUCへ変換を行った後、
処理をするのが手っ取り早い。
Jtest ってどうですかね?値段だけの価値はある?
284 :
216と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 >これって、読み取りの一貫性を保つため??(オラクルのような)
すごいところに共通部分を見つけたなぁ、言ってる意味はわかるけど・・・
287 :
284です :2005/08/27(土) 13:00:46
ClassLoaderクラスとか、色々やってみましたがようやく解決しました。 出来なかった原因は、 br.readLine(); を書き忘れていただけでした。 ご迷惑をおかけしました。
javaの質問じゃなくて恐縮ですが、30の補数 先頭ビットたてるってお約束のもとそうなるって意味? 1と2はいいよごっちゃになりそうだけどわかる 30の補数?30の2の補数??これ何進法で求めるの??むつかしーよ説明!! 30て数値を2の補数でって事?みかん何個とか使って説明してくれよ
さすがに30の補数は釣りだろ
Eclipse 3.1 で finally 節で return をすると finally block does not complete normally みたいな警告を出されます.Java って finally 節で return しちゃだめなの?
>290 だめ。 つうか、finally節でreturnしてよい言語ってあるのか?
>>235 Apache Derbyがあるじゃないか
HSQLDBのほうがいいらしいし
JAVAでフリーソフトを作って公開しようとおもっているのですが、実行環境としてJREを インストール済みのパソコンでソフトを動かす前提でやろうと思ってます。 実際どのようにコーディング、公開すればいいのでしょうか?
294 :
◆6FWUET4y.6 :2005/08/27(土) 17:41:33
別に、JAVAで作るから特に気をつけなきゃいけない事は無いと思います。 他の言語で作るときと同じかと。 しいて言えば、作ったクラスファイルをJARファイルに固めて、クリックすれば起動する様にしておけば便利。 OS非依存のフリーソフトを作りたいのなら、ディレクトリを区切る記号を\や/でハードコーディングしないとか、そういう事に気を付ける必要がある。 # ところで、JREって再配布OKだった様な気がするけど・・・
ディレクトリの区切りって/使ってもWindowsでもなんの問題でないよな?
296 :
◆6FWUET4y.6 :2005/08/27(土) 18:09:01
問題ないんでしたっけ? いつもFile.separatorを使っているのでちょっと分からないです。
Windows のファイルシステムは '/' が予約されているので問題ないと実装されているようです。 しかしパスセパレータが ';' のくせに ';' を含むファイルやディレクトリ作れるのはどうかと思う。
;使えるのかよ しらんかった
>>293 便乗で申し訳ありませんが、興味があるので
実際にどのように配布するつもりなのか教えてください。
>>295 確かに"C:"というディレクトリとかを作ったらややこしいことになるかもしれないな
え? cygwinなら/cygdrive/C/Windows/System32 とかよくやってるけど
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になる)
307 :
デフォルトの名無しさん :2005/08/28(日) 11:36:36
Sunって、Javaによる利益はどこから回収してるのですか?
空リス
IBMが代わりに収益を上げている
Maven2.0の開発が予定よりも遅れているな。 もうBeta2がでていいはずなのに まだAlphaしかでていない。 Beta1が8月半ば、Beta2が8月末、Finalが9月にでるという予定だったのに。 そして次にはMaven2.1がでるようだ。 Eclipseも3.1がでてからCommunityが3.2への開発に取りかかっている状態だ。 すでに3.2M1がでている。
画面の物理的な解像度が知りたいんだが dpi で取るような方法あったっけ? (もちろんユーザがきちんとディスプレーサイズ設定してること前提で)
ぷに?
SWTにはあったけどAWT/Swingは忘れた
ToolKit::getScreenResolution() のことか?
ToolKitとか Javaの画像の扱いって多種多様だね。 C/C++ほどではないにしてもよくわからないことが多い。 ImageI/O Advanced ImageI/O AWTの画像関係 Java Media Framework どれを使えばいいか初めのうちは困惑する。
IOはそのままIOだろ
319 :
デフォルトの名無しさん :2005/08/28(日) 14:47:23
あのjavaコマンドでプログラムを実行する時にクラスパスをたくさん設定できない 事情があって、プログラム内でクラスパスを追加したいのですが可能でしょうか? (もちろん設定するパスは動的に設定した後に使うクラスのパスですのでご心配なく)
ポリモフィズム前提のコードになって良いなら URLClassLoaderで引っ張ってくれば?
321 :
319 :2005/08/28(日) 15:54:40
>>320 自分でクラスローダーを使ってロードするという事ですよね。確かにそういう
方法もあると思いますし、自分も最初に考えました。でも、面倒くさそうですよね〜
というわけでもっと簡単な方法を考えてみてます。ちなみにsetPropertyで"java.class.path"を
再設定してみましたが駄目なようです・・・・・・・あれれ
やっぱり急がば回れでしょうかね・・・・
>>321 むしろ
>あのjavaコマンドでプログラムを実行する時にクラスパスをたくさん設定できない 事情があって
この部分を語ったほうが良い気がする・・・
クラスローダは別に面倒ではないと思うが
使う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
325 :
319 :2005/08/28(日) 16:41:32
>>322 >>324 えーと、プラグインみたいな物を動的に追加していくようなアプリケーションを
作っているので、起動時に-classpathで設定することができないんですよね( ;´・ω・`)アセアセ
>>323 ですね。結局クラスローダ使って今やっています(;´Д`)
>>319 はぁ、そういうことね・・・
プラグインで拡張するアプリがどのようにそれを実現しているかは、ちょっとは探ったんだよね?
pluginフォルダにクラスパス通して classまでの参照をパッケージと等価にすれば良いだけでは?
そのプラグインのなかのclassのパッケージ名などはどこかで指定する必要があるよな
329 :
319 :2005/08/28(日) 16:58:30
>>327 すいません説明が足りませんでしたね。
読み込みたいのがjarファイルなんですよ。というわけで、自分もそれで失敗しました(;´Д`)
>>327 それだとプラグインの配布にjarが使えないな。
332 :
331 :2005/08/28(日) 17:07:51
>>331 なんかすごそうだなそれ
前で説明している人のClassLoader云々の話のフレームワークか?
わからんけど
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]+"です"); } }
2^1000≒10^300
>>242 SUN以外のVMならできるのだろうか?
誰か指摘すれば?阪大のページだし。
間違ってるのかが知りたいのに、ごめんなさいね、 言いたくなった。ばっさり指摘すると for(;e<1000;e++) ここの後ろのとこ足さないで二乗してけばいいよ間違えは減ると思う
>338 こゆー馬鹿を見習うなよ!おおめーーそれじゃ1000乗なんて夢のまた夢じゃねーかよ おまえらうっせー黙れ言葉のあやだ!!だまれうっさいこの歯茎!
酔っ払いが紛れ込んだようです
>>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 + "です");
1 << 1000
343 :
デフォルトの名無しさん :2005/08/28(日) 22:13:30
344 :
デフォルトの名無しさん :2005/08/28(日) 22:17:45
>>342 正数で1001ビット以上の型を教えてくれ。
>>341 そのことの真に驚嘆すべき型を発見したが、余白が狭すぎて書けない。
2 ^ 1000 = 10715086071862673209484250490600018105614048117055 33607443750388370351051124936122493198378815695858 12759467291755314682518714528569231404359845775746 98574803934567774824230985421074605062371141877954 18215304647498358194126739876755916554394607706291 45711964776865421676604298316526243868372056680693 76
数学板の奴が見たら荒れるだろうな・・・ 2^1000なんて計算するまでも無いだろうと
@ 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
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クラスを使うと言うことがい言いんじゃないの??
数学板の住民は2^65536辺りまで暗記して脳内に表でも作ってるんじゃないの?w
346346(サセロサセロ) 184184(イヤヨイヤヨ) 346346(サセロサセロ) + 184184(イヤヨイヤヨ) -------------------- 1061060(イレロイレロー) 1061060(イレロイレロー) 346346(サセロサセロ) 114114(イイヨイイヨ) 346346(サセロサセロ) + 114114(イイヨイイヨ) ---------------------- 1981980(イクワイクワー)
355 :
293 :2005/08/29(月) 14:41:34
>>299 ベクターとかで普通に配布しようかと思ってます。
JARファイル+JREで配布することになるかな?
…といいつつまだまったく実装してませんが^^;
>>355 JREを内包するのはやめとけ。
普通にJavaプラグインのありかのURLを示しておけばいい。
357 :
293 :2005/08/29(月) 15:34:24
>>356 そうですか・・・ そうします。JREってそんなにでかい? それとも他の理由?
JREを入れる必要なんてないはずだが。 JavaWebStartを上手く使ってな
>>357 JREのアップデートが困難ってのが理由だと思う。もちろんJREが大きい(10MB程度)のもあるだろうけど。
先日のJCEの期限切れ問題のこともあるし、古いバージョンのJREが残ったままってのは
いろいろ問題があるかと。
どうせJavaプラグイン入れてもらえば勝手にアップデートできるようになるんだし、
便利なものは使うが吉。
>>358 ちょっと待て。JavaWebStartが動くためにはJREがインストールされている必要があるんだが?
もちろんexeダウンロードしてインストール、なんてことは不要だけど。
JREを同梱することで細かいバージョンアップで動かなくなることを防ぐというのはよくあること ものにもよるがゲームのようなクリティカルなタイミングが必要な場合はJREこみでもいいと思う
vectorのジャンルの問題は? JRE込みでexeキックにして Windowsソフトとして登録した方がダウンロード多そうだが
Windows用とか各OS用でいいだろうね
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 と入力いたしますと『コマンドまたはファイル名が違います。』 と画面に出ます。 ご教示お願いいたします。
>363 OSは?
>363 SET PATH=%PATH%;C:\PROGRA~1\COMMON~1\AUTODE~1;C:\PROGRA~1\JAVA\JDK1.5.0\BIN;
WebStartってサンドボックス?
三度ボックス。 権限の要求があれば起動時にダイアログがでる。
>>367 雑な聞き方なのに二行も使ってくれてありがとう
すまん、初回起動時。
俺がWebStartやってたときは起動時にはきかれなかったな 必要とされたときに聞かれる
372 :
363 :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 と入力致しますと完全に固まってしまいました。
┌─────────┐ │ ガンガンいこうぜ │ │ みんながんばれ │ │>みんなてきとう. │ │ じゅもんつかうな │ │ いのちだいじに │ │ おれにまかせろ │ │ めいれいさせろ. │ └─────────┘
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
>>372 9x系だと環境変数のエリアが足りなくてSET命令でエラーが出てないかな。
config.sysに
shell=command.com /e:4096 って感じだった。資料も環境も無いのでうろ覚えです。
>363よ。あなたは普通の人より多く苦労しています。 あなたの落したOSはこのXPか? 363「いいえ違います。」 それではこの2000のOSか? 363「いいえ違います。98SEです」 よろしい正直者には98Meを与えよう っとかで喜んじゃだめですよ!志をもっとたかく! MacOSX出るまで引っ張って、即答で「それ俺んです!」 ぐらいでいいんだぜ!わかるね??
377 :
363 :2005/08/29(月) 23:17:21
ありがとうございます。 9x系は難しいのでしょうか。パソコンは買って5年経ちました。 config.sysを開いてみましたが shell=の所がありませんでした。
378 :
363 :2005/08/29(月) 23:49:13
>363よ。あなたは普通の人より多く苦労しています。 マジですか・・・。 今日はみなさんありがとうございました。 明日は未経験者歓迎のプログラマーの就職試験です。 Hello world.さえできていません。 行って参ります。
JAVAって難しいですね。
380 :
◆GelUgugUhI :2005/08/30(火) 00:07:38
IE for macでAppletContext#showDocumentが空振りします そいでLiveConnectも効かないもんだからアプレットから次の画面へ遷移する 方法を見失ってしまいました・・八方塞です(;´Д`) 同じ壁にぶつかった方、いませんか? 「こんな風にしたら動くんでない?」的な意見お待ちしております
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つの違いについて教えて下さい ぐぐってもわからんぽ(´・ω・`)
383 :
382 :2005/08/30(火) 04:24:32
javac com.sun.tools.javac.Main sun.tools.javac.Main ですた(´Д`)
>>359 > ちょっと待て。JavaWebStartが動くためにはJREがインストールされている必要があるんだが?
いや、その必要はない。
以前からこの話題はなんどもこのスレでなされてきた。
ブラウザがありさえすればJREが入ってなくともJRE自体も自動でダウンロードインストールされる。
>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プログラムってどう作れば良いですか? 原則としてコマンドプロンプトが開かない方法をお願いします
MRJですぉ もうmacの対応いやんぬ('A`) ちなみにネスケはshowDocument動くんですわ‥LiveConnectは使えんけども。
WEBサイトでSUN用のJavaアプレットを使用しているのですが、 ユーザのほとんどがMicrosoftVMを使っていて、 しかもSunVMへの移行作業を促しても面倒がってやってくれてないようなんです。 MSVMが廃止されつつあると説明しても、ほとんどのアプレットはMSVMで動くので移行作業が敬遠されているようです。 アプレットをMSVMで動作する様にコンパイルする方法は分からないし (target 1.1じゃエラーメッセージ出ないから仕様が合わせられない) 何か良い知恵はありませんか?
>>390 >>389 の3つめのページを読むとわかるんだけど、HTMLConverter使用時に
extend.tplというテンプレートを使うと
「IEならOBEJCTタグ、NetscapeかMozillaならEMBEDタグ」と使い分けるJavaScriptを
加えてくれる。
これならある程度対応できるんでない?
393 :
388 :2005/08/30(火) 11:46:35
>>391 やってみましたが、生成されるHTMLが間違ってませんか?
</object>は全てのブラウザの場合で出力される様に書かれていて、
でも<object>はieの場合しか出力しない様になっているような・・・。
これだとie以外のブラウザだと</object>に対する開始タグが見つからない。
<embed>についても同様の問題が発生しそうな。
>>395 WEB-INF/classes 以下に置いたサーブレットが
http://<ホスト名 >/<WebAPP>/servlet/<クラス名> で
デフォルトで起動できたのははるか昔の話。WEB-INF/web.xml を編集して目的のサーブレットを起動
できるようにするか、TOMCAT_HOME/conf/server.xml (って 5.5 でもあるんか知らんが) で
/servlet/* とマッピングしてある奴のコメントをはずせ。
397 :
395 :2005/08/30(火) 13:34:17
>>396 ありがd!!
さっそく試してみます〜の。
駄目だったらまた報告しまつ。
398 :
392 :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のプロセスが使用されてしまいます… 比較的容易な方法での実現方法が知りたいです。
>>399 Javaじゃないけど
サービス登録してnet startしたらどうかな?
401 :
395 :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 どうすればサーブレットが起動できるか教えて下さい。。・゚・(ノД`)・゚・。 トホホ
コンテキストパスでの指定が間違っていると思うが。 君の書いた起動URIだと、ユーザー名がアプリケーション名になっていると思うのだが。
>>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をマッピングしろよ。
>>402 そこはいいんじゃない?
Tomcat/webappsにユーザ名と同じ名前でディレクトリが作ってあるみたいだから。
405 :
395 :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 と書くわけにもいかないし。どうするのがいいかな。困った
>>405 今考えてみたら、admintool使えばよかったんでねーの?
408 :
363 :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です。 ご教示お願いいたします。
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を良く使うんなら、便利。
>>409 >こちらを上書きしてコンパイルしました所、Test1.classが出来ました。
>ですが、それが出来るまでフリーズするような感じに長い間なりまして、
普通ならんけどなぁ。
コンパイルできたのなら、Test1.javaのほうが怪しいと思うが。
いきなり複雑なのをコンパイルするのでなくて、
HelloJavaか何かを書いてみてコンパイルしてみてよ。
412 :
363 :2005/08/30(火) 18:53:08
お返事ありがとうございます。 Cのコンパイルをしたときはものすごく 速かったのに、なんでこんなにおそいのかなーと思います。 Test1.javaがhelloって表示する単純なプログラムなのですが public class Test1{ public static void main(String[] args) { System.out.printin("Hello."); } } コンパイルすると三行目がシンボルがみつけられませんになりました。 それでもエンターキーを押さないとフリーズしたみたいな感じになって 連打すると時間がたってなんとかもとに戻ります。
>>406 #foreach ( $item in [1..3] )
printinて何?
415 :
363 :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 とエラーがでます。
>>415 いっかい echo %CLASSPATH% の結果を張りつけてくれ
417 :
363 :2005/08/30(火) 19:16:42
間違えました。 javac HelloWorld.java でした。やってみます。
419 :
363 :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 となります。 もう一度再起動してやってみます。
>SET CLASSPATH=echo %CLASSPATH%. ワロス ちげーよ!
421 :
363 :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%. でしょうか?
>>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が通っている状態になる。
MS-DOS プロンプトで 「echo %CLASSPATH%」 って打ち込んだ結果を 貼り付けてくれって意味。 ついでに CPU とメモリと機種も。
424 :
363 :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、機種はソーテックです。
JPanel上に表示する文字を中央揃えをするにはどうすればいいでしょうか?
>>425 JLabel label = new JLabel("氏ね", SwingConstants.CENTER);
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
p.add(label, BorderLayout.CENTER);
>>424 >SET CLASSPATH=%CLASSPATH%.
ちがうー、正しくは、
SET CLASSPATH=%CLASSPATH%;.
最後が微妙にちがっとる
>>424 つーかさ、SET CLASSPATHとか必須条件じゃないのにな。
とりあえず
>>422 をやってみて動いたのか?
429 :
363 :2005/08/30(火) 20:10:13
コンパイルに30秒と実行に15秒ほどかかりましたが、とうとう実行出来ました。 見ず知らずの私に親切にして下さってありがとうございました\(>д<)/ 長年フリーター生活をやってきましたが、がんばります。
まぁ暇だったしな。厨房煽り専門の派遣が来なくて良かったな。
431 :
425 :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も変動します。
>>431 Graphics#getFontMetricsか何かして、FontMetricsの文字列の幅求めるメソッドで幅取得して座標算出すりゃいいんでないかな
クラスのスペルは自信無し。携帯からなのでゴメンぬ
AppletContext#showDocumentの件、解決できず仕舞いだ('A`)
( Componentのサイズ-FontMetrics#StringWidth(str) ) / 2 これでわかるだろうから、あとは調べろ。
434 :
406 :2005/08/30(火) 21:51:05
>>413 やっぱりそれなんだね。
思い出してどうにか動かすことができた。
#foreach($foo in [1..$velocityCount])
なにか
#end
とやることで。
Thanks
Luceneにかんするようなスレッドってありますか?
>>393 タグがちゃんと入れ子になってないHTMLで正しいの。
ブラウザによって認識するタグ、認識しないタグがあるだろ?
認識しないタグだと無視されるという仕様をうまく使って
IEとNNに対応してる。まあかなりトリッキーだが。
>>406 $velocityCountはループカウンタだぞ。いわゆるforループのiにあたる。
>>434 は使い方が思いっきり間違ってる。
438 :
399 :2005/08/31(水) 00:33:47
439 :
デフォルトの名無しさん :2005/08/31(水) 00:53:58
質問させていただきます。 メソッドへ配列を渡す際の記述方法に関する質問なのですが、 例えば String[] string = { "abc", "def", "ghi" }; method(string); のようにメソッドに配列を渡すことができますが、 method({ "abc", "def", "ghi" }); のように直接配列をメソッドに渡す記述方法ってあるのでしょうか? もしあれば教えていただければと思います。
>>438 Javaに限らず何の仕組みもなければ相手のプロセスでは動かせんよ
RMIとかやりたいってこと?
Tomcatでもいれてキックさせてやるほうが楽そうだが
442 :
デフォルトの名無しさん :2005/08/31(水) 00:58:52
>>441 さん
できました!迅速な御回答ありがとうございました。
サーバー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 なんですけど何処がエラーか教えて下さいませ
Java コンソール見れ。
447 :
デフォルトの名無しさん :2005/08/31(水) 08:55:40
Javaコンソールって何ですか??
>>438 javaから呼べばいいじゃん
net startを。
449 :
デフォルトの名無しさん :2005/08/31(水) 12:45:44
>444 int intAnSwer じゃなくて、int intAnswer じゃないの??
テンプレにもある初歩的な質問で申し訳ないのですが 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 このPATHについてです。 システム→詳細→環境変数→システムの環境変数にあるPathの変数値を編集して C:\Program Files\Java\jdk1.5.0_04\bin これを書き加えました。 次に システムの環境変数内にCLASSPATHを新規で作り変数値にはC:\Javaを作りました。 それでもjavacが認識されません。 フォルダ名も確認したのですが合ってました。 どこが悪いのか教えてください。 OSはWindows2000です。
>>450 コマンドプロンプトで
echo %PATH%
ってやってみて、自分が設定した環境変数が含まれていないなら
設定が間違っていることになる。
>>451 ありがとうございます。
見直したところ変数値への追加が問題でした。
;C:\Program Files\Java\jdk1.5.0_04\bin
↑このセミコロンがなかったです。盆ミスでしたすいません。
>>450 環境変数を書き換えたらコマンドプロンプトは再起動してる?
>>450 ,452
おれの個人的な意見だけど、
みんなもやってると思うんだけど。
システムの環境変数書き直すのはどうかなと思うんだよね。
複数のJDK入れてる俺の環境とかだとどれが呼ばれているかとか
けっこう気にしなきゃならないからなんだけど。
君の場合の解決方法を提案させてもらうと、
コンパイル時に必要なときだけPATHとCLASSPATHを設定するような
バッチファイルを作るとか。
作業フォルダが決まっているなら、そこにそのバッチファイルを置いておいて
最初に一度実行すればいい。
バッチファイルの内容も
SET PATH=C:\Program Files\Java\jdk1.5.0_04\bin;%PATH%
とかでいいしね。
ttp://www.hellohiro.com/socket.htm にを参考にしてソースを実行すると
Eclipsのデバッグ中で
while ((inputLine = in.readLine()) != null) {
out.println(inputLine);
}
こんなwhile文の中でかたまってしまうYo・・・
ご指南よろしくでつ・・・
>>437 じゃ、こうすれば
#foreach((ry)
#set($temp = $velocityCount)
#end
#foreach($foo in [1..$temp])
なにか
#end
>>455 サーバとクライアントどちらもちゃんと無いと動かんのだけど
そこら辺はわかった上での質問?
458 :
455 :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を実行しないと環境変数が反映されないんですが
これを回避するにはどうすればいいですか?
>>459 そこのport="8080"を"80"に書き直せ。
>>455 ,458
一台で問題なく動く。
クライアント側のout.printlnのあとにout.flush
してみたらどうなる?
462 :
デフォルトの名無しさん :2005/08/31(水) 15:35:52
>>460 それやるとどうなるかなぁと思い
意味ありませんでした。
463 :
462 :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が内蔵されているので
ふたつ容易するのは多少無駄はあるとは言えますが
独立して使いたい場合もありそうなので
あえて両方使ってみたいと考えています。
よろしくご教示ねがいます。
あと、
もしこういうことをよく理解できる書籍やサイトがありましたら、紹介してもらえませんでしょうか?
>>463 俺の使ってるTomcatとは別のものなんだろうな。
もう一度ちゃんと設定を見直せ。再起動してませんでしたとかないか?
まぁ別世界のTomcatのようだから別の方法があるのかもシレンが。
>>463 ウィルスバスターやNorton Internet Secirityなどのアンチウィルスソフトが邪魔してるとか
じつは囲ったコメントを外していないとか
data 1| 1 3 4 2 … data 2| 5 2 10 7 … のようなフォーマットでデータが羅列してあるテキストファイルがあるのですが、 ここから一行ずつ読んで正規表現でパターンマッチングして、data 1の部分をintの変数に、 その後の数字の羅列を一つずつListに入れたいです(この部分の長さは行によって可変) Pattern.compile()の中身とMatcherからデータを取り出す部分はどういう風に実装すればいいでしょうか? Pattern.compile("data\\s+(.+?)|\\s+(.+?)"); とか書いてもマッチしませんでした よろしくお願いします
いわゆるscanfもどき使えば
フォーマットが、 列名の分割文字が「|」で各数値の区切り文字がスペースで固定なら String#split()使った方が楽じゃないか? まず、「|」でsplitして、その結果の値の方を今度はスペース文字でsplit 得られた配列の長さでListに入れるだけ。 正規表現使うより楽だと思うが。
471 :
450 :2005/08/31(水) 16:58:54
>>461 状況全く変わらず・・・・
おとなしくまずはTELNETできちんと接続できるかを
確認しておいたほうがいいのかな・・・
>>471 ファイアーウォールの設定とかちゃんと見てみた?
473 :
455 :2005/08/31(水) 17:02:03
↑上のは俺でした 番号間違えてすまない・・・ 回線切って(ry
474 :
455 :2005/08/31(水) 17:05:52
>>472 スマン、職場のマシンはXPなんで
あんまし使ったことない。
んなんでファイヤウォールの設定ワカラナサス
俺クオリティヒクソングレイシーorz
475 :
455 :2005/08/31(水) 17:11:44
>>472 ファイヤウォールとウィルスチェックを
1時的にはずしたけど、ぜんぜん変わらんOTZ
>>475 まずはそのホームページのJavaソースをそのままコンパイルして
動かしてみてよ。
動かないなら、環境がおかしいって事だけは特定できるから。
477 :
455 :2005/08/31(水) 18:09:38
なんだかPrintWriterストリームに余計なもの(?)が入ってたから 無限ループから抜け出れなか感じですた 回線切って吊って(ry
チャットでjava起動させないようにするにはどうしたらいいですか?
479 :
デフォルトの名無しさん :2005/08/31(水) 18:23:01
age
チャットプログラムがJavaで出来ているなら 無理。 どうかわからないなら、調べてもう一度質問。
大福チャットでスクロールが自動で行われないからテラメンドクサス 解決策何?
イミワカンネ
とりあえずJavaが関係あるのかもわからんね。
始めたばかりなのでくだらない質問なんですが プログラムを書いてコンパイル→バイナリコードを作る って所までやりました。 そこで質問なんですが 一般的なexeには出来ないのでしょうか?jarたらいう物には出来るそうのですが。
Javaをexe形式にするものはある JSmooth で検索してみると良い。 有料だといろいろある。 一番の問題は 結局Javaプラグインが必要 ってことで、あんまり必要性を感じないのだけどな。 有料のやつだと内蔵してくれるものもあるが、 巨大なファイルになるのでそのつもりで。
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を有効にしてください」と出てきて、全て説明どおりインターネットオプションから有効に設定したのですが、全く改善しません。。 どうしたらよろしいでしょうか、教えてください
あ・・・これは申し訳ありません。。 わざわざ誘導してくださいってありがとうございます。 お騒がせしてすいませんでした。
>>486 そもそもループ中に一定のsleepってことはsleep以外の処理時間が可変になったときに
安定した速度が出ない
sleep自体もOSやチップによって性能が様々
そもそもJDKのprivateJREもpublicJREもまったく同じだが
コンパイルが通るくらいのソースにしてもらわんとなんとも
Java ってさぁ、JIT でネイティブにしてるならその技術つかって 簡単にネイティブコンパイラができるんじゃねぇーの? WORA が崩れるのがいやなんか?それとも全部ネイティブにできる わけじゃねぇーのかな?
全部ネイティブにできるよ。つーか、ただの中間コードごときでできないわけがない。 ただし、バイトコードの動的なロードをサポートする必要があるので、実行時には ネイティブコンパイラが必要。それって結局 JIT コンパイラ使うのと変わらない。
>>494 参考にした先が悪かったな。
そのサイトCじゃないか
JavaとCはもちろん違うからな。
>459 Linux ではポート80は特権ポートなので、root権限がないと80で待ち受けることが できないんだけど、関係ないですか?
java Hoge と javaw Hoge の違いを教えてください
>>496 どっちにしろ、そのサイトに書いてるのは間違いがあるな。
Windows上で厳密に10msecでSleepは出来ない。
かなりぶれる。
JDK5になってnano秒も扱えるようになったが、
結局同じだったのにはがっかりだったが。
どちらにしろ最初の問題のJDKとJREの違いの答えではないけどな。
考えられるとすると、Eclipse上とかで動かしていて、
自分の知らない起動オプションが入っているとかね。
-verboseとかあり得そうだ。
どうしても気になるなら、プロファイラ使って調べるぐらいしか
思いつかない。
みんなnetビーンズみたいな奴使ってる?
>>499 ぶれてもいいようなアルゴリズムでは?
JDKとJREの違いの答えじゃないけど。
JREはexejar使って関連付けから開いているので怪しいところを
調べてみると関連付け蛾javawになってました。
JDKのjavawを使い起動するとJREと同じくぶれました。
なんどもレスありがとうございました。
>>500 レスありがとうございます。
うーん、何故それだけで上のような問題がでるんでしょうか。
すいません以下のソースがコンパイルできないのです。 classが見つからないと。 ちゃんとclass書いてるのになぜでしょうか? class TestPrintln { public static void main(String[ ] arg) { System.out.print("この帽子ドイツんだ?:"); System.out.println("オランダ"); System.out.print("この囲いどうかな?:"); System.out.println("カッコイイー");
コピペ不足でした。 class TestPrintln { public static void main(String[ ] arg) { System.out.print("この帽子ドイツんだ?:"); System.out.println("オランダ"); System.out.print("この囲いどうかな?:"); System.out.println("カッコイイー"); } }
>>504 public class TestPrintln {
コンパイルできないのと、実行できないのは区別しような。
まずそのジョークに問題ありと見た
>>502 たしかにぶれてもいいアルゴリズムだろうけど、
Sleepの精度が無視できるほどでもない。
sleep(30)とかに値を増やしてみて試すとわかると思うよ。
javawでもきっと安定するから。
>>509 コンパイルの仕方がわるいんじゃねーの?
ちゃんと
javac TestPrintln.java
ってやってるか?
>>508 ありがとうございます!
sleep(50)で安定しました。sleepが問題とは予想外でした。
ただFPSが20ないので、これを上げる上手い手段はありませんか?
>>511 無いこともないが、実装の変更が伴うよ。
java.util.Timer#scheduleAtFixedRate
を使うことによって、指定時間で繰り返すってことが可能になる。
自前でウェイト調整をするよりはよっぽど簡単。
JDKとJREとの差は知らんけどね。
>>510 コンパイルの方法は問題ないようです。
ひょっとして作業用フォルダに他のclassファイルがあるから
問題起きたのでしょうか?
>>513 classが見つからないってエラーは
普通は実行しようとしたときなんだけどな。
コンパイルができず、空白を削ってみたり
文をキレイに並べ替えてみたりして(意味ないと思うけど)
コンパイルした結果
Exception in thread "main" java.lang.NoClassDefFoundError: TestPrintln/java
と出ました。これも意味不明です。
>>505 氏の記述通りでコンパイルしたら成功
実行もうまくできました。
>>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
>>494 わかってないようだがsleepがwaitする時間が機種依存なんだよ
タイマー関係は結構動きが違う
ゲーム目的でアプリケーションならフルスクリーンにして垂直同期をとるという方法もある
Iアプリ作ろうかと思いJAVA始めようと思うのですが 携帯向けアプリ作成について解説してるサイトとかないでしょうか? ちなみにVBの経験しかありません
質問させてください、現在swingを使ってプログラミングしてるのですが。 まずメインとなるフレームを作成し、メニューに「open」をくわえました。 このopenをクリックして、任意のフォルダ内のファイルを全部フレーム内に表示させる ようにしたいのです(ウィンドウズでいうエクスプローラーの右側の画面のような感じに どうしたらいいかわからず困っています、わかるかたいたら助言お願いします。
>>521 質問の目的は JFileChooser でファイルを選ぶことじゃないのかね?
523 :
521 :2005/09/01(木) 03:38:40
JFileChooserに近いものをつくりたいのですが、 最終的にはフレームをJSplitPaneにて縦に二分割し、左側にフォルダ内のファイルを一覧表示 させるようにしたいのです。分割した右側には左側でフォーカスのあたっているファイル のプレビューを表示させるようにしたいと考えています。(たとえば、フォーカスが*.txtなら そのテキストファイルの内容が右側に表示されるといった感じに ファイルチューザにアクセサリを追加してプレビューを表示させるほうが はやいかなとも思っていますが・・・。 できればシンプルな画面にしたいのでファイルチューザを使わなくてもできる やりかたはないでしょうか?
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を使え、とあったな。
マジか
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 も読みましたがわかりませんでした。
>>528 コンパイル時と実行時のクラスパスは別だぞ。
530 :
528 :2005/09/01(木) 14:26:03
>>529 どこをどのように変えれば動くか詳しく御教授お願い致します。
>528 質問者は謙虚たれ。 まず、「クラスパス」とは何かについて 人に説明出来るようになるまで調査すること。
postgres???.jar を [JAVA_HOME]\lib\ext に放り込んで実行せれ。
>>532 それは根本的な解決にならんじゃないか・・・。
>>528 はまずクラスパスとは何ぞや?ということを学習して
その上で分からんことがあったら再度質問するがよろし。具体的にな。
そもそもどうやってコンパイルに成功したんだろ? eclipseかなんかでやってる?
535 :
デフォルトの名無しさん :2005/09/01(木) 16:00:52
どれくらいである程度マスターできますか? 7日くらいかかりますか?
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のやり方に従うこと
>>537 いくらなんでもブートストラップクラスを例に挙げるなよ...
しかも不完全だし。
>>1 読めのほうがまだマシだ。
KeyListenerの void keyPressed(KeyEvent e) キーを押しているときに呼び出されます。 void keyReleased(KeyEvent e) キーを離したときに呼び出されます。 void keyTyped(KeyEvent e) キーをタイプすると呼び出されます。 「タイプすると」 とはどういういみでしょうか? Pressed = 押されている最中 Released = 離した瞬間 Typed = 押した瞬間 と思っていたのですが、docのKeyEventクラスの説明を読むとどうも違うような気がします。
Javaで全角文字を半角に変換するライブラリってありませんか? commonsの日本語特化版みたいなのあればいいんですけど無さそうだし。 結構業務で求められそうだけどみんな自分で作ってるんですかね?
>>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したのですが、それからどうすれば、 計算処理されるのですか? 本当に超初歩的な質問ですみません。 よろしくお願いします。
>>544 1. コマンドプロンプトを開いて、ファイルを保存した場所まで移動
2. javac Sample1App.java と打ち込む
3. java Sample1App と打ち込む (ただし結果は表示されない)
情報少なすぎ。JDK インスコしてるかすら分からん。多分 PATH とか設定してないだろう。
Eclipse 等の IDE を使うことをお勧めする。
546 :
デフォルトの名無しさん :2005/09/01(木) 22:40:23
>>545 PATHはテフ用に設定済みなんですよ。 てことはこれを変えなくっちゃならないてことですか? JDKはインスト済みです。
>>546 TeX 使えるなら多少のコマンドライン操作はできるんだろ。
コマンドプロンプトで javac [ファイル名] 起動しろ。
「コマンドまたは〜」が出たら PATH に JDK の bin ディレクトリを追加しろ。
set "PATH=%PATH%;C:\jdk1.4.1_00\bin" とか。
>547 そんな古いJDK使っていますか。
まァ実行しても何も出力されんがな。
550 :
GiantLeaves ◆6fN.Sojv5w :2005/09/01(木) 22:51:35
551 :
デフォルトの名無しさん :2005/09/01(木) 22:52:03
>>545 Eclipse?なんですか、それ?
>>542 IBMのicu4jとかはどうだ?
国際化ライブラリなので、西暦<->和暦変換とかも入ってるので
業務には便利だぞ。
やや遅いが、巨大なデータをバッチ処理でもしなけりゃ問題ない速度。
553 :
デフォルトの名無しさん :2005/09/01(木) 23:07:26
>>547 javac[Sample1App] ってコマンドプロンプトに打ち込んだら、 「”ファイル ”は内部コマンドまたは外部コマンド、操作可能 なプログラムまたはバッチ ファイルとして認識されません。」 という返事がきたんだけど。????
>>553 じゃあ PATH に javac.exe のディレクトリを追加しろ。
先ず括弧いらないよ"[" と"]" 。 Sample1App ってファイル名 なのかな .java ってサフィックス付けてね。 それでも同じ エラー出るなら547の後半で言ってるパスの設定確かめてね。 最後のハテナ連打は印象悪いからやめたほうが良いよ。
>>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をインストしてああります。
>>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"
>>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 なぜかコマンドプロンプトってコピぺができない、ってオイラだけですか・・・?
>>563 >>562 を実行した後に、コマンドプロンプトを閉じずに、
そのままecho %PATH% を実行して見て、
さっきのC:\j2sdk1.4.2_08\binが含まれていればOK.
>>564 ああ、設定が必要だね。
コマンドプロンプトのタイトルバー(っていうのかな?)
要するにコマンドプロンプトって書いてあるところを右クリックすると
プロパティが選べるから、それを選択して、
そのオプションタブの編集オプションの
簡易編集モード
にチェックを入れたらいいよ。
567 :
デフォルトの名無しさん :2005/09/02(金) 00:05:36
>>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
本日はここまで。
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 ヽ;:::::::::::::::::::::::::::::::::::::::::::/ / ::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
ぬるぽ が出て30分ほど途方にくれていたが、コンストラクタで参照渡したオブジェクトがnewする前だったorz Java新参者のチラシの裏でした〜
catch(NullPointerException e) { System.out.println("ガッ"); }
サーブレットを作っているんですが、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度手間?)
>>575 サーブレットエンジンはcontentTypeを見て何かしてることはあまりないと思うが。
普通は、逆にロケールに応じてcontentTypeを設定すると思う。
それは置いておいて、
※2の方法で文字化けが解消されないってのがよくわからん。
最後の質問だけど、そんなの実装によって違うからわからんけど、
普通はサーブレットはデータ詰めるとかそういったところだけを
気にするものだと思うが。
※1でOK ※2,※3は必要なし
>>575 metaタグと@pageの違いがよくわかってないようだな
>>575 ・出力に使用する文字エンコーディングの指定と入力に使用する文字エンコーディングの指定を区別しろ
・Windows-31JとShift_JISの違いを区別しろ
・JSPでのどの指定がServletだとどの指定に相当するのかを理解しろ
・文字エンコーディング指定は基本的には最終的な処理で上書きされることを理解しろ
580 :
575 :2005/09/02(金) 11:45:45
>>576-578 レスありがとうございます。
とりあえず、メタタグだけ書き換えて対応しておこうと思います。
(統一されていないのがなんとなく気持ち悪いですが…)
>>578 @pageで指定する奴はHTTPヘッダ(生データみたいの)の文字コード情報で
metaタグで指定する奴はHTMLとしての文字コード情報って解釈してるんですが
違います?
581 :
575 :2005/09/02(金) 11:59:56
>>576 >※2の方法で文字化けが解消されないってのがよくわからん。
文字化けするソースコードをいったん保存して、そのままだと
文字化け表示されます。これを確認した上で
JavaScriptのコメント文を全部はずすと文字化けがなくなるので
おそらくIEの「メタタグのContent-Type認識機能」がWindows-31Jに
対応してないのかと… まぁ妄想ですが。
>>579 レスありがとうございます。かなり参考になりました
>・出力に使用する文字エンコーディングの指定と入力に使用する文字エンコーディング
の指定を区別しろ
これは、response.setContentTypeが(サーブレットからの)出力に使用する
文字エンコーディング指定で
request.setCharacterEncodingが(サーブレットへの)入力に使用する文字エンコーディング
みたいな事ですかね?
ここで、もうひとつ疑問がわいてくるのですが、サーブレットへの入力に使用する文字エンコーディングっていうのは、何によって決定されるのでしょうか?
1.送信フォームをサブミットする直前のブラウザのエンコード指定
2.OSの言語セットとかIMEとか
3.その他
そういやJDKインストするときに西ヨーロッパ言語をうんちゃらかんちゃら って出たけど、みんなインスコしてないよね?
よく覚えてないけど必要なさそうだったんで入れてない 追加フォントとエンコーディングのサポートだったかな?
584 :
デフォルトの名無しさん :2005/09/02(金) 14:19:07
JTextPaneでタブの文字数の設定ってできないのでしょうか?
-serverみたいにがつっと威勢良くなる技ないですか? 皆さんは最適化するならどこ突っつきます? 無駄にスコープ広かったの削ってみたけど全然だめだね
シングルトンとかフライウェイトを採用しろ
メモリ消費量の把握とか プロファイラとか使って最適化すれば?
588 :
デフォルトの名無しさん :2005/09/02(金) 16:59:15
com.sunパッケージと sunパッケージの中に似たようなものがあるんですが、 sunパッケージは旧バージョンということですか?
589 :
デフォルトの名無しさん :2005/09/02(金) 18:18:31
>>551 Eclipseは、無料の統合開発ソフトかな?よく知らないけど
書店で、Eclipseの本をよく見かける
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を勉強したい場合、一番お勧めの本ってどれですか?
情報処理概論 言語とか以前の知識を教えてくれる 2進数とかそういうの
595 :
593 :2005/09/02(金) 22:20:27
>>594 マジレスお願いします。。
Javaの雑誌とかが普通に読めるようになるにはどの本がいいんですか?
マジレスだろ。 他の言語をすでに使える人ならJavaだけ覚えればいいけど プログラムの基本がなければノイマン型とかメモリってどういう意味なのかとか ビットとか細かいところでつまずくことになるぞ。 何の勉強でも基本は大事だよ。 アルファベット知らないのに英文を書こうとしてるのと同じ。
597 :
593 :2005/09/02(金) 22:31:32
>>596 2進数とかはさすがにわかります。
ちょっとしたことなら、e-wordとかで調べれられます。
Javaの雑誌が読めるようになるまでの、1段階前の入門書教えてください。
>>593 何がおすすめの本かは、
今まで何を勉強し何をしてきたか、
これから何をしたいかにもよるね。
作りたいものによっては
OSの仕組みについて理解する必要があるかもしれないし。
ネットワーク頼みならTCP/IPの本を読むべきだろう。
Javaの基本を習得したいなら、やさしいJavaや独習Javaなどで
いいかも。
>>597 概論はシフトとかorやand等の特性とかそんな大事なのも覚えることが出来るよ
基本がないやつは誤差が出たらだめな計算に平気で浮動小数点使ってたりする
a = b * 1.1とかかいたらもう終わりなのに。
つーかシフトとかorとかandとか二進数とか必要ない。 今すぐ本屋に走って馬鹿でもわかるJavaっぽい本買って来い
変数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
>>602 んな簡単なこともわからんのか。
引数、オブジェクト、メソッドの意味一つ一つがわかればすぐ書ける。
ブログに応募したら悪口ばかり書いてしまいそう
質問があります。 JAVA言語でプログラムを書いて、swingとかAWTは使わずにwindows上で動くブラウザとか作成するのは可能でしょうか? どなたか教えてください。
意味がわからない。 コマンドプロンプトでブラウジングできるよ。
609 :
606 :2005/09/03(土) 00:32:02
>>607 すいません。
えと、SlepnirやDonutみたいなWebブラウザは作成可能かどうかをお聞きしたかったのです。
うまく説明できませんが、swingやawtを使用すると、作成されたアプリケーションが古臭いという感じがしてしまい、嫌なのです。
>>608 SWTって一瞬たりともAWTを呼び出したりしてない?
>>609 当然可能ですよ
SwingやAWTに相当するものも含めて
すべてあなたが作ればよいだけの話じゃないですか
lookandfeelにべったりで行こうと決めてる時点で古臭いも糞もないでしょw macだってもう古臭いじゃんw
>>606 public class Browser {
public static void main(String[] args) throws IOException {
Runtime.getRuntime().exec("C:\\Program Files\\Internet Explorer\\iexplore.exe");
}
}
614 :
606 :2005/09/03(土) 00:48:23
色々なご意見ありがとうございます。
>>611 ごもっともな意見ですね。
swingもAWTも根っこにあるのはJAVAなわけで・・・
>>612 確かにswingやAWTがやだと言った理由にlookandfeelにべったりで行こうという考えがあったからなんですが、
JAVAで書いたアプリケーションを普段windows上で動かしている、
Webブラウザ(普段Sleipnirを使用しているので、ここではそれを指していると思ってください。)や、
メールソフトのようなGUIを実現するのはどうしたらいいのかなと思って質問しました。
>>609 >
>>607 > すいません。
> えと、SlepnirやDonutみたいなWebブラウザは作成可能かどうかをお聞きしたかったのです。
>
> うまく説明できませんが、swingやawtを使用すると、作成されたアプリケーションが古臭いという感じがしてしまい、嫌なのです。
お前が選んだLook and Feelが古くさいだけ。
どうせ数年前のSwingやAWTのデフォルトのLook and Feel しか選んでいないんだろう。
SwingやAWT使わないでどうやってGUIアプリをつくれというのだ?
ブラウザならGUIが無くても簡単に作れるがな。 テキストブラウザLynx, w3mみたいなのをな。
おっと、構文解析が大変だからそう簡単には作れないな
>>616 JNIでWin32APIなりXlibなり好きなGUIライブラリを呼べばいい。
共通のクラスでラップすれば移植性もなんとかなるだろ。
>>618 HTMLを解析してくれるJavaライブラリはいくつもあるよ。
それを使って適当に表示すればCUIウェブブラウザは作れる。
同様に最悪ウィンドウ1個の出し方とそのウィンドウへの描画の仕方さえわかれば
自前でGUIウェブブラウザを作ることも可能。
だか、こっから先をパースするのは大変だろう。 <script language="JavaScript"> (ry <style> (ry <embed src="test.vrml"> <!-- VRMLを表示する --> (ry
622 :
デフォルトの名無しさん :2005/09/03(土) 02:36:02
JavaでVC++のリストビューに相当するクラスってありますか? 若しくは、"こういう方法で実現できる"というのがあれば教えてください。 エクスプローラの"詳細表示"のような表示を実装したいのです。 GUIはSwingで作る予定です。
プログラム言語をはじめて勉強しようとおもい 苦労してインスコ→PATH設定してやっとjavacとかやれるようになりました。 上の方のレスでも出てるEclipseって導入したほうがいいでしょうか? VBチックに作れるんですよね? Eclipseをインスコしても従来通りコマンドラインからjavacとかプログラム組めるのでしょうか? 初心者はとりあえずEclipse入れたほうがいいでしょうか?
ちょっと眠気で質問攻めになってますが 要するにEclipseをインスコしたほうがいいのでしょうか? ということです。
>導入したほうがいいでしょうか? YES。勉強するのはいいことだ。 >VBチック NO。共通点は見当たりません。 >従来通りコマンドラインからjavacとかプログラム組めるのでしょうか? YES。Eclipseは環境破壊しません。 >Eclipseをインスコしたほうがいいのでしょうか? YES!YES!YES!
丁寧にありがとうございます。 VBチックといういいかたは悪かったです。 いわゆるGUIといいますのでしょうか。 マウスで フォームを作って〜 ここにボタンつけて〜 ここにテキストボックスを置いて〜 という感じなのかな?と思いました。 とりあえず環境破壊しないようなので無料なので使ってみるべきですね。
>>627 >マウスでフォームを作って〜 ここにボタンつけて〜 ここにテキストボックスを置いて〜
デフォルトではそうなっていない
プラグインで拡張することにより実現可能
>>627 質問レベルからしてNetBeansでいいのでは
>586-587 アドバイスそっくりそのまま頂戴しました。効果覿面、以下結果です。 「リスクなく導入できそうだったらバンバンしてきましょう」と御願いしました。 そしたらがんがん手が加えられたんですよ。頼もしいです。 自分プロファイラ初挑戦でちんたらして悪いなと思いました、がきた!! やったみっけた確信犯!!プロファイラ使い方わかってないけど、見通しよくなる 偽証シングルトン見つけた。内部にnewを4箇所隠し持ってる。 で、問題は、この偽シングルトンがお願いした後に作られたものだって事なんです、気まずい
NetBeansは日本語版ないでしょ
今JAVAアプレットで実行するプログラムを作成したのですが、 開発しているマシンでは見えるのに、他のマシンで見るとそれが見えません。 #アプレットが見つからないといわれる 開発環境はjdk1.5.0_04、見えているマシンの環境はJRE 1.5.0_04 見えないマシンの環境はWindowsXP-SP2を入れただけという環境で、 sunのjavaVMをダウンロードしていない状態です。 その見えない環境のマシンでも、見えるようなアプレットを作成するには どのようにすればよいのでしょうか。 そのマシンにもsunのjavaVMを入れるしか方法はないのでしょうか。
どう見えんのかちゃんと書け。 あほ質問者ばっかりだな
>>632 MSのJREは1.1までしか対応してないって奴だろ
仕事上で使うアプレットなら当然SUNのを落とさせるべき
そうじゃないなら1.1で作れ
635 :
632 :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);
}
}
程度のものでも、見える環境では普通に見えるのですが、
見えない環境ではアプレット領域が灰色になるだけで、何も表示されません。
だからtargetは1.1でやってるのかって・・・
637 :
632 :2005/09/03(土) 12:07:15
Javaって何これ? メジャーバージョンが1のままなのに Java2とかほざいてるし マイナーバージョンが5なのに Java2 5.0とかほざいてる Javaのメジャーバージョンが2になったらなんて呼ばれるん?
JAVA3
javaのバージョンなんかwindowsのバージョンに比べたらどうってことないよ。
Java 1.5でjdk1.5.0, jre1.5.0でもなんら支障はない Tigerというあだ名をつけてるんだから、本名まで改名するなよなw
次のバージョン(Mustang)は Java SE 6
ソラリスも変
1.0 2.0 386 3.0 3.1 NT 95 NT4.0 98 2000 ME XP 2003
スレタイで初心者大歓迎と歌っているが一向に
>>633 みたいなのが減らない件
回答者ならエスパー使おうぜ!
>>646 MEが明らかに浮いてるな
年号を外すのはそれなりにパラダイムシフトしてるはずなのに
「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()); } }
「privateはサブクラスへ継承できない」ってほんとに書いてあるの? 普通は、privateなフィールドやメソッドはサブクラスからはアクセスできない みたいに書いてあると思うんだけど。
はい、誤表記でしょうか。確かに書いてあります。 private オブジェクト内からのみ利用できます オブジェクト内からの利用:利用可 サブクラスへの継承:パッケージ内外ともに利用不可 オブジェクト外からの利用:同じパッケージ内:利用不可 :異なるパッケージ:利用不可
>>650 privateとは関係ないけど、
初心者のうちは、デフォルトパッケージは使わないほうが良いと思う。
同じパッケージにあるものは、デフォルトパッケージでも見えるけど、
パッケージが異なると見えなくなるので、特に理由のない限りは
publicにしておいたほうが良い。
>652 継承したクラスからは直接に利用できないだけで存在しなくなったわけではない。 間接的に(getStrを介して)利用するのはかまわない。
>>654 privateとして継承されているという解釈であっていますか?
>>655 そういう表現(privateとして継承)は誤解を招くので使用しないほうが良い。
(C++には、private継承という用語がある。)
>>657 そうですか。
誤解の無い様に言うと、
>>655 >privateとして継承されている
↓
private String strというメンバとして継承されている
>>655 の解釈があっているとすればJavaの絵本の説明は何を言わんとしているんでしょうか。
サブクラスへの継承
public:パッケージ内外とも利用可
protected:パッケージ内外とも利用可
なし:パッケージないなら利用可
private:パッケージ内外とも利用不可
142ページです。
>private String strというメンバとして継承されている されてねえっつってんだろハゲカス
あ、なるほど!
わかりました。あるようで無いんですね。
>>654 ,659
ありがとござました。
うおおおおおおおおおお何かしばらく(10分)悩んで分からんことがすっきりしあqwせdrftgyふじこlp;「」
>>654 ,659 ネ申
Javaって上手く出来てるなぁ。
>>627 VBライクに開発というのならNetBeansしかないだろうね。
無料だし、環境は壊さんよ。
VEのsetSize使う仕様バグなくなればまだいいのだろうけど
初心者にプラグイン含めてセットアップさせるのは厳しいかと。
>>631 とかみるとネガティブキャンペーン中なのかもしれんが普通に日本語版あるし。
1.メニューバーのファイル(F)などをalt+Fで展開するにはどうすればいいですか? 2.これはアプリケーションなどに多いのですが、windows特有の操作ですか?
WにできることでJにできないことなどない
言ったな!こいつぅ〜
Java(アプレット可)からWindowsのアンインストールをするにはどうすれば良いですか?
意味がわからない。
>>647 Javaの初心者は歓迎しても
質問の初心者や日本語の初心者といった池沼は歓迎していません
>>666 もっと勉強してJavaの質問になるレベルまで落とし込むと良いです
>666 Runtime.getRuntime().exec("%WINDIR%\\system32\appwiz.cpl"); どうだ当たり?的外れ? むずかいしねここの質問者、ずっとこんな感じなんだ
671 :
デフォルトの名無しさん :2005/09/03(土) 18:18:52
エディタからjavacにコマンドラインで起動しているのですが、 一瞬でjavacを開いているDOS窓が終了してしまいます。 javacが終了してもDOS窓が閉じない方法、 またはMS-DOSの > log.txtの様なファイルに記録する起動方法ないですかね?
>>671 > javacが終了してもDOS窓が閉じない方法、
> またはMS-DOSの > log.txtの様なファイルに記録する起動方法ないですかね?
あります。Javaの質問というよりはWindowsやDOSの質問ですので適切な場所へどうぞ。
エディタの種類にもよるだろ あとjavacを直接指定せずにバッチファイル使え なかに javac hoge.java pause
cmd /c javac hoge.java もおすすめすとくよ pauseのほうがいいかも、閉じるの手間ないし
675 :
デフォルトの名無しさん :2005/09/03(土) 21:43:57
JFreeChartについて詳しく説明してあるサイトor書籍を詳解してください。エロイ人たち!!
検索すればいっぱい引っかかるのだが それで物足りなければ、sampleソース追うしかないよな これ以上何を詳しく知れと・・・
>>675 オフィシャルで英文PDF売ってるよ
半年ぐらい前買ったけど4000円ぐらいだった
詳解ってほどではなかったな
へなちょこサイトよりはましな程度
その「エロイ人」とかいうのやめれ 出づらい
679 :
デフォルトの名無しさん :2005/09/03(土) 22:10:59
>>679 何で俺がいまビデオDLしているってバレるのか・・・
詳しくは無いですがエロいので来て見ました
今日からビシバシ勉強して JAVAマスターになります。 そこで質問なんですがプログラム初心者で 数学も苦手な僕がマスターになるには何週間必要でしょうか? マジレスでお願いします。がんばりますから。
>>683 長すぎます。
>>684 ありがとございます。とりあえずお金がないのでブクオフで
アスキー出版のJAVAプログラミング講座 日本サンマイクロシステムズ
株式会社 サン・サービスエデュケーション部(3200円)1996年10月11日発行を
105円で買いました。
自分の使ってるJDKは最新版なので些か不安ではありますが
特に問題ないでしょうか? 月末に給料が入ったらおすすめいただいた本を
購入してみたいと思います。
686 :
683 :2005/09/04(日) 01:18:48
|| Λ||Λ ( / ⌒ヽ | | | ∪ 亅| | | | ∪∪ : マジレスだったのに。。 : ‐ニ三ニ‐
====== || ノ(´ ヽ < o || ゛ ` || ドサ !! Σ || ∩ ⊂('A`⊂_ノ⊃ ゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∫ ∫ ikiro ∬∫ _ ())二) ))A`) 、 @ニ===)二二ニニ)""゙ヽ, 、,,, ^ ̄" フ\''|ノ=ノ ̄,〇、,,ノ ~ヽ _/ \_
おいおい プログラム初心者からJavaマスターになるのに100週間って短すぎるだろ
「がんばる」って書いてるから。。
文字列の中の特定の文字(正規表現で表す文字)に対してその文字の前後に新たに文字を挿入したいのですが どのように書けばいいかわかりません。 "あいうえお"という文字列の「うえ」の前後にhogeという文字を挿入する、というようなことをしたいです。 "あいうえお"→"あいhogeうえhogeお" replaceAll等のメソッドではその文字列を丸ごと置換してしまうので前後に挿入ということができず、 splitで分割してstring[]に入ったものにappendするというのも考えたのですが、 正規表現を使いたいのでこれもうまくできず・・・。 どうかいい方法は無いでしょうか? よろしくお願いします。
「うえ」→「hogeうえhoge」で置換してもダメなのか?
>691 たぶん「あい」と「お」に挟まれた「うえ」を「hogeうえhoge」に換えたいということじゃないのかなあ。
じゃあ「あいうえお」→「あいhogeうえhogeお」で終了だな
694 :
690 :2005/09/04(日) 01:38:09
>>691 置換したい文字列が常に一定の文字列ならそういったことも可能ですが、
正規表現で文字列を表したいので、そういったことができないんですよね・・・。
いっちょまえに正規表現云々ぶっこいてんじゃねーよ てめーの提示する条件が少なすぎるんだよ、そんなこともわからんのかボケが 「"あいうえお"→"あいhogeうえhogeお"」の1パターンから何をどう読みとれっつーんだよ 欲しい答えが返ってこないのはお前の質問のせいだ Javaなんかより質問の仕方を勉強しろゲリミソ
つ group
695氏が怖いんですけど・・
むべなるかな
いらいらしてる695がいるスレはここですか?
「あい.*うえ.*お」→「あいhogeうえhogeお」
695は正しいと思うよ
エスパーな俺が結論を予言してやろう 正規表現一発で置換は不可能
703 :
690 :2005/09/04(日) 01:57:39
なんかスレ荒らしみたいになっちゃってすいません・・・。 言いたいことは、正規表現でマッチした部分の文字列の 前後に文字を挿入したいということです。 正規表現でマッチした部分の文字列を取り出せればいいんですが。。。
java.util.regex.Pattern#splitで得られた値を java.lang.StringBuffer#appendすればいいのでは?
>>703 Commonsさん家のORO使え。
ORO:Perl5互換の性器表現ライブラリー
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();
>>706 うは、お前激エロっ
なんでそんな激エロなん?
708 :
690 :2005/09/04(日) 02:30:24
>>706 ありがとうございました。
それで動かしてみます。
こんな時間にどうもすいませんでした。
>>706 はJavadoc見るかぎり
String str = "あいうえお";
str.replaceAll("(うえ)", "hoge$1hoge");
でもいけるはず。
ということはもしかしたら
str.replaceAll("うえ", "hoge$0hoge");
でもいけるかもしれない。
//hoge.java String static void main(String []args) { String purintln = "HELLO JAVA!";{ } } はじめて何も見ずに書いてみたんだけど添削よろしくです。
711 :
706 :2005/09/04(日) 03:37:34
>>709 $nつかえたんだ。じゃあそれでよさげだな。
>>710 おつかれさん。
//Hoge.java
public class Hoge{
public static void main(String []args) {
System.out.purintln("HELLO JAVA!");
}
}
こうかな。
ごめん間違ってた。 public static void main(String []args) { ↓ public static void main(String[] args) { ね。
ごめん間違ってた。 System.out.purintln("HELLO JAVA!"); ↓ System.out.println("HELLO JAVA!"); ね。
715 :
デフォルトの名無しさん :2005/09/04(日) 04:26:33
性器表現で痴漢?
100週間(約2年)でJavaマスターになれたらすげえな・・・ 会社はJavaの神様集団になれる。
なぁ、Javaって実行するマシンにメモリを何GB積んでも、 通常使われるのは64Mまでって本当? 俺の会社でJavaやってるプロジェクトがサーバにメモリを2GB積んだけど、 パフォーマンス上がらないって言ってたんだけど、 これって、起動時のオプションで -Xmx で指定しないといけないってこと?
>>718 本当。ただしIBM製のJREは賢いからそんなん意識せんでもいいらしい。
>>718 > これって、起動時のオプションで -Xmx で指定しないといけないってこと?
そういうこと。
自分でメモリの使用量の上限を決められる。
-Xmxを埋め込むなら特に理由が無ければ-Xmsも同値に設定しといたほうがいいね メモリ確保する必要が無くなって実行中は滑らかになる
>>716 会社で業務に使いながら学習する場合の二年間と
Javaマスターになることに集中して学習する場合の二年間では
全く話が違ってくると思いますよ
業務の中で起こるいろいろな問題への対応と解決を身につけてこそJavaマスター。
ならばJNIを使わなくてはならないときもあるわけで C++をも知っていてこそJavaマスターというわけだな
>>727 答えになっていないお前の存在がそもそもの過ちということだな
>>724 そこもJavaプログラマの仕事の範囲だと思っているところ。
「ボクの仕事じゃありません」と逃げようとする無能さ
実際仕事の範囲なんだけどな。
ロールが明確になっていない糞プロジェクトしか経験できない哀れさ。
新人でもできるような低レベルな安い仕事しか回ってこない悲しさ
JNIが一ヶ月経っても習得できないJava屋は見たことある あいつら公式のリファレンスも読まないのな
Javaマスターというのを仕事から切り離して考えられない人がいるみたいね
SQLとかXMLとかさすがにしらないとお話にならないだろ JavaマスターとかいいつつSQLインジェクションだしてるとかはさすがにな
737 :
718 :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 了解した。
>>735 だって仕事じゃなきゃこんなのやってられない。
>>736 そこは常識的に考えてその通りだと思う。
しかも、その弱点を知った上でO-Rマッピングツールを使いこなすところまで行って欲しい。
>>737 開発はSunのJDKじゃダメなの?
IBM独自機能(があるのかどうか知らんけど)を使ってるとかで
開発時もIBMじゃないと不都合なの?
>>739 メモリの問題で、IBMのJDK/JREが賢いのなら、
実行環境だけでなくてもIBMのを使ったほうが得策なのでは?という事です。
>>738 って絶対最近Java始めたばかりだろ…?
>>741 Javaは1998年から業務でやってるけど・・・?
出た出たw
一番やっちゃいけないレスをやりやがった。 アホか742は
>>742 の言ってることが脳内だったらまだしも本当だとしたら
長いことやっててもダメな人はダメだっていう好例になっちゃってますな
749 :
748 :2005/09/04(日) 12:56:21
部下がJavaを始めて2年でセキュリティも意識しつつ、O-Rマッピングフレームワークを使いこなせてくれたら嬉しいけどな、俺は。
IBMのJREの機能はうわさが先行してるな ダウンロードのために会員登録みたいなのが必要だから誰も落とさない
1.3時代はたしかに効率よかったけど1.4からはどっちもどっちだし 積極的に選ぶ理由もないな
753 :
718 :2005/09/04(日) 13:07:10
>>751 、
>>752 という事は、JDK・JREは何でも良く、パフォーマンスに問題があるなら、
実行時に適切にメモリ使用量を指定せよという事で良いのでしょうか。
javaなんか文法かんたんなんだからすぐ覚えろよ
>>754 文法なんて誰も問題にしていないと思うぞ。
756 :
718 :2005/09/04(日) 13:10:14
って、1つだけ思ったんだけど、システムにIBM製品使ってる場合って大丈夫? というのは、IBMってWindowsのShift-JISってWindows-31JやMS932、CP932じゃなくて CP943の方だよね? 他のJDKって対応してるのかなぁ・・・
757 :
745 :2005/09/04(日) 13:14:32
>>748 同一人物じゃないよ
>>742 みたいなのは何の説得力もないどころか
無駄に荒れるだけだから「すごいバカっぽいの」と評した
>>749 論点ズレてるよ
バカがずらした論点の方に意識を引っ張られちゃダメだよ
javaすらマスターできないアホはVBやっとけ
//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; 添削お願いします。
public static void ばか
たくさん釣れたね
>>737 単独で配布されているJREはIBMの製品にしかインストールできないようプロテクトが
かかっている。WindowsのJDKはSunとの契約上単体で配布ができないので
Eclipse3.0と抱き合わせで配布されている。どちらもAIXやLinuxと同じ
ところからリンクがはられているはずだが。
ところでIBMのJREは1.4の後期型から、Sunのコードを含まない完全にオリジナル
なVMも同梱されていてオプションで切り替えられる。整数演算がそれ以前のSun + IBM JIT
より速かった。でもデフォルトで有効になっていないからあまり知られていない。
クラス名の前に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; }//カッコの閉じ忘れに注意 }//カッコの閉じ忘れに注意
今更O-Rマッピングどうのと声高らかに言われてもなw
>767 100週間目のエンジニアには充分だろ。
IBM製、SUN製同じバージョンついてるのは両方入れないほうがいいぜ! 昔コンパネいかれた
>>769 つーかそもそも開発ターゲットを開発・テストするためのJDK/JREと、開発
に使っているマシンのpublic JREを混ぜることじたいがやっちゃいけないことだよな。
#アプレットのデバッグ時にIE + Java pluginを使わなきゃいけない場合とか例外はあるけど。
>>765 ありがとうございます。終了カッコをよく忘れるので
注意します。
772 :
taka :2005/09/04(日) 15:19:52
VS.NET2003をインストールしたいんですが手元に どのソフトがあればインストールできるかわかりますか?
Windows XP
>>772 > どのソフトがあればインストールできるかわかりますか?
わかります。以上。帰れ。
Javaでのメリットを教えてください。 というのは、社内の会議にて”Javaで開発するメリットは何か?”という経営者の質問に 答えられませんでした。 よく言われているのは初期導入コストが抑えられるというもの。 しかし、大規模開発で使われる場合、Javaでの開発といっても、 OSは商用UNIX、サーバも倉庫に眠ってるような古い物ではなく、 新規に購入して、メモリなども増やしお金が掛かる。 更には、APサーバもIBMなどの商用の物を使用し、DBもOracleなどを使う。 更に、システムの稼働率を上げるためにクラスタ構成やホット/コールドスタンバイ方式を取る。 こういった場合、Windows+.NETで開発した場合とのコスト面での差が殆ど無い。 さらに、メンテナンスという面を考えるとWindowsOSの方がユーザでも扱えるために 運用コストも抑えられる。 それなのに、なぜJavaが大規模開発などで企業に採用されるのでしょうか?
JAVAはプログラム言語のチャンピオンだから。
>>775 初心者でも糞質問でも大歓迎だけど
おまえの質問には愛がないよ。 経営者だろうが
横っ面ひっぱたいてJavaの良さを語れないようじゃ
Javaを使う資格なし。
>>775 言語仕様でバグが内在しにくいから。
CはNullPointerExceptionなんて投げないでしょ。
>>775 何と何をどういう観点で比較してるのか自分の中で整理したらどうか
とりあえず貴方の頭の中が全然整理されてないことがよくわかった
>>779 ならC#でいいね。でもIISは怖いからApacheで頼むよ。
>>781 世の中で公開されているIISのサーバが特に問題無く動いているのに、
なんでIISは危険でApacheは安全なのだろう?
問題はサーバ管理者が管理してるかどうかの違いだけなんじゃ・・・
Apache遅いだろ IISのほうが速い
>メンテナンスという面を考えるとWindowsOSの方がユーザでも扱えるために
これはある意味危険でもある、諸刃の剣だから気をつけろよ。
鯖とクライアントOSの区別もつかないDQNユーザも多いからな。
>>783 逆だろ
Win + IIS でJavaという手もあるけどな。
Apacheというわけじゃないんだけど、IBMだろうとBEAだろうとAPサーバの質が悪いよな。 高負荷が掛かった場合、APサーバとか容赦無く落ちるけど、 IISの場合ってワーカープロセスが再起動して落ちることは無くなる。 ワーカープロセスが再起動されるとセッション情報とか消えちゃうんだけど、 セッション情報は別サーバとか別のDBサーバとかで管理させれば、問題無いし。 俺も正直、Javaとかで大規模システム作るメリットが分からない。 最近は、仕事でも客に.NETを進めてるよ。 単価は確かにJavaの場合より低くなるけど、開発期間自体も短くなるので問題無い。 (見積上はJavaでの開発と同じぐらいの工数取るし) それに企業も短期間での開発を求めてるから、短期間での案件を多数こなさないと 俺らも利益にならない。 .NETでさっさと開発して次の案件に取り掛かる。 既に書いたようにJavaと同じぐらいの工数取ってるから、同時に2プロジェクト進行とか普通にできるし。
>>784 でも、そんなもんじゃない?
俺の場合なんて、客先が事務所引越しとか停電とかで金曜の夜にサーバの電源落としたいって事で
電話が来たんだけど、Linuxの使い方が分からないからサーバ落とせないっていうんだよね。
しかも、週明けに立ち上げたときに動かないと仕事にならないから、
金曜の夜と月曜の朝、立ち会ってくれって依頼が来たよ。
その会社・・・山口県なんだけど、俺は東京勤務。
金曜の夕方から月曜の昼まで土日挟んで山口まで出張って事あったよ・・・
>WindowsOSの方がユーザでも扱えるために 極端な話をすると ユーザが扱えないほうがいいんですよ 管理の仕事が減らないので・・・ これはどこの現場でも言われている事実 しかし、あまりにも難しい構成にしてしまうと 逆に今度は一部の開発者しか扱えなくなってしまう(皆が優秀とは限らないからね)
>>784
>>783 >逆だろ
すいませんマジで負荷テストしたことあります?
Apacheはレスポンス遅いですよ
というより、IISが速いといったほうがいいでしょうね・・・
IISがOSにどのように組み込まれているか考えれば分かるでしょ
Apacheはただ単に載っているだけなので・・・
TUXサーバはIISと同じような構成で速いが実用的ではない
>>788 正直言って、疑問なんだけど?
納品したシステムをいつまでの面倒見てるの?
それって、当然費用が発生するよね?
客にとっても開発側にとっても、開発して納品したシステムは、
安定稼動した時点で、運用は開発側からユーザ側に移行しないと
運用コストかかって仕方ないし、開発側もいつまでたってもシステムから離れられないしで
何のメリットもないよね。
>開発側もいつまでたってもシステムから離れられないしで 何のメリットもないよね。 通常保守5年契約です 「開発側もいつまでたってもシステムから離れられないし」 ↑これをプラスかマイナスと考えるかは会社の方針次第じゃないの? 相手が大手なら、引き続き他の仕事もらえるしね
Windows XP プロフェッショナルじゃなきゃ試すことができない しかも運用となると2003鯖とかいうの買わなきゃいけないんだろ?
いや、おれMSの開発事情は知らないから
> IISの場合ってワーカープロセスが再起動して落ちることは無くなる。 ここはクラスタリングで対処かな。 鯖そのものの信頼性はUNIXが一枚上だし。 Windowsはパッチ適用やら何やらで何かとOS丸ごと再起動が必要なのがイヤ。 > ワーカープロセスが再起動されるとセッション情報とか消えちゃうんだけど、 > セッション情報は別サーバとか別のDBサーバとかで管理させれば、問題無いし。 この辺はJavaでも同じじゃない?
>>791 そうか?
開発者側がシステムを見ていないと使えないシステムってだけだろ
>>792 Javaも運用考えると商用UNIXとか使ってるけど、これもお金出して買わないといけないんだよね?
>>794 問題が違うよ。
IISは落ちること無く、高負荷が掛かると再起動される。
JavaとかのAPサーバの場合は落ちる。
この場合、クラスタリングで対応しても、徐々にAPサーバが落ちるだけで意味が無い。
確かに、UNIXの場合はOS毎持っていかれるという事は滅多にないから、
安定してると言えるけど、システムが動かない時点でどっちも変わらない。
逆に、変にOSだけ動いてる分だけ発見が遅れる原因にもなる。
つうかAPサーバっていうかJavaのもともとの仕様による問題かもしれないのですが クラスファイル入れ替えとかしたら、APサーバ再起動あるいは、再デプロイが必須だと思うんだけど お客さんによく「再起動無しで出来ないの?」とか言われます リソースファイル変更の場合はstaticフィールドにもっちゃってるのでAPサーバ再起動 or アプリ再デプロイしないと無理だろうし・・・
ヒント:Solaris 10
ASP.NETはホットコード(?)に失敗はしないの? EclipseでTomcatやってるとたまに言われるんだけど
>>799 ASP.NETでホットコードの失敗ってあまり聞いたことないんだけど?
というか、コードの更新が行われた場合、IISというかASP.NETのワーカープロセスは再起動されるし。
なんだホットコードって
>>797 アプリのみ再読込できない製品なんてあるの?
Tomcatでさえサーバの再起動やアプリの再デプロイ無しでアプリのみの再読込や再起動ができるよ。
>>797 > リソースファイル変更の場合はstaticフィールドにもっちゃってるので
ヒント:クラスローダの階層構成
だから再デプロイって書いてあるだろ
ホットコード・リプレースとかホットコード・アクティベーションのことじゃない? つまり、コードの修正とかがあった場合、システムを停止させる事無く、 修正のあった部分を更新させる機能。
>Tomcatでさえサーバの再起動やアプリの再デプロイ無しでアプリのみの再読込や再起動ができるよ。 どこにそんな機能があった?あったけそんなの?
>>799 再読込や再起動無しならそうだろうね。
>>800 >コードの更新が行われた場合、IISというかASP.NETのワーカープロセスは再起動されるし。
逆に、それはセキュリティ上の問題は発生しないの?
コードが置き換えられたら問答無用で反映されてしまうってこと?
「reloadable=true」とかいう 実運用では通常使わない設定のことを言っているのだと言ってみるテスト
>>799 それはデバッグモードで起動したJavaプロセスをEclipseが捕まえてるから。
ここでその議論に加わるにはもう少しお勉強してね。
>>808 無知だな。そんな設定じゃなく、Tomcatには任意にリロードできる機能があるんだよ。
>>806 再起動はできるじゃん。
managerの画面だっけ?
あそこで配置されてるアプリを停止させたり再起動させたり、WARファイル指定してデプロイさせたりできるじゃん。
でも、再デプロイ無しで読み込ませる方法はしらね。
Javaの場合、JSPとか更新した場合、再デプロイしても偶に変更されなくて、
コンパイルされてるファイルを手動で削除したりしてたしなぁ・・・
この部分、どうにかならないかなぁ。
>>806 Tomcat Manager App からもそれらの機能は使える。
そのリロードは、static final フィールド(staticのみではない)もちゃんと更新してくれるの?
>>811 > でも、再デプロイ無しで読み込ませる方法はしらね。
TomcatManagerで再起動と再読込のどちらもできる。
>>811、812 だからそれって再デプロイのことだろが!
>>809 へぼいネタで上級者ぶるなよ、厨ここに極まれりだな
>>807 コードが置き換えられた事による反映はセキュリティと関係ないでしょ。
問題は、無関係の奴とかがコードの更新ができるかどうかがセキュリティ上の問題で、
これは.NETとかJAVAとか関係無い事だと思うぞ。
Tomcatのadminが別配布になったのは何で?
>>815 再デプロイと再起動を同じに考えちゃだめ。
再デプロイは再デプロイ。
再起動は再起動。
どっちもできる。
起動 停止 再ロード 配備解除 ってあるけど 再ロードの動作を説明してください 再ロードは再読み込みなのか、再デプロイのことなのか・・・ >TomcatManagerで再起動と再読込のどちらもできる。 そんなに選択肢ないと思うけど・・・
>>815 再デプロイと再読込の違いがわからないのか?
>>816 逆だろ。あまりにヘボ過ぎるから上級者でもない奴からああいうレスがつく。
>>820 ってことは やっぱ「再読み込み」なんていうものは出来ないって事ですね だれだうそ教えたのは
>>819 別に要らないから。
手動でXMLファイルを弄れば同じ事が出来る。
それを画面上から出来るようになってるだけ。
下手に画面としての機能を用意すると、リリースしたときに設定ミスとかすると、
ユーザに使われちゃう場合もあるから、別配布。
再ロードは再読込。ドキュメントぐらい読めよ。 再起動は、正確には停止+起動。
>>823 再デプロイと再起動と再読込ぐらい区別しろよな。
「再ロードは再読込」 最ロード中のアクセスはどうなるの?待ち?それとも破棄なの?
>>826 なぜそういう言い方をしたか教えてあげよう >>820の説明最後に 「どっちも出来る」とかいてある この「どっちも」にかかる言葉は820の説明上では 「再デプロイ」と「再起動」 つまり「再読み込み」は出てこない わかるね、あの時点で俺の言いたかったこと
再ロード=停止→起動 じゃないのか? だったら何も変わらないと思うが・・・
結局ASP.NETもJavaも再起動するんだな?
ちなみにここでいう 停止→起動 はTomcatではなく 起動 停止 再ロード 配備解除 の並びのやつね
ますます、.NETとJAVAの差が分からないな。
調べる量が少なくなるという意味では.NETが優勢か リソース管理が下手とかも無いんでしょ?
最近クラスローダ関係の話になると、以前より詳しい奴が出てくるようになっているけど JavaWorldとかJPで特集でもやったのかなぁ・・・
>リソース管理が下手 Javaは下手なんすかねぇ
>>837 下手じゃん。
というか、OSとかを選ばないというのが売りの1つだから、
それぞれのOS用に開発したとしても、一部だけコードが違って殆どは共通。
まぁ、そうじゃないと開発に時間がかかるから仕方ないんだけど、
だからこそそういったものが下手。
WindowsOSで動くことしか考えてなくて、それに特化したものを作ってる以上、
.NETの方がリソース管理が上手くて当たり前。
伸びてると思ったら、なんだこの流れ
>>838 それは下手という言い方をしていいのだろうか
かなりニュアンスが違うんだが
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
水疱瘡 これどうぞ あい、これ銅像
844 :
842 :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でやっているからでは・・・?
これだけ言っても再起動と再ロードを区別できないヤツが大杉qrz
>>836 JavaAssistやAPサーバの実装に関する解説が増えてクラスローダに関する
資料が増えた。
それら実装そのものがサンプルにもなるんで一般への認知度と理解度がこ
こ最近で急激に上がってる。
>>846 それほど親切な教え方ではないと思うが・・・
(つうか教える側がいろんな奴登場しすぎで混乱もあるが・・・)
うまく教えられないのは、本人の理解も中途半端な事が多い
>再ロード=停止→起動 じゃないのか?
>だったら何も変わらないと思うが・・・
>ちなみにここでいう
>停止→起動
>はTomcatではなく
>起動 停止 再ロード 配備解除
>の並びのやつね
849 :
842 :2005/09/04(日) 17:35:11
>>845 ・・・もしかしてSAXってファイルから読み込まないとだめなのですか?
XMLの文字列をストリームとして扱う、じゃだめなのですか?
質問させてください。 JSPって初回の実行時にサーブレットに変換されてコンパイルされてから実行されますよね? これを最初からコンパイルさせることって出来ないのですか? 色々調べたところ、URLの後に何かをつけるとコンパイルのみ行うというものがあったのですが、 現実的じゃないですよね? 例えばJSPのファイルが数百個もあった場合、非常に面倒。 何かコマンドのようなもので配置済みのJSPを一括してコンパイルできないでしょうか? また、最初からコンパイルしてWARファイルなどに含めて、 デプロイする方法ってないでしょうか?
ファルも結局ストリームじゃないの そんなことよりもっとシンプルなXMLで確認してみよう <requestのなかにnamespaceとかがあるとダメとかそんなことはない?
>>841 朝からこんなとこに張り付いて
休日にもっと他にやること無いのか。お前
つうか受け売り連中多いよなここ
>>854 あれ?この言葉にグサっときちゃった?止まったよ
初心者スレですから 私もあなたも含めてね
がははは
858 :
854 :2005/09/04(日) 17:52:29
>>856 釣れたwwwwwwwwwwwうぇっwwwwwwwぅえっwwwww
>850 できる。 トムキャットでもできるぐらいなのでほとんどのコンテナでサポートしていると思う。 コンテナのマニュアルを参照。 またはant使う。
>>853 てことは、次は流れ的にアレとかコレとかが来そうですね・・・
楽しみですわ
内容の無い煽りより受け売りのほうがまだまし。
863 :
842 :2005/09/04(日) 17:55:36
>>851 色々試してみましたが結果変わらず。
そもそも requestXmlの文字列をそのままtest.xmlとして保存した方が正常終了しますから
あまり記述云々で間違っていると思えないのですが・・
>>864 事前コンパイルではあるが、それって、実際に配置するときのコンパイルだよね。
じゃあ、配布前のWARとしてコンパイルして含めるには?
864ではないけど 単独でANT起動すればいけそうかなと勝手な予想するが・・・どのみちjavaファイル&classファイルは Catalina/localhost/名前以下におく必要があるのではないか?
>>865 できあがったclassファイルを他のクラスと一緒にWEB-INF/classes以下に配置するか
jarにしてWEB-INF/libに置けばいい。
>>866 ワークディレクトリにあるファイルよりも、個別のアプリのWEB-INF/libの方が優先してロードされる。
さらには、個別のアプリのWEB-INF/classes以下に配備されたクラスがもっと優先してロードされる。
補足すると、コンパイルしてclassファイルができあがったら どこに配備するかという問題は、JSPコンパイルとは既に無関係。 Servlet仕様に基づく。
869 :
842 :2005/09/04(日) 18:55:10
解らん。ボスケテ・・・
870 :
デフォルトの名無しさん :2005/09/04(日) 19:35:20
実行可能なJarファイルの作り方はわかるのですが、引数を与えて実行する方法 がわかりません。どなたかよい参考サイトがありましたら教えて下さい。 (たぶんマニフェストファイルをいじるんでしょうが、よくわからない・・・)
class Orz{ public static void main(String[] args){ System.out.println("何を語ってるのかわかんね"); } }
java -jar hoge.jar Hoge 引数 じゃないの?
JDKと一緒にJAVADOCって説明書みたいの50メガ近くの圧縮フォルダね。 これ落としたんだけど必要? 解凍してみたらえらいファイルたくさんあるようでしばらくまっても解凍率5%とかだったから キャンセルしたんだけど展開後は何メガになるんですか? つーか必要?
874 :
870 :2005/09/04(日) 19:58:13
すいません、書き方が悪かったです。 Windowsとかで、jarファイルをダブルクリックして起動することができますよね。 そういった事が可能なようなJarファイルの作り方は分かったのですが(マニフェストファイルとか入れて) そういった起動をする時に与えるプログラム引数をjarファイルの中にあらかじめ設定しておきたいわけです。
>>874 ああーそういうことね
私はそのような方法はないと認識しています
なのでそのようなことがやりたい場合は任意のファイルを一緒にJARして
読み込ませる方法しか思い浮かびません
他の人の意見を待ちます
その欠陥は昔から言われてるのに一向に治す気配がないね 透明ウィンドウから間接的に起動するってのが主流?
そら引数を与えるように記述したバッチファイルだかexeだか何だかを別に用意するしかねーべ んなもんJavaに限った話じゃねーべ
878 :
870 :2005/09/04(日) 20:25:34
Java Web Startで起動させるアプリケーションに引数が与えられれば どんな方法でもいいのですが(;´∀`) 透明ウィンドウかの手法を使えばどうにかできそうですね。
>透明ウィンドウかの手法を使えばどうにかできそうですね。 あんまやりたくないなぁ 875の方法は Properties prop=new Properties(); prop.load(Test.class.getResourceAsStream("引数プロパティーファイル名")); といったところ
-Xmsと-Xmxを指定するのが目的だろ? 動的にシステムをチェックして最適モードで起動とかするなら 外部プログラムに頼るしかないのでは?
>>880 流れ的に「引数」の件についての話だよね
今まで聞かなかったけど
>>870 のやりたいことって
javaに渡す引数と
プログラムに渡す引数
どっちの話なの?
俺はてっきり後者だと思ってずっと話し進めてきたが
880がコレに関する話だとしたら前者のことを言っているんだけど・・・
882 :
880 :2005/09/04(日) 20:56:50
>>880 他人なのに
>-Xmsと-Xmxを指定するのが目的だろ?
ここまで言い切れるのはなぜ?
どこにもヒントなかったのに・・・
886 :
870 :2005/09/04(日) 21:04:53
>879 以前クラスパスをその方法で設定したところ反映されなかったのですが、 大体のプロパティは内部から設定して反映されるのでしょうか。
>>872 は俺なんだけど・・・
おれは引数の値までは読めなかったよ
ましてやXmsなんて・・
888 :
870 :2005/09/04(日) 21:09:09
追記 具体的にはjava.security.policyにポリシーファイルを設定したいです。
>>870 >879
以前クラスパスをその方法で設定したところ反映されなかったのですが、
大体のプロパティは内部から設定して反映されるのでしょうか。
そうなってくるとjavaの引数だから無理です
俺が言っていた(というか質問の意図の読みとして)プログラム引数は可能です
まあ外れたからエスパーではないな
ごめん「プログラム引数」としての代替策として可能ということ
>具体的にはjava.security.policyにポリシーファイルを設定したいです。 そんなんJavaSecurityプログラミングやんか 引数じゃなくてもいけるじゃんか
893 :
870 :2005/09/04(日) 21:35:34
うそ?できないでしょ?>java.security.policyにポリシーファイルを設定したい これできたらセキュリティーも糞もなくなる気がするんだけど?
つうかJWSってユーザに聞けるから そんなことやる必要すらないのでは
どうでもいい100レス読みとばし
897 :
870 :2005/09/04(日) 22:33:58
>>895 ちょっと今回は特殊な事情があってそうはいかないんですよね。
>>886 クラスパスをプログラム内部から設定できるとセキュリティホールになりかねないので
(クラスパス上のファイルはclassファイルにかぎらず読めてしまう)できないようになっている模様。
JavaでCPUリソースの監視ってどこまで出来るの? JavaServletの鯖が鯖屋に人気無いのはここらへんが原因って聞いた
質問です TableViwerを使用してリストの表示を行い 毎秒表示するデータを更新させたいのですが 更新時のちらつきが気になります。 ちらつきが起こらないように更新させる 良い方法はないでしょうか?
>>900 プラットフォーム依存な部分は別の言語で書いてJavaからはJNI経由で
使うのが慣わし。
903 :
デフォルトの名無しさん :2005/09/05(月) 10:14:30
java.util.regexの正規表現で、 . を扱いたい場合はどうすればいいんでしょうか? \.も駄目って言われ、APIリファレンスにも載ってないのでHELP。
905 :
デフォルトの名無しさん :2005/09/05(月) 10:54:47
\.とは別にエスケープ文字があるのですか。ども。
>>903 \. だと、\nや\rと同じように\.という文字として判断しようとするのでダメって言われる。
だから、文字列として "\." を渡すためには "\\." になるわけだ。
907 :
903 :2005/09/05(月) 11:15:03
今、世界が見えました。ありがとうございました。
908 :
デフォルトの名無しさん :2005/09/05(月) 11:34:20
どういたしまして
>>901 TableViewerってことはSWT/JFace? だったら本当はSWTスレだがまあいいや
内容更新中に table.setRedraw (false) で画面更新を停止すればOK
最後にtable.setRedraw (true)しとくのを忘れないように
Rectangle intersection(Rectangle r) この Rectangle と指定された Rectangle との共通部分を算出します。 Rectangle union(Rectangle r) この Rectangle と指定された Rectangle との結合部分を算出します。 二つの違いを教えてください。
>>910 実行してみればすぐに分かりそうなものを
913 :
デフォルトの名無しさん :2005/09/05(月) 16:42:55
配列は一度サイズが決められると変更することはできないということですが、 その中のデータも変更はできませんか?
配列とはそういうもの。 そういう要望に応えられるものがある。 Listインターフェースしらべれ。
915 :
デフォルトの名無しさん :2005/09/05(月) 16:52:21
>>914 ご回答ありがとうございます。
やはり、可変長配列のjava.util.Vector や java.util.ArrayListを
利用するしかないんですね。
さっそく試してみようと思いますが、VectorとArrayListで、
速度的な違いは起きるのでしょうか?
同期化の有無と多少のメソッドの違いだから速度的な違いはもちろんある 内部で配列使ってるけど拡張の仕方を知らないとVectorのほうが速いとかありえるけど 通常はアルゴリズムの違いを考えるならArrayListかLinkedListかを意識したほうがいい 引数の引渡し等はListインターフェースで柔軟にしておくがよろし そうすればVectorでもArrayListでもLinkedListでもいいわけだ
>>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() の効果とかを知りたいので
>>919 ビットシフトの事だとして
なんで100とか10進数のシフトが出来ると思うんだ?
>>920 -verbose:gc を起動時に与える
演算子がオーバーライドできればできないこともないが Javaでは演算子のオーバーライドはできないよな。
100倍は (v<<6)+(v<<5)+(v<<2) だが、きっと v*100 のほうが速い。 1/100は…めんどくさ。きっと v/100 のほうが速い。
925 :
デフォルトの名無しさん :
2005/09/05(月) 19:29:05 >>922 ありがとうございます
さっそく試してみます