【初心者】 Java質問・相談スレ30 【大歓迎】
1 :
デフォルトの名無しさん :
03/08/15 12:32
2 :
デフォルトの名無しさん :03/08/15 12:33
Q. javac コマンドを実行したときに、
『コマンドまたはファイル名が違います』や
『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』
と表示されてコンパイルできません。
A. javac.exeへのPATHが通っていません。
http://java.sun.com/j2se/1.4.1/ja/install-windows.html を良く読んで、javac.exe のあるディレクトリ(例: C:\j2sdk1.4.1_01\bin )のパスを
環境変数PATHに追加してください。 その後、
Windows98/MEの場合はOSを再起動、
Windows2000/XPの場合はコマンドプロンプトを立ち上げなおしてください。
設定したパスが正しければ、javacが使えるようになります。
それでも同じエラーが出る場合は、設定した値が間違っています。
よく見直してください。
Q. javac Hello.java でコンパイルはできるのですが、
java Hello を実行しようとすると
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
と表示されて実行できません。
A. カレントディレクトリ(.)がクラスパス(classpath)に含まれていません。
コマンドプロンプトで、
set CLASSPATH=%CLASSPATH%;.
と設定する。最後の「;」と「.」を見落とさないように!
または、
http://www.gimlay.org/~javafaq/S004.html#S004-02 を読んでカレントディレクトリ「.」を環境変数CLASSPATHに追加してください。
クラスパスとはなにか(JavaFAQ 基礎知識)
http://www.gimlay.org/~javafaq/S004.html
3 :
デフォルトの名無しさん :03/08/15 12:33
4 :
デフォルトの名無しさん :03/08/15 12:34
5 :
デフォルトの名無しさん :03/08/15 12:34
6 :
デフォルトの名無しさん :03/08/15 12:52
7 :
デフォルトの名無しさん :03/08/15 12:53
8 :
デフォルトの名無しさん :03/08/15 12:53
9 :
デフォルトの名無しさん :03/08/15 12:53
10 :
デフォルトの名無しさん :03/08/15 12:54
11 :
デフォルトの名無しさん :03/08/15 12:54
12 :
デフォルトの名無しさん :03/08/15 12:55
13 :
デフォルトの名無しさん :03/08/15 12:56
いつもおまえらスレ立て人には、感謝してます 乙
14 :
デフォルトの名無しさん :03/08/15 12:56
いつもおまえらスレ立て人には、憤慨してます 死ね
続きやってくれた人ありがとうです。
16 :
デフォルトの名無しさん :03/08/15 12:57
17 :
デフォルトの名無しさん :03/08/15 12:57
だまれウンコ共 乙
18 :
デフォルトの名無しさん :03/08/15 12:58
っていうかよく見たらclassにpublicついてないじゃん。
氏ねよマジで。
>>1 乙
19 :
デフォルトの名無しさん :03/08/15 12:58
いいかげんCLASSPATH環境変数を使うのは非推奨にしたらどうよ。
22 :
デフォルトの名無しさん :03/08/15 14:24
と、せっかく
>>1 がよいスレ立てをしたのに
コイツ↓はお決まりのアノ質問をしやがります
exeにするにはどうやるんですか?
24 :
ウンマンコ ◆Fu3PvkO9fs :03/08/15 14:39
/  ̄ ̄ ̄ ̄ ̄\ / \ / ヽ / ̄\ l \,, ,,/ | ,┤ ト.| (●) (●) | 拡張子を変える どや?! | \_/ ヽ \___/ | | __( ̄ | \/ ノ | __)_ノ ヽ___) ノ ビシッ
はい、つぎ
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
27 :
デフォルトの名無しさん :03/08/15 15:16
sdkインストールするときに下記のエラーがどうしても出てしまいます,対処方キボンヌ 環境はRedHatLinux9フルインストールです $ su # rpm -ivh j2sdk-1_4_1_04-fcs-linux-i586.rpm Preparing... エラー: rpmdb: damaged header #1320 retrieved -- skipping.エラー: rpmdb: damaged header #1320 retrieved -- skipping. エラー: rpmdb: damaged header #1320 retrieved -- skipping. エラー: rpmdb: damaged header #1320 retrieved -- skipping. エラー: rpmdb: damaged header #1510 retrieved -- skipping. エラー: rpmdb: damaged header #1510 retrieved -- skipping. エラー: rpmdb: damaged header #1510 retrieved -- skipping. エラー: rpmdb: damaged header #1510 retrieved -- skipping. エラー: rpmdb: damaged header #1511 retrieved -- skipping. エラー: rpmdb: damaged header #1511 retrieved -- skipping. エラー: rpmdb: damaged header #1511 retrieved -- skipping. エラー: rpmdb: damaged header #1511 retrieved -- skipping. 新スレになってしまったのでまた貼っておきます。
>>27 >>3 もっとよく読みましょう。インストール方法も、ルールも。
これからjava習得しようと思ってるんだけど独習javaでいけるかな リファレンスとかなきゃだめ?
30 :
デフォルトの名無しさん :03/08/15 20:21
教えてください。 下記プログラムで out.println(pgSql01.output()); の部分をtry-catchしなくていい方法はありませんか? /////////////////////////////////////////////////////////////////////// import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class TestServlet extends HttpServlet { TestPostgreSQL pgSql01= new TestPostgreSQL(); public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException,ServletException{ String err= new String(); err=""; res.setContentType("text/html;charset=shift_jis"); PrintWriter out = res.getWriter(); out.println("<html><head>"); out.println("<title>Test Servlet</title>"); out.println("</head><body>"); out.println("<h1>Hello Servlet8</h1>");
31 :
デフォルトの名無しさん :03/08/15 20:21
try{ out.println(pgSql01.output()); } catch(java.sql.SQLException e){ err="java.sql.SQLException"; } catch(java.lang.ClassNotFoundException e){ err="java.lang.ClassNotFoundException"; } out.println("<h1>aa</h1>"); out.println("</body></html>"); } }
class TestPostgreSQL { String output() throws java.sql.SQLException,java.lang.ClassNotFoundException{ Class.forName("org.postgresql.Driver"); Connection conn = DriverManager.getConnection( "jdbc:postgresql:anken", "postgres", "postgres" ); Statement stmt = conn.createStatement(); ResultSet rset = stmt.executeQuery("SELECT now();"); while (rset.next()) { System.out.println(rset.getString(1)); } rset.close(); stmt.close(); conn.close(); return rset.getString(1); } }
>>29 いける
リファレンスはsunのAPIドキュメントみればOK
>>30 ?
そのTestPostgreSQLっていうクラスは自作じゃないのですか?
気になったとこ
>String err= new String();
>err="";
あんまり意味無いような
35 :
デフォルトの名無しさん :03/08/15 22:37
JTree tree = new JTree(漏れ独自オブジェクト) tree.setEditable(true) で実際に動かして、treeのnodeをF2押下して編集すると 漏れ独自オブジェクトからキャストエラーて出るんだけど、 何が悪いんだろう・・・・
おまえら、デバッガの使い方とスタックとレースの読み方ぐらい おぼえろよ。
/ ̄ ̄ ̄ ̄ ̄ ̄\ / \ / ヽ l:::::::::. | |:::::::::: (●) (●) | なんだよ、『スタック』と『レース』って? |::::::::::::::::: \___/ | おまえが読めてないじゃん・・・ ヽ:::::::::::::::::::. \/ ノ
38 :
デフォルトの名無しさん :03/08/15 23:08
他のスレで一度質問したのですが、回答がなかったのでもう一度このスレで質問させてください。
マルチポストですいません。
ttp://examples.oreilly.com/javarmi/javarmi_examples.zip 上記サンプルのコンパイルはできるのですが、実行すると
Exception in thread "main" java.lang.NoClassDefFoundError: ViewFile
と言われます。classpathとかいろいろいじったのですがうまくいきません。
誰か教えて。JREは1.4.1_04です。
できれば実際に上記サンプルを試して動いた方から回答いただきたいです。
39 :
デフォルトの名無しさん :03/08/15 23:12
/ ̄ ̄ ̄ ̄ ̄ ̄\
/ \
/ ヽ
l:::::::::. |
|:::::::::: (●) (●) |
>>38 この中のどのサンプルだよ?全部試せってか?
|::::::::::::::::: \___/ | せめてchapterは何番か教えれ
ヽ:::::::::::::::::::. \/ ノ
41 :
デフォルトの名無しさん :03/08/15 23:14
38です。すいません言葉足らずでした。chapter1のViewFile.javaです。
/  ̄ ̄ ̄ ̄ ̄\
/ \
/ ヽ
/ ̄\ l \,, ,,/ |
,┤ ト.| (●) (●) |
>>41 動くけど? ファイル選んで表示するアプリだろ?ViewFile
| \_/ ヽ \___/ |
| __( ̄ | \/ ノ
| __)_ノ
ヽ___) ノ ビシッ
43 :
デフォルトの名無しさん :03/08/15 23:22
>>38 >classpathとかいろいろいじったのですがうまくいきません。
classpathいじれ
/ ̄ ̄ ̄ ̄ ̄ ̄\
/ \
/ ヽ
l:::::::::. |
|:::::::::: (●) (●) |
>>38 どういうコマンド打って実行したのか書いてくれないのか?
|::::::::::::::::: \___/ |
ヽ:::::::::::::::::::. \/ ノ
45 :
デフォルトの名無しさん :03/08/15 23:26
38です。 僕のディレクトリ構成が悪いのかなあ。 ViewFile.classがあるディレクトリに移って >java ViewFile で良いんですよね?
46 :
デフォルトの名無しさん :03/08/15 23:28
>>45 カレントディレクトリにクラスパスは通っているのか?
ちがうだろ?『java -classpath . com.ora.rmibook.chapter1.ViewFile』だろ? カレントディレクトリはcomと同階層
48 :
デフォルトの名無しさん :03/08/15 23:40
38です。 おおっ。47さんの通り実行したらできました。 ちなみに環境変数にクラスパスは設定してません。 ありがとうございました。
>>47 それちょっと余計。カレントディレクトリと同階層にcomがあるばあいは
`-classpath .'は入らない。なぜならカレントディレクトリはクラスパス
のデフォルト値だから。
入らない->要らない
>>49 俺の環境じゃ 『-classpath . 』 がないと
38と同じエラーメッセージが出て動かない。
しいて言うなら、お前の発言が要らない。
>>52 38の環境がわからんからとりあえず-classpath .を使えというなら
わからんでもないが、動かんってのは教える側としてはまずいだろ。
System.getProperties().list(System.err);
で確認してごらん。あと、
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/findingclasses.html ・デフォルト値「.」。この場合、ユーザクラスファイルは、現在のディレクトリ内のすべてのクラスファイル (パッケージ内のクラスファイルなら、現在のディレクトリ以下にあるすべてのクラスファイル) である
・-cp または -classpath コマンド行オプションの値。この値は、デフォルト値と CLASSPATH 値の両方をオーバーライドする
もね。
ああ、確認するプロパティはもちろんjava.class.pathね。
55 :
デフォルトの名無しさん :03/08/16 00:07
>>52 横レス。
環境変数やシステムプロパティにCLASSPATHが設定してある場合と
無い場合で挙動が違う。
何もないとデフォルトでカレントディレクトリにクラスパスが通る。
ってことをわかった上で
> しいて言うなら、お前の発言が要らない。
って発言があるのかな?
こんな感じ。 E:\work\Test>type con > Test.java public class Test { public static void main(String[] args){ System.err.println(System.getProperty("java.class.path")); } } ^Z E:\work\Test>e:\j2sdk1.4.2\bin\javac Test.java E:\work\Test>java Test . E:\work\Test>set CLASSPATH 環境変数 CLASSPATH が定義されていません
俺は53の話は理解している。 「-classpath . 」ってかいたのは(大げさに言えば)考えられる事象を考慮して1行で書いた。 (で、俺はXMLスパイとか言うソフト入れてるのでインストール時にコイツの必要クラスが CLASSPATHに追加されている。) 正直「要らん」言われてカチンときたよ。 補足情報が必要なら俺じゃなくて38に対して書けよと思ったよ。俺が解ってない見たいじゃんと思った。
59 :
デフォルトの名無しさん :03/08/16 00:23
本当にわかっている人はデフォルトの動作と矛盾がないよう CLASSPATHにカレントディレクトリを入れるけどね。 蛇足だが、こういうややこしい話がないようテンプレではCLASSPATH 非推奨にしようって話が続いているんだけどなかなか...
助けて・・・・
いや、考えられる事象を考慮してウンマンコは要らない むしろ可哀想な子 失せろゴミ
兄貴!! class S{ public static void main(String[] args){ int i = 0; int j = 5; tp: for(; ;){ if(i > j){ break tp: } } } } forは無限ループというのは分かるのですが、 tpというのは何ですか?変数なのでしょうか? 大好きな俺の兄貴教えて下さい。
i > j は常にfalseなので無限ループということで良いか?
65 :
デフォルトの名無しさん :03/08/16 01:00
兄貴達サンクスです。 ”ラベル”で検索したら出てきました。 また何かあったらお願いします。
役にたたねー香具師らばかりだな これぐらい、わかんねーのかよ!
69 :
デフォルトの名無しさん :03/08/16 01:17
>>68 ソースいじって例外出たのなら、どこをどういじって
どういう例外が出たかくらいは書こう。で、50だけ読んで
適当に書いてみるが、セルエディタはどうしたの?
71 :
デフォルトの名無しさん :03/08/16 01:19
72 :
デフォルトの名無しさん :03/08/16 01:21
50が言ったように DnDJTree.javaのコンストラクタに、 setEditable(true);を加えて実行したが 漏れも例外出た
釣られてんじゃねーよ ( ゚Д゚)バカ!!
75 :
デフォルトの名無しさん :03/08/16 01:24
自作自演キタ━━━━(゚∀゚)━━━━!!
本当の50はもう寝たんだろうなw
Javaのクラスの実装(ソース)って、見れるのでしょうか?
w
J2SDKだとインストール時にソースもインストールするかどうか聞かれたろ
>>80 あれ?聞かれたかな?
ちょっとインストール先を確認してみます。なるほどそこを見ればいいわけですね。ありがとうございました。
>>81 src.jarってのが、ソースのZIP書庫ですよ。
>>82 どうもです。それらしきものがありました。
85 :
デフォルトの名無しさん :03/08/16 01:51
つられてんじゃねーよw
>50 悪いが、わからんちん
>>50 あくまで、応急処置。class PersonNodeの該当メソッドを以下のように変える。
public boolean isLeaf() {
PersonalInfo info = null;
try {
info = (PersonalInfo) getUserObject();
return info.isMale();
}
catch (ClassCastException e) {
return super.isLeaf();
}
}
public void add(DefaultMutableTreeNode child) {
super.add(child);
PersonalInfo childPI = (PersonalInfo) ((PersonNode) child).getUserObject();
PersonalInfo oldParent = childPI.getParent();
PersonalInfo newParent = null;
try {
newParent = (PersonalInfo) getUserObject();
}
catch (ClassCastException e) {
newParent = new PersonalInfo(getUserObject().toString(), super.isLeaf());
}
newParent.add(childPI);
}
ちなみに、子を持たないノードは『葉』に変わるのでその辺は自分でやれ。
↑その後なにやるか考慮はしてないので そのつもりで。
>>53 >教える側としてはまずいだろ。
たかが2chでそんなコト言うなよぉ
引っ込みがつかなくなっただけだろ?
90 :
デフォルトの名無しさん :03/08/16 02:57
あのー、SWINGについての本でおすすめはありますか?
91 :
デフォルトの名無しさん :03/08/16 02:58
みなさま、ありがとうございます。 緊急処置では回復するものの、PersonalInfoが元と違うオブジェクトになるのが・・・・ セルエディタはそのままです。 これが問題なんでしょうか・・・ もうちょい研究してみまふ
>>92 俺も勉強中なんだけど元のソースでsetEditable(true);を差し込む代わりに
TreeCellEditor editor =
new DefaultTreeCellEditor(
this,
(DefaultTreeCellRenderer) (this.getCellRenderer())) {
private boolean isLeaf;
public boolean isCellEditable(EventObject event) {
if(super.isCellEditable(event) && event instanceof MouseEvent){
TreePath path =
DnDJTree.this.getPathForLocation(((MouseEvent)event).getX(), ((MouseEvent)event).getY());
Object obj = path.getLastPathComponent();
isLeaf = ((PersonNode)obj).isLeaf();
return true;
}
return false;
}
public Object getCellEditorValue() {
Object obj = super.getCellEditorValue();
return new PersonalInfo((String) obj, isLeaf);
}
};
setCellEditor(editor);
setEditable(true);
を差し込むといいんじゃないですかね。
あったまわり。 TreeCellEditor editor = new DefaultTreeCellEditor( this, (DefaultTreeCellRenderer) (this.getCellRenderer())) { public Object getCellEditorValue() { Object obj = super.getCellEditorValue(); return new PersonalInfo((String) obj, ((PersonNode)(lastPath.getLastPathComponent())).isLeaf()); } }; setCellEditor(editor); setEditable(true); これだけでよかった。
>>50 >PersonalInfoが元と違うオブジェクトになるのが・・・・
コレ自分で作ったプログラムならわかってると思うけど
表示名==オブジェクト名になってるので
名前変えると、元と違うオブジェクトになるのは当然です。
なのでClassCastExceptionが出ます。
>>87 、93、94さんの応急処置をすればエラーは出ませんが
オブジェクトは変わっちゃいますね。
表示と実際のオブジェクトを別に管理する設計にしてはどうですか?
ああ、確かに私のだと違うインスタンスを返しているどころか、 名前と性別以外の情報も保存できていませんね。 TreeCellEditor editor = new DefaultTreeCellEditor( this, (DefaultTreeCellRenderer) (this.getCellRenderer())) { public Object getCellEditorValue() { Object obj = super.getCellEditorValue(); PersonNode node = (PersonNode)(lastPath.getLastPathComponent()); PersonalInfo info = (PersonalInfo)(node.getUserObject()); info.setName((String)obj); return info; } }; setCellEditor(editor); setEditable(true); 性別は変更できないとしても、最低限ここまでしないといけませんか。
>>93 ええ、一度このソース見て試行錯誤した方なら理解できると思うんですが
やっぱ、この設計の上で変更を行うのは限界があるように思えます
なので、50さんが既存のソースを改造しようとしているのかな?と、ふと思いました
98 :
デフォルトの名無しさん :03/08/16 11:54
ど素人ですみません。 カレントディレクトリってなんですか?
99 :
デフォルトの名無しさん :03/08/16 11:55
100 :
デフォルトの名無しさん :03/08/16 11:56
ど素人ですみません。 じゃヴぁってなんですか?
マウスの移動にあわせて線を描くAppletとして、 public class Test extends Applet { int xx[] = new int[500]; int yy[] = new int[500]; int ct = 0; public void init() { addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { ct = 0; xx[ct] = e.getX(); yy[ct] = e.getY(); } }); addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { if (ct+1 >= 500) return; xx[++ct] = e.getX(); yy[ct] = e.getY(); ←なんでyy[++ct]じゃないのか分からない repaint(); } }); } public void paint(Graphics g) { if (ct >= 1) { g.drawPolyline(xx, yy, ct); } } } が教本に乗ってるんですが、なんでyy[++ct]じゃないのか教えて下さい。
xx と yy は組だから。 ct が 3のときは xx[4] と yy[4]に値が入る。
>>102 c = c + 1;
を使ってxx[] = と yy[] = の行を書き換えてみれよ。
>>103-104 せっかく教えてもらったんですが、俺が度素人すぎるのでわかりません。。。
どうしよう。
マウスを移動するたびに、xx[0]yy[0],xx[1]yy[1]ーーーxx[500]y[500]としていくには
xx[++ct]yy[++ct]でそのときどきのxとyの値を保持していくって考えちゃうんだけど、
これは間違いなのですか?
前置 ++ についてもっと調べよう。 xx[++ct] = ... yy[ct] = ... は ct = ct + 1; xx[ct] = ... yy[ct] = ... と同じ。そのときどきの x と y の値を保持していくのはあってるけど xx[++ct], yy[++ct] とやっちゃうと xx と yy とで ct の値がずれちゃう。
ツリー上で変更するんじゃなくて、 別途ダイアログ上で変更するべきかな・・・ 今回は、名前の変更だけなので>96さんのでいきます。 みなさま、ありがとうございますた
>>106 ありがとうございます。
そうか、MouseEventがもってる値ってxx[]とyy[]を別々に管理してるわけじゃないんですね。
だから、
>>103 さんも組っていってたのか。
>>103-104 もありがとうございました。
>>108 MouseEventに限った話じゃないんだが・・・
>>108 単に
>>106 のような本来は3行のはずの処理を、
かっこよく(?)2行にしただけだよ。
本に載ってるとのことなので、行数節約のためにやってるんだと思われ。
まあ、Javaプログラマに関わらず 論点とは違うとこゴチャゴチャ言うやつって多いよな ちょっとのことばの違いで 「いや本来●●は○○である」 みたいに言いやがる・・・特に「本来」とか「実際には」とかいう表現が好きだよな 俺なんか昔 『二の舞を踏む』って発言したら 「それは、『二の舞を●●●』っていうんだよ」 「ちなみに、『口をにごす』は本来は『●●をにごす』だよ」 「さらに、『腹が煮え繰り返る』は『●が煮え繰り返るだよ』」 とか、最初の指摘はいいのだが 余計なことプラスして言いやがって。 「お前それ言いたいだけちゃうんか?」と言う意味で、ウザ過ぎ。 このプログラム板にもいるよな、「そんなコト聞いてね―よ」的なおせっかいって
↑コピペ
■■■■お前等!祭りですよ!!■■■■
〜1001ストッパーが壊れた!?〜
タバコ板のスレで、1001ストッパーが壊れ
1001以降もまだ書き込みできている模様。
1001 名前: 1001 投稿日: Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
1002 名前: 名無しは20歳になってから 投稿日: 03/08/15 06:25 ID:Z0CeMHS7
1000げっつ!
1003 名前: 名無しは20歳になってから 投稿日: 03/08/15 06:25 ID:am/H3sn8
>>1002 あ、お前壊したw
1006 名前: 名無しは20歳になってから 投稿日: 03/08/15 06:25 ID:Z0CeMHS7
何これ
1014 名前: マロン名無しさん 投稿日: 03/08/15 06:25 ID:AxlwdY4A
お〜い、まだ書けるぞ?
書き込みは1100レスを過ぎた今も続けられている。
↓のスレに直行し、2ちゃんねるの歴史に名を残そう!
http://life.2ch.net/test/read.cgi/cigaret/1060952491/
1183 名前: 投稿日: 03/08/15 06:25 ID:sAkrun5/3 みんなで協力して1万いこうぜ!
具体的には書けなくて申し訳ないですが,例えば 2次元を操作出来るHoge2クラスがあります. Hoge2を実装後,1次元しか操作出来ないHoge1も必要になりました. Hoge1を実装しようと思ったのですが, Hoge1とHoge2では共通部分が多かったため, 共通部分の処理内容(インスタンスメソッド)を持つCommonHogeクラス を作ろうと思いました. Hoge1とHoge2は,CommonHogeクラスを継承します. しかし,CommonHogeクラスはインスタンスを作る必要もなく, Hoge1とHoge2で使われることによって初めて意味が出てきます. CommonHogeクラス自体を見せたくない(そして, 単独で使うような危険性を無くしたい)のですが, インスタンスを作る意味はないので,その意味を込めて abstractメソッドもないのに,今はCommonHogeクラスをabstractにした上で, コンストラクタをprivateにしています. これってどうなんでしょうか?
119 :
デフォルトの名無しさん :03/08/17 12:03
ageとこ
>>118 abstractクラスにするのは良いと思います。でもコンストラクタをprivateにするのは
意味がないでしょう。
>118 最近では、継承したがるのは素人という考え方が一般的。 CommonHogeに共通部分を括りだすのは実装上の都合だから、 集約で作るほうがよい。 集約で実現するにせよ、実装で実現するにせよ、 適切なパッケージ内で実装した上で、CommonHogeをパッケージプライベートに するのがJava的だと思う。
>>120 ↓のような感じでCommonHogeクラスを生成されるのを
防げるので,privateにしました.
new AbstractSigmaStageController() {
};
ちょっと補足.デフォルトコンストラクタはprivateですが,
Hoge1, Hoge2共通のコンストラクタはprotectedにしています.
>>121 僕も継承は少しダサいと思ったんですよね.
ポリモーフィズムなども必要にならないので,
集約の方向も考えてみたいと思います.
ありがとうございました.
JavaでPATHなどの環境変数取り出すことって出来ないんですか〜?
124 :
デフォルトの名無しさん :03/08/17 13:01
SQLコネクションってどこで実装されてるの?インタフェイスしかないよん
125 :
デフォルトの名無しさん :03/08/17 13:05
>>124 たいていJDBCドライバと一緒のjarファイルに実装クラスが入っている。
実装はRDBMS依存だからな。
>>118 =122
Hoge1, Hoge2 に共通のコンストラクタがあるなら
private 云々は関係なしにデフォルトコンストラクタは最初から書かなければよい。
128 :
デフォルトの名無しさん :03/08/17 15:27
classをつなげたいんですけど、例えばShotクラスをつなげるには Shot shot = new Shot(); とメインclassに書いてあげればよい?
>>128 >classをつなげ
ここで証明されるのは、あなたのプログラマとしてのこれまでの歩みが間違っていたということです。
技術に関わること、特に質問文においては、自分語は絶対に使わないで下さい。
132 :
デフォルトの名無しさん :03/08/17 16:53
本を見て、アプレットで魚が動く簡単なものができたので 友人に見てもらおうとDreamweaverでサイトに送ったのですが Javaアプレットが動きません・・。 何故でしょうか。
厨房的質問で申し訳ございません。 Javaでマルコフチェーン論を使って強化学習のプログラムを書きたいんですが、それ系のサンプルが掲載されている教本は無いでしょうか?
>>122 高々メソッドを共有するだけの理由でオブジェクトコンポジションやるのもでたらめな気がするけど。
オブジェクトコンポジションはデータの継承をやらないのならそれほど意味はない。
抽象化クラスにメソッドをまとめるリファクタリングで問題ないんじゃないの。
まぁコンストラクタをprivateにするのはわけわからんが。
protectedコンストラクタがあるならおんなじじゃん。
Javaとは関係ないかもしれないけど、 一回しか使わない複雑なコードはメソッドとして書いとくべき? 分かりやすさとしたらメソッドにしとくほうがいいとは思うけど。 オシエテクラハイ(゚听)
>>136 複雑なコードだから一回しか使わないのであって、
できるだけ簡単なコードに分割しておけば再利用性が高まる。
分割の仕方はメソッド分割でもいいしクラス分割でもいい。
>>136 メソッドに分ける理由付けには、何度も(あちこちで)使うということの他に、
他のメソッドで丸々置き換えるから、という場合もある。
そうする予定が無くても、どっからどう切り離すべきか考えるのは勉強になる。
>>136 「Smalltalk ベストプラクティスパターン」 を読め
140 :
デフォルトの名無しさん :03/08/17 20:55
とりあえずデザインパターン呼んでみます。
呼ばれそうなので来てみますた。
>>136 もちろん「Smalltalk ベストプラクティスパターン」 も良いんだが、
Java厨には、それより先に「リファクタリング」を読めと薦めてくれ。
143 :
デフォルトの名無しさん :03/08/17 23:05
JNI を使いたいのですが、以下のコードで二度目のJNI_CreateJavaVMが失敗するのは何故でしょうか? OSはWin98seでJDKは1.4.2です。 options[0].optionString = "-verbose:jni"; vm_args.version = JNI_VERSION_1_4; vm_args.options = options; vm_args.nOptions = 1; vm_args.ignoreUnrecognized = true; JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args); // 0 が返る jvm->DestroyJavaVM(); JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args); // -1 が返る
>>143 vm_args は JNI_GetDefaultJavaVMInitArgs() を使って初期化してるか?
>>143 > jvm->DestroyJavaVM();
これは成功してんのか?
>>144 してます。が、初期化した場合もしない場合も同じ結果でした。
>>145 すみません、書き忘れていました。
DestroyJavaVMは0を返していますので、成功しているはずです。
147 :
デフォルトの名無しさん :03/08/18 00:17
>>143 1プロセスからVM2回生成は出来ません。
第一、2個作る必要ないでしょ。スレッド2本準備すればいいだけ。
>>147 できないんですか。
もちろん二個は必要ないんですが、VMをロードした後に起動オプションを変えたくなった場合はどうしたらいいですか?
options[0].optionString = "-verbose:jni";
JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
jvm->DestroyJavaVM();
options[0].optionString = "";
JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
こんな感じで。
>34 レスありがとうございました。 つまり、自作クラスのインスタンスメソッドでは Try-catchするほかないのですね。 亀レスですいませんでした。
神様お願いします。 class Test{ private String ss = "abc"; Test(){ ss = ss + "def"; } public void method(){ System.out.println(ss); } public static void main(String[] args){ Test c1 = new Test(); c1.method(); } } 実行結果 abcdef これを実行するとコンストラクタが実行され"abcdef"と表示されるというのは わかるのですが、なぜメソッドが呼び出されないのでしょうか? すいませんどなたかお願いします。
>150 method()が呼び出されたから"abcdef"と表示されたんじゃないのか???
ああー! そっか
>>151 さんありがとうございます。
コンストラクタ内でSystem.out.println();がてっきり定義されていると
勘違いしてました。
お騒がせしました。また何かあったらお願いします。
ワラタ 近年稀に見る(ry
154 :
デフォルトの名無しさん :03/08/18 21:38
あのさ、 public class OHSADAHARU extends BonCurry{ private int hrCount; public void getHrCount(){ return hrCount; } public int setHrCount(int hrCount){ this.hrCount=hrCount; } } っていうのを public class OHSADAHARU{ public int hrCount; } にしたらダメなの? 外部から値変更してもいいプロパティなら publicなプロパティにしてもよさそうなものだけど・・ こういうのはJava的ではないのですか?
155 :
デフォルトの名無しさん :03/08/18 21:39
スイマセン訂正 public class OHSADAHARU extends BonCurry{ public int hrCount; }
>>154 Java的だ/でない、っつーより
直接フィールド読み書きすると、
値の保持の仕方とかを変更する時に大変って事で
オブジェクト指向言語全般で「良くない」とされてる。
絶対に値の保持の仕方とかを変更しないって自信があるなら
直接フィールド読み書きしてもいーんじゃない?
157 :
デフォルトの名無しさん :03/08/18 22:16
というかみんなほとんどデフォルトではないでしょうか? 変数に修飾子なんて使ってる人あんまりいないんじゃない? クラスだってほとんどpublicだし・・・ ま、用はそのクラスがどういう使われ方をするかを考えて後々のために、 privateにしている。というか後で他の人が使うときに後ろ指を刺されない為?
日記書くなよ
159 :
デフォルトの名無しさん :03/08/18 23:01
プラグインってどういう仕組みよ?
質問する態度じゃねーな 次ぃ〜
>>160 答えられないならいいよ。
別にお前だけに聞いてるわけじゃないし。
162 :
デフォルトの名無しさん :03/08/18 23:15
>>159 実際、GIMPとかEclipseのコード見たこと無いのでわかんないけど
ポリモーフィズムの応用だと思うよ
165 :
デフォルトの名無しさん :03/08/18 23:34
スイマセンご教授ください セットとイテレータの関係なのですが Set set=・・・; Itaretor it=set.iterator(); while(it.hasNext()){ HogeObj obj=(HogeObj)it.next(); it.remove(); ... ... ... } というコードを見つけたんですがいったい何をやってるんでしょうか? なんで、remove()しないといけないのだろう・・・ ちなみにjava.nio.channels.ServerSocketChannelを使ったサーバーのサンプルで見ました というよりも、selectorの概念があまりピンと来ないので理解に苦しみます
JavaでBluetoothを制御したいのですが、そういったライブラリはありますでしょうか?
EJBのスレ、のきなみ終わっちゃってますが、 ここで聞いていいでしょうか? それとも新スレ立てるべき?
168 :
デフォルトの名無しさん :03/08/19 00:24
>>165 Set set=...;
List list = new ArrayList(set);
for(int i=0;i<list.size();i++){
HogeObj obj=(HogeObj)list.get(i);
list.remove(obj);
}
文脈からすると、こんなようなことがしたいということはわかるかな?
で、これを行うのに↑のように書くと、トンデモナイことになるって
のも分かるかな?
#remove()操作をサポートするIteratorは、要素を削除した後のイテ
レート操作に影響を与えずに、元Setから安全に要素削除ができるの
です。便利でしょ
169 :
デフォルトの名無しさん :03/08/19 00:42
>>168 ありがとうございます
安全なやり方をやったということですか?
なぜ、それ(
>>168 )が安全でなくて
>>165 が安全でないのかまだ理解してないので勉強します
>>165 Stack に対する pop 操作のようなことをしてると思えばいい。
>>169 for回ってるあいだに、list.size()が変わるし、listの中身も変わるよ。
まぁ、168のはあきらかにバグだから、
int size = list.size();
for (int i = 0; i < size; i++){
HogeObj obj = (HogeObj) list.remove(0);
.....
}
ってのと比べた方がいいと思うけど。文脈によっては、こっちの方が
いい事もあるし、165のがいい事もある。
もとのsetの使われ方による。
>>171 Iterator 使っとくと、ConcurrentModificationException を期待できるので良さげ。
個人的には
for (int i = 0; i < size; i++){
HogeObj obj = (HogeObj) list.remove(0);
.....
}
にしとくメリットって思いつかないんだけど。
173 :
デフォルトの名無しさん :03/08/19 04:55
AudioClip で同じサウンドを重ねて再生するにはどうしたら良いのでしょうか?
174 :
デフォルトの名無しさん :03/08/19 07:47
━━━━━━━━ ━━━━━━━━ ,-==ニ二・二ニ==-、 ,-==ニ二・二ニ==-、 | | | |  ̄ ̄ ( ̄ ̄ ̄\ |(二二二) ) \__/ あ〜ねむい・・・・
175 :
デフォルトの名無しさん :03/08/19 12:09
━━━━━━━━━ ,-==ニ二・二ニ==-、 | | | |  ̄ ̄ ( ̄ ̄ ̄\ |(二二二) ) \__/ あ〜ねむい・・・・
>>171-172 こんなのも。
for (int i = list.size() - 1; i >= 0; i--){
HogeObj obj = (HogeObj) list.remove(i);
.....
}
これは好みかなぁ。iでiterateしてるのに常にindex:0で取り出すのはなんか気持ち悪い。
やっぱIterator使っとこう
177 :
デフォルトの名無しさん :03/08/19 13:00
ゲームを作る際には、GOFの23のパターンのうち、どれがお勧めですか? classは、4,5個を予定です
ガベージコレクションが動くタイミングって 周期 それとも 使用メモリが規定値を超えたら どっち?? できれば、参考になるサイトがあれば教えていただけると助かります。 教えてエロイ人!
>>181 エロイ答え:精巣細胞の gc は俺的には(ry
ちゃんとした答え:VMの実装による
>>181 うる覚えだが、New世代のメモリがいっぱいになると通常のGC
Old世代もいっぱいになったら、フルGCだったと思う。
ミスしまくり・・・逝ってきます・・・・・ λ......
Javaのプログラムからブラウザを操作するにはどうしたら良いのでしょうか? 例えば、 ローカルにあるドキュメントをJavaのプログラムで加工してその結果をブラウザへ出力する といったような場合です よろしくご教授願います
>>187 ブラウザにもよるが、Runtime#exec() でも使っておけばいいんじゃない?
TMP なファイルに書き出すか、一旦保存させて、
コマンドラインのオプションでファイル名を指定。
189 :
デフォルトの名無しさん :03/08/19 18:26
193 :
デフォルトの名無しさん :03/08/19 22:30
うろ覚えだろ。
サーバーサイド(っていうかEJB)の話ですが、 VO と DAO と DTO の違いって、何でしょう?
>>195 DAOはオブジェクトの永続化に関する処理をカプセル化する。
198 :
デフォルトの名無しさん :03/08/20 19:57
ArrayListから取り出したオブジェクトの型によって 処理を分けたいのですが ArrayList arr; if (arr.get(1) == ClassA) hogeA(); if (arr.get(1) == ClassB) hogeB(); のようにするにはどのようなコードを書けばよいでしょうか?
>>198 if (arr.get(1) instanceof ClassA) hogeA();
if (arr.get(1) instanceof ClassB) hogeB();
>>199 神様、仏様、199様
ありがとうございます。
201 :
デフォルトの名無しさん :03/08/20 20:58
任意のI/Oアドレスに対してデータ出力する方法が どうしても分かりません。。。
202 :
デフォルトの名無しさん :03/08/20 22:54
教えてください。 プログラムを書き換えてコンパイルして実行しても 実行結果が何も変わりません。 何度やっても同じものばかりでてきます。 これはどうしてですか? だれか教えてください。 お願いします。
203 :
デフォルトの名無しさん :03/08/20 22:57
プログラムが実は書き換えてない。 コンパイルが実は成功していない。 実行がいつも失敗してる。 クラスファイル消してコンパイルしなおしてみれば?
204 :
デフォルトの名無しさん :03/08/20 23:13
>>203 レスありがとうございます。 クラスファイルを消してコンパイルしなおしてみたのですが やっぱり同じ結果がでました。 同じ結果というのは 「スペースキーが押されたら指定されたブロックを削除する」というものです。 削除するというところのプログラムを消したり変えたりしても、 すべてのブロックが消えてしまいます。
205 :
デフォルトの名無しさん :03/08/20 23:15
まちがえました・・・ スペースキーが押されたら指定されたブロックを消したいのに プログラムを書き換えてもいろいろやってみても 指定されたものだけでなく、すべてのブロックが消えてしまう。です。 失礼しました・・・
ロジックがヘボイ
207 :
デフォルトの名無しさん :03/08/20 23:43
消したブロックと消したいと思っているブロックのオブジェクトが同一のものでないかも てか、ソース見せなきゃわからんて おれたちは、超能力者じゃない
テキトウに書くと Block a = new Block(); Block b = a; Block c = a; a.deleteBlock(); みたいなことをやっている
>>208 aもbもcも同じ物を指してるんだから
a.deleteBlock()ってやったら全部消えるのは当たり前
>>196 >>197 ありがとうございます。
まとめると、こんな感じでしょうか。
・DAO は永続化に関する処理をカプセル化する。
(つまり、JDBC操作などの隠蔽?)
DAOを使ったデータの出し入れに使うのがVO(DTO)
・VOとDTO は同じもの
>>212 何の略か考えればよくわかる
DAO⇒データアクセスオブラート
VO⇒バリューセット Oコース
DTO⇒データトポロジー
214 :
デフォルトの名無しさん :03/08/21 01:21
DTO⇒デラックスティーチャーオニヅカ
215 :
デフォルトの名無しさん :03/08/21 01:37
簡単な麻雀ソフトを作ろうと思っているものですが ソフトというのはどうやって作るものなのかを 教えてくれるHPのURLを教えてください。
218 :
デフォルトの名無しさん :03/08/21 01:40
>>217 Googleで調べてもなかなかこれっていうのが見つからないんですよね。
219 :
デフォルトの名無しさん :03/08/21 01:47
キャストというのが今一つ分からないので教えて下さい。 あるインスタンスをどんな型にキャストしようが、 そのインスタンス自体に変化はないのでしょうか? つまり、メモリ上にあるインスタンスのデータは何も変わらず、 そのインスタンスを指す変数だけが変わるようなイメージでしょうか? それとも、キャストによってインスタンス自体が変わったり するんでしょうか?(フィールドやメソッドが無くなったりとか) トンチンカンなことを言ってたらすみません。 こういうことが分かるようなオススメの本もあれば教えて下さい。
220 :
デフォルトの名無しさん :03/08/21 01:52
親クラス
221 :
デフォルトの名無しさん :03/08/21 02:12
StringとStringBufferのオブジェクトをequalsで比較した場合の動作が わからないので教えてほしいのです。 以下のソースですが、 s.equals(s1),s1.equals(s)がfalseとなるのはなぜでしょうか? class testEquals{ public static void main(String args[]){ String s="abcde"; StringBuffer s1=new StringBuffer("abcde"); boolean sb,sb1; sb=sb1=false; if(s.equals(s1)) sb=true; if(s1.equals(s)) sb1=true; System.out.println(sb+","+sb1); } }
>>221 StringとStringBufferは別のクラスです。ハァ。
224 :
デフォルトの名無しさん :03/08/21 07:59
JAVAコンについて詳しく書いてある本 もしくは HPって知ってますか?
>>219 >つまり、メモリ上にあるインスタンスのデータは何も変わらず、
なにも変わらん。
>そのインスタンスを指す変数だけが変わるようなイメージでしょうか?
もちろん代入したんだから変数はかわるよ。
>こういうことが分かるようなオススメの本もあれば教えて下さい。
java関連の本でいいのあるかな?
c++のポインタがわかればわかると思う。
Javaでブラウザのアクションをトリガーにするにはどうしたらよいでしょうか? ブラウザで「戻る」を押すとJavaでウィンドウを開いたりしたいのですが よろしくお願いします
>>227 >Javaでブラウザのアクションをトリガーにするにはどうしたらよいでしょうか。
できない。
>ブラウザで「戻る」を押すとJavaでウィンドウを開いたりしたいのですが
JavaScript ならできるかもしれない(知らない)。
Applet の stop() メソッド なら似たようなことができるかもしれないが、
君のしたいことが、ユーザに親切な設計になってるかもう一回どうか、
考えた方がいいと思う。
JScrollPane の中に配置する JComponent のサイズを、 幅は JScrollPane にあわせ、高さは表示内容に合わせて設計にしたいのです。 (下部のスクロールバーは出ない、上下だけは出る可能性がある、もしくは必ず出る) とりあえずこういう感じにしてあるのですが・・・ JScrollPane sp_; //インスタンス変数 sp_.setViewportView(new JComponent() { public Dimension getPreferredSize() { Dimension d = super.getPreferredSize(); d.width = sp_.getViewport().getWidth(); return d; } }); 何か API が用意されてたり、もっと美しい実装はあったりしますか?
>>229 それ難しいよね〜
俺もハマリまくった
で、しょうがないので自分でサイズ調整しようと
中のコンポーネントをsetLayout(null)にすると、
今度は何も表示されない
おれも、そのやり方知りたい
誰か教えてくれ
231 :
デフォルトの名無しさん :03/08/21 19:03
classを継承するだけでなく、相互に作用するには、どうすればいいのでしょうか スーパークラスからの処理結果を受け取り、サブクラスで処理し、結果をまた スーパークラスに送り返す、みたいな。
>>231 なにがいいたいのかよくわからないが、
継承を行ったとしても、一つのクラスから作られるインスタンスは一つだよ。
送り返すべきスーパクラスのインスタンスが別途作られるわけではない。
それとも、クラス変数とか、そういう話をしようとしてる?
>>231 俺は何がいいたいかわかった。
abstract class を作って、それを継承しなさい。
abstract class には abstract なメソッドを定義して、
個別の処理はサブクラスに書かせて、
abstract class のメソッドではそれを呼び出すだけにしなさい。
君のやりたい事によっては、別に abstract でなくてもいいかも知れんがね。
似たようなことをやるにしても、abstract にするのが唯一の実装ではない。
>>231 おれはsuper.hogehoge()とかかと思った。
「super」でスーパークラスの処理すればいんじゃね?みたいな。
235 :
デフォルトの名無しさん :03/08/21 19:58
>>235 了解。
蛇足ながら、GoF か結城本で "Template Pattern" を調べるが吉と思う。
237 :
デフォルトの名無しさん :03/08/21 22:50
ボーダーレイアウトって、必ずしも北、南、東、西、真ん中を埋めなくてもいいんですよね?
238 :
デフォルトの名無しさん :03/08/21 22:58
基本情報の午後をJavaで受けようと思うんですけど、 Javaの参考書、問題集でオススメのがあれば教えて下さい
>>238 へーいまJAVAあるんだ。俺4年位前にCで受けたけど
穴埋め&アルゴリズム(言語関係ない)だったから何でもいいとおもうべな。
しいていえば、試験までに複数回読み返せるボリュームがよいのでは?
今は難しくなったそうなんで余り参考にしないで。
〜この前のソフ開合格した俺様より〜
240 :
デフォルトの名無しさん :03/08/21 23:28
>>229 Scrollableをimplementsしてみては?
おれ調べもせずいってるから
結果おしえて。
>>229 JScrollPaneのAPI良く探せ。そういうプロパティを変更するsetterがあるぞ。
243 :
デフォルトの名無しさん :03/08/22 09:06
ファイルの更新日時を設定したいんですけど、 import java.io.*; public class Test{ public static void main (String[] args){ File file=new File("test.txt"); if(!file.setLastModified(1050000000*1000)) System.out.println("error"); } } とするとsetLastModifiedがfalseを返して更新日時を設定できません。 何が原因でしょうか? j2re1.4.1_01でやってます
>>243 "test.txt" ファイルが存在しないのでは?
1050000000 * 1000が今の時間より大きくて、 Java又はOSがそれを許さないとか。
>>244 再確認してみたけどあります。念のためfile.exists()で確認したけど大丈夫っぽいです。
>>245 現在の時間は1061514600000[ms]ぐらいなので、大きいってことはないと思うんですけど。
駄目な原因さっぱり分かりません・・
>>246 >再確認してみたけどあります。念のためfile.exists()で確認したけど大丈夫っぽいです。
だとすると、私の環境(WindowsXP + j2sdk1.4.1_02)では、
とりあえず、"error"とはなりませんねえ・・・。
試しに読み取り専用属性をセットしたら"error"になりましたが、この点はどうですか?
test.txtを他のエディタで開いてて排他制御されてるとか。
RedHat8.0+J2SDK1.4.1_03 OKです。 import java.io.File; public class MainClass { public static void main (String[] args){ File file=new File("/home/hoge/test.txt"); System.out.println("before:"+file.lastModified()); if(!file.setLastModified(1050000000*1000)){ System.out.println("error"); System.out.println(file.exists()); } System.out.println("after:"+file.lastModified()); }
setLastModifiedメソッドって、書き込むのにIOException投げないのね。
>>250 まあ、そのかわりにbooleanがかえってくるわけで...
>>251 まあそうなんだけど、それだと何のエラーで設定できなかったのか分からないじゃん。
どうせSecurityExceptionとか投げるんだから、
面倒でもIOException投げる仕様でも良かったんじゃないかと。
レスいっぱいありがとう。原因わかりました。 1050000000*1000の計算がint型で行なわれているのが原因でした。 (long)1050000000*1000とキャストしたらうまくいきました。 書き忘れてたけどOSはWin2000SP4です。 でもなんでキャストが必要な環境と不要な環境があるんだろう・・・
質問です。 scan: { break scan; } このscanの使い方がいまいち分かりません。 Stringのソース見ていたら出てきました。
256 :
デフォルトの名無しさん :03/08/22 19:34
処理の違うスレッドを2つ作る場合には、なにが最適なんでしょうか? Threadクラスを継承させたクラスを作り、それぞれインスタンスを作るか、 booleanを使い条件判断させるか。 それとも他に何かいい方法がありますかね?
257 :
ホゲホゲ :03/08/22 19:51
DB関係のWebアプリでバッチってなによ?詳しいロジックおしえてよ。物によって違うと思うけど 仕様書あったらUpしてくださいソースもね
>>256 どっちでもあんまり変わらんのじゃないのかな。
何がやりたいかで変わってくると思うけど。
259 :
デフォルトの名無しさん :03/08/22 20:37
2chでAAを青く表示するための物ですが、何かと重宝しています。しかしhttpやwww.などつけないで表示してくれた方が便利なのです。
javaの事などまるで分からない私が、いろいろ試した結果、httpも、ftpも、wwwも表示させないよう改造できたのですが、ピリオドがひとつだけどうしても消せません。
何が間違っているのでしょうか?
<script language="JavaScript">
s="0123456789";s+="abcdefghijklmnopqrstuvwxyz";
s+="ABCDEFGHIJKLMNOPQRSTUVWXYZ";s+="|+-*/=!#$%&^~\\|@`[]{}:;,.?";
function c(){
if(form1.radio1[0].checked){h=form1.radio1[0].value;}else{h=form1.radio1[1].value;}
w=form1.text1.value;v=form1.text2.value;l=form1.text2.value.length;
document.write(h+w+".");
for(i=0;i<l;i++){
if((v.charCodeAt(i)==46)&&((v.charCodeAt(i+1)==13)||(i+1==l)))
{document.write("&"+"#38;#46;");}
else{if(v.charCodeAt(i)==13){document.write("<br>"+h+w+".");i++;}
else{if(s.indexOf(v.charAt(i),0)>=0){document.write(v.charAt(i));}
else{document.write("&"+"#38;#"+v.charCodeAt(i)+";");}}}}}
</script>
<form name="form1"><input type="button" value="変換する" onclick=c();>
<input name="radio1" type="radio" value="
http:// " checked>http
<input name="radio1" type="radio" value="
ftp:// ">ftp
<input name="text1" type="text" value="www"><br>
<textarea name="text2" cols="40" rows=5></textarea></form>
260 :
デフォルトの名無しさん :03/08/22 20:41
素人なので教えていただきたいのですが 日本語非対応のチャットのJAVAアプレット(ソース無し)を 日本語に対応させることは可能ですか? もし簡単であれば挑戦してみようかと思っています。
>>259 質問する場所が間違ってます。ここはJavaスレ。
>>261 ?これはjavaではないのですか?失礼しました。
ではこれはいったい何なのでしょうか?
language="JavaScript"
>>263 なるほど、JavaScriptと、Javaは違う物なのですね…ありがとうございました。
誰か教えてほしい〜い。 クラスの勉強を行っている初心者者です。 二つの簡単なクラスを作りmain側でimportしたのですが 次の様なコンパイルエラーが出て解決できません。 この様な経験又は良くご存知の方がいらっしゃましたら ご教授ください。 エラーメッセージ c:\Source\Java\app6.java:1: '.'がありません。 import printer; ^ エラー一個 尚、呼ばれるクラスの所在をCLASSPATH環境変数に設定済み。 以下にサンプルプログラム メインサンプル import printer; public class app6 { public static void main(String[] args) { printer pp = new printer(); pp.print(); } } 先にコンパイルした別クラス class printer { public void print() { System.out.println("どうにかしてよ"); } } 以上
>>258 ありがとうございます。
具体的にはどういう事なのでしょうか?
>>265 package [dirctoryname]って書くんじゃなかったっけ?
printerクラスの方の先頭に、package [dirctoryname]って書くんじゃなかったっけ? packeage printer class printer { ... ... ... } こんな感じで。
>>265 参考にしている資料が古い上に間違えてた。1.3まではそれでも
javacが許容していたけど、1.4以降では駄目。
http://java.sun.com/j2se/1.4/ja/compatibility.html コンパイラは、名前のないネームスペースから型をインポートする
import 文を拒否するようになりました。以前のバージョンのコン
パイラは、こうした import 宣言を、理論的には言語で許可されて
いなくても (import 句に現れる型名がスコープ内に存在しないため)、
受け入れていました。仕様の中では、import 文の中に単純名を含
めることはできないこと、また名前のないネームスペースからイン
ポートを行うことはできないことが明示されています。
要約すると、次の構文は有効ではなくなりました。
thisって自分のクラスを指すんですか? 親クラスにある関数がthisを引数に関数呼んでるんですけど 親クラスが引数に渡っちゃってこまります。 こういう場合どうすればいいでしょう?
>>270 thisは自分というオブジェクト自身を表す
自身って隠語ですか?
>>270 >親クラスにある関数がthisを引数に関数呼んでるんですけど
自分のクラスなのに「this」を引数にする必要はない(どこからでも参照できるので)
>>270 >>親クラスにある関数がthisを引数に関数呼んでるんですけど
>>親クラスが引数に渡っちゃってこまります。
ここら辺が意味不明だけど、そんな分けないはず。
親クラスがthis指定すると継承クラスのメソッドがcallされるはず。
275 :
デフォルトの名無しさん :03/08/22 22:08
自作のメゾットでの処理結果(intなど)が、クラス内で反映されてません。 System.out.printlnも出てこないから、無いことになってる\\; どうしてでしょうか
>>272 何が隠語?
あるオブジェクトの中でthisが指してるのは自分というオブジェクトであって、自分を作り出したクラスでは無い。
説明が足らんから良く分からんが、サブクラス側で継承すべきメソッドを継承してないとか
フィールドがオーバーライドされると勘違いしてるとか、そういう事じゃないか
>>275 同じ状況を再現できる最低限のコードを書いて貼れ
公開してかまわない短いコードならそのままでもいいけど
今、うまいサンプルがかけないのですが 継承したクラスをインスタンス化したものを ある関数に渡すのですが、その関数は同じ関数名だけどクラスの型によって 呼ばれる関数が違うもので、呼ばれる関数が親クラスの関数が 呼ばれてしまいます。 その呼んでるのが親クラスでthisを渡しています。 わけ分からない説明ですみません。
class A{ hoge(this) } class B extends A{ } で、 例えば B b = new B(); test(b); とやると test(A a); と test(B b); があると test(A a); が呼ばれてしまいます。
public void paint(Graphics g){ if(s==30){ g.drawImage(img1,19,10,30,20,this); } } public void te(Graphics g,int s){ s=30; System.out.println("e?"); }
>>280 > public void te(Graphics g,int s){
> s=30;
> System.out.println("e?");
> }
引数のsに代入しちゃってるじゃん。
public void te(Graphics g) {
ってしてみなね。
>>280 paintメソッド内ではsは宣言されてないんだが、コンパイルエラーにならないか?
ならないとすればフィールドとして宣言されてるんだろうが、
フィールドとしてのsとteメソッド内のsは全く無関係だぞ
>>279 >class A{
>hoge(this)
>}
この唐突に現われた hoge(this) って何?
class Bにもhoge(this)を書くことで一応動いたのですが いまいち納得できません。
あっ!hogeじゃないか。
納得できたのか?
だめだ、こんなチャット状態じゃいつまでたっても・・・ 初心者な上に教えるのも下手ではどうしようもない
290 :
デフォルトの名無しさん :03/08/22 22:41
volatileていまだに使い方がわからん。 あとExternalizableも・・・
>>275 つうか、何やりたいの?まったく謎
paint内からte呼ぶのならわかるが・・・
int s; public void paint(Graphics g){ te(); if(s==30){ g.drawImage(img1,19,10,30,20,this); } } public void te(){ s=30; System.out.println("e?"); } でかいけつしました。どうもありがとう。
293 :
デフォルトの名無しさん :03/08/22 22:48
int s = te(); public void te(){ return 30; }
>>292 >>s=30
一体、何がしたいんだ!?
そのsは?
>>294 teで、30をセットして
paintで条件式に使っている
まあ、フラグ代わりなんでしょう
でかいケツしました。
デカイケツ(;゚∀゚)=3ハァハァ
>>270 class A は class B の存在を知らない。
class A に定義されたメソッド test(A) は、B の存在など考えてない。
B は A を継承しているのだから、立派に test(A) 関数の引数になれる。
class B に test(B) を定義したとしても、
そのメソッドが呼ばれるインスタンスを参照している変数 クラス A の変数であれば、
必ず test(A) が呼ばれる。
A a = new A();
B b = new B();
で、a.test(b) を実行しても、a には test(A) メソッドしかないのだから、test(A) が呼ばれる。
test(B) が呼ばれるのは b.test((b) などとしたとき。
そこでつっかかってるように思うが、違ったなら許せ。
これであってたなら、
初心者がメソッドに自分自身 (this) を渡させるなんてことをしてるところを見ると、
設計がおかしいんではないかと思う。まぁ、頑張って勉強してくれ。
265です。
>>268 ,
>>269 の方、ありがとうございます。
ご教授下さった事をやってみます。
以上
訂正。 >そのメソッドが呼ばれるインスタンスを参照している変数「が」クラス A の変数であれば、 ついでに A x = new B(); で、x.test(x) としてもだめよ。 x は B のインスタンスだが、A の変数なのだから、 x には test(B) なるメソッドはないゆえ、test(A) が呼ばれる。
>>298 様
class A は class B の存在を知らない。
これだ!!
なるほど、わかりました。ありがとうございました。
だからclassBをインスタンス化したものを渡しても
classAと判断されてしまうのですねー
すっきり爽快です。
比較的難易度の高い問題には、ぶら下がってこないですねみなさん
比較的難易度の高い問題は暗黙的に受け付けていません
>>301 たんにオーバーライドしてないだけでしょ?
>>304 すまん勘違いだった。これがいわいる動的なんたらですかね
>>305 ううまた勘違いしてた。こんなおいらに質問ドウゾォ・・・
馬鹿は死ぬまで直らないようですね?
金正日クラスの作り方教えてください
知らなくても呼ばれるぞ
abstrct class 金日成 { } class 金正日 extends 金日成{ あーもうあきたあとはたのむ
private void てぽどん(){ てぽどん(日本); } private void てぽどん(Location l){ new てぽどん().発射(l); }
てか、板全体の話だけど 1、誰か(A君)が人柱でちょっとメンドクサイ質問に答える 2、何がくやしいのか知れないが、「あ〜それはちょっと違いますね」という内容を 普通に指摘すればいいのに、なんかイヤミたらしく煽る。 3、その他大勢がA君にたいして質問内容とは関係無い1行煽りをする。 4、さらにA君の書いたコードについてイチャモンをつける 5、そんな中で、ぽつんと誰かがいつもなら答えないようなどうしようもない質問をすると 意外と親切に答えてくれる
6、そしてA君は旅立つ
>>255 申し訳ないのですが、そのリンク先はbreakの説明であって、
scanの説明ではないようです。
break scanで処理を抜けるのは直感的に分かるのですが。。
様々なサイトで制御文の説明を探したのですが、
scanに関して解説しているサイトが見つからないのです。
>>255 すいません、よーく見たら、少しだけ解説がありました。
ありがとうございました。
>>254 解説も何も, switch-case のときに書くやつとまったく同じ。
319 :
デフォルトの名無しさん :03/08/23 16:07
スペースキーが押されたら背景の色を変えるにはどうしたらいいですか?
>>319 キーイベントのリスナをaddしろ。KeyListenerとかKeyAdapterとか。
321 :
デフォルトの名無しさん :03/08/23 16:26
Frameにaddしたら起こられてしまいました
すまん。まちがえて書き込んでもた。 トップレベルコンポーネント「以外」にaddせい。
324 :
デフォルトの名無しさん :03/08/23 17:29
ウィンドウを切り替えた時に、グラフィックが再描画されるようにしたいのですが出来ません。 具体的には mainWindow(JFrameクラス) があってそこに boardPanel(Panelクラス) をaddしています。(厳密にはmainWindow.getContentPane()にaddしてます) boardPanelに色々グラフィックを描画しているのですが、mainWindowから一旦別のウィンドウに 切り替えて再びmainWindowを表示するとグラフィックが消えています(パネルは灰色)。 試しにmainWindowクラスにウィンドウリスナーを追加してwindowActivatedメソッドを記述しても 描画はされませんでした(windowActivatedメソッドは呼び出されている)。 ただ、boardPanelクラスにマウスリスナーを追加してmouseEnteredメソッドを記述してやると マウスをboardPanel上にもっていけばきちんと再描画されます。 ちなみに上のwindowActivatedメソッドとmouseEnteredメソッドの中身は同じです。 (どちらもmainWindowのdrawBoardメソッド(自作のboardPanelにお絵かきするメソッド)を呼び出してます) どうしてこういう現象が起こるのかわからず、FAQでもそれらしいものが見当たらなかったので、 詳しい方教えてください!
おまえらこんなところで閉じこもってないで
おれのHPにコイよw
文句があるならヤッテモいいぜw
引きこもりのキモヲタどもよ!
そんな勇気のあるやつぁいねーかw
まぁ悔しかったら俺のHPクラックしてみろよ。
実際、おれはもてるし今の生活になんの不自由もねえ。
だから俺の勝ち。彼女もいるし。
こんなところに来てひきこもってる奴なんかに
負けねーーーーーーのwwww
http://plaza.rakuten.co.jp/yuki118822/003001
>>324 単に、新しく「現在のウィンドウ」になった方を描き変えたいのか?
windowActivated なんてわしは使ったこと無い。
paint を書き換えるだけで、update から呼ばれて勝手に再描画されるぞ。
paint あたりで変に return してないか? while を一度も通らないとか?
それでも書き換わらないなら、
オーバライドした paint メソッドの中で Exception が出てしまい、
描画が中途で断念されとるんじゃなかろうか?
オフスクリーンバッファを createImage で作るとき peer 未確定とか、
mouseEntered 周りの処理の詳細が分からないとなんとも言えんし、
どんな Component 使ってるかにもよるが、予想としてはかなり初歩的な部分だと思うぞ。
>>326 説明不足スマソ
今はImageクラスは一切利用せずに、描画しようとするたびに
Graphics gp=panel.getGraphics();
みたいにグラフィックスオブジェクトを取ってきて
gp.drawRect…
みたいにちょこちょこ書いてたんだけど…。
確かにこれじゃオフスクリーン時のバッファは出来るわけないか(w。
なるほどcreateImageをつかってダブルバッファリングできるようにするのね。全然そういう発想が無かった。
試してみまつ。サンクスコ。
あの後色々いじってみたのですが、結論としてはpaintメソッドをオーバーライドしさえすればよい というだけの話でした(w
330 :
デフォルトの名無しさん :03/08/23 23:28
学習するのにMIDP(いわゆる携帯向けの開発)から入るのって無謀ですか?
/ ̄ ̄ ̄ ̄ ̄ ̄\ / \ / ヽ l:::::::::. | |:::::::::: (●) (●) | おい、ゾクゾクするような問題出せよ! |::::::::::::::::: \___/ | ヽ:::::::::::::::::::. \/ ノ \ / ♪ / ::::i \ / / ::::|_/ \/ ::| | ::::| キュム i \ ::::/ キュム \ |::/ |\_// \_/
>>331 コマンドのプログラムで
Windowsでいう所のdirコマンド作れ
Linuxだとls
オプションは余力があれば作れ
速度優先で。←これがポイント
俺も今からやるので、おまえもヤレw(他の奴でもいいけど
>>332 Fileオブジェクト使って当たり前に組むか、じゃなきゃJNIしかないだろ。
そんなんで優劣なんかつくかオイ。
rmiregistryは、現在ネットワークをまたぐRMIサーバの管理を行えないが、 これを拡張するライブラリを作成せよ。
>>333 この場合、JNIより素直にプロセス使った方がいいんでないの?
>>334 そんなのちょっと敷居が高いだろ?
実際、やる気起きないし・・・
>>332 よりちょっと難しい程度(例えばファイル検索コマンド)の方が
みんなでワイワイいいながら楽しめそうだけどな・・・
そんなありがちなコマンドをわざわざJavaで組むという発想のほうが おかしいでしょ。Perlでもやったら?
>>337 そういう話じゃないでしょが・・・
ソースうpしてみんなで考えよう!的なことがやりたいんじゃないの?
339 :
デフォルトの名無しさん :03/08/24 03:04
String[][] map = { {"一", "one" , "1"}, {"二", "two" , "2"}, {"三", "three", "3"}, }; t.map = map; これの最後の"1"をintで使いたいんだけど どうやってやるんですか? char*の配列使えば出来ると思うんだけど Javaだとこんな感じでうまく書けない class Test8 { public String[][] map; public int[] mapInt; ... }
文字列を数値に変換するためには Integer#parseInt を使ってください。 String s = "1"; int i = Integer.parseInt(s); // 1
341 :
デフォルトの名無しさん :03/08/24 03:42
例えが悪かったです。。 こういう感じに使いたいんだけど。 String[][] map = { {"一", "one" , JA_EN}, {"two", "二" , EN_JA}, {"三", "three", JA_EN}, }; ... public static fainal int JA_EN = 1; public static fainal int EN_JA = 2; public static fainal int JA_ES = 3; ...
map は String[][] 型なので String しか入れることができません。 こんなのは Java 以外の言語でも当たり前。あえてやるとしたら 1.Object[][] に変更して int の代わりに Integer を入れる (激しくお勧めしない)。 Object[][] map = {{"一", "one", new Integer(1)}, ... }; 2.String, String, int を持つクラスを使う。 class Tuple { &npsp; String ja; String en; int value; Tuple(String ja, String en, int value) { this.ja = ja; this.en = en; this.value = value; } } Tuple[] map = {new Tuple("一", "one", 1), ...}; 3.データ構造を 2 つの String[] に変える。 String[] ja = {"一", "二", ...}; // 使わないとしても "零" を入れたほうがキレイ String[] en = {"one", "two", ...}; // 使わないとしても "zero" を入れたほうがキレイ
>>340 のように文字列で格納しておいて、取り出してから型変換するので何か問題ありか?
まあString[][]にしようとしても無理だから
Object[][]にしてintを使わずラッパークラスIntegerを使って
Object [][] map = {
{"一", "one" , JA_EN}, //String,String,Integer
{"two", "二" , EN_JA}, //String,String,Integer
{"三", "three", JA_EN}, //String,String,Integer
};
.....
public static final Integer JA_EN=new Integer(1);
public static final Integer EN_JA=new Integer(2);
public static final Integer JA_ES=new Integer(3);
とかいう手はあるけどな。
おっとケコーン。無視してくれ(w
今時は
>>342 のAのやり方か、MapのMapでもいけるかも
346 :
デフォルトの名無しさん :03/08/24 08:12
SUNのAPIドキュメントが単なるHTMLなので検索しにくくて嫌です。 どうすればいいですか。
>>346 普通はMSのツリーが嫌って言う人多いだろ?
あっちの方が見づらい
JavaのAPIDocなんて一番わかりやすいじゃん
>>346 それとも「Index」ってページ知らないのか?
/ ̄ ̄ ̄ ̄ ̄ ̄\ / \ / ヽ l:::::::::. | |:::::::::: (●) (●) | |::::::::::::::::: \___/ | ヽ:::::::::::::::::::. \/ ノ \ / ♪ / ::::i \ / / ::::|_/ \/ ::| | ::::| キュム i \ ::::/ キュム \ |::/ |\_// \_/
>>347 見つけたいものを探すのが面倒な気がしていたけど、
そういわれてみると、別段内容に文句はないような気もする...
全文検索なんかがあれば便利かなと思ったが、
やっぱり使用頻度は高くないのかな?
HTMLなんてテキストファイルなんだから、grepかければ良いのでは?
>>351 JavaPGに検索なんて高度な機能を使える分けないでしょう!!
353 :
デフォルトの名無しさん :03/08/24 12:04
355 :
デフォルトの名無しさん :03/08/24 12:17
とある本で、利用頻度が高ければAPIドキュメントをダウソすれば?と書いてあったんですが、どこいけばダウソ出来るんですかね? まさか、ブラウザから一個一個ダウソじゃないよね?
その ま さ か
358 :
デフォルトの名無しさん :03/08/24 12:21
sun のサイトから1ページ1ページだよ
>>355 あんた、J2SE SDKをどっからダウンロードしてきたんだ?
そこだよ、そこ。
362 :
デフォルトの名無しさん :03/08/24 16:20
もういいよ帰って つまんないから
364 :
デフォルトの名無しさん :03/08/24 17:16
えっ!?ホントにSUNのAPIドキュメントをブラウザで一個一個ダウンロードなの? アーカイブファイルがあるかと思ってたのに…。
あるに決まってるだろうが、ボケ。捜しもしないやつは死ねよ。
366 :
デフォルトの名無しさん :03/08/24 17:23
はじめまして! ちょっと質問があってカキコさせてもらいにきました。 JavaのAPIでファイルをオープンする際、いきなり開けるんじゃなくて、 そのファイルが存在するかどうかを判断してからオープンする処理を書こうと思っているのですが、その場合、ファイルの存在の有無を調べるにはどういうメソッドを使えばいいでしょうか? 開けるファイルはテキストファイルです。 すいませんが、教えてください。
368 :
デフォルトの名無しさん :03/08/24 17:32
きっと♪
369 :
デフォルトの名無しさん :03/08/24 19:44
∧ ∧ ( ^∀^ ) < さーおまいら何でも聞いていいぞ!
370 :
デフォルトの名無しさん :03/08/24 19:57
プロパティをやるにはどうしたらいいですか?
プロパティを・・・やるぅ・・・・?
372 :
デフォルトの名無しさん :03/08/24 21:08
appletのバックグラウンドでmidiを流したいのですが、一番簡単なやりかたを教えてください。 htmlでなくclassで流したいです。
373 :
デフォルトの名無しさん :03/08/24 21:50
RandomAccessFileのskipBytesって、意味あるんですか? 使っても何も起こりませんでした ファイルの内容をメモリ上に読み込まないで ファイルのある一部を消すにはどうすればいいのでしょうか?
374 :
デフォルトの名無しさん :03/08/24 22:02
>>372 AudioClipインタフェース使え。
(getAudioClip(getDocumentBase(), "hoge.wav")).play();
375 :
デフォルトの名無しさん :03/08/24 22:04
○hoge.mid ×hoge.wav
すみません、まだ初めてまもないのでわからないのですが。 もう少し詳しく教えてください
377 :
デフォルトの名無しさん :03/08/24 22:20
378 :
デフォルトの名無しさん :03/08/24 22:22
>>376 import java.applet.Applet;
public class Taro extends Applet {
AudioClip ac;
public void init() {
ac = getAudioClip(getCodeBase(),"12.mid");
ac.loop();
}
public void stop() { /*これないとブラウザーを閉じても、音楽が
ac.stop(); 流れ続ける*/
}
}
379 :
デフォルトの名無しさん :03/08/24 22:24
>>377 初心者はこう書かないとわからいの!
でも、Javaはわからないままだけどね・。・。
381 :
デフォルトの名無しさん :03/08/24 22:29
>>378 ×import java.applet.Applet;
○import java.applet.*;
だろ?
>>378 AudioClip ac;のところで「クラスAudioClipが見つかりません」となるのですが。
できました。
384 :
デフォルトの名無しさん :03/08/24 22:36
走ったのですが、midiが流れません。 どうすればいいのでしょうか?
ファイルに書きこむ際、末尾に追加するだけっていうのはどうすれば良いんでしょうか? やはり一旦全部読みこみ、新しい文章を足して再度書きこむという方法しかないんでしょうか?
midiファイルの置き場がjpxのところじゃなくてclassのとこと同じになってましたのが原因でした
389 :
デフォルトの名無しさん :03/08/24 23:26
影文字を使いたいのですがどうすればよろしいでしょうか?
できますた サンクス
392 :
デフォルトの名無しさん :03/08/25 00:22
>>391 それはずらして文字を重ねるということですか?
393 :
デフォルトの名無しさん :03/08/25 01:32
画像を表示させてその上から文字をdrawStringで表示させたいのですが、普通にやると文字が画像の下に行ってしまい表示されません。 どのような方法があるでしょうか?
>>353 逃げるもなにも、だれものってこないのでアホラシイとおもいました
いちおうあの時つくったけどね(検索ばーじょん)
>>395 はい、それでできました。
それともう一つ他に質問があるのですが、1回アップレットを止めてマウスでクリックやリターンするとまた動き出すようなものを作るにはどうすればいいんですか?
例えば、drawStringを3つ作って最初は1つ目だけ表示して止まり、何かアクションを起こすと2つ目の文字列が出るみたいにしたいのです。
その止め方を教えてください。
>>396 君は "Listener" について何も書いてないから、
おそらくまだ分からない事だらけだろう。
ポイントとしては、
インターフェース、MouseListener, repaint メソッド、if / else 、インスタンス変数。
このうち 1つ以上何のことだか分からなければ、まず本などで勉強。
全部何のことだか分かれば、頑張って組んで、ここにソース貼れ。滅茶苦茶でもいいから。
398 :
デフォルトの名無しさん :03/08/25 14:06
400 :
デフォルトの名無しさん :03/08/25 14:41
>>397 わからないものもいくつかありました。
でも、勉強している時間がないのです。簡単な止め方を教えてもらえないでしょうか?
>>401 自分が忙しいから暇な奴に代わりにやってもらおうってことか?
たいがいにせぇよ。
違います。そういう意味でなくて時間がないのです。 明日までにこの事を仕上げなければいけなくて最初から色々勉強している時間がないのです。 javaを上達というより、ただ止め方さえできてればいいはずなので聞こうと思ったわけです。 嫌な思いをさせたのなら誤ります。
>>403 だって、どうせここに丸々ソース書いてやったって、
うまく行きませんっつって質問繰り返すんだろ
int step = 1;
コンストラクタ() {
MouseListener ml = new MouseAdapter() {
public void mousePressed(MouseEvent ev) {
step++;
repaint();
}
};
addMouseListener(ml);
}
public void paint(Graphics g) {
if (step >= 1) {
g.drawString("ひとつめ", x1, y1);
if (step >= 2) {
g.drawString("ふたつめ", x2, y2);
if (step >= 3) {
g.drawString("みっつめ", x3, y3);
}
}
}
}
これで分かんなきゃどーしょもない
いや、十分ヒントになりました。本当にありがとうございます、助かりました。
406 :
デフォルトの名無しさん :03/08/25 16:47
ちょっと悩んでいることが。 不変クラスではclone()メソッドをオーバーライドさせる必要はないのですか? オーバーライドさせなくてもその不変クラスのオブジェクトを=で代入するだけで clone()メソッドを使わずにディープコピー処理できるようですが・・・・・
>>406 何言ってるかさっぱり分からんが君の解釈は多分間違ってる
ちょっと例を書いてみろよ
408 :
デフォルトの名無しさん :03/08/25 18:17
>>406 それはあり得ないですよ
String unko = "unko";
String manko = unko;
System.out.println(unko == manko);
manko = unko.clone();
System.out.println(unko == manko);
これを実行すれば一目瞭然ですよ(Stringはあなたの言う不変クラスです)
スマソ間違えた
410 :
デフォルトの名無しさん :03/08/25 19:01
すんまそ!! servletのAPIのサイト誰か知りませんか?
>>406 じぶんで必要ないって結論言ってるじゃん。
【Sun J2SE SDK 1.4.1】をインストールしていじってみた 30分で挫折した なんかごちゃごちゃ機能つきすぎじゃないのかなぁ
>>413 Java 初めて?
javac.exe と java.exe 以外はしばらく使わなくていいよ
ごちゃごちゃ?コマンドラインオプション全部試したとかそんなんかな
418 :
デフォルトの名無しさん :03/08/25 22:12
411さんありがとうございます。 サンクス ∧∧ (・∀・) ⊃
421 :
デフォルトの名無しさん :03/08/25 22:47
VC++使いさんって MFCしか使えないとか?
MFC使えるってことはC++使えるってことだけどな。
423 :
デフォルトの名無しさん :03/08/25 22:51
>>422 アルゴリズムなんて言葉知らないでしょう!
boost!
425 :
デフォルトの名無しさん :03/08/25 22:57
画像のフェードイン・フェードアウトのうまいやり方ってありますか?
>>425 目をうっすらと閉じたり、その逆をしたり
427 :
デフォルトの名無しさん :03/08/25 22:59
>>425 Applet上で?
イメージインスタンスに、フィルターをくっつけて徐々に透明度なりフィルターの
効果範囲を変化させればいいのでは?
視界がフェードアウトする罠
429 :
デフォルトの名無しさん :03/08/25 23:14
質問です。 アプレットでJScrollPaneのViewportを透明にしたいと考えているのですが setOpaque(false); でも透明になりません。 import java.awt.*; import java.awt.image.*; import javax.swing.*; public class Test extends JApplet { JScrollPane jScrollPane1 = new JScrollPane (JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); JTextPane jTextPane1 = new JTextPane(); public void init() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) { System.err.println(e); } (つづく)
(つづき) getContentPane().setLayout(null); getContentPane().setBackground(Color.black); jScrollPane1.setBounds(260, 20, 420, 420); getContentPane().add(jScrollPane1); jScrollPane1.getViewport().add(jTextPane1); SwingUtilities.updateComponentTreeUI(getContentPane()); jScrollPane1.setBorder(null); jTextPane1.setOpaque(false); //ここで透明にする jScrollPane1.getViewport().setOpaque(false); } } アプレットサイズは720x540です。 ご教授ください。。
431 :
デフォルトの名無しさん :03/08/25 23:17
あ、ご教授くださいの詳細 ・Viewportの透明化は不可能なのですか? (DocのクラスJViewportでは「setOpaqueを使え」とのことですが) ・可能なら、どう記述すれば透明になりますか?
433 :
デフォルトの名無しさん :03/08/25 23:24
>>429 どういう動作を期待してるのかわからんのだけど
setOpaque()の意味を誤解しているかと思われ?
俺も詳しくは無いんだけど、自分の理解では↓
Opaqueがtrueならそのコンポーネントの下(親)の描画は省略される。
Opaqueがfalseならそのコンポーネントの下(親)が描画されてからpaintComponent()が呼ばれる。
って感じかと
最終的にはViewportの背景に画像を置きたいのです。 上のスクリプトだと、ContentPaneの色を黒にしてあるので Viewport(と、そこに入れてるJTextPane)透明化でその部分は黒になる。と思いきや、 グレー(デフォルト色)になってしまってます。 ちなみにJTextPaneの透明化は問題なくできます(そうでなければその部分は グレーでなく、白になるはず)
436 :
デフォルトの名無しさん :03/08/26 00:17
OracleSQLのto_char、to_dateみたいな関数あります? 知ってると思いますが一応、使い方 to_char(date, 'yyyymmdd') → "20030825" to_char(date, 'yyyy-mm-dd') → "2003-08-25" to_date('20030825', 'yyyymmdd') → date to_date('2003-08-25', 'yyyy-mm-dd') → date CalenderクラスとかDateとか、DateFormatとか調べたんですが 見つけられませんでした。おながいします。
437 :
デフォルトの名無しさん :03/08/26 00:17
appletを1秒くらい止めるにはどうすればいいんでしょう?
438 :
デフォルトの名無しさん :03/08/26 00:20
質問です。 SWTなど、Javaでネイティブアプリを作ることが出来るものがありますが、 その仕組みがいまいち理解できません。 Javaはコンパイラがソースコードをclassファイルに変えるものと理解していますが、 この過程を無くして、直接ソースコードから実行可能バイナリファイルを生成するのですか? それともCの様に、オブジェクトファイルとして提供するのでしょうか? また、たとえば外部のclassファイルやjarファイルを参照するような場合、 そのファイルはJavaのソースコードを持っていないと思われるので、 直感的には完全ネイティブにすることは出来ない気がしてしまいます。 仮にclassファイルをコンパイルして実行可能ファイルを生成するのだとすれば (これは可能性として大いにありそうだと自分の中では考えています) 本来Javaのソースコードを直接ネイティブにコンパイルするのに比べて ネイティブ環境にとっては意味のないバイトコードを経てしまっているので、 実行効率が落ちてしまう気がします。 どなたか仕組みを教えて貰えませんか?
>>436 調べ方が甘いです。DateFormat つながりです。きちんと読んで下さい。
>>437 applet の何を 1秒とめるんですか。
何はともあれ Thread.sleep(1000) でどうですか。
441 :
デフォルトの名無しさん :03/08/26 00:31
>>438 JINIだったかなんかの本かいなさい。
説明大変だし。
442 :
デフォルトの名無しさん :03/08/26 00:31
JNIだっけ?
Javaの時代は終わったよ。 悲しいけど。
>>429 こうなっちょるよ。
上(手前)から順に
JTextPane <- 透明
JScrollPaneのViewPort <- 透明
JScrollPane <- 不透明(灰色)
JAppletのcontentPane <- 黒い
>>438 ネイティブコードとは一体なんなのか、
それからなる「実行ファイル」とは正確には何をさす言葉(特に Win で)なのか、
それに対して VM とは何をしているのか、
これが分からなければ SWT, ひいては JNI を云々する資格は無い。
君には必要なキーワードとして何があるかをおさえる能力は十分にあるようだから、
それについてできる限り正確な情報を頭に叩き込む努力が必要だ。
Java/ネイティブアプリ双方の構築に対して君に向上心があるのなら、
まず CPU の仕組みについて勉強したらどうだろう? 面白いぞ。
予約語とキーワードって同じ意味と考えて大丈夫でしょうか?
448 :
デフォルトの名無しさん :03/08/26 03:22
>>445 ありがとうございました
jTextPane1.setOpaque(false);
jScrollPane1.getViewport().setOpaque(false);
jScrollPane1.setOpaque(false); //これを追加
で透明化成功しました。JScrollPaneは2枚重ねなのか。。
450 :
デフォルトの名無しさん :03/08/26 10:09
先日ここでバックグラウンドでmidiの鳴らし方を教えてもらった者です。 その件に関して質問ですが、アプレットビューアでは再生できるのにIEでは再生できないのです。 解決方法を教えてください。
>>450 じゃあ聞くけど
アプレット経由じゃない普通のMIDIコンテンツが入ってるWebは音聞けるの?
452 :
デフォルトの名無しさん :03/08/26 10:35
聞けます。
>>452 めんどくさいのでまとめて質問します
1、どういうHTML書いてるの?見せてください。
2、普通の(音使わない)アプレットは君のIEで動くのか?
3、Javaコンソールの表示を見せてください。(IE「ツール」⇒「Javaコンソール」
455 :
デフォルトの名無しさん :03/08/26 10:46
1、<applet code="" width=680 height=400> </applet> 2、音がでないのならちゃんと動きます。 です。 midiの音だけでない以外はちゃんと動きます。
まず、Javaのデモを動かしてみろ \JAVA_HOME%\demo\plugin\applets\Animator\example1.html ↑コレをダブルクリックして動くのならこんどはこのHTMLファイルを以下のように修正する <PARAM NAME = sounds VALUE="1.au|2.au|3.au|4.au|5.au|6.au|7.au|8.au|9.au|0.au"> ↓ <PARAM NAME = sounds VALUE="流したいMIDIファイル名.mid"> さらに、\JAVA_HOME%\demo\plugin\applets\Animator\audio内に流したいmidiファイルを置く \JAVA_HOME%\demo\plugin\applets\Animator\example1.htmlをダブルクリック ↑コレが動くなら ロケーションパスが間違ってるんじゃないのかな
457 :
デフォルトの名無しさん :03/08/26 13:39
ん〜よくわからないです・・・・。 3のjavaコンソールってやつはチェックされてます。
JavaでVBでいうところのvbCrLfを教えてください
いやだからJavaコンソールの表示はなんか書かれてないか? Javaコンソールのウインドウは開いたのか?
>>458 vbCrLfてそもそも俺たちで知ってる奴いないよ
改行とかのことか?
System.getProperty(line.separator);
461 :
デフォルトの名無しさん :03/08/26 13:48
どこに表示されているのかわかりません。 使ってるのはwindows2000なのですが。
462 :
デフォルトの名無しさん :03/08/26 14:07
もしかして音が出ないのってJBuilder7のせいではないですよね? 前にJBuilderはIEでclassが認識されないというのがありましたから。 って、違いますよね。
>>461 IEの「ツール」⇒「Javaコンソール」 で窓が出て来ないのか?
464 :
デフォルトの名無しさん :03/08/26 14:13
ツールのところにjavaコンソールという項目がありません。
じゃあさ、IEのメニューから 「ツール」⇒「インターネットオプション」⇒「詳細設定」⇒「Javaコンソールの使用」にチェック入ってる?
466 :
デフォルトの名無しさん :03/08/26 14:29
入ってます
「スタート」「設定」「コントロールパネル」「Javaプラグ印」「コンソールを表示」
468 :
デフォルトの名無しさん :03/08/26 14:32
本当に初心者です。 初歩的な質問ですが、ご回答お願いします。 ディレクトリの削除ってどうやるんでしょう? File aaa = new File("dirname"); aaa.delete(); で、削除できないのですが・・・。
俺のPCでは 「ツール」「Javaコンソール」 「表示」「Javaコンソール」の2種類が存在する しかも、「ツール」の方はSwingGUI 「表示」のほうはAWTだ(MSか?)
>>468 ディレクトリにあるファイルとサブディレクトリを全部削除しないとディレクトリは削除できないし、
権限が無くても削除できない。
472 :
デフォルトの名無しさん :03/08/26 14:37
「javaプラグ印」がないですね
>>472 じゃあ、インストールしてないんだべ
っていうか、デモアプレット動かしたのかよ?
>>456 の奴
今、参考書を見ながらウィンドウアプリケーションをjavaで作っていて 良く市販ソフトにある「常に前面化」って機能を付けたいのですが 参考書やjava解説サイトを探しても見つかりません(´・ω・`) 曖昧で申し訳ないのですがどうやればできるんでしょうか…
WinMe + J2SDK1.4.1 です。 JTable に DnD 機能をもうけて、行の並び順を変えられるようにしました。 A B C D A を C と D の間に移動しようと思ったとき、 DragGestureListener#dragGestureRecognized(DragGestureEvent) と DropTarget#drop(DropTargetDropEvent) で渡される各 Event での座標では確かにそう処理できるけど、 ドラッグ操作の最初の1秒弱くらいで、JTable は B を選択してしまうのです。 そのあとはマウスにつられて選択行が変わるということはないのですが。 こうした問題の解決法をご存知の方がいらっしゃったらご教授下さい。
476 :
デフォルトの名無しさん :03/08/26 15:47
>>473 どうやってインストールするのでしょう?
>>474 無理。同じ VM で管理されてるアプリの Window やら Frame の前には出れるけど。
>>478 一応、Windows であれば JNI で HWND 取ってきて Win32API で最前面にする事はできるけどね。
まぁ初心者にはお勧めしない。
>>474 Java でそういうことをやりたいときには、
必ず「どんな OS でもサポートされてる事だろうか?」と考えること。
Soralis (X Window) では? Linux (同) では? Mac では?
「Window を閉じる」「表示位置を変える」という常識的な機能とはちょとレベルが違う。
思いつく限りの OS ではサポートされているだろうが、保証はない。
ということは、Java ではできないかもしれない、と考えられる。
>どうやればできるんでしょうか…
というスタンスでなく、API 嘗め回した上で、「Java では可能ですか」と聞くようになってほしい。
>>443 すごいな、サンのJNIの説明
こんなに理解しにくい文章を読んだのも久しぶりだ.........
482 :
デフォルトの名無しさん :03/08/26 16:40
483 :
デフォルトの名無しさん :03/08/26 17:06
インストールしたらIEで聞けるようになりました。 どうもありがとうございました。
>>478 >480
解答ありがとうございました
javaでは無理なんですね(´・ω・`)
>>480 (´・ω・`) 以後気を付けます
Office のツールバーみたいに、FlowLayout を使っている時などで、 「狭いから表示し切れなかったけどまだ続きのコンポーネントがあるよ♪」 と表示してくれるような Container はありますか?
>>480 の冒頭は他言語から移ってきた香具師は必ず読んで欲しいものだ。
Windowsで、新しいウィンドウ開いたときにタスクバーから非表示にするにはどうしたらいいの?
>>488 Java でそういうことをやりたいときには、
必ず「どんな OS でもサポートされてる事だろうか?」と考えること。
Soralis (X Window) では? Linux (同) では? Mac では?
「Window を閉じる」「表示位置を変える」という常識的な機能とはちょとレベルが違う。
思いつく限りの OS ではサポートされているだろうが、保証はない。
ということは、Java ではできないかもしれない、と考えられる。
>どうしたらいいの?
というスタンスでなく、API 嘗め回した上で、「Java では可能ですか」と聞くようになってほしい。
>>488 とりあえずjava.awt.Frameじゃなくて
java.awt.Window使えばタスクバーには表示されないよ
>>488 javax.swing.JDialog使って、
親フレームを非表示の状態でJDialogを表示可能にするってのでどう?
こんなかんじ。
JFrame frame = new JFrame();
JDialog dialog = new JDialog(frame);
dialog.setVisible(true);
Window使うより楽ができる。
「ひょっとしたら他の環境でも…」と思ってLinux + GTK(Redhat9)で試してみたが、 さすがに無理ですた。
jtreeの特定のノードにプログラム側から直接アクセスってできないのでしょうか? treepath.setpath("ノードがあるパス"); tree.select(treepath); てな具合で・・・
無理
>>488 Frame や Dialog を使わないで素の Window を使ってやれば不可能ではない。
ただウィンドウバーなども自分で描画してウィンドウコントロールを仕込んで
やらなければならないが。
ペロンと出すツールチップや独自のドロップダウンメニューなんかで使うが
一応素の Window だとタスクバーには出ない。
497 :
デフォルトの名無しさん :03/08/27 02:00
>>494 SunのTutorial見たほうがいいよ。たいていのことはできっから。
おい、最近GUIネタ増えてないか? 同一人物なのか?それともJavaGUIがついに時代に乗ったのか?
サーブレットの質問は高等すぎて誰も答えられないから
>>499 高等?
全然高等じゃないよ、仕組みわかれば何てことない
だけど、GUIの細かい部分ってはっきり言って難しいと思うが?
J2EE方面しかわからない俺には最近のレスについていけない・・・
>>501 俺も、webアプリの開発ばっかりやってきたので、
GUIの方は、全然知らない。
クライアント用アプリを、Javaでって話は来たことがない。
503 :
デフォルトの名無しさん :03/08/27 08:49
COM1でシリアル通信をしたいのですが、うまくいきません。 Enumeration portList = CommPortIdentifier.getPortIdentifiers(); で、ポートのリストが何も取得できません。 ハイパーターミナルでは通信できます。 また、同じソースを別のマシンで動かした場合も動きます。 どなたか詳しい方いらっしゃいますか?
504 :
デフォルトの名無しさん :03/08/27 10:09
>>500 いや、むしろservletの方が簡単かも。
使うクラスやメソッドって大体決まってるしほとんどパターン化してるしね。
505 :
デフォルトの名無しさん :03/08/27 12:29
IE上のアプレットでrepaintなどしても前の画像が消えなくてどんどん画像が汚くなってしまうのですが。 解決方法はありますか?
506 :
デフォルトの名無しさん :03/08/27 12:57
>>505 アプレットを使わない。
解決!
ヤッター(・∀・)!!!!
507 :
デフォルトの名無しさん :03/08/27 13:05
まぁ、確かにそれで解決ですけど(汗 どちからというと使う方向で教えてください
>>505 何が「問題」なのかが正確にわからんのだが。
プログラムできない小学生にも理解できるような説明するか、
ソース全部貼るか、どっちかにしろ。
とりあえずな方法だと
Graphics#clearRect(int,int,int,int)
とかで背景色で塗りつぶすとか、
描画は全部 Image に行うとかして
Graphics#drawImage()
で画面に描画するとか。
509 :
デフォルトの名無しさん :03/08/27 13:39
ビューアの方ではちゃんとできるんですよね。 もしかしたらIEの方がおかしいのかもしれません。 スクロールバーを動かしたら画面がぶれたりするんですよね。
510 :
デフォルトの名無しさん :03/08/27 13:44
>>508 というか、こいつはrepaint()の機能がわかってないじゃないかと思うぞ。
511 :
デフォルトの名無しさん :03/08/27 13:55
なんていうかブラウザを消してもapplet上にあった画像は消えないんですよね。 何が原因でしょうかね〜
>>511 IEを終了しても画面上にその画像が表示されっぱなしなのか?
だったらプログラムの記述の仕方が問題じゃないよ
アプレットでそんな芸当不可能だ
>>511 ビデオカードとかドライバを疑ってくれ。
表示の切り替えが遅いのでそう感じるだけじゃないの
515 :
デフォルトの名無しさん :03/08/27 14:13
いや、あきらかにおかしいんですよね。 JBuilder上の架空IEみたいなやつとかビューアではちゃんとできるのに、実際のIE上でやるとおかしいのです。
516 :
デフォルトの名無しさん :03/08/27 14:21
>>503 適当に言うけどPATH or CLASSPATHが通ってないとか。
COMポートが使用不可の状態になってるとか。
つーか、そのソース貼れよ 俺たちが確認して動けば、ソースは問題ないだろ? あとはそっちのPCの環境問題ということになる そうなったら、もうココで聞くことは無いはずだ
>>516 だからよ、
「表示」「Javaコンソール」あるいは、
「ツール」「Javaコンソール」 のどっち確認すれ
はやくすれよ
一応アプレットをあげておきます。 メアドに載せておきます。 ちなみに音楽ストップさせてませんので流れっぱなしだと思いますが、その辺はお許しください。
522 :
デフォルトの名無しさん :03/08/27 15:15
これでいいんでしょうか? Java(TM) Plug-in: バージョン 1.4.1_04 使用中の JRE のバージョン 1.4.1_04 Java HotSpot(TM) Client VM ユーザのホームディレクトリ = C:\Documents and Settings\Administrator プロキシの設定: プロキシなし c: コンソールウィンドウをクリア f: ファイナライズキューのオブジェクトをファイナライズ g: ガベージコレクト h: このヘルプメッセージを表示 l: クラスローダリストをダンプ m: メモリ使用率を表示 o: トリガログ p: プロキシ設定を再ロード q: コンソールを非表示 r: ポリシー設定を再ロード s: システムプロパティをダンプ t: スレッドリストをダンプ v: スレッドスタックをダンプ x: クラスローダキャッシュをクリア 0-5: トレースレベルを <n> に設定 ---------------------------------------------------- メモリ: 9,080K 空き容量: 678K (7%) ... 完了。 -------------------------------------
524 :
デフォルトの名無しさん :03/08/27 15:19
そうですか。では、僕のPCがいかれてるんですね。
525 :
デフォルトの名無しさん :03/08/27 15:20
ちなみに、音はでましたか?
>>521 1.4.2を使ってるんだけど、件のページ見ても灰色で画像なんて表示されないよ。
natu.paint()でjava.awt.Graphics#drawImage()呼んでるときにSecurityException起きてる。
わわわ、クリックしたらビックリした。ちなみに音は出てます。
音も画像も問題なし 画面切り替えの時、クリックしないと次の画面に行かない時が何度か歩けど あれは別にかんけーないよね?
529 :
デフォルトの名無しさん :03/08/27 15:25
そうです、クリックして次の画面に行くという方法なのです。 皆様ちゃんと動いてますか。 それでは、やはり僕のPCが原因ということですね。
画面遷移が挙動不審な時がある おれはこういう風に、音と画像を扱ったアプレットなんて作ったこと無いけど スレッドとか使う必要ってないのか?それとも既に使ってるか?
確かに表示が乱れる。 clipBounds か何か使ってないか?
532 :
デフォルトの名無しさん :03/08/27 15:33
まあ、少し不審なところがあっても僕にとっては成功です。 まだプログラム関係は始めたばかりですから。 でも、何故僕のPCだけいかれてるんだろうか・・・・。
音出ない・・・
たぶん、 推奨されないやり方 あるいは、動作が保証できないようなやり方やってんじゃないのかな? つーか、あそこまで一気に作らないで 少しずつ動作確認しながら作ればいいのに・・・ そうしないと、何が原因かわからなくなっちまうよ
僕は知識がなく答えられないのでメアドにソースを載せておきました。
おい、画面代わるのにちらつき気にする必要ないべ public void update(Graphics g) { paint(g); } を、外してみろ
音は出るが、画像が出ない。
539 :
デフォルトの名無しさん :03/08/27 15:48
>>536 それって画像ちらつき防止のためのプログラムなんですか。まったく知りませんでした。
>>537 僕もほぼ同じ状態なのです。
ちょっと試しにこれで動かしてみてくれ appletviewer -J-Dsun.java2d.noddraw=true natu.html
541 :
デフォルトの名無しさん :03/08/27 15:49
このスレッドはどこから呼ばれてるの? このスレッドで何をしようとしたの? Threadのrun()メソッドはThread.start();でしか呼ばれませんよ。 public void run(){ try{ Thread.sleep(1500); } catch(InterruptedException e){}; }
まちがいない、updateメソッド外せ
543 :
デフォルトの名無しさん :03/08/27 15:50
>>538 してなかったし(w。音も画像も問題なかったよ!
>>539 ちらつきっていうか、背景再描画するかどうか
重なって汚くなるのはこのためじゃないの?
ふつう、update使うときって再描画部分を指定してそれ以外の背景はそのままにする
546 :
デフォルトの名無しさん :03/08/27 15:54
>>541 僕の中では画面を変える時の半分黒にする時に「間」をあけるための方法としてやろうと思いました。
547 :
デフォルトの名無しさん :03/08/27 16:01
548 :
デフォルトの名無しさん :03/08/27 16:15
まあ、とりあえず皆様はプレイに支障がない程度にプレイができたようですね。
549 :
デフォルトの名無しさん :03/08/27 16:36
ちょっと皆さんの力をお借りしたいので質問させてもらいます。 java.util.regex.* の機能を使って、URL・メアド・郵便番号などの入力値を 正規表現でチェックするサーブレットプログラムを作っていたのですが、レンタ ルサーバーのJavaのヴァージョンが1.3だったようで、どうやらこの正規表現は 使えないようなのです。 何か他の方法で入力値チェックをする方法はないでしょうか?
まぁ、よくがんばったよ。Thread 関係で勘違いも多いけど。 いいんじゃないか? 気にするな。表示が乱れるくらい。 それより、延々と switch/case 書かなきゃいけなくて、しんどかろ? 背景ごとに変数作るのも。行ごとに個別に座標計算するのも。 こういうのって、あとでシナリオ少し変えるとき大変だろ? プログラミング技術の上達には、その辺の整理整頓の方が大切だぞ。 Java や C++ ってのは、そこがうまくいくように出来てる。 この作品を題材に、クラスを自分で設計する勉強を始めてごらん。 表示が乱れるとかの追求は、そのあとでいいと思う。
552 :
デフォルトの名無しさん :03/08/27 16:44
>>550 わかりました。ありがとうございます。
がんばってみますね!
553 :
デフォルトの名無しさん :03/08/27 16:54
>>549 servletからJDBC使ってチェックするの?
servletは忘れたけどJSPはJDBCのSQL使えるよ。
SQL使った方が簡単だし、後々わかりやすいんじゃない。
>>551 すいません。そんなにJavaに詳しいわけではないので使い方が良くわからなかったです。
レンタルサーバーとかでも使えるんですかね?
>>553 えっと何と言ったらいいかわかりませんが、ブラウザのフォームからの情報をサーブレットで受け取って、
それをチェックする部分です。
SQLが使えるとは具体的にはどういった感じでしょうか?
>>556 確かにDBに蓄積しないなら無駄だわな。
レンタルサーバーで何使っているか調べるのは基本なので、
分からないだろうにと言われてもなぁ。
あと正規表現はMySQLとかなら使えるぞ。
>>553 混乱を招くから、いい加減な知識の者が答えない方が良いぞ。
>servletは忘れたけどJSPはJDBCのSQL使えるよ。
JSPは、結局のところ、Servletだよ。
レスどうもです。 レンタルサーバーですが、「public_html/WEB-INF/」以下にしかクラスファイルは アップできませんし、新たにCLASSPATHを設定する事もできないので、多分ライブラリー を追加したりする事はできないです。 MySQLで正規表現が使えるというアドバイスがありましたのでそちらの線で調べてみます。 いちおう使ってるサーバーではMySQL3.23が使えるようですので。 それでも無理ならやっぱ自分でロジック書くしかないんですかね…。鬱……。
561 :
デフォルトの名無しさん :03/08/27 18:52
JAVAで作ったアプリってライセンスどうなってるんですか? 商用利用可ですか? いままで無料のコンパイラはフリーソフトぐらいしか作れなかったので心配です
>>560 >つまり使えるということだと思うが。
もしかして「WEB-INF/lib/」に551さんの「jakarta-regexp-1.2.jar」を突っ込めばいいですか?
-------------------------------
Error: 500
Internal Servlet Error:
java.lang.NoClassDefFoundError: java/util/regex/Pattern
-------------------------------
・゚・(ノД`)・゚・うわぁぁん
もう少し調べて出直してきます。 (つД`)
Visual JとJ Builderどちらがいいですか?
>>562 根本的な勘違いをしているようだが、
java.util.regex.Patternは1.4からしか使えない。
package org.apache.regexp
を使わないと。
>>562 不憫になってきた。
import org.apache.regexp.*;
〜
RE r = new RE("(a*)b");
boolean matched = r.match("xaaaab");
>>565 サーバーの再起動待ちのため自PCでしか確認できていませんが、それで解決しそうです。
マジで助かりました。皆さんありがとうございます。
>>429 のプログラムで、
jScrollPane1setOpaque(false);
jScrollPane1.getViewport().setOpaque(false);
とやれば透明になるのはわかりましたが、
半透明はムリですか?
jScrollPane1.setBackground(new Color(255, 255, 255, 128));
とアルファ値を設定してやると、スクロール時などに表示が荒れます。
他のSwingコンポーネントでも同じような症状が。
問題なく半透明のままで操作できる方法ありましたらご教授ください。。
>>568 Swingの描画処理を真面目に学んだ方がいいと思うけど
とりあえずは半透明にしたいコンポーネントのpaintComponentを
public void paintComponent(Graphics graphics) {
Graphics2D g = (Graphics2D) graphics;
Composite composite = g.getComposite();
g.setComposite(HALF_ALPHA);
super.paintComponent(g);
g.setComposite(composite);
} //Composite HALF_ALPHA = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f);
みたいにオーバーライドすればなんとかなる気がする。
>>354 遅レスで申し訳ない。
ネット上にツールが無いのか探したあげく
自作する方向で考えてましたが、どう考えても時間の無駄っぽいので、
教えていただいたものをいろいろ試してみます。
>Windowsだとインデックスサービスが最初から動いている
>けど使ったことないのかなあ。
今まで知りませんでした...
571 :
デフォルトの名無しさん :03/08/27 23:40
Javaで、文字列を特定の文字でわける(spritみたいな)ことできますか?
>>571 1.4からStringクラスにsplitメソッドあるよ。
JBuilderのフリーとEclipse どっちがいいの? EclipseってGUIエディタあるの?
576 :
デフォルトの名無しさん :03/08/28 00:21
1.Eclipse 2.ない
>>569 ありがとうございます。が、だめでした。。
Colorのアルファ値設定と同じく、スクロールさせたりテキストを選択状態にしたりすると表示がぐちゃぐちゃに。。
GUIエディタないんじゃ秀丸でいいじゃん
579 :
デフォルトの名無しさん :03/08/28 00:23
580 :
デフォルトの名無しさん :03/08/28 00:23
>>575 1.金があるかないか(ワレザー逝ってよし)
2.純粋Swingがストレスなく動くような高性能CPU大容量メモリつき
マシンがあるか
1.2がOKならお好みで。
1がやばいならEclipse。
2がやばいならJava開発はやめたほうが。
SwingのGUIエディタって、本当に必要?
細かいことがやりにくくなって不便なだけだと思うが。
ドラッグ&ドロップでぺたぺた貼るか、ぺたぺた貼る
メソッドをソースに書くかの違いだけでしょ?
581 :
デフォルトの名無しさん :03/08/28 00:25
>>578 デバッガなしの開発作業なんて考えられんが。暇人?
Eclipseのプラグインでguiツールがあったけどあんまり使えなかった印象。 というか、俺もぺたぺたメソッド書いていったほうが好きだなあ。
EclipseにGUIエディタのプラグインとか 導入される予定もないの?
584 :
デフォルトの名無しさん :03/08/28 00:27
GUIエディタがあると小規模なものをサクっと作る分には便利だけどな でもJAVAの仕様のせいかあまり便利になる気がしない
>>583 WSAD(ぶっちゃけIBM製有料Eclipse)にはついてるらしいが。
Eclipseに決めた!
>>429 うちじゃちゃんと動いたよ。他の部分で変なことやってるんでわ?
めんどくさがらないでちゃんとSwingの勉強した方がよいかと。
>>581 jdb (JDKについてるやつ)知ってるか?
たしかにコンソールベースのデバッガなんてGUIデバッガを知った後では
あんまり進んで使いたくはないが。
たまにサーバーアプリのリモートデバッグとかで使うことがある。
589 :
デフォルトの名無しさん :03/08/28 01:42
ぶっちゃけ,WSADには, ・GUIエディタ ・XMLエディタ(XML Validate, XSLT, その他,考えれるXML関係すべて) ・J2EE開発環境,TomcatもOK(EJB, Servlet, JSP, Struts等なんでもあり) ・HTMLエディタ,デザイナ ・UMLエディタ ・データベースコントロール 等,考えられうるプラグイン全てはいっているけどな. すこしはフリーで提供してほしいものだ.
オイオイ大事なこと忘れてるぞ EclipseをオープンソースにしたIBMは神!!!
WSAD重杉 つーかEclipseスレ行ってよ
StringBuffer[] test = new StringBuffer[2]; test[0].append("hoge1"); test[1].append("hoge2"); がNullPointerExceptionになります。 なぜでしょうか?
配列をnewしただけじゃオブジェクトはnewされない。 StringBuffer[] test = new StringBuffer[] { new StringBuffer(), new StringBuffer); または StringBuffer[] test = new StringBuffer[2]; for (int i = 0; i < test.length; ++i) { test[i] = new StringBuffer(); }
なるほど。サンクスです。
ぬるぽになる
596 :
デフォルトの名無しさん :03/08/28 13:01
ようやくEclipseになれてきたのに、最近JBuilderを(指定なのでしかたなく)使い 始めて思った。使いやすい。 あえて言う。Eclipseなんかよりも。 迷っているなら、両方使って自分で試してみなはれ。
つーか、議論のしようが無い どこがいいのか具体的に話せよ! おまえは日常会話もオブジェクト指向なのかよ!
598 :
デフォルトの名無しさん :03/08/28 13:54
// クラスA,B,CはBarを継承したものです class Z{ void baz(){} Bar createExtendA(){ return new A(){ public void foo(){ baz(); } }; } Bar createExtendB(){ return new B(){ public void foo(){ baz();} }; } Bar createExtendC(){ return new C(){ public void foo(){ baz(); } }; } } クラス Z の中では、常にメソッドを上書きして baz を呼び出さなきゃいけない事情になってしまったとき、これをスッキリ書くため、 Bar createExtend(Class klass){ // リフレクション機能を使って渡されたクラスのインスタンスを // メソッドを上書きしたうえで作って返す } というようにしたいのです。しかし、このようなリフレクション機能は見つけることができませんでした。方法をご存知の方、教えていただければ幸いです。
>>598 無理。
振る舞いを動的に変えたいのなら、Strategyパターンを使うと良い。
public class Bar{
private FooStrategy strategy;
public void foo(){
strategy.foo();
}
public void setStragegy(FooStrategy strategy){
this.strategy = strategy;
}
}
public abstract class FooStrategy{
abstract void foo();
}
Barオブジェクトの振る舞いを変えたかったら、
FooStrategyのサブクラスAStrategy、BStrategy等を用意して
aBar.setStrategy(new AStrategy());
とすればいい。
スイマセン、ちょっと疑問に思ったので質問させてください 例えば1.4から追加されたAPIとかってあるじゃないですか そういうのは、1.3環境では使えないのは当然なのですが 1.4のソースから機能追加部分だけをもってきてコンパイルして そのクラスをCLASSPATHに追加してやれば 1.3環境でも使えるのではないか?と思ったわけなんです。 しかし、VMも違うから無理?という疑問もあります。 このあたりを理由も含めて解説してください
>>601 無理なときとはどういうときかというと、
表向きは Java にメソッドが用意されているが、
裏で JNI からネイティブコードを呼んでいる場合。
例えば、新たにプリンタやスキャナがサポートされたとする。
これらを制御するには、TWAIN だの何だのを、
プラットフォームの API (Win32API とか) を使って呼び出さなければならない。
単純に TCP/IP や File を使って、Stream の読み書きで済むようなら 1.1 レベルでもできようが、
当然、そんなものばかりではない。
Swing は 1.2 で現れたが、
拡張部分が Java で書かれているので、
その範囲に上記のような API が入ってなければ、そういうことは可能。
補足。 Java のライセンスを読むと分かるが、 Sun が提供しているのと同じパッケージ名などを使って配布すると、違反になる。
604 :
デフォルトの名無しさん :03/08/28 17:03
プログラミングを勉強しようと思い、サンマイクロソフトのjavaをダウンロードしました。 インストールも終わりましたが、使い方が全く解りません。 エディット画面はなんとなくわかるのですが、コンパイルはどうやってすればいいのですか?
サンマイクロソフト サンマイクロソフト サンマイクロソフト サンマイクロソフト サンマイクロソフト サンマイクロソフト
図書館でJAVAの絵本とか言うのを借りてきました。 あまり細かいところまではかいてないです。 CUIでのプログラミングの基本しかない。コンパイルのやりかたさえ書いてないんです。 もっとよく見て本を選べばよかった。
>>604 はNetBeans IDEをインストールしたヨカーン
あ、サンマイクロシステムズでしたね。 すみませんまちがえました。 が、初心者相手に煽るなよ。
>>610 ありがとう。
少し慣れたらGUIもがんばってみます。
みなさん親切にありがとうございます。 俺はまだ言語お試し期間なんです。 とりあえず聞いたことのあるjavaからって感じです。 使いやすい言語を模索している最中です。 でも、環境変数をちゃんとセットしたのにjavacコマンドがはじかれてしまいます。 java、向いてないのかな?
>>614 bat でも書いて、フルパスで実行してもいいさ。
どうせ人に配布するときに、 bat 書く必要出るかもしれないし。
度々すみません。フルパスでjavacでコンパイルは始まったのですが、 手始めにhello worldを表示させるプログラム(基本ですかね。)をコンパイル成功したのですが、 実行すると Exception in thread "main" java.lang.NoClassDefFoundError: c:\java\print/java と出ます。なんなんですか?
>>616 ((((((;゚Д゚))))))ガクガクブルブル
>>616 おい、リンク先とまったく同じようにやったか?
ファイル名、ファイルの中身も同じにすれよ
それを確認したら
書いてあるとおりにコマンド打てよ
620 :
デフォルトの名無しさん :03/08/28 18:39
いちいち使うクラスが増えるごとにimportを書き足すのが面倒なのですが いっそ全部指定することはできないのですか?
>>620 import java.io.*;
みたいに指定できるけど、それでもダメか?
そんなことしたら、名前空間の意味ない
>import java.io.*; ↑できればこのioあたりまで自動ならいいなと まだ道具の使い方がなってないだけかもしれませんが クラスを覚えていても何をimportすればいいのか調べるのに検索してると 時間がかかるんです
Eclipseで[Ctrl + Shift + O]
>>623 無理。
Eclipse とか使ってれば、使い方によっては import の追加とか便利になるけど。
>クラスを覚えていても何をimportすればいいのか調べるのに検索してると
>時間がかかるんです
??? 本当に覚えてるのか?
こーゆうThread処理を作りたいのですが(もちろん複数走らせるものとして) ログを書くところでNullPointerException吐いちゃうのだけども、回避策はない でしょうか。 とりあえず、Threadの呼び出し元とThread内でそれぞれログは吐かなければ いけないということで。 import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class thred_test { private static final Log log = LogFactory.getLog(thred_test.class); public void start() { Counter1 th = new Counter1(); } public static void main(String[] args) { thred_test test = new thred_test(); log("start"); test.start(); } class Counter1 extends java.lang.Thread { Counter1() { } public void run( ) { ・ ・ log("ログはき");//ここでエラー } } }
>>623 import java.*.*;
とか出来たら名前が衝突するクラスとか結構有るし、
コンパイルにかかる時間も結構増えるけど。
>>624 >>625 わけもわからないままeclipseを使ってたのですがそんな便利な機能があったとわ!!
ありがとうございます、これは凄い便利です!!
Collection, Map, Calendar なら util, Polygon, Toolkit なら awt, JLabel, JTable なら swing, クラスを憶えてればパッケージの見当なんて簡単につくが。 import 失敗するのなんて、うっかり忘れたときぐらいだろ。
>>627 なるほどデメリットもあるのですね
eclipseの機能を使ってでてきたものを早速*でまとめてたのですが
辞めます
忠告ありがとうございます
>>626 thred_test.log(・・・);
だろ?
>>626 試してみましたがだめなようです。
うーん。
↑631宛てでした。スマソ
>>632 ダメか・・
そしたら、そのスレッドクラスのコンストラクタで渡せないのか?
よくかんがえたらprivateだった
それかえれば
>>631 でいけると思うが?
おい、日テレ見てみろよ 天地真理どうなってんだ? うわぁぁぁぁぁぁ〜〜〜〜〜〜!!!
Eclipse入れてみたけど ソフトの使い方覚えるのが面倒なのでメモ帳+JDKでいいや。 やっぱシンプルなのはいいね。シンプルイズベスト。
はじめまして。 サーブレットの勉強を始めたのですが出力の際に PrintWriter out = response.getWrite(); out.println("<HTML>") を入力するとあるのですがどうして PrintWriter out = new PrintWriter(); としてないのにインスタンスが生成できる(使える)の でしょうか? 気になって気になって夜も眠れませぬ
暗黙オブジェクト でぐぐってみ
いや、そういうレベルの質問じゃないような気がしてきた response.getWrite();の戻り値がPrintWriter型だから、と答えた方がいいのか、これは?
>>639 あほか。
1. getWrite() の中でインスタンス生成されている。
2. getWrite() がさらに他のメソッドを呼んだか、他のクラスのメソッドを呼んだときそこで生成された
3. response のコンストラクタ内部で、既にインスタンス生成されてる。
4. response の他のメソッドで、インスタンス生成されてた。
5. response のクラスがロードされたとき、生成された。
以下延々と続く
javaってなかなかよいね
644 :
デフォルトの名無しさん :03/08/28 22:44
java2を使うと何かおかしくなったりしませんか?
>>638 そこにantを追加するのがお勧め
SDKだけではつらい
>>644 お前の頭が貧弱すぎればおかしくなるだろうわな
>>408 equals()使ってないからといって
>>642 すいません... わからないです。
もう少し詳しくお願いできませんでしょうか?
前記述がわかりにくかったような気がしたのでもう少し質問の内容を
書き直させていただきます。
PrintWriter out = new PrintWriter (response.getOutputStream());
も同じような表現になると思うのですがこれなら new 演算子を使っているので
インスタンスを新しく生成していると納得できるのですが
PrintWriter out = response.getWrite();
では new 演算子を使っていないのにどうしてインスタンスが作られているのか
がわからないのです。
インスタンスの生成は必ず new 演算子を使うのではなかったでしょうか?
649 :
デフォルトの名無しさん :03/08/28 23:56
Swing のコンポーネントにシステム標準色を設定したいんですけど、 setBackground(SystemColor.text); というようにやったらWindowsの標準色になってしまいます。 何も設定しないときの色が欲しいんですけど、どうしたらよいですか?
PrintWriterのインスタンスを生成して返してるんだろ。
651 :
デフォルトの名無しさん :03/08/28 23:57
>>648 servletの前にJavaの勉強をしなさい。。。
652 :
デフォルトの名無しさん :03/08/28 23:59
>>649 >>何も設定しないときの色が欲しいんですけど、どうしたらよいですか?
というのはグレーのような色?
653 :
デフォルトの名無しさん :03/08/29 00:05
getOutputStream() の戻り値はServletOutputStream であり
PrintWriter(OutputStream out) の引数はOutputStreamである。
>>648 のようなことをすればコンパイルエラーを起こすと思うが。。。
654 :
デフォルトの名無しさん :03/08/29 00:06
はぁ?
655 :
デフォルトの名無しさん :03/08/29 00:06
>>652 グレーのような色もそうですし、JComboBoxでドロップダウンリストに
マウスカーソルが当たってるときの色が欲しいです。
グレーのような色は一応
UIManager.getColor(this);
で取れるんですけど、このやり方がよいのかどうかもわかりません。
656 :
デフォルトの名無しさん :03/08/29 00:12
すまん間違えた。。。 インターフェイスServletResponseをみてた。 クラスHttpServletResponseにはgetOutputStream() はなかった。
657 :
デフォルトの名無しさん :03/08/29 00:16
すまん。やっぱりあった。インタフェース javax.servlet.ServletResponse から継承したメソッドで getOutputStream()で戻り値がServletOutputStream となっている。
>>648 public class ServletResponse {
public PrintWriter getWrite() {
return new PrintWriter(response.getOutputStream());
}
}
細部は知らん 確実に間違いだが 分かりやすくお前の書いたのを踏襲した
これで分からなかったら一遍三途の川見て来い
つかよー、なんで Servlet 使う奴はいつもこういうクズばっかりなんだよ
素直にアプリケーションからやれよーーー
>>658 ありがとうございました。
gerWrite メソッドの中ですでに
インスタンスを生成していたんですね。
たいへんわかりやすい説明でした。
どうもです。
今世界陸上を見てて思ったんだが、こういうシステムって何の言語が使われているんだ? Javaでもできるのかな?
スエツグ200m決勝進出!!! 思わずテレビの前でガッツポーズしてしまいました。
663 :
デフォルトの名無しさん :03/08/29 05:14
JARについての質問なんですが、 JARファイルをダブルクリックしただけで、実行されるやつがありますが、あれはどうやるんでしょうか? 非常に気になります。
>>663 Windows であれば単に関連付けされてるだけでは?
Sun の JRE 入れれば勝手に設定されると思ったが。
JARって、解凍不可能にすることはできないの?
668 :
デフォルトの名無しさん :03/08/29 08:32
すみません、質問です。 Stringから特定の文字列を抜く、最も簡単な方法は何ですか? 例:「abcabc」→bを抜いて「acac」 bを他の文字に変換するのはString.replace(char, char)使えば出来ますが、 抜くとなるとどうすればいいのか分からなかったので。 よろしこおながいしまつ。
669 :
デフォルトの名無しさん :03/08/29 08:38
>>668 自己レス。
JDK1.4以降で、String.replaceAll(String, String)というメソッドが
利用可能みたいでつ。これを使えば、
"abcabc".replaceAll("b", "");
でうまくいきそうでつ。
わははは!
さすが漏れ!
(・弟・)<
>>670 って頭悪そうだよねお兄ちゃん。
(・兄・)<悪そうじゃなくて、悪いんだ。弟よ。
(・弟・)<さすがお兄ちゃん。
(・兄・)<
>>670 みたいにはなるなよ。弟よ。
質問ですがjavaで『〜.exe』ってやつを作れるのでしょうか?
普通『〜.exe』(市販ソフトみたいな)ものを作る場合どんな言語を使うのでしょう?
>>674 C, C++
初心者は あとは無いものと思っとけ ちうか 何で Javaスレでそんなこと聞く
いや、そうゆうのを作りたかったのですがjavaしかできないもので
>>676 javaが出来ればC++もすぐに習得できるだろう。がんばれ
>>677 >javaが出来ればC++もすぐに習得できるだろう。
C++をなめすぎだろ
どっちが正しいのだ・・・・。 まあ、まだjava始めたばかりなのでとりあえずはjavaをがんばりたいと思います。
それjavaができるとはいわない
681 :
デフォルトの名無しさん :03/08/29 18:20
jarファイルにすればダブルクリックで動くぞえ! CもC++も結局は、MFC関数がいくつ使えるか(知っているか)が重要だと思うぞ。 ま、C++はjavaのつもりでやるよりはCの延長と考えた方がわかりやすいと思いますよ。
>>681 誤解させるようなこと言うな!
javaを動かすには、JREをインストールする必要があるだろうに。
あと
>CもC++も結局は、MFC関数がいくつ使えるか(知っているか)が重要だと思うぞ。
も、つっこみどころ満載すぎるだろ。
100段ある階段の 2段目で 1段目の奴等を激励するようなものだな かく言う俺はどう多めに見積もっても5段目くらいだけど
>>684 可変長配列(Vector, ArrayList)とかじゃ駄目なん?
可変長配列・・・(;´Д`)
>>685 すいません、具体的なやり方を教えていただけたらと思います。
688 :
デフォルトの名無しさん :03/08/29 23:47
Tomcat 4.1以前はデフォルトのweb.xml(C:\Program Files\Apache Group\Tomcat 4.1\conf\web.xmlにあります)にて <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> という記述がありました。(今でも282行目にあるのですが、コメントになってしまっており無効となっています)。 これを有効にするにはどうしたらいいんでしょうか?コメントをはずせばいいんですが。 そのやりかたがわかりません。ご教授お願いします。
690 :
デフォルトの名無しさん :03/08/29 23:55
「core Java2の基礎、応用編」「Java謎+落とし穴徹底解明」 この2つが過去スレですすめられていたんですが、初心者でもやる気が あるという前提なら、この2つはいい参考書なのでしょうか? あと、緑のカバーの図解でわかるJavaという参考書はどうでしょうか? 明日図書館で借りてと思うのですが、おすすめがありましたら教えてください。 おねがいします。
>>686 まちがってないよ。
ArrayListは、順番に詰めていって足りなくなったら、長さを倍に取り直して
新しいほうにArrayCopy、ということをくり返す処理を実装しているだけの、
単なる配列のラッパですよ。
>>688 コメントの外し方が分からない?うそだろおい。
>>689 該当ページを見てきましたが、modelがLinkListで不定個のデータを
保持するようになっておりArrayListを別に用意する必要はありません。
>>684 データベースには該当データが何個あるか調べる方法と、
該当データのX番目からY個を取得する方法が用意されています。
ループ中で該当データを少しずつ取得しながら処理できます。
Itemのオブジェクト名はaddItem()を実行すれば用済みです。
ループ中でオブジェクトを同じオブジェクト名で生成しても問題ありません。
1件づつ取得するなら下記のとおりになります。
データ個数取得;
for(i=0; i<データ個数; i++) {
データをi番目から1件取得;
// 商品オブジェクトの作成
Item item = new Item(取得した名前, 取得した値段);
// 商品オブジェクトを商品一覧オブジェクトに追加
model.addItem(item);
}
694 :
デフォルトの名無しさん :03/08/30 00:40
ファイルを他のフォルダに一発でコピーできるメソッドてありますか?
>>694 java.io.File#renameTo()
>>695 それってリネームでコピーじゃないんじゃないのか?
Javaに純粋にコピーするメソッドは用意されてないはず。
だからOS依存になっちゃうけど
Runtime.getRuntime().exec("copy hoge.txt hoge.bak");
みたいにコマンドを実行するか
FileReaderとFileWriterを使って読み込んだ内容を書き込んでいくみたいにやるしかない。
>>696 漏れも以前からその方法使ってたけど、
やっぱコピーって出来ないのか(´Д⊂グスン
698 :
デフォルトの名無しさん :03/08/30 02:23
java 初心者です。WinXPにjavaをインストールして環境変数のパスにj2sdk1.4.0_03を追加し再起動させ、エディタでプログラムを作ってコンパイルさせようとしたのですが、 C:\java>javac ex1.java 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 というメッセージが出てしまいました。どうすればよいのでしょうか。 教えていただけると幸いです
PATHに追加するのは c:\j2sdk1.4.0_03\bin だ。 それにしても、 1.4.0_03 つうのは古いぞ。 最新は1.4.2_01だ。
ここのログ見て思ったのですが、javaって『〜.exe』にできないのですよね? だとしたら、ソフトウェアとして出す時にjavaで開発ってできないor難しいんではないのでしょうか? 普通、製品は『〜.exe』って言うので起動するじゃないですか。
〜.exeから起動すればいい。 そんなことより、パーソナルファイアウォールで アプリごとの制限をかけたくても、 全部javaw.exeだからかけられないのがむかつく。
703 :
デフォルトの名無しさん :03/08/30 02:44
でもjavaでは「〜.exe」というのは作れないのでは?
> 普通、製品は『〜.exe』って言うので起動するじゃないですか。 それは Windows だけだろ。 exe じゃないと実行できないと思ってるアホは死んでくれ。
>>703 >>702 はJAVA以外の言語で「JAVAを実行するコマンドを動かすプログラム」を書いてそれをコンパイル汁と
言ってるだけだ。
まあJBuilder(SE以上)なら簡単に.exeファイル作ってくれる機能もついてる(実質上と同じことやってる)
706 :
デフォルトの名無しさん :03/08/30 02:50
windowsで売りたい場合を仮定してください
>>706 どうしてもJAVAで書きたいなら
>>705 みたいなことやるかJBuilderやVisual Studio .NETのJ#で開発しろ
まあそんなにWinアプリ作りたいならJava以外で書く方がベターだと思うが…。
708 :
デフォルトの名無しさん :03/08/30 02:55
>>699 ありがとうございました。1.4.2_01をインストールしなおし、\j2sdk1.4.2_01\bin を環境変数に追加し、再度して行ってみたのですが、
やはり
C:\java>javac ex1.java
'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
というエラーがでてしましました。
なにが原因でコンパイルできないのでしょうか?
>>708 だからそのメッセージはそもそもjavacにパスが通ってないんだって。
よーく環境変数の綴りをみてみろ。どっか間違ってるはずだから
710 :
デフォルトの名無しさん :03/08/30 03:00
.exeの件どうもです
>>708 binに環境変数追加したあと、コマンドプロンプトを閉じてもう一回試してみ。
それでも駄目なら再起動。
>>711 なるほど、cmdを再起動してないってのはありがちな罠だ(w
713 :
デフォルトの名無しさん :03/08/30 03:09
>>709 ありがとうございました。
やはりパスが違っていたようです。
ご迷惑かけました。
>>706 Windowsで売りたいなら何も遅いJavaなんか使わないでVCで作るさ。
Javaは最初の起動が遅いのと、実行時のGC以外は 計算速度は変わらないと聞いたけど。
716 :
デフォルトの名無しさん :03/08/30 03:35
超・初心者です。。 javaのファイル群を make release というコマンドで makeしようとしました。そしたら、 rmic XXX Exception in thread "main" java.lang.InternalError: Unexpected exeption while defining class XXX: java.lang.ClassNotFoundException: java.rmi.server.Unio astRemoteObject とでて、makeできないんです。 教えて下さる方、いたらぜひぜひ、よろしくお願いします。。。
717 :
デフォルトの名無しさん :03/08/30 03:44
>>716 補足です☆
多分、パッケージ java.rmi.server ? がないんだよ、
といわれているような気がするのですが、
具体的に何をどうすればいいのかよくわからなくて。。。
718 :
デフォルトの名無しさん :03/08/30 03:49
>>716 もうちょっと補足。。なんどもごめんなさい☆
java.rmi.server.UnicastRemoteObject が正確なクラス名です。
>>716 rmic の実行時に java.rmi.server.UnicastRemoteObject が見えていない。
rmic に適切なクラスパスを -classpath オプションで与えてやれ。
今の rmic は -classpath オプションが無視されるようだ。 CLASSPATH に %JAVA_HOME%\jre\lib\rt.jar を追加してやれ。
721 :
デフォルトの名無しさん :03/08/30 07:59
おはようございます。昨日勉強をし始めたばかりの超初心者です。 買ってきた本を見てもいろんなサイトを見てもどうしても分からないので教えていただきたいです。 HelloWorldのコンパイルのところで行き詰っています。 ヴァージョンは1.4.2_01で、環境変数はなんとかできたようなのですが(これってシステム環境変数のpathの 一番後ろに;C:\j2sdk1.4.2_01¥binと追加すればいいんですよね?)いざメモ帳で作ったプログラムを コンパイルさせようとすると C:\Documents and Settings\yuuji>javac HelloWorld.java エラー:HelloWorld.javaを読み込みません。 エラー1個 と表示されてしまいます。OSはXPで保存する際も名前はきちんとHelloWorld.javaにしました。 ディレクトリはMy Documentsです。もうどうしようもなく分からなくて困っています。 どうかご指導の方よろしくお願いします。
ファイル名が「HelloWorld.java.txt」になってる。 ファイルの保存で「"HelloWorld.java"」のように""で囲んでファイル名を指定する。 メモ帳なんか使うな馬鹿
>ディレクトリはMy Documentsです。もうどうしようもなく分からなくて困っています。 だったら cd "C:\Documents and Settings\yuuji\My Documents" で移動しろ馬鹿
>>723 っていうか CD 自体わからんかも・・・・
まあ、コレが解決しても今度はアノ質問が来るわけだが・・・・
その前に、本の書いてあるとおりやってるのか? 本すら我慢してじっくり読めない奴に、未来は無い
>環境変数はなんとかできたようなのですが(これってシステム環境変数のpathの >一番後ろに;C:\j2sdk1.4.2_01¥binと追加すればいいんですよね?) CLASSPATHっていう名前で新規作成してそこに追加しなきゃだめだろうが馬鹿
729 :
デフォルトの名無しさん :03/08/30 08:19
730 :
デフォルトの名無しさん :03/08/30 08:20
>>727 まあ、次の質問ではその回答でいけると思うが・・・
>環境変数はなんとかできたようなのですが(これってシステム環境変数のpathの >一番後ろに;C:\j2sdk1.4.2_01¥binと追加すればいいんですよね?) ゴメン間違えたよ・・・ JAVA_HOMEっていう名前で新規作成してそこに追加しなきゃだめだろうが馬鹿
だからあれほどCLASSPATHは設定するなと口を酸っぱくして(ry
733 :
デフォルトの名無しさん :03/08/30 08:23
under ext 最強!
734 :
デフォルトの名無しさん :03/08/30 08:27
本当に教えて君で申し訳ありません。ファイルは″全てのファイル″という形で保存しました。 ご指摘どおり C:\Documents and Settings\yuuji>cd\C:\Documents and Settings\yuuji\My Documents と打ち込んだところ、ファイル名、ディレクトリ名、の構文が違いますとの 文が出てしまいました。どうすればよいのか、よろしければお教えください。
CLASSPATH設定しないと Javaアプリが正常に動かないよ。 どこのライブラリ見ると思っているんだ?
な、cd コマンドすらわかっていない・・
おい、
>>734 その入門書のとおりにやってるのか?それとも細かいことまで書いてないのか?
>>735 言ってることはわかるが
環境変数に追加はしないで
実行時に設定すれってことだろ?
>>731 いや、SDKツールはJAVA_HOMEを参照しないよね。
ところで話は変わるが、pathにc:\j2sdk1.x.x\binを追加するときには
一番後ろじゃなくて一番前にしないと、起動されるjava.exeとjavac.exe
の場所が異なるようになってしまって複数バージョンのSDKをインストール
したときに混乱しそうだよね。
>>735 このスレの最初のほう見てみ。ここんとこ新スレ立つ度に
繰り返されてる議論だから。正解は-classpathオプション。
>>738 スイマセンねたのつもりで書いたんです (偽者727=731)
740 :
デフォルトの名無しさん :03/08/30 08:34
以下の行をタイプし、Enterキーを押下せよ。 cd "\C:\Documents and Settings\yuuji\My Documents" 次に dir とタイプし、表示されたファイル名が「.java」で終っているか確認せよ。 終っていない場合、ファイルの保存方法に問題がある。 メモ帳で「ファイル > 別名で保存」とメニューを辿り、ファイル名を「"」記号で囲んで "HelloWorld.java"として保存する。次にもう一度コンソール上で dir とタイプして、正しいファイル名で保存されたか確認する。そして javac HelloWorld.java を試し、このスレに結果を報告せよ。
こういう、ド素人弄りはJava1ヶ月の奴でも楽しめるので盛り上がるな
>>740 報告予想
『ありがとうございます。しかし新たな問題が(ry』
744 :
デフォルトの名無しさん :03/08/30 08:41
たくさんのご指摘ありがとうございます。 入門書は「ゼロからはじめるJAVA」という物です。このコンパイルのやり方が書いてあるのが 第一章なのですが、そこにはただ「なにかのエディタでプログラムを作り、それを適当なところに保存して そのディレクトリに移動してjavacを実行する」とだけ記述してあります。 すくなくともここではcdなどというコマンドは一切触れられてません。 とりあえず環境変数の時点で間違っているのですね。JAVA_HOMEという名前で新規作成とありましたが、 それはユーザー環境変数に作成して、そこに;C:\j2sdk1.4.2_01¥binとだけ追加すればいいのでしょうか?
745 :
デフォルトの名無しさん :03/08/30 08:42
>>740 さん
ありがとうございます。これから試してみます。
1.JDK1.4をインストール 2.Windowsなら環境変数PATHに;C:\j2sdk1.4.2_01¥binを追加。 3.●●.javaという名前でJavaソースファイルを作る 4.コマンドを開いて●●.javaの存在するディレクトリに移動する 例.cd\C:\Documents and Settings\yuuji\My Documents 5.コンパイルをする 例.javac ●●.java コレがダメならjavac -classpath . ●●.java 6.エラーがでなければ実行する 例.java ●●
>>746 ディレクトリ名にスペース入ってるから"で囲まないと。
>>747 それはjavaコマンドとかの-classpathオプションの時でしょ?
cd コマンドはかんけーない
げ、ほんとだ。ありがとう。
750 :
デフォルトの名無しさん :03/08/30 09:00
度々申し訳ありません。まず、環境変数ですが、PATHという変数はユーザ環境変数と システム環境変数のどちらに追加すればよいのでしょうか?本にはシステム環境変数へ と書いてありますが、他のホームページではユーザー環境変数と書かれているところもあり、 どうすればよいのかが解りません。
スイマセン Swingなどのテキストコンポーネントに書かれた文字を読み取りたいのですが JTextField textComp=new JTextField(); String text=textComp.getText(); で、得られたStringの中身はうにコードなんでしょうか? それとも、システムのデフォルト?
>>750 そのコンピュータを利用するユーザー全員が使うならシステム環境変数
あーただけが使うんならユーザー環境変数
自宅で一人で使っているようだったらどっちでもいいや
(共用のツール類でもない限りはユーザー環境変数かねぇ)
753 :
デフォルトの名無しさん :03/08/30 10:31
ご指摘ありがとうございます。ディレクトリに移動することはできました。 またこのようなことを聞いて申し訳ないのですが、システム環境変数にある ゛path゛とここでご指摘されている゛PATH゛とは別物なのでしょうか?参考図書には 「システム環境変数にある゛PATH゛に(インストール先のディレクトリ)\binと追加しろ」 と書かれていましたので。
>>751 String の中身は Unicode にきまっとるがな
char の塊だと思え
質問! EJBのローカルインタフェースで呼び出せる条件ってなに? 同じEARからじゃなきゃ呼べない?
おなじ、コンテナ上じゃないの?
同一JVM上で尚且つEJB2.0以上
>>732 ,737,738
>>720 にもあるが rmic は環境変数 CLASSPATH が設定されてないと動かない。
760 :
デフォルトの名無しさん :03/08/30 12:25
ようやく第一ステップを踏むことができました。これも皆さんのおかげです。 本当にありがとうございました。
>759 どの rmic だ? 俺の使ってる rmic (J2SDK 1.4.2) は CLASSPATHが設定されていなくても動くぞ。 >719, >720 -classpath は 入力ファイルを検索するパスを指定するオプションだ。
どうしても必要なら -bootclasspath で rt.jar のパスを指定しろ。
763 :
デフォルトの名無しさん :03/08/30 14:43
>>716 >>720 >>759 >>761 教えて頂いてありがとうございます。
CLASSPATHに追加したのですが、
やはり、
>>716 と同じエラーが出てしまいます。
ちなみに、今の私のCLASSPATHの変数値は、
C:\j2sdk1.4.1_05\lib\tools.jar;C:\j2sdk1.4.1_05\jre\lib\rt.jar;
となっています。
toos.jarとrt.jarファイルは、それぞれ、指定のホルダにあることを
確認済です。。。
なにか、指定の方法がちがってるのでしょうか???
ほんと、なんどもすみません。。。
764 :
デフォルトの名無しさん :03/08/30 14:52
よく、if文のなかに、if文を書くのは(ネスト)、できるだけやめたほうが いいと聞きます。テストが面倒臭くなるからだと。つまりテスト項目が増えると。 では、ネストしないで書くには、具体的にはどういうコーディングをしたら いいのでしょうか? たとえば、 if(a==1){ if(b==2)[ hoge(); } ] という文は、 if((a==1)&&(b==2)){ hoge(); ] という形にしたほうがいいということでしょうか? 他には、swhitch文を使うといったくらいしか思いつかないです。 このことを、何か具体例で教えてくださると嬉しいです。 お願いします!
条件自体が変わらなければどっちにせよパスの数は変わらないが。 つか、いまさら C0 や C1 をちまちまやってるところってあるのかね。
766 :
デフォルトの名無しさん :03/08/30 15:10
今日家のパソコンにLinuxを入れて、 JDKとTOMCAT入れたのですが、 ここからどうすればよいか分りません。 誰かサンプルコード作ってよ。 JSPでね♪
>>764 真正直にうけとめすぎ。条件文の数はどうやったって変わらない。
ネストの中が複雑になるといけないのであって、
if 中に書く処理を、
1) 関数化する
2) 定数で以降の処理を選択して switch →関数化した処理に繋ぐ
これでいいんじゃないか。
>>763 まずMakefileを確認して、rmicが実行される環境が
そのなかでどう設定されているか調べるのが先だろ。
769 :
デフォルトの名無しさん :03/08/30 15:16
インターネットからサンプルプログラムを見つけ、コピペして実行させてみたところ、以下のような警告が出てしまいました。
C:\java>javac -deprecation Animation11.java
Animation11.java:29: 警告: java.lang.Thread の stop() は推奨されません。
thread.stop(); // スレッドを止める
^
警告 1 個
うまく実行させるにはどうしたらよいでしょうか?ご教授していただけると幸いです。
http://lecture.ecc.u-tokyo.ac.jp/~cichiji/cp-02-10-5.html コピペいたサンプルプログラムのサイトは↑です。
警告だけだから動くと思うが、試してみた?
772 :
デフォルトの名無しさん :03/08/30 15:36
ArrayListとLinkedListについてですが、 i番目とi+1番目の2つの要素を入れ替える(例えば3番目と4番目)処理をするにあたって どちらを採用したほうが処理に向いていますか?
774 :
デフォルトの名無しさん :03/08/30 15:45
javaの勉強したいんだけど 何から作ったらいいですか?
>>763 Makefile の中で rmic に -bootclasspath を指定していないか?
777 :
デフォルトの名無しさん :03/08/30 15:50
数当てゲームだろうな。
778 :
デフォルトの名無しさん :03/08/30 15:50
>>774 >>777 は誰しも通る道。
数当て、じゃんけん、ぽーかーといって、
awt か swing で同じ事やって、○×、おせろ。
んで 7並べくらい作れれば、スタンドアロンな範囲では結構えらい。
>>774 Robocodeなんてどう?本も出てるし・・・
781 :
デフォルトの名無しさん :03/08/30 16:03
>>776 rmicはすごくシンプルな記述で、以下のようなものなんです。
XXXlmpl_Skel.class XXXlmpl_Stub.class: XXXlmpl.class
rmic XXXlmpl
ひょっとして、
XXXlmpl.classがあるホルダがCLASSPATHに指定
されていないと、うまくrmicが通らない、ということは
あるんでしょうか?
(今は、CLASSPATHにこのホルダが指定されてません)
時計をつくることにしました。 実用的でいいと思います。
>>774 いきなりスレッドかよ...まあ、止めはしないが...
無限ループかます予感...まあ、止めはしないが...
Javaの勉強をはじめようと書籍やWEBをあたってみたのですが あまりの資料の多さに面食らっています (今までマイナーな言語を触っていましたので) そこで相談なのですが定番といえる入門書やチュートリアルはないでしょうか もうJavaも世に出てから何年も経つので学習法もある程度は確立されていると思い 質問させていただきました よろしくお願いします
int i = 0; if(i == 0) { } ってな感じで初期化したいのですけど、数値で初期化はしたくないのです。 でも数値を指定せずに int i; if( i == 0) { } とは出来ないし…。誰かintは数値である、と言った感じに初期化出来る 方法を知らないですか?
>>788 つまり、
int iの変数iは数値であると宣言したいのです。
しかしif()にそのまま数値を代入せずに使うと
コンパイルエラーが起きるのです。
でもi = 0と宣言するとその後問題が起こるので
i = 0と宣言せずにif()で使える方法はないのかと。
>>787 iをnullみたいに初期化したいってこと?
>>789 i=0と宣言してもその後問題が起こらないように考えろよ。
booleanとかintとか変数追加するなりいろいろして。
792 :
デフォルトの名無しさん :03/08/30 18:54
漏れVBやってるんだけどそろそろ別のことがやりたくなった で、JAVAやろうと思うんだけど いきなりJAVAやるよりCから入っていった方がいいのでしょうか?
>>792 VBすらやってないに50カノッサ
Delphiから入るべし
794 :
デフォルトの名無しさん :03/08/30 18:59
>>792 いきなりJavaでOk。
#途中でSmalltalkに浮気すると、
#Javaでもスマートなコーディングができるようになるよ。おすすめ。
>>789 宣言とif分の間の「必ず」実行される場所で
なにか値を代入するようにしてやればコンパイルエラーはでない。
そのエラーは
一度も値が代入されていないのに参照(このばあいif文での条件判断)
するかもしれない(から結果が不定になる)のでまずいといっている。
それから次の言葉をプレゼント
「エラーが出たらそのエラーメッセージをよく読んで考えろ。」
>>792 VBは一応3年やってます
VBに慣れすぎでC系の書き方を覚えるのは苦労しそうです
>>787 また濃いのが来たな・・・
ちょっと聞くが、じゃぁその if の中身はどういうときに実行される/されないんだよ。
i に値を明示的にいれてないのに、その i を使った条件文を何故書く?
量子力学か?(←よく分かってないで言ってる)
798 :
デフォルトの名無しさん :03/08/30 19:56
>>798 買ってぱらぱらとはじめの方を読んでみてなおかつ
その質問がでてくるのか?
>>787 すまん、質問の意図が分からないんだけど、もしかして、
その i は、任意の型を代入することができて、
i が整数型なら、こうする。i が文字型ならこうする。
と、いうような意味づけでプログラムを書きたいということ?
801 :
デフォルトの名無しさん :03/08/30 20:03
>>787 グローバル変数は自動初期化されると思ったけど、Cだけだっけ?
803 :
デフォルトの名無しさん :03/08/30 20:08
>>799 すみません。一通り文法やり直してから、もうちょっと見てみます…
Variant 好きの予感…
806 :
デフォルトの名無しさん :03/08/30 20:46
Javaって重すぎ。
>>806 使う場所か使い方を間違っているヨカーン。
Java=重すぎだったら大規模Webサイトでは使えません。
Javaって可愛すぎ
810 :
デフォルトの名無しさん :03/08/30 21:14
インターネットでtext/JScript.Encodeでその後に暗号化みたいにされてるのですが、これをプログラムとしてみることは可能ですか?
>>808 ということはデスクトップアプリとして使われてないのは重いからか。
>>811 SWTがその先入観を覆す・・・・・かな?
AWTを勉強して。 Swingを勉強して。 また変わるのかよ。 今までの勉強が無駄になる。 効率が悪い。
814 :
デフォルトの名無しさん :03/08/30 21:49
ねぇねぇ。SWTってRADで開発できんの?
>>813 こんなこと言っている奴にエンジニアは向いてない。業界去れ。
>>817 開発効率の問題だよ。
RADの方が明らかに開発効率がいいの分からない?
Javaにプロパティないのなんでだろう
820 :
デフォルトの名無しさん :03/08/30 21:59
>>819 JavaScriptにはありますがなにか?
>>818 凝った事しようとすれば RAD 使おうが使うまいが開発効率関係ないけど。
>>822 なんで「凝った事」という条件をつけるかなぁ?
その条件に当てはまらない場合は開発効率は関係あると
言っているようなもんじゃん。
で、結局SWTを使う場合RADを利用することは出来ないと。 必死にRADを否定している所を見るとそうなのだろう。 ところでこの状況でRADできるよなんていわれたら、 RAD否定派の立場なくなっちゃうね。
JavaScript >>> (超えられない壁) >>> Java 本当のオブジェクト指向はJavaScriptだけ!!
827 :
デフォルトの名無しさん :03/08/30 22:06
>>821 JavaとJavaScriptは違います。
プロパティのないJavaはJavaScript以下です。
JBuilderにEcriplse並のリファクタリング機能がつけば無問題
>>826 たしかに、JavaScriptは関数もオブジェクトだもんな。
>>828 JBuilderはSWTをRADで開発することをサポートしてないよ。
832 :
デフォルトの名無しさん :03/08/30 22:09
RAD否定派は大ダメージを受けた(w
>>831 どれが( ・∀・)イイ?
オススメきぼん
どれも中途半端でオススメできない。
835 :
デフォルトの名無しさん :03/08/30 22:21
>>759 >>776 ありがとうございました!
いろいろやってみたら、ついに解決できました。
ファイルのホルダの階層構造が悪かったみたい。
教えていただいたこと、すごく、参考になりました。
初心者なのに親切にしてもらえて、うれしいです!!
質問します〜。回答お願いしまつね、、、。 まずですね、シューティングゲームで1コマを50msecで指定したんすよ。 そのあとにですね、 敵の機体のX座標が0以上の時に−1ずつして左に動くようにしたんすよ。 そして、0に来たら今度は敵の機体のX座標を+1ずつして右に動くようにして、画面の端にきたら折り返して、又は端にきたら折り返すってな感じにしたいんすよ。 そしてですね、その時に書いたソースが↓ if(enemy2_x>=0) { enemy2_x -= 1; } if(enemy2_x==0) { int j; for(j=1;j<Simple.SCREEN_W;j++) enemy2_x += 1; } enemy2っていうのが敵の機体でSimple.SCREEN_XってのはSimpleクラスで指定したスクリーンの最大値の事ね。 そいでこう書いて実行したんだけど、そしたら何か一番左端にきて折り返す予定の敵の機体が瞬時に一番右に来てしまうんすよ。 多分、if文とfor文で書いた部分が1コマで実行されてるからそうなるんだとおもうんだけど解決法ってのは無いですかね? どちらさまかご教授お願いします。
>>836 > for(j=1;j<Simple.SCREEN_W;j++)
> enemy2_x += 1;
> }
これって、このforループの中では画面の表示をしていないの?
だったら、そりゃ、一瞬で enemy2_x は 画面幅だけ増えることになると思うけど。
sage忘れてたすまそ
>>837 どういう事ですか?
詳しく教えてください〜
そもそも、どういうふうに作っているのかよく分からないから、確認したいけど、 836 に書いてある内容って、1コマ分の移動?
1コマ分の移動を計算しているのだと仮定して書くけど、 最初にある、 if(enemy2_x>=0) { enemy2_x -= 1; } これは、オッケーだよね。左端(座標ゼロ)に到達するまで、1コマについて1だけ 座標を減らす(左に移動する)。 たぶん836に書いてあるプログラムに続けて、画面を描くプログラムがあるんだと 思うけど、毎回、期待通りに左に動いていくでしょう。
そうですかあ、やっぱ1コマ分で考えちゃうんですねえ。
もうちょっと、1コマで動かすための設定方法とか調べたり考えたりしてきます〜。
>>837 どうもありがとうございます〜。
ってか生半端な自分がわけわからん質問してすみませんでした〜。
もっと、精進するよう頑張ります!
だけど、画面の左端に到達してしまったとき、 if(enemy2_x==0) { int j; for(j=1;j<Simple.SCREEN_W;j++) enemy2_x += 1; } を、実行したら、これって、結局 if(enemy2_x==0) { enemy2_x = enemy2_x + Simple.SCREEN_W - 1 ; } と、同じことになるじゃない。 enemy2_x はゼロだから、結局 enemy2_x = Simple.SCREEN_W - 1 だよね。 このコマで、いきなり右端に飛んでしまうのは、何の不思議もない。
>>841 おっとっと、書き込みが入れ違いになったね。
そういうこと。
プログラムは、プログラマの書いたとおりに動くのであって、
プログラマの望みどおりには動かない・・・
>>836 やりたいことは、ブロック崩しのボールの動きと似たようなものだろう。
フレーム描画の間も保持される変数 direction を用意しておいて、
あらかじめ direction = 1 としておく。
あとは、1フレーム分の描画時に、まず位置を更新する。
次に画面内にあるかをチェックして、画面の外に出たら、方向を反転して位置を調整する。
ememy2_x += direction;
if (enemy2_x < 0) {
direction = -direction;
ememy2_x = 0;
} else if (enemy2_x >= Simple.SCREEN_W) {
direction = -direction;
enemy2_x = Simple.SCREEN_W - 1;
}
とすればいいじゃん。
ememy って何だ>俺。 (´・ω・`)ショボーン
1コマに何ピクセル移動させたいのかハッキリ汁!!
map をイテレートするとき for (Iterator it = map.keySet().iterator(); it.hasNext();) { Object key = it.next(); Object value = map.get(key); ... } よりも for (Iterator it = map.entrySet().iterator(); it.hasNext();) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); Object value = entry.getValue(); ... } の方が速いみたいだが Map#get は案外重たい処理なんだろうか。
Map.get()っていうかHashMap.get()? とりあえずソース読んどけ、みたいな〜
>>847 前者はMapに対して走査と探索をしているが、
後者は走査のみだから。
>>849 それはわかっているが HashMap の探索は理論的には O(1) だというのに
O(1) の係数が思っていたよりも大きいなあと。
851 :
デフォルトの名無しさん :03/08/31 00:21
質問です。 IEみたいなリンクの下線を表示し、クリックで何かを開く。 みたいなことは1.3で出来るのでしょうか?
>>851 javax.swing.JEditorPaneでできるよ。
デモのSwingSet2参照(demo/jfc/SwingSet2/src/HtmlDemo.java)
とりあえずSDKに入ってるデモは一通り目を通しておくことをお勧めする。
853 :
デフォルトの名無しさん :03/08/31 00:37
>>852 重ね重ね申し訳ないのですが、ツールチップみたいなやつも可能なのでしょうか?
856 :
デフォルトの名無しさん :03/08/31 01:06
>>855 詳しくありがとうございます。
参考書にはSwingについてあまり詳しく載ってないので、Javaでは無理なのかと思ってました。
あとは自分で何とかします。
本当にありがとうございました。
分かりやすいjavaのサイトってないですか? 教えてください
858 :
デフォルトの名無しさん :03/08/31 01:09
TOMCAT4が起動できません ./startup.shを実行すると The JAVA_HOME environment variable is not defined This environment variable is needed to run this progra とエラーが出てしまいます。 setclasspath.shの if [ -z "$JAVA_HOME" ]; then echo "The JAVA_HOME environment variable is not defined" echo "This environment variable is needed to run this program" exit 1 fi で問題が出てるようなのですが JAVA_HOME=/usr/java/j2sdk1.4.1_04/bin/java CATALINA_HOME=/usr/local/tomcat/jakarta-tomcat-4.1.27 CLASSPATH=$CATALINA_HOME/common/lib/servlet.jar:$JAVA_HOME/lib:$CATALINA_HOME/li b に設定してあります。 他に起動するために必要な設定などはどこでしょうか。
>>858 JAVA_HOME=/usr/java/j2sdk1.4.1_04
としろ。
CLASSPATHは不要。
環境変数に設定しても無視される。
Tomcatは自分でclasspathを設定して動作する。
俺このスレで懸命に回答側に回ってるけど、 こと質問側に回るとカナーリ無視される。 1) 高度すぎる 2) 意味不明すぎる 3) やや高度かつ自明に過ぎるので何かのテストだと勘違い・敬遠されている さぁどれ。
JAVA_HOME=/usr/java/j2sdk1.4.1_04 に直してみましたが同じ所でエラーが出るようです。 CLASSPATHを消しても同じようです。 TOMCAT3を今試してみましたが問題なく起動できます。
4) いまいち面白みがない
5)人間的にうっとさがにじみ出てる
865 :
デフォルトの名無しさん :03/08/31 01:33
>>862 =858
JAVA_HOMEをexportしているか?
bashなら
export JAVA_HOME=/usr/java/j2sdk1.4.1_04
でOK。
ひさびさに相手にされたよ!!! スレ汚しスマン
パス関連の問題は何が悪かったのか明らかになった時 オナニーを母親に見られたような虚脱感に襲われる。
レスが遅れてスマソ
>>790 そのとーり
>>791 そいつぁー無理なのです
>>795 ズバッと来ますた。
>>797 いや、だから明示的にすると後々問題が起こるのです…。
>>800 近いですが、iは文字列ではとらえないです。
数値を0も含めて自由自在に操りたいと。
>>801 値を代入しないでも一応初期化されますが、if文を使う時は宣言が必要です
>>802 無理です
という訳で
>>795 さんのやり方を使わせて頂きます。
ありがとうございますた。
読み返してみたら
>>791 さんも同じ事を書いてました。スンマセン
>>867 比較できるってことは
おまえは見られたんだな
>>868 わけわからん。俺も根本的に同じ事書いてるっちゅーに。
>>850 JavaのHashMapは、シノニムをリンクリストで対処してるだよ。
シノニムが多量に発生する場合、線形検索に近くなってまう。
873 :
デフォルトの名無しさん :03/08/31 08:08
JBuilder9 personalで勉強をはじめたばかりの初心者です。 swingのテキストボックスで自動的に漢字入力モードにする方法ってありますか?
787はi=Integer.MAX_VALUEとかi=Integer.MIN_VALUEとかをどこかに入れれば悩まずに解決するような気がする
>>872 "同じハッシュ値を持つキー"のことをシノニムって言うんだ。へー。
っていうか、リンクを使おうが何を使おうが、
ハッシュ値が重なったら線形検索に近くなるのは当たり前だと思われ。
最小二乗法のアルゴリズムを作っているのですが…うまく動きません。 public class LeastSquare { static int prices[] = new int[120]; static int N = 60; private static Random random; public static void main(String args[]) { // 最小二乗法で求められた連立方程式を解く関数 // 返り値はax^2+bx+c=0のうちaとb int i; double ans[] = new double[3]; // 返す答の値 a,b,最小二乗の和 double a,b,c; double tmp1, tmp2; double alpha, beta, gamma; random = new Random(2); prices[0] = 2000; for( i=1; i<120; i++ ) prices[i] = prices[i-1] + random.nextInt(1000) - 500; // 汎用数α、β、γを求めておく alpha = sigmax(2)/sigmax(1); beta = sigmax(2)/N; gamma = ( sigmax(3) - alpha * sigmax(2) ) / ( sigmax(3) - beta * sigmax(1) );
// aを求める tmp1 = ( sigmay(3) - alpha*sigmay(2) ) - gamma * ( sigmay(3) - beta*sigmay(1) ); tmp2 = ( sigmax(4) - alpha*sigmax(3) ) - gamma * ( sigmax(4) - beta*sigmax(2) ); a = tmp1 / tmp2; // bを求める tmp1 = ( sigmay(3) - alpha*sigmay(2) ) - a * ( sigmax(4) - alpha*sigmax(3) ); tmp2 = sigmax(3) - alpha*sigmax(2); b = tmp1 / tmp2; // cを求める c = ( sigmay(1) - sigmax(2)*a - sigmax(1)*b ) / N; // 解を返す ans[0] = a; ans[1] = b; ans[2] = c; for( i=60; i<120; i++ ) System.out.print(prices[i]+" "); System.out.println(" "); System.out.println(ans[0]+","+ans[1]+","+ans[2]); }
// Σx〜を求める関数 public static double sigmax(int mode) { int i, ans = 0; for( i=0; i<N; i++ ) { switch(mode) { case 1: ans += i; break; case 2: ans += i*i; break; case 3: ans += i*i*i; break; case 4: ans += i*i*i*i; break; default: ans += i; break; } } return (double)ans; }
// Σx〜yを求める関数 public static double sigmay(int mode) { int i, ans = 0; for( i=0; i<N; i++ ) { switch(mode) { case 1: ans += prices[120-N+i]; break; case 2: ans += prices[120-N+i]*i; break; case 3: ans += prices[120-N+i]*i*i; break; default: ans += prices[120-N+i]; break; } } return (double)ans; } 実行は出来ますが、値がおかしくなってしまいます。 また、最小二乗を求める配列にはとりあえず乱数を入れています。 御教授願えませんでしょうか?
補足: おかしくなるのは解ですた ちなみに、sigmaxはxの引数乗のΣを、 sigmayはy*x^引数-1乗のΣを求める関数でつ。
…大変申し訳御座いません。 使っていたグラフソフトの方が間違っていたようです。 スレを汚してしまい申し訳御座いませんでした。m(_ _)m
882 :
デフォルトの名無しさん :03/08/31 12:23
ドキュソで悪いんですが、Mathクラスのsinメソッドはなぜ引数が一つなのでしょうか?
884 :
デフォルトの名無しさん :03/08/31 12:43
>>884 y/rだ。普通は・・・というかr=1として計算しなさい。
>>884 お前の数学はどこの星の数学だ?
三角関数(三角比)の引数は「角度}一つって
三角測量が発明された当初からきまっとる。
(単位は度だったりラジアンだったりするが)
>>887 三角関数は「角度」から適当な数(比率)を
得るものだろう。
一辺の実際の長さを計算するときに
「三角関数の結果」ともう一方の辺の長さを使うという
だけだ。
それからついでに言っとくと
三角関数の使い道は三角形の辺の長さの計算だけじゃない。
引数に「三角形の一辺の長さ」なんか取り入れたら
他のフーリエ展開とか
周波数関係その他の理論で使えなくなる。
Javaの話をしてください。
ジャバババーン!
>>890 わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
三角関数で意味不明なこという香具師とか、
>>890 =
>>891 みたいなほとんど知障みたいな香具師とか
夏だねえ(w
コンテキストの意味がさっぱりわかりません。 あるサイトでは「文脈」とだけありました。
895 :
デフォルトの名無しさん :03/08/31 15:48
>>892 こういうこと言う香具師に限って、夏房だったりするんだよな。。。
>>893 文脈とか環境とか、
例えばJSPだとServletContextのインスタンスを参照している変数の変数名は"application".
つまり、、、そういうこと
897 :
デフォルトの名無しさん :03/08/31 16:21
シューティングゲームを作りたいのですが グラフィックの表示には何を使えばいいですか?
あたま
899 :
デフォルトの名無しさん :03/08/31 16:31
きんたま
>>897 本屋さんに行けば、Javaでゲームを作るための本も、色々あると思うよ。
たぶん自分のウェブページで公開するんだろうから、アプレットの入門書でも
立ち読みするといいんじゃないかな。
System.out,print エスケープシーケンスに対応した端末で実行する。
902 :
デフォルトの名無しさん :03/08/31 16:54
Javaでエクスプローラのツリーできますか?
904 :
デフォルトの名無しさん :03/08/31 17:28
java-house.jp/mlがしんでます
905 :
デフォルトの名無しさん :03/08/31 17:31
>>904 一般の人がJavaを使うことは、ほとんど無くなりましたからねぇ。
>>900 売ってませんでした
電車賃かえせーヽ(´ー`)ノ
マジでどれ使えばいいのさ
入門書に載ってるやり方じゃチラついて
速度でなくてゲームにならね
907 :
デフォルトの名無しさん :03/08/31 17:39
servletでアクセスしてきたクライアントのディスクにあるファイルを 別の(クライアントのディクス内の)場所に コピーまたは移動することはできますか?
>>907 それは単なるアップローダーじゃないの?
(((((;゚д゚))))ガタガタブルブル
>>907 移動してしまうと、
クライアントのディスクのファイルは消してしまうわけ?
>>908 私の力不足でアップローダの定義があまりよくわからないのですが、
要するに
(サーブレットが実行される)Aというマシンにアクセスした
Bというマシンの任意の場所にファイルを置いてあげたいのです。
ファイルの置き場所はBから送られてくるパラメータで決める感じで。
>>910 移動すれば元あった場所からは消えてしまいますよね・・・。
そうするとやっぱむりですかね・・・?
javaってあまりそういうのはできないんでしたっけ?
912 :
デフォルトの名無しさん :03/08/31 18:34
>>911 そういうことを標準ではさせないところがJavaのいいところなんじゃないの?
たしか署名してクライアントから認証されたアプレットなら可能です。
>>912 そですよね。
うすうすそういう認識はしていたのですが、やはり標準では無理なんですよね。
ってことは、Aからデータを送って
Bから指示された場所にファイルを作成することも
普通はむりってことでしょうか・・・。
>>911 そういうのって、簡単だろ?
普通にブラウザにDLさせるようにすればOK
サーブレットのsetContentTypeでタイプ指定すればイイ
ただ、最初に場所指定っていうのは出来ない
ブラウザのDLダイアログで指定するしかないけど
915 :
デフォルトの名無しさん :03/08/31 19:12
>>906 うっせ!氏ね!
てか、Java勉強する前に日本語勉強しろ
>>911 > javaってあまりそういうのはできないんでしたっけ?
ええと・・・ Javaであるかどうかの問題じゃなくて、クライアントのディスクの中身を
消すことができるのは、クライアントの上で稼動しているプログラムなんだから、
サーバー上で動いているサーブレットでどうにかできる話ではないんじゃないかと・・・
それとも、私が質問の意味を誤読しているのかなぁ
OSのファイルコピー(or移動)コマンドを サーバーを介してやりたいということなのか? 何のためにそんなコトを・・・
>>917 プログラミングのやり方を一つ覚えると、全部それでやろうとする馬鹿
はいくらでもいますがな。うちの会社にも捨てるほどいるぞ。
>>875 二次ハッシュ、三次ハッシュする事だってあるさ。
>>911 Servlet(Java) だろうが、CGI(Perl,PHP,C++,...)だろうが、ASPだろうが、
サーバ側でクライアントのファイルをどうにかできるわけないじゃん。
そんなことができたら、悪意のあるサイトはやり放題だ。
>>906 とりあえずダブルバッファは試してみたか?
>>911 >>920 のいうとおり。
クライアントのファイル全部消せるブラクラだって作り放題じゃん。
>>922 数年前、そんな機能を要求されたなぁ。
しかも要求したのは素人じゃなくて某F通のSE(w
924 :
デフォルトの名無しさん :03/08/31 20:51
>>913 >ってことは、Aからデータを送って
>Bから指示された場所にファイルを作成することも
>普通はむりってことでしょうか・・・。
通常この場合、サーバ側にできることはデータを送るまでです。
受け取ったそれをどうするかはクライアントの仕事です。
ですから、ユーザがファイルを作る場所を指示する相手はクライアントであるBです。
#もし、Bのどこにファイルを作成するかをユーザーがAに指示してそれが行われるなら、
#Bはサーバになってしまいます。
Bから指示された場所とファイル名を無視して、 c:\windows に svshost.exe という名前で送り込み、 ついでに、別のファイルをc:\windows に win.ini という名前で送り込み…
ウルせーよおまえら 終わったことを蒸し返してんじゃねーよ
どうしても話を終わらせたいのですか?w
まあ、ココしか俺が語る場所がないって思ってるやつらが あとからあとからあふれ出てくるのは気持ち悪いですな
ちょっと質問です
さっき、ココを
>>907 が通りませんでしたか?
930 :
困った困った :03/08/31 21:36
すいませんEJBのスレ終わってる感じなんでこっちで教えて下さい。 ガベージコレクションがガンガン掛かって死にそうなんすけど、 パラメータのチューニングってのをやってなくて、 ちょっと教えて下さい。 JDKは1.3.1_09でWebLogic6.1 Solaris8 CPU4枚 MEM 8GB なんですが -server -Xms=3G -Xmx=3G -XX:MaxPermSize=128m で 上げてます。 で忙しくなるとFullGCが係りまくってお手上げなんです。 NewRatioとかSurvivorRaitioとかいじればよさそうなんですけど、 どんな風にいじればよいのでしょう。 よろしくお願いいたします。
933 :
困った困った :03/08/31 21:55
>931-932 うわーありがとうございます。 @ITまでは見たんですが、 見落としてました。 SUNのサイトには具体的にどのくらいが良いってのはなかったんです。 来週勝負するっす。
934 :
デフォルトの名無しさん :03/08/31 22:10
しょぼい質問なんですが。 1と0の数値データを格納しているテキストファイルから、一文字ずつ読み込み プログラム中のint型の変数に格納してるんですが、どうも文字コード値が格納されてるみたいです。 ReadFileクラスを使って読みこんでるんですが、どのようにすればいいのでしょうか?
936 :
デフォルトの名無しさん :03/08/31 22:25
その”一文字づつ”って何バイト? '0'と'1'がはいってるってことかな?
>>936 まさか、数値データはバイナリでしょう。
今時数値データがバイナリなわけないだろ。 XMLならテキストだぞ。
テキストはテキスト
940 :
デフォルトの名無しさん :03/08/31 22:56
あのーすみません j2re1.4.1_01をアンインストールしようとしたのですが アンインストールの処理が100%にまでいったのにプログラムが 消されていないのです。何度やってもだめです。 だからフォルダ消去しようとしたら使用中で消去できませんってでます。 再起動してもだめでした。どうしたら消せるのでしょうか? 何か手があったら教えてください
942 :
デフォルトの名無しさん :03/08/31 23:01
>>940 もう一回入れ直して、アンインストールしてみたら?
もう一回いれようとしてみたのですがすでにインストールされていて アンインストールしますか?ってでてアンインストールしてみるのですが やはりアンインストールされません。そしてインストールも進みません。 という状況です。これのせいで非常に困っていますTT
945 :
デフォルトの名無しさん :03/09/01 02:06
javahouseが見れないんだけど
946 :
デフォルトの名無しさん :03/09/01 03:30
String型に格納された文字列の先頭または何文字目からと指定して取り出して比較する方法はありますか?
949 :
デフォルトの名無しさん :03/09/01 09:35
Microsoft SDK for Java はもう手に入らないの?
>>948 substring charAt split
など
>>950 どうもー早速試してみましたが
char は間接参照っきませんとでたのでいったんStringに
先頭を取り出しましたところ、今度は互換性
のない型と言われてしまいました…
自己解決。失礼しました
953 :
デフォルトの名無しさん :03/09/01 11:27
JAVA初心者なんですが、今、参考書に沿ってネットワークの利用の部分 を勉強してます。 そこでサーバソケットを作成するという項目があるのですが、ここで 管理者権限を持ったユーザで実行しなければならないのですが、管理者 ユーザで実行してもcommand not foundとなり実行できません。 どうすれば良いのでしょう? ※一般ユーザでは問題なく実行できます。 ※OSはRED HAT LINUXを使用しています。LINUXの掲示板で聞いた方が 良いですかね? よろしくお願いします。
>>953 javaコマンドに実行権がないだけじゃないのか?
955 :
デフォルトの名無しさん :03/09/01 11:32
>>953 set | grep PATH
って打ってみ。
通っとらんでしょ。
>>951 何をしたいかイマイチわからんが例えば
int index = 10
String str = ほにゃらら
で、
char c = str.substring(index, index + 1).charAt(0);
とか。なんか最初から c = str.toCharArray()[index]; でもいいけど
あ、スマン
958 :
デフォルトの名無しさん :03/09/01 11:43
>>954 JAVAコマンドに実行権を与えるにはどうしたらよいですか?
>>955 通っとります。。と思われます。
すいませんがよろしくお願いします。
959 :
デフォルトの名無しさん :03/09/01 11:48
でも、おれもLinux使ってるけど
権限なんてインストールの時rpmコマンドの時rootになっただけで
後なんにも設定しなかったような気がするな
おい、
>>953 Socket使わない普通のプログラムはOKなのか?
てか、権限ぐらい知っとけよ
>>958 command not found なら通ってないと思われ。
which かけな。多分出ないから。
su なるとき su - したら?
>>958 .bash.profileって編集したのか?
963 :
デフォルトの名無しさん :03/09/01 12:22
>>960 普通のは問題ありません。
>権限ぐらい知っとけよ
申し訳ない。。
>>961 一般ユーザなら出ます。
rootではでぃません。
suなるときはいつもsu -ですよ。
>>962 しました。
皆さんご迷惑かけて申し訳ありません。
よろしくおねがいします。
ってことはそのJavaプログラムに問題があるわけだ ソースを細かく分割してどこでエラーになるのか検証しかない できれば、ココにソース貼ってくれれば解決は早いと思うが? 俺今Linuxだし・・・(Redhat9)
965 :
デフォルトの名無しさん :03/09/01 13:05
>>963 > rootではでぃません。
通っとらんじゃん。
suで、javaをフルパスで起動してみ。
966 :
デフォルトの名無しさん :03/09/01 13:11
ほんとすいません。。 サーバソケットを作成するソースです。 import java.lang.*; import java.net.*; import java.io.*; import java.security.*; public class MakeServerSocket{ public static void main(String args[]){ int port; int backlog; byte buf[] = new byte[256]; int len; String tempStr; ServerSocket aSocket = null; Socket aClient = null;
967 :
デフォルトの名無しさん :03/09/01 13:12
try{ System.out.println("ポート番号を入力してください"); len = System.in.read(buf); tempStr = new String(buf,0,len); tempStr = tempStr.trim(); port = Integer.parseInt(tempStr); System.out.println("バックログを入力してください"); len = System.in.read(buf); tempStr = new String(buf,0,len); tempStr = tempStr.trim(); backlog = Integer.parseInt(tempStr); aSocket = new ServerSocket(port, backlog); aSocket.setSoTimeout(0); System.out.println("Server started..."); aClient = aSocket.accept(); System.out.println("Client is Connected."); aSocket.close(); } catch(IOException ioErr){ System.out.println(ioErr.getLocalizedMessage()); } catch(SecurityException secErr){ System.out.println(secErr.getLocalizedMessage()); }}} よろぴこおねがいします
968 :
デフォルトの名無しさん :03/09/01 13:23
>>965 すいません。通っとらんでした。。
出来ました。。
皆さんほんとにすいません!!
親切に教えて頂いて本当にありがとうgざいました!!
また是非機会がありましたらよろしくおねがいします
はぐぁJavaハウスおっこちとるんか?それとも移転。 おまいら教えてください
970 :
デフォルトの名無しさん :03/09/01 13:37
>>969 Subject: [JavaHouse-Brewers:52533] ネットワーク工事に伴うサービス休止
Date: Tue, 26 Aug 2003 16:52:28 JST
From: "TAKAGI, Hiromitsu" <
[email protected] >
ネットワーク工事に伴い、java-house.jp のサービスのすべてを、
本日深夜から、最大で1週間、休止します。
サービス再開は予定より早まる可能性はあります。
また、再開後、IPアドレスが変わります。(ドメイン名は変わりません。)
高木 浩光@Java Houseお世話人
しつもーん。 なー、背景が透過するテキストエリアってできる? setOpaque(boolean isOpaque) っていうメソッドが JComponentにあるみたいだけど、うまくいかんの です。 やりたいことは、 1.フレームの真ん中に(Borderlayout.CENTER)にパネルAを置く 2.パネルAにイメージを描画 3.テキストエリアAをパネルの上に重ねる 4.テキストエリアAを透明にする 5.イメージの上にテキストが表示される(ウマー) 要はサウンドノベルつくりたいさ。 テキストエリアは自動で折り返してくれるから、折り返し地点算出 しながらdrawStringせんでもエエし というわけで助けて!おまいら
1.2+1.8を3.0じゃなくて3とかで表示するやり方おせーて
>>973 double answer;
int a = (int)answer;
Sys(ry
975 :
デフォルトの名無しさん :03/09/01 14:36
Red Hat Linux 9 にj2sdk1_4_2bin-linux.binをダウンロードしてインストールしようとしたら ビュウアーがないとの返事をいただきました。 Red Hat Linux 9 でJavaやってらっしゃる方どうすればインストールできますでしょうか?
>>975 ・・・・・何のことだかしばらく悩んじまったぞ。
bin ファイルは実行ファイルだから
> ./j2sdk1_4_2bin-linux.bin でインストールすればいいが
インストール時の実行権とか あとで実際使う時の実行権とか
ケースバイケースなので何か入門書か何か探して読めといいたい。
プロンプトは > でなくて % だな。頭死んでいる。
>>975 DLするページに
Linuxのインストール方法かいてあるよ
>>975 ビューアが無い?
おまえダブルクリックしてないか?
JavaのまえにLinux勉強しろ
>977 zshのプロンプトは標準では > だ。
>>975 その前に、そのbinファイルは実行権限設定してるのか?と小一時間nono
昔Redhat9にSunのJ2SDK1.4.2入れたら日本語が出なくて、 IBMのJ2SDK1.4.1ならバチーリ日本語が出た。 Sunのはフォントの設定が必要らしいがようワカラン。 Redhat8ならfonts.propertiesがあるんだが。
ハッカーの零牙ってしってますか?
>>983 システムで使えるフォントをxfontselコマンドで調べる
それにあわせてfonts.propertiesを書き換える
JAVA_FONTS環境変数にその有効なフォントが入っているパスを指定
setOpaqueの話ってついこのまえ出たばっか...
SwingにはAWTのCanvasに相当するJCanvasってものがないみたいなんですが どうすればいいんですか?
990 :
デフォルトの名無しさん :03/09/01 18:20
あ
だれか字刷れたてて
1000げとー
>>994 double answer;
int a = (int)ceil(answer);
Sys(ry
間違えた。
>>994 double answer;
int a = (int)Math.ceil(answer);
Sys(ry
>>973 3.0とかは3に
2.1とかはそのまま表示したいのか?
作るしかない。
ここらへんで書き込みがとまると気になるよね
・・・
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。