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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
☆★☆こんなメッセージが出たら >>2 へ☆★☆
『'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッ ファイルとして認識されていません。』
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』

>>2-3 初心者によくある質問と回答・他のFAQサイトへのリンク
>>4  JDKの配布元とAPIドキュメントへのリンク
>>5-6 過去スレの一覧
>>7-10 関連スレ
>>11 2ちゃんねる外のJavaサイト・無料の開発環境の配布場所
(諸般の事情でずれた場合は >>2-20 )

Google で検索 ⇒ http://www.google.co.jp/
JavaFAQ で探す ⇒ http://www.gimlay.org/~javafaq/javafaq.html
ご要望によりじゃばこサイト ⇒ http://www.javaco.org/
■JavaScriptの質問■はWeb製作板 ⇒ http://pc3.2ch.net/hp/
  または「JavaScript デス」スレへ⇒
http://pc2.2ch.net/test/read.cgi/tech/1052273054/

パソコンの基本操作に関しては、PC初心者板へどうぞ ⇒ http://pc.2ch.net/pcqa/

これからJavaのプログラムを始めたいかたは >>2-4
必要な情報やコンパイラのダウンロード先へのリンクがあります。

質問はageでおねがいします。また煽り厨は放置でお願いします。
※初心者なんでよろしくです。
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
Q. Javaのインストール方法、パスや環境変数の設定方法が分かりません。
A: Java(TM) 2 SDK インストールガイド
http://java.sun.com/j2se/1.4.1/ja/install.html
http://java.sun.com/j2se/1.4.1/ja/install-windows.html

Q: クラスの使い方が分かりません。
A: Java 2 プラットフォーム API 仕様
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

Q: SDKの仕様や、Javaの使い方、コマンドの使い方を教えて下さい。
A: Java(TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.4/ja/docs/ja/index.html

Q: Javaの言語仕様が知りたいです。
A: Java言語規定
http://www.y-adagio.com/public/standards/tr_javalang/index.htm
http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html

Q: 「僕以外の人も、同じ疑問を持ったはず」と思えるような質問があります。
A: Java House ML Topics / Java FAQ / Java Tips
http://java-house.jp/ml/topics/
http://www.gimlay.org/~javafaq/
http://www.javaworld.com/columns/jw-tips-index.shtml

このほかのFAQ(良くある質問とその回答)はこちら↓をご覧ください。
http://www.gimlay.org/~javafaq/javafaq.html
4デフォルトの名無しさん:03/08/15 12:34
5デフォルトの名無しさん:03/08/15 12:34
6デフォルトの名無しさん:03/08/15 12:52
【初心者・ネタ】Java質問・相談スレ【大歓迎】
01 http://pc.2ch.net/tech/kako/1021/10218/1021817147.html
02 http://pc.2ch.net/tech/kako/1023/10233/1023319551.html
03 http://pc.2ch.net/tech/kako/1024/10248/1024885660.html
04 http://pc3.2ch.net/tech/kako/1026/10266/1026601774.html
05 http://pc3.2ch.net/tech/kako/1028/10280/1028096225.html
06 http://pc3.2ch.net/tech/kako/1029/10297/1029774594.html
06+ http://pc3.2ch.net/tech/kako/1031/10313/1031397913.html
07 http://pc3.2ch.net/tech/kako/1032/10329/1032944182.html
08 http://pc3.2ch.net/tech/kako/1032/10329/1032944246.html
09 http://pc3.2ch.net/tech/kako/1034/10343/1034303501.html
10 http://pc3.2ch.net/tech/kako/1035/10355/1035570359.html
11 http://pc3.2ch.net/tech/kako/1036/10361/1036142056.html
12 http://pc3.2ch.net/tech/kako/1037/10374/1037407642.html
13 http://pc3.2ch.net/tech/kako/1038/10387/1038731106.html
14 http://pc3.2ch.net/tech/kako/1040/10401/1040150533.html
16 http://pc3.2ch.net/tech/kako/1042/10424/1042407622.html
16+ http://pc2.2ch.net/tech/kako/1043/10436/1043654161.html
18 http://pc2.2ch.net/tech/kako/1044/10449/1044983072.html
19 http://pc2.2ch.net/tech/kako/1046/10461/1046166884.html
20 http://pc2.2ch.net/tech/kako/1047/10475/1047544179.html
21 http://pc2.2ch.net/tech/kako/1048/10486/1048689029.html
22 http://pc2.2ch.net/test/read.cgi/tech/1049715659/l50
23 http://pc2.2ch.net/test/read.cgi/tech/1051284438/l50
24 http://pc2.2ch.net/test/read.cgi/tech/1052625006/l50
25 http://pc2.2ch.net/test/read.cgi/tech/1054041744/l50
26 http://pc2.2ch.net/test/read.cgi/tech/1055601178/l50
27 http://pc2.2ch.net/test/read.cgi/tech/1057249423/l50
7デフォルトの名無しさん:03/08/15 12:53
28 http://pc2.2ch.net/test/read.cgi/tech/1058408362/
29 http://pc2.2ch.net/test/read.cgi/tech/1059654451/

■■■ Java関連スレいろいろ ■■■ 
【IDE 統合開発環境】
【Java/C/他】統合開発環境Eclipse RC6
http://pc2.2ch.net/test/read.cgi/tech/1051840417/
えっ?JBuilder8が発売?
http://pc2.2ch.net/test/read.cgi/tech/1038042372/l50
【Meadow】Java開発環境(・∀・)イイ【JDEE】
http://pc2.2ch.net/test/read.cgi/tech/1017214967/l50
【統合】Java開発環境スレ
http://pc2.2ch.net/test/read.cgi/tech/1038118138/l50
【Java】NetBeans vs Eclipse【IDE】
http://pc2.2ch.net/test/read.cgi/tech/1029407008/l50

【携帯・モバイル】
携帯JAVAのスレッド
http://pc2.2ch.net/test/read.cgi/tech/1011977260/l50
iモード携帯電話用Java(iアプリ) Part 3
http://pc2.2ch.net/test/read.cgi/tech/1040898596/l50
iアプリでゲーム (ゲーム製作技術板)
http://pc2.2ch.net/test/read.cgi/gamedev/1005042631/l50
京セラJAVA搭載PDauPocketCosmo」 (モバイル板)
http://pc3.2ch.net/test/read.cgi/mobile/1021979970/l50
8デフォルトの名無しさん:03/08/15 12:53
【サーバサイドゃ;ンタープライズ】
EJB(初心メ鰹+})
http://pc2.2ch.net/test/read.cgi/tech/1017240849/l50
= ?Servlet/JSP(EJB萱洫 ソ貰々レ = ?(WebProg泊ァ
http://pc2.2ch.net/test/read.cgi/php/1023501812/l50
《The Jakarta Project》
http://pc2.2ch.net/test/read.cgi/tech/1019996589/l50
TOMCAT
http://pc2.2ch.net/test/read.cgi/tech/998525941/l50
Servlet/JSPv》レームワークり雁"Xレ
http://pc2.2ch.net/test/read.cgi/tech/1001950590/l50
EJBw.Iら!!逐?
http://pc2.2ch.net/test/read.cgi/tech/1036481443/l50
JavaサーブレットQ& LV2
http://pc.2ch.net/tech/kako/1012/10127/1012728608.html
サーバーサイドJAVAり梳 [ゆ雁"Xレ
http://pc.2ch.net/tech/kako/1004/10049/1004972840.html
9デフォルトの名無しさん:03/08/15 12:53
【サーバサイドやエンタープライズ】
EJB(初心者歓迎)
http://pc2.2ch.net/test/read.cgi/tech/1017240849/l50
■■ Servlet/JSP(EJB含む) 質問スレ ■■ (WebProg板)
http://pc2.2ch.net/test/read.cgi/php/1023501812/l50
《The Jakarta Project》
http://pc2.2ch.net/test/read.cgi/tech/1019996589/l50
TOMCAT
http://pc2.2ch.net/test/read.cgi/tech/998525941/l50
Servlet/JSPのフレームワークを語るスレ
http://pc2.2ch.net/test/read.cgi/tech/1001950590/l50
EJBは終わってる
http://pc2.2ch.net/test/read.cgi/tech/1036481443/l50
JavaサーブレットQ&A LV2
http://pc.2ch.net/tech/kako/1012/10127/1012728608.html
サーバーサイドJAVAをまたーり語るスレ
http://pc.2ch.net/tech/kako/1004/10049/1004972840.html
10デフォルトの名無しさん:03/08/15 12:54
【その他】
クライアントサイドJavaどうよ?
http://pc3.2ch.net/tech/kako/1002/10021/1002160815.html
クライアントサイドJavaどうよ? part2
http://pc2.2ch.net/tech/kako/1032/10326/1032665721.html
クライアントサイドJavaどうよ? part3
http://pc2.2ch.net/test/read.cgi/tech/1045891783/l50
ム板のみんなでRobocode (・∀・)ヤロ−ウヨ!1台目
http://pc3.2ch.net/tech/kako/1020/10201/1020161792.html
Java 高速GUI SWT
http://pc2.2ch.net/test/read.cgi/tech/1032448424/l50
【徹底討論】Java3Dの可能性について考える
http://pc2.2ch.net/test/read.cgi/tech/1033703640/l50
★お前らJavaはJNIで組もうぜ★
http://pc2.2ch.net/test/read.cgi/tech/1033795664/l50
Javaアプレットのゲームの限界は! (ゲーム製作技術板)
http://pc2.2ch.net/test/read.cgi/gamedev/1005230153/l50
【Java編】 学校の宿題は俺にやらせろ 【Java編】
http://pc2.2ch.net/test/read.cgi/tech/1040552821/l50
祝 JAVA Developer創刊
http://pc2.2ch.net/test/read.cgi/tech/1024967343/l50
11デフォルトの名無しさん:03/08/15 12:54
■■■ 他板のJavaスレッド ■■■
UNIXでJAVA (Unix板)
http://pc.2ch.net/test/read.cgi/unix/1011292632/l50
LinuxのJAVAチューニングスレ (Linux板)
http://pc.2ch.net/test/read.cgi/linux/1004594459/l50
◆◆◆◆◆◆MacでJava◆◆◆◆◆◆ (新Mac板)
http://pc.2ch.net/test/read.cgi/mac/991194610/l50

■■■ 撲滅させたいかた、死滅を心配してるかた ■■■
CとJavaを比較した場合Cの良いとこと悪いとこ
http://pc.2ch.net/tech/kako/1009/10097/1009707596.html
C#とJava、どっちをおぼえればいいの?
http://pc2.2ch.net/test/read.cgi/tech/1006715468/l50
Java撲滅委員会
http://pc.2ch.net/tech/kako/996/996848309.html
Java撲滅委員会
http://pc3.2ch.net/test/read.cgi/tech/996848309/l50
●●JAVAって死滅しちゃうの????●●
1 http://pc.2ch.net/tech/kako/1005/10051/1005159122.html
2 http://pc.2ch.net/tech/kako/1006/10060/1006053686.html
3 http://pc.2ch.net/tech/kako/1008/10081/1008162230.html
4 http://pc2.2ch.net/tech/kako/1042/10422/1042268758.html
5 http://pc2.2ch.net/tech/kako/1046/10465/1046539052.html
6 http://pc2.2ch.net/test/read.cgi/tech/1047748598/
12デフォルトの名無しさん:03/08/15 12:55
■■■ 民間サイト ■■■
巨大なJavaリンク集
Java的リンク
http://www.geocities.co.jp/SiliconValley/6064/java_link.html
What's New about Java(Java に関する最新ニュース)
http://www.gimlay.org/~andoh/java/javanew.html

■■■ 無料の統合開発環境 ■■■
【Eclipse R2】
http://www.eclipse.org/downloads/index.php
【Sun ONE Studio 4 (Forte 4)】
http://jp.sun.com/products/software/tools/jde/try/index.html
【NetBeans v3】
http://www.netbeans.jp/dowonload.htm
【JBuilder 7 Personal】
http://www.borland.co.jp/jbuilder/jb7/download/

※2chではないので暴れないように。
13デフォルトの名無しさん:03/08/15 12:56

いつもおまえらスレ立て人には、感謝してます
14デフォルトの名無しさん:03/08/15 12:56
いつもおまえらスレ立て人には、憤慨してます
死ね
151:03/08/15 12:56
続きやってくれた人ありがとうです。
16デフォルトの名無しさん:03/08/15 12:57
>>1、続きやった人
オツ
17デフォルトの名無しさん:03/08/15 12:57
だまれウンコ共
18デフォルトの名無しさん:03/08/15 12:58
っていうかよく見たらclassにpublicついてないじゃん。
氏ねよマジで。
>>1 乙
19デフォルトの名無しさん:03/08/15 12:58
いいかげんCLASSPATH環境変数を使うのは非推奨にしたらどうよ。
>>19 賛成。
http://pc2.2ch.net/test/read.cgi/tech/1059654451/31-47
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/classpath.html
クラスパスを変更するには、JVM やその他の SDK ツールを起動するときに
Java ツールの -classpath オプションを使用するか、または CLASSPATH
環境変数を使用します。 CLASSPATH 環境変数を設定するよりも、-classpath
オプションを使用することをお勧めします。アプリケーションごとに個別に
設定できるので、ほかのアプリケーションに影響を与えたり、ほかのアプリ
ケーションからこの値が変更されたりすることがないためです。
22デフォルトの名無しさん:03/08/15 14:24
と、せっかく>>1がよいスレ立てをしたのに
コイツ↓はお決まりのアノ質問をしやがります
exeにするにはどうやるんですか?
24ウンマンコ ◆Fu3PvkO9fs :03/08/15 14:39
           /  ̄ ̄ ̄ ̄ ̄\
          /           \
         /              ヽ  
   / ̄\ l      \,, ,,/       |
  ,┤    ト.|   (●)     (●)   | 拡張子を変える どや?!
 |  \_/  ヽ     \___/     |     
 |   __( ̄ |    \/     ノ    
 |    __)_ノ
 ヽ___) ノ  ビシッ
25愛川欽也:03/08/15 14:47
はい、つぎ
26山崎 渉:03/08/15 15:09
    (⌒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
>>36
嘲笑激藁
       / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    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 .'は入らない。なぜならカレントディレクトリはクラスパス
のデフォルト値だから。
5035:03/08/15 23:46
ここにあるソース
ttp://www.javaworld.com/javaworld/javatips/javatip97/javatip97.zip

で、DnDJTree.javaのコンストラクタに、setEditable(true);を加えて
ツリーを編集可能にしたいのですが、
実際にツリーのノードを編集したとき例外が発生します。
これはどうしてなんでしょうか。またどうすればいいんでしょうか
5149:03/08/15 23:49
入らない->要らない
>>49
俺の環境じゃ 『-classpath . 』 がないと
38と同じエラーメッセージが出て動かない。
しいて言うなら、お前の発言が要らない。

5349:03/08/15 23:59
>>52 38の環境がわからんからとりあえず-classpath .を使えというなら
わからんでもないが、動かんってのは教える側としてはまずいだろ。
System.getProperties().list(System.err);
で確認してごらん。あと、
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/findingclasses.html
 ・デフォルト値「.」。この場合、ユーザクラスファイルは、現在のディレクトリ内のすべてのクラスファイル (パッケージ内のクラスファイルなら、現在のディレクトリ以下にあるすべてのクラスファイル) である
 ・-cp または -classpath コマンド行オプションの値。この値は、デフォルト値と CLASSPATH 値の両方をオーバーライドする
もね。
5449:03/08/16 00:00
ああ、確認するプロパティはもちろん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に対して書けよと思ったよ。俺が解ってない見たいじゃんと思った。

>>56
だから、そんな説明いいって。知ってるよ
59デフォルトの名無しさん:03/08/16 00:23
本当にわかっている人はデフォルトの動作と矛盾がないよう
CLASSPATHにカレントディレクトリを入れるけどね。
蛇足だが、こういうややこしい話がないようテンプレではCLASSPATH
非推奨にしようって話が続いているんだけどなかなか...
>>57
おまい、いい奴
6150:03/08/16 00:32
助けて・・・・
いや、考えられる事象を考慮してウンマンコは要らない
むしろ可哀想な子
失せろゴミ
兄貴!!

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
>>63
for文のラベルだよ>tp:
6663:03/08/16 01:04
兄貴達サンクスです。
”ラベル”で検索したら出てきました。

また何かあったらお願いします。
>>60
おまい、、、インディアソ?
6850:03/08/16 01:11
役にたたねー香具師らばかりだな
これぐらい、わかんねーのかよ!
69デフォルトの名無しさん:03/08/16 01:17
>>68
ソースいじって例外出たのなら、どこをどういじって
どういう例外が出たかくらいは書こう。で、50だけ読んで
適当に書いてみるが、セルエディタはどうしたの?
71デフォルトの名無しさん:03/08/16 01:19
72デフォルトの名無しさん:03/08/16 01:21
73釣られてるのかw:03/08/16 01:22
50が言ったように
DnDJTree.javaのコンストラクタに、
setEditable(true);を加えて実行したが
漏れも例外出た
7450:03/08/16 01:23
釣られてんじゃねーよ
( ゚Д゚)バカ!!
75デフォルトの名無しさん:03/08/16 01:24
自作自演キタ━━━━(゚∀゚)━━━━!!
  
本当の50はもう寝たんだろうなw
Javaのクラスの実装(ソース)って、見れるのでしょうか?
w
J2SDKだとインストール時にソースもインストールするかどうか聞かれたろ
>>80
あれ?聞かれたかな?
ちょっとインストール先を確認してみます。なるほどそこを見ればいいわけですね。ありがとうございました。
>>81
src.jarってのが、ソースのZIP書庫ですよ。
>>82
最近は src.zip になってる。
8480:03/08/16 01:42
>>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
格安中古別荘販売!常時お薦め物件掲載中!
鈴蘭高原ハイエリア
東海ラジオグループ管理によるハイクラスのリゾート物件です。
温泉引湯権付き!
いつでも24時間蛇口をひねるだけで
約45℃の温泉が楽しめます。
詳しくは↓から
http://www.toukairizouto.co.jp/
9250:03/08/16 03:20
みなさま、ありがとうございます。
緊急処置では回復するものの、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);
を差し込むといいんじゃないですかね。
9493:03/08/16 05:29
あったまわり。
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さんの応急処置をすればエラーは出ませんが
オブジェクトは変わっちゃいますね。
表示と実際のオブジェクトを別に管理する設計にしてはどうですか?
9693:03/08/16 08:01
ああ、確かに私のだと違うインスタンスを返しているどころか、
名前と性別以外の情報も保存できていませんね。
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
>>98
現在いるディレクトリ
100デフォルトの名無しさん:03/08/16 11:56
ど素人ですみません。
じゃヴぁってなんですか?
>>100
風呂釜洗い
マウスの移動にあわせて線を描く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[] = の行を書き換えてみれよ。
105102:03/08/16 13:17
>>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 の値がずれちゃう。
10750:03/08/16 13:31
ツリー上で変更するんじゃなくて、
別途ダイアログ上で変更するべきかな・・・
今回は、名前の変更だけなので>96さんのでいきます。

みなさま、ありがとうございますた
108102:03/08/16 13:53
>>106
ありがとうございます。
そうか、MouseEventがもってる値ってxx[]とyy[]を別々に管理してるわけじゃないんですね。
だから、>>103さんも組っていってたのか。
>>103-104もありがとうございました。
>>108
MouseEventに限った話じゃないんだが・・・
>>108
単に>>106のような本来は3行のはずの処理を、
かっこよく(?)2行にしただけだよ。
本に載ってるとのことなので、行数節約のためにやってるんだと思われ。
>>102
騙されるな
112102:03/08/16 15:03
>>109
ええ!!??

>>110
ほんとですね。

>>111
何に!!??

まあ、Javaプログラマに関わらず
論点とは違うとこゴチャゴチャ言うやつって多いよな
ちょっとのことばの違いで
「いや本来●●は○○である」
みたいに言いやがる・・・特に「本来」とか「実際には」とかいう表現が好きだよな
俺なんか昔
『二の舞を踏む』って発言したら
「それは、『二の舞を●●●』っていうんだよ」
「ちなみに、『口をにごす』は本来は『●●をにごす』だよ」
「さらに、『腹が煮え繰り返る』は『●が煮え繰り返るだよ』」
とか、最初の指摘はいいのだが
余計なことプラスして言いやがって。
「お前それ言いたいだけちゃうんか?」と言う意味で、ウザ過ぎ。
このプログラム板にもいるよな、「そんなコト聞いてね―よ」的なおせっかいって
↑コピペ
↑釣!>>114
■■■■お前等!祭りですよ!!■■■■
〜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とこ
120U ◆CZtFsGiu0c :03/08/17 12:10
>>118
abstractクラスにするのは良いと思います。でもコンストラクタをprivateにするのは
意味がないでしょう。
>118
最近では、継承したがるのは素人という考え方が一般的。
CommonHogeに共通部分を括りだすのは実装上の都合だから、
集約で作るほうがよい。

集約で実現するにせよ、実装で実現するにせよ、
適切なパッケージ内で実装した上で、CommonHogeをパッケージプライベートに
するのがJava的だと思う。
122118:03/08/17 12:25
>>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依存だからな。
>>124
JDBCドライバ。
>>118=122
Hoge1, Hoge2 に共通のコンストラクタがあるなら
private 云々は関係なしにデフォルトコンストラクタは最初から書かなければよい。
128デフォルトの名無しさん:03/08/17 15:27
classをつなげたいんですけど、例えばShotクラスをつなげるには
Shot shot = new Shot();
とメインclassに書いてあげればよい?
129______:03/08/17 15:34
>>128
お前が死ねばよい
>>128
>classをつなげ
ここで証明されるのは、あなたのプログラマとしてのこれまでの歩みが間違っていたということです。
技術に関わること、特に質問文においては、自分語は絶対に使わないで下さい。
132デフォルトの名無しさん:03/08/17 16:53
本を見て、アプレットで魚が動く簡単なものができたので
友人に見てもらおうとDreamweaverでサイトに送ったのですが
Javaアプレットが動きません・・。
何故でしょうか。
133_:03/08/17 16:57
厨房的質問で申し訳ございません。 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();
これは成功してんのか?
146143:03/08/17 23:21
>>144
してます。が、初期化した場合もしない場合も同じ結果でした。

>>145
すみません、書き忘れていました。
DestroyJavaVMは0を返していますので、成功しているはずです。
147デフォルトの名無しさん:03/08/18 00:17
>>143
1プロセスからVM2回生成は出来ません。
第一、2個作る必要ないでしょ。スレッド2本準備すればいいだけ。
148143:03/08/18 07:13
>>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);

こんな感じで。
14930-32:03/08/18 17:58
>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"と表示されたんじゃないのか???
152150:03/08/18 18:33
ああー! そっか
>>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
プラグインってどういう仕組みよ?
質問する態度じゃねーな
次ぃ〜
161159:03/08/18 23:12
>>160
答えられないならいいよ。
別にお前だけに聞いてるわけじゃないし。
162デフォルトの名無しさん:03/08/18 23:15
>>159
実際、GIMPとかEclipseのコード見たこと無いのでわかんないけど
ポリモーフィズムの応用だと思うよ
164159:03/08/18 23:23
>>162-163
thx。
参考にするよ。
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の概念があまりピンと来ないので理解に苦しみます
166きゅうり:03/08/19 00:06
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個を予定です
>>177 AbstractFactory
>>177
FlyWeight
>>177 Singleton
ガベージコレクションが動くタイミングって
 周期
それとも
使用メモリが規定値を超えたら
どっち??

できれば、参考になるサイトがあれば教えていただけると助かります。

教えてエロイ人!
>>181
エロイ答え:精巣細胞の gc は俺的には(ry

ちゃんとした答え:VMの実装による
>>181
うる覚えだが、New世代のメモリがいっぱいになると通常のGC
Old世代もいっぱいになったら、フルGCだったと思う。
184181:03/08/19 16:09
185181:03/08/19 16:11
>>184
あう、みすった・・・・・

>>181 >>182
ありがとん! (・∀・)ノミ
186181:03/08/19 16:13
ミスしまくり・・・逝ってきます・・・・・


λ......
Javaのプログラムからブラウザを操作するにはどうしたら良いのでしょうか?
例えば、
ローカルにあるドキュメントをJavaのプログラムで加工してその結果をブラウザへ出力する
といったような場合です

よろしくご教授願います
>>187
ブラウザにもよるが、Runtime#exec() でも使っておけばいいんじゃない?
TMP なファイルに書き出すか、一旦保存させて、
コマンドラインのオプションでファイル名を指定。
189デフォルトの名無しさん:03/08/19 18:26
>>178
ありがと それで逝ってみます。
>>188
「Runtime#exec()」でググったところ
こんなのも出てきました
ttp://developer.apple.com/ja/qa/java/java12.html

これで試してみたいと思います
どうもありがとうございました
>>183
うる覚えであってるよ
193デフォルトの名無しさん:03/08/19 22:30
うろ覚えだろ。
>>192
あってるあってる。
サーバーサイド(っていうかEJB)の話ですが、
VO と DAO と DTO の違いって、何でしょう?
 
データ転送オブジェクト(DTO)?
http://www-6.ibm.com/jp/developerworks/java/030502/j_j-sdao.html
>DAOが操作するオブジェクトは通常値オブジェクト (value objects)と
>呼ばれますが、 しかし、データ転送オブジェクト (DTO) という用語の方が
>内容をよく表しています。

↑ならValueObject(VO)とDTOは同じもの。DAOは全然違う
>>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();

みたいなことをやっている
>>201
I/Oアドレスってナンデスカ?
>>208
aもbもcも同じ物を指してるんだから
a.deleteBlock()ってやったら全部消えるのは当たり前
>>209
デバイスの識別アドレス
>>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を教えてください。
216213:03/08/21 01:37

>>214
負けた・・・
>>215
まず、自分で思考すれ
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は別のクラスです。ハァ。
>>210
ごめんごめん、勘違いされそうな書き込みだった
>>208は単なる予想で、>>202とは別人だよ
224デフォルトの名無しさん:03/08/21 07:59
JAVAコンについて詳しく書いてある本
もしくは
HPって知ってますか?
225__:03/08/21 08:02
>>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
>>232>>234
ありがとう 多分これです
236232:03/08/21 20:19
>>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があるぞ。
>>238
ポリモフィズムを理解しとけ。
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がそれを許さないとか。
246243:03/08/22 10:13
>>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投げる仕様でも良かったんじゃないかと。
253243:03/08/22 11:38
レスいっぱいありがとう。原因わかりました。

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("どうにかしてよ"); }
}
以上
266256:03/08/22 21:27
>>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は自分というオブジェクト自身を表す
272270:03/08/22 22:01
自身って隠語ですか?
>>270
>親クラスにある関数がthisを引数に関数呼んでるんですけど
自分のクラスなのに「this」を引数にする必要はない(どこからでも参照できるので)
>>270
>>親クラスにある関数がthisを引数に関数呼んでるんですけど
>>親クラスが引数に渡っちゃってこまります。
ここら辺が意味不明だけど、そんな分けないはず。
親クラスがthis指定すると継承クラスのメソッドがcallされるはず。
275デフォルトの名無しさん:03/08/22 22:08
自作のメゾットでの処理結果(intなど)が、クラス内で反映されてません。
System.out.printlnも出てこないから、無いことになってる\\;
どうしてでしょうか
>>272
何が隠語?
あるオブジェクトの中でthisが指してるのは自分というオブジェクトであって、自分を作り出したクラスでは無い。
説明が足らんから良く分からんが、サブクラス側で継承すべきメソッドを継承してないとか
フィールドがオーバーライドされると勘違いしてるとか、そういう事じゃないか
>>275
同じ状況を再現できる最低限のコードを書いて貼れ
公開してかまわない短いコードならそのままでもいいけど
278本物の270:03/08/22 22:11
今、うまいサンプルがかけないのですが
継承したクラスをインスタンス化したものを
ある関数に渡すのですが、その関数は同じ関数名だけどクラスの型によって
呼ばれる関数が違うもので、呼ばれる関数が親クラスの関数が
呼ばれてしまいます。
その呼んでるのが親クラスでthisを渡しています。
わけ分からない説明ですみません。
279本物の270:03/08/22 22:15
class A{
hoge(this)
}

class B extends A{
}

で、
例えば

B b = new B();
test(b);

とやると
test(A a);

test(B b);
があると
test(A a);
が呼ばれてしまいます。
280275:03/08/22 22:19
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?");
}
>>278
分からねえ。何がしたいんだ?
>>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) って何?
285本物の270:03/08/22 22:30
class Bにもhoge(this)を書くことで一応動いたのですが
いまいち納得できません。
286本物の270:03/08/22 22:31
あっ!hogeじゃないか。
納得できたのか?
だめだ、こんなチャット状態じゃいつまでたっても・・・
初心者な上に教えるのも下手ではどうしようもない
289275:03/08/22 22:40
>>283
そうなんですか・・
290デフォルトの名無しさん:03/08/22 22:41
volatileていまだに使い方がわからん。
あとExternalizableも・・・
>>275
つうか、何やりたいの?まったく謎
paint内からte呼ぶのならわかるが・・・
292275:03/08/22 22:44
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) が呼ばれる。
301本物の270:03/08/22 23:03
>>298
class A は class B の存在を知らない。
これだ!!
なるほど、わかりました。ありがとうございました。
だからclassBをインスタンス化したものを渡しても
classAと判断されてしまうのですねー
すっきり爽快です。

比較的難易度の高い問題には、ぶら下がってこないですねみなさん
303一同:03/08/22 23:33

比較的難易度の高い問題は暗黙的に受け付けていません
>>301
たんにオーバーライドしてないだけでしょ?
>>304
すまん勘違いだった。これがいわいる動的なんたらですかね

>>302

まあ、>>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君は旅立つ
>>313 粘着だなあ。
316254:03/08/23 10:25
>>255
申し訳ないのですが、そのリンク先はbreakの説明であって、
scanの説明ではないようです。
break scanで処理を抜けるのは直感的に分かるのですが。。

様々なサイトで制御文の説明を探したのですが、
scanに関して解説しているサイトが見つからないのです。
317254:03/08/23 10:29
>>255
すいません、よーく見たら、少しだけ解説がありました。
ありがとうございました。
>>254
解説も何も, switch-case のときに書くやつとまったく同じ。
319デフォルトの名無しさん:03/08/23 16:07
スペースキーが押されたら背景の色を変えるにはどうしたらいいですか?
>>319
キーイベントのリスナをaddしろ。KeyListenerとかKeyAdapterとか。
321デフォルトの名無しさん:03/08/23 16:26
Frameにaddしたら起こられてしまいました
>>321
オイオイ。
323322:03/08/23 16:35
すまん。まちがえて書き込んでもた。
トップレベルコンポーネント「以外」に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でもそれらしいものが見当たらなかったので、
詳しい方教えてください!
325たなゆう:03/08/23 17:53
おまえらこんなところで閉じこもってないで
おれの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 使ってるかにもよるが、予想としてはかなり初歩的な部分だと思うぞ。
327324:03/08/23 18:17
>>326
説明不足スマソ

今はImageクラスは一切利用せずに、描画しようとするたびに

Graphics gp=panel.getGraphics();

みたいにグラフィックスオブジェクトを取ってきて

gp.drawRect…

みたいにちょこちょこ書いてたんだけど…。

確かにこれじゃオフスクリーン時のバッファは出来るわけないか(w。

なるほどcreateImageをつかってダブルバッファリングできるようにするのね。全然そういう発想が無かった。
試してみまつ。サンクスコ。
328324:03/08/23 22:27
あの後色々いじってみたのですが、結論としてはpaintメソッドをオーバーライドしさえすればよい
というだけの話でした(w
>>328
仕組みを勉強してないから、そうなる
330デフォルトの名無しさん:03/08/23 23:28
学習するのにMIDP(いわゆる携帯向けの開発)から入るのって無謀ですか?
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ  
    l:::::::::.                  |  
    |::::::::::   (●)     (●)   | おい、ゾクゾクするような問題出せよ!
   |:::::::::::::::::   \___/     |   
    ヽ:::::::::::::::::::.  \/     ノ 
     \           /    ♪
      /         ::::i \
     /  /       ::::|_/
     \/          ::|
        |        ::::|  キュム
        i     \ ::::/ キュム
        \     |::/
          |\_//
          \_/
332332 ◆I3tGz4xJ9E :03/08/24 00:10
>>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);

とかいう手はあるけどな。
344343:03/08/24 05:04
おっとケコーン。無視してくれ(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
で、>>332は逃げたのか?
>>350 全文検索するならgoogleが楽。ローカルで全文検索やりたいなら
Windowsだとインデックスサービスが最初から動いている
けど使ったことないのかなあ。
http://www.microsoft.com/windows2000/ja/server/help/default.asp?url=/windows2000/ja/server/help/sag_INDEXtopnode.htm?id=1192
Linuxでもnamazuがデフォルトで動いているやつあるよね。Vineとか。
あとEclipseだとAPIドキュメントを全文検索するプラグイン出てる。
355デフォルトの名無しさん:03/08/24 12:17
とある本で、利用頻度が高ければAPIドキュメントをダウソすれば?と書いてあったんですが、どこいけばダウソ出来るんですかね?
まさか、ブラウザから一個一個ダウソじゃないよね?
>>355
sun のサイト
その ま さ か
358デフォルトの名無しさん:03/08/24 12:21
>>356
詳しくお願いしまつ。
>>356
360356:03/08/24 12:27
sun のサイトから1ページ1ページだよ
>>355 あんた、J2SE SDKをどっからダウンロードしてきたんだ?
そこだよ、そこ。
362デフォルトの名無しさん:03/08/24 16:20
>>361
参考書のCD。
もういいよ帰って
つまんないから
364デフォルトの名無しさん:03/08/24 17:16
えっ!?ホントにSUNのAPIドキュメントをブラウザで一個一個ダウンロードなの?
アーカイブファイルがあるかと思ってたのに…。
あるに決まってるだろうが、ボケ。捜しもしないやつは死ねよ。
366デフォルトの名無しさん:03/08/24 17:23
はじめまして! ちょっと質問があってカキコさせてもらいにきました。
JavaのAPIでファイルをオープンする際、いきなり開けるんじゃなくて、
そのファイルが存在するかどうかを判断してからオープンする処理を書こうと思っているのですが、その場合、ファイルの存在の有無を調べるにはどういうメソッドを使えばいいでしょうか?
開けるファイルはテキストファイルです。

すいませんが、教えてください。
>>366
File#exists
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
376372:03/08/24 22:07
すみません、まだ初めてまもないのでわからないのですが。
もう少し詳しく教えてください
377デフォルトの名無しさん:03/08/24 22:20
>>376
何がどう分からないんだ?
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はわからないままだけどね・。・。
>>378
ナイスフォロー。
381デフォルトの名無しさん:03/08/24 22:29
>>378
×import java.applet.Applet;
○import java.applet.*;
だろ?
382372:03/08/24 22:34
>>378
AudioClip ac;のところで「クラスAudioClipが見つかりません」となるのですが。
383372:03/08/24 22:36
できました。
384デフォルトの名無しさん:03/08/24 22:36
>>382
>>381に書いてあるように書き換えれ。
385372:03/08/24 22:39
走ったのですが、midiが流れません。
どうすればいいのでしょうか?
ファイルに書きこむ際、末尾に追加するだけっていうのはどうすれば良いんでしょうか?

やはり一旦全部読みこみ、新しい文章を足して再度書きこむという方法しかないんでしょうか?
388372:03/08/24 23:19
midiファイルの置き場がjpxのところじゃなくてclassのとこと同じになってましたのが原因でした
389デフォルトの名無しさん:03/08/24 23:26
影文字を使いたいのですがどうすればよろしいでしょうか?
390386:03/08/24 23:43
できますた

サンクス
>>389
自分で描画するしかないな。
392デフォルトの名無しさん:03/08/25 00:22
>>391
それはずらして文字を重ねるということですか?
393デフォルトの名無しさん:03/08/25 01:32
画像を表示させてその上から文字をdrawStringで表示させたいのですが、普通にやると文字が画像の下に行ってしまい表示されません。
どのような方法があるでしょうか?
394332:03/08/25 02:20
>>353
逃げるもなにも、だれものってこないのでアホラシイとおもいました
いちおうあの時つくったけどね(検索ばーじょん)
>>392
そだな。
>>393
drawImageしてdrawStringしたら?
396393:03/08/25 11:14
>>395
はい、それでできました。

それともう一つ他に質問があるのですが、1回アップレットを止めてマウスでクリックやリターンするとまた動き出すようなものを作るにはどうすればいいんですか?
例えば、drawStringを3つ作って最初は1つ目だけ表示して止まり、何かアクションを起こすと2つ目の文字列が出るみたいにしたいのです。
その止め方を教えてください。
>>396
君は "Listener" について何も書いてないから、
おそらくまだ分からない事だらけだろう。
ポイントとしては、
インターフェース、MouseListener, repaint メソッド、if / else 、インスタンス変数。
このうち 1つ以上何のことだか分からなければ、まず本などで勉強。
全部何のことだか分かれば、頑張って組んで、ここにソース貼れ。滅茶苦茶でもいいから。
398デフォルトの名無しさん:03/08/25 14:06
>>394
漏れはお前みたいなやつ好きだぜ!
400デフォルトの名無しさん:03/08/25 14:41
業界最大級!!女性会員多数(サクラは一切いません)
☆全国に素晴らしい出会いがあります★

http://mfre.org/?140666
401393:03/08/25 15:14
>>397
わからないものもいくつかありました。
でも、勉強している時間がないのです。簡単な止め方を教えてもらえないでしょうか?
>>401
自分が忙しいから暇な奴に代わりにやってもらおうってことか?
たいがいにせぇよ。
403393:03/08/25 15:54
違います。そういう意味でなくて時間がないのです。
明日までにこの事を仕上げなければいけなくて最初から色々勉強している時間がないのです。

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);
   }
  }
 }
}

これで分かんなきゃどーしょもない
405393:03/08/25 16:09
いや、十分ヒントになりました。本当にありがとうございます、助かりました。
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はあなたの言う不変クラスです)
409408:03/08/25 18:30
スマソ間違えた
410デフォルトの名無しさん:03/08/25 19:01
すんまそ!!
servletのAPIのサイト誰か知りませんか?
>>406
じぶんで必要ないって結論言ってるじゃん。
413VC++使い:03/08/25 21:16
【Sun J2SE SDK 1.4.1】をインストールしていじってみた

30分で挫折した
なんかごちゃごちゃ機能つきすぎじゃないのかなぁ
>>413
いじってみるのには向いてないと思う。
>>413
Java 初めて?
javac.exe と java.exe 以外はしばらく使わなくていいよ
>>412
ハァ?日本語不自由は逝け
ごちゃごちゃ?コマンドラインオプション全部試したとかそんなんかな
418デフォルトの名無しさん:03/08/25 22:12
411さんありがとうございます。
サンクス

∧∧
(・∀・)
     ⊃
419VC++使い:03/08/25 22:41
>>414
なんで?
きもちいいよ
>>419
VC++のほうがきもちいいよ
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
>>427
なるほど〜
432429:03/08/25 23:20
あ、ご教授くださいの詳細
・Viewportの透明化は不可能なのですか?
 (DocのクラスJViewportでは「setOpaqueを使え」とのことですが)
・可能なら、どう記述すれば透明になりますか?
433デフォルトの名無しさん:03/08/25 23:24
>>427
フェードインもそれでできます?
>>429
どういう動作を期待してるのかわからんのだけど
setOpaque()の意味を誤解しているかと思われ?

俺も詳しくは無いんだけど、自分の理解では↓
Opaqueがtrueならそのコンポーネントの下(親)の描画は省略される。
Opaqueがfalseならそのコンポーネントの下(親)が描画されてからpaintComponent()が呼ばれる。
って感じかと
435429:03/08/26 00:11
最終的には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だっけ?
>>438
全てを思いっきり勘違いしとる。
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jni/index.html
http://java.sun.com/docs/books/tutorial/native1.1/index.html
とりあえずチュートリアルを一通り読んでみな。
444MS社員:03/08/26 00:42
Javaの時代は終わったよ。
悲しいけど。
>>429
こうなっちょるよ。

上(手前)から順に
JTextPane <- 透明
JScrollPaneのViewPort <- 透明
JScrollPane <- 不透明(灰色)
JAppletのcontentPane <- 黒い
>>438
ネイティブコードとは一体なんなのか、
それからなる「実行ファイル」とは正確には何をさす言葉(特に Win で)なのか、
それに対して VM とは何をしているのか、
これが分からなければ SWT, ひいては JNI を云々する資格は無い。
君には必要なキーワードとして何があるかをおさえる能力は十分にあるようだから、
それについてできる限り正確な情報を頭に叩き込む努力が必要だ。
Java/ネイティブアプリ双方の構築に対して君に向上心があるのなら、
まず CPU の仕組みについて勉強したらどうだろう? 面白いぞ。
予約語とキーワードって同じ意味と考えて大丈夫でしょうか?
448デフォルトの名無しさん:03/08/26 03:22
J2SE v 1.4.2_01リリースがリリースされました。

J2SE v 1.4.2_01 のダウンロード
http://java.sun.com/j2se/1.4.2/ja/download.html
449429:03/08/26 06:54
>>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
権限が無い
>>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
>>477
インストールしました
483デフォルトの名無しさん:03/08/26 17:06
インストールしたらIEで聞けるようになりました。
どうもありがとうございました。
484474:03/08/26 18:37
>>478 >480
解答ありがとうございました
javaでは無理なんですね(´・ω・`)

>>480
(´・ω・`) 以後気を付けます
Office のツールバーみたいに、FlowLayout を使っている時などで、
「狭いから表示し切れなかったけどまだ続きのコンポーネントがあるよ♪」
と表示してくれるような Container はありますか?
>>484
ローカに立ってなさい
>>480の冒頭は他言語から移ってきた香具師は必ず読んで欲しいものだ。
Windowsで、新しいウィンドウ開いたときにタスクバーから非表示にするにはどうしたらいいの?
489 :03/08/26 22:29
>>488
Java でそういうことをやりたいときには、
必ず「どんな OS でもサポートされてる事だろうか?」と考えること。
Soralis (X Window) では? Linux (同) では? Mac では?
「Window を閉じる」「表示位置を変える」という常識的な機能とはちょとレベルが違う。
思いつく限りの OS ではサポートされているだろうが、保証はない。
ということは、Java ではできないかもしれない、と考えられる。

>どうしたらいいの?
というスタンスでなく、API 嘗め回した上で、「Java では可能ですか」と聞くようになってほしい。
>>488はネタだな
>>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使うより楽ができる。
493492:03/08/26 23:13
「ひょっとしたら他の環境でも…」と思って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
一連の流れを話しますと。
まず、最初は画像の切り替えなどはちゃんとできていて音がでなかったのですよ。
で、ここのスレで音を出す方法を聞いたらttp://java.sun.com/getjava/ja/でインストールしてみてと言われたのでしました
そうすると、音は出るようになったのですが今度は画像がちゃんと表示されなくなったというわけです。
>>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%) ... 完了。

-------------------------------------
>>521
全然問題ないぞ、おれのPCでは。
524デフォルトの名無しさん:03/08/27 15:19
そうですか。では、僕のPCがいかれてるんですね。
525デフォルトの名無しさん:03/08/27 15:20
ちなみに、音はでましたか?
>>521
1.4.2を使ってるんだけど、件のページ見ても灰色で画像なんて表示されないよ。
natu.paint()でjava.awt.Graphics#drawImage()呼んでるときにSecurityException起きてる。
527526:03/08/27 15:23
わわわ、クリックしたらビックリした。ちなみに音は出てます。
音も画像も問題なし
画面切り替えの時、クリックしないと次の画面に行かない時が何度か歩けど
あれは別にかんけーないよね?
529デフォルトの名無しさん:03/08/27 15:25
そうです、クリックして次の画面に行くという方法なのです。
皆様ちゃんと動いてますか。
それでは、やはり僕のPCが原因ということですね。
画面遷移が挙動不審な時がある
おれはこういう風に、音と画像を扱ったアプレットなんて作ったこと無いけど
スレッドとか使う必要ってないのか?それとも既に使ってるか?
確かに表示が乱れる。
clipBounds か何か使ってないか?
532デフォルトの名無しさん:03/08/27 15:33
まあ、少し不審なところがあっても僕にとっては成功です。
まだプログラム関係は始めたばかりですから。

でも、何故僕のPCだけいかれてるんだろうか・・・・。
音出ない・・・
たぶん、
推奨されないやり方
あるいは、動作が保証できないようなやり方やってんじゃないのかな?
つーか、あそこまで一気に作らないで
少しずつ動作確認しながら作ればいいのに・・・
そうしないと、何が原因かわからなくなっちまうよ
僕は知識がなく答えられないのでメアドにソースを載せておきました。
おい、画面代わるのにちらつき気にする必要ないべ
public void update(Graphics g) {
paint(g);
}
を、外してみろ
音は出るが、画像が出ない。
>>537 最初、灰色の画面でクリックしたのか?
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
>>540
ごめんなさい。やり方がわかりません。
544537:03/08/27 15:51
>>538 してなかったし(w。音も画像も問題なかったよ!
>>539
ちらつきっていうか、背景再描画するかどうか
重なって汚くなるのはこのためじゃないの?
ふつう、update使うときって再描画部分を指定してそれ以外の背景はそのままにする
546デフォルトの名無しさん:03/08/27 15:54
>>541
僕の中では画面を変える時の半分黒にする時に「間」をあけるための方法としてやろうと思いました。
547デフォルトの名無しさん:03/08/27 16:01
なるへそ!
でも、ThreadはTreadを継承するかRunnableを実装してrun()をオーバーライド
して使います。もしくはただ単に時を止めたいならThread.sleep();で止まります。
これはThreaがjava.langでありなおかつ、Sleep()がstaticメソッドであるからです。
あとブロックを単位として字下げをしましょう。

以下は私が、大昔に作ったやつです。少しはスマートで読みやすいでしょう。
http://www.ne.jp/asahi/tukuba/taro/javaa.html/D16/Dg.java
548デフォルトの名無しさん:03/08/27 16:15
まあ、とりあえず皆様はプレイに支障がない程度にプレイができたようですね。
549デフォルトの名無しさん:03/08/27 16:36
ちょっと皆さんの力をお借りしたいので質問させてもらいます。
java.util.regex.* の機能を使って、URL・メアド・郵便番号などの入力値を
正規表現でチェックするサーブレットプログラムを作っていたのですが、レンタ
ルサーバーのJavaのヴァージョンが1.3だったようで、どうやらこの正規表現は
使えないようなのです。
何か他の方法で入力値チェックをする方法はないでしょうか?
まぁ、よくがんばったよ。Thread 関係で勘違いも多いけど。
いいんじゃないか? 気にするな。表示が乱れるくらい。

それより、延々と switch/case 書かなきゃいけなくて、しんどかろ?
背景ごとに変数作るのも。行ごとに個別に座標計算するのも。
こういうのって、あとでシナリオ少し変えるとき大変だろ?

プログラミング技術の上達には、その辺の整理整頓の方が大切だぞ。
Java や C++ ってのは、そこがうまくいくように出来てる。
この作品を題材に、クラスを自分で設計する勉強を始めてごらん。
表示が乱れるとかの追求は、そのあとでいいと思う。
>>549
これ使えば?
http://jakarta.apache.org/regexp/index.html

でなければ、チェックロジックを書く。
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が使えるとは具体的にはどういった感じでしょうか?
>>554
使い方もレンタルサーバーで使えるかどうかは自分で調べろ。
これくらい自力でできないと、javaは大変だぞ。
ちなみにこんなものもあるぞ。
http://jakarta.apache.org/commons/validator/index.html

あと553は何を言いたいか俺もよく分からないが、俺なりに解釈すると、

>servletは忘れたけどJSPはJDBCのSQL使えるよ。
これの意味はよくわからん。

>SQL使った方が簡単だし、後々わかりやすいんじゃない。
SQLで正規表現を使えるものがあるので、それでチェックしろということだと思う。
レンタルサーバならJavaのバージョン同様DBサーバも限定されるので、
SQLで正規表現を使えるDBサーバがあったとしても(あるのか?)
使えるかどうかは分からないだろうに。
つうか、正規表現のためだけにDBサーバ使うのって無駄じゃない?
553は何かの勘違いでしょ。

jakarta-regexpよりjakarta-OROの方が流行ってる印象があるなぁ。
いや、どっちでもいいけど。以下おまけ。
http://www.jajakarta.org/oro/
http://www.jajakarta.org/regexp/
>>556
確かにDBに蓄積しないなら無駄だわな。
レンタルサーバーで何使っているか調べるのは基本なので、
分からないだろうにと言われてもなぁ。

あと正規表現はMySQLとかなら使えるぞ。
>>553
混乱を招くから、いい加減な知識の者が答えない方が良いぞ。

>servletは忘れたけどJSPはJDBCのSQL使えるよ。
JSPは、結局のところ、Servletだよ。
レスどうもです。
レンタルサーバーですが、「public_html/WEB-INF/」以下にしかクラスファイルは
アップできませんし、新たにCLASSPATHを設定する事もできないので、多分ライブラリー
を追加したりする事はできないです。
MySQLで正規表現が使えるというアドバイスがありましたのでそちらの線で調べてみます。
いちおう使ってるサーバーではMySQL3.23が使えるようですので。
それでも無理ならやっぱ自分でロジック書くしかないんですかね…。鬱……。
>>559
>レンタルサーバーですが、「public_html/WEB-INF/」以下にしかクラスファイルは
>アップできませんし

つまり使えるということだと思うが。

あと、
>MySQLで正規表現が使えるというアドバイスがありましたのでそちらの線で調べてみます。

ここみてみると良い。使えるから。
http://ml.database.ne.jp/mysql/Manual/mysql-3.21.31/manual_Regexp.html

ただし、2byte文字に対応していないから、利用範囲が限られる。
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でしか確認できていませんが、それで解決しそうです。
マジで助かりました。皆さんありがとうございます。
>>563
Visual Jはもう終わったIDEだし
J BuilderもシェアをEclipseに奪われました。

今からJava IDEを覚えるならEclipseでしょう。
読者調査結果でEclipse一人勝ちを納得したら、
Eclipse Wikiを読んで使い始めましょう。
最新情報はEclipseスレでどうぞ。

読者調査結果 - Eclipseが加速する、Java開発オープンソース化の実態とは?
http://www.atmarkit.co.jp/fjava/survey/survey0306/java0303.html
Eclipse Wiki
http://w3.cube-web.net/eclipse/
【Java/C/他】統合開発環境Eclipse M8
http://pc2.2ch.net/test/read.cgi/tech/1060216781/
568429:03/08/27 22:23
>>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.ない
577429:03/08/28 00:21
>>569
ありがとうございます。が、だめでした。。
Colorのアルファ値設定と同じく、スクロールさせたりテキストを選択状態にしたりすると表示がぐちゃぐちゃに。。
GUIエディタないんじゃ秀丸でいいじゃん
579デフォルトの名無しさん:03/08/28 00:23
>>578
そうだな
無理すんな、辞めとけ
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をダウンロードしました。
インストールも終わりましたが、使い方が全く解りません。
エディット画面はなんとなくわかるのですが、コンパイルはどうやってすればいいのですか?
>>604
なんか教科書は買わないのか?
サンマイクロソフト
サンマイクロソフト
サンマイクロソフト
サンマイクロソフト
サンマイクロソフト
サンマイクロソフト
図書館でJAVAの絵本とか言うのを借りてきました。
あまり細かいところまではかいてないです。
CUIでのプログラミングの基本しかない。コンパイルのやりかたさえ書いてないんです。
もっとよく見て本を選べばよかった。
>>604はNetBeans IDEをインストールしたヨカーン
あ、サンマイクロシステムズでしたね。
すみませんまちがえました。
が、初心者相手に煽るなよ。
>>610
ありがとう。
少し慣れたらGUIもがんばってみます。
>>607
ttp://www.atmarkit.co.jp/fjava/
いまから始めるJava
基礎から学ぶサーブレット/JSP
>>607
本当に本当に初心者ならこれがいいかもしんない。めちゃくちゃ分かりやすいよ。
「Javaを独習する前に読む本」
http://www.amazon.co.jp/exec/obidos/ASIN/4756142524/
みなさん親切にありがとうございます。
俺はまだ言語お試し期間なんです。
とりあえず聞いたことのあるjavaからって感じです。
使いやすい言語を模索している最中です。
でも、環境変数をちゃんとセットしたのにjavacコマンドがはじかれてしまいます。
java、向いてないのかな?
>>614
bat でも書いて、フルパスで実行してもいいさ。
どうせ人に配布するときに、 bat 書く必要出るかもしれないし。
度々すみません。フルパスでjavacでコンパイルは始まったのですが、
手始めにhello worldを表示させるプログラム(基本ですかね。)をコンパイル成功したのですが、
実行すると
Exception in thread "main" java.lang.NoClassDefFoundError: c:\java\print/java
と出ます。なんなんですか?
>>616
((((((;゚Д゚))))))ガクガクブルブル
>>613
著者さんご苦労様です
>>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宛てでした。スマソ
634631:03/08/28 19:14
>>632
ダメか・・
そしたら、そのスレッドクラスのコンストラクタで渡せないのか?
635631:03/08/28 19:17
よくかんがえたらprivateだった
それかえれば>>631でいけると思うが?
636631:03/08/28 19:27
>>633
いや、今確認した
>>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()使ってないからといって
648639:03/08/28 23:56
>>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 使う奴はいつもこういうクズばっかりなんだよ
素直にアプリケーションからやれよーーー
659648:03/08/29 00:28
>>658
ありがとうございました。

gerWrite メソッドの中ですでに
インスタンスを生成していたんですね。

たいへんわかりやすい説明でした。
どうもです。
今世界陸上を見てて思ったんだが、こういうシステムって何の言語が使われているんだ?
Javaでもできるのかな?
>>659は多分わかってないと思うよ
スエツグ200m決勝進出!!!

思わずテレビの前でガッツポーズしてしまいました。
663デフォルトの名無しさん:03/08/29 05:14
JARについての質問なんですが、
JARファイルをダブルクリックしただけで、実行されるやつがありますが、あれはどうやるんでしょうか?
非常に気になります。
>>663
Windows であれば単に関連付けされてるだけでは?
Sun の JRE 入れれば勝手に設定されると思ったが。
665age:03/08/29 06:19
JARって、解凍不可能にすることはできないの?
>>663
マニフェストファイルMANIFEST.MFを作って、そこでmainのあるクラスを指定する。
こんな感じ。
Main-Class: foo.bar.Buz
くわしくはこちらを。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/guide/jar/index.html
>>665
破損ファイルにでもすれば?アホ。
668デフォルトの名無しさん:03/08/29 08:32
すみません、質問です。

Stringから特定の文字列を抜く、最も簡単な方法は何ですか?

例:「abcabc」→bを抜いて「acac」

bを他の文字に変換するのはString.replace(char, char)使えば出来ますが、
抜くとなるとどうすればいいのか分からなかったので。

よろしこおながいしまつ。
669デフォルトの名無しさん:03/08/29 08:38
>>664 >>666

参考になりました。
ありがとうございました。
>>668
自己レス。
JDK1.4以降で、String.replaceAll(String, String)というメソッドが
利用可能みたいでつ。これを使えば、

"abcabc".replaceAll("b", "");

でうまくいきそうでつ。
わははは!
さすが漏れ!
(・弟・)<>>670って頭悪そうだよねお兄ちゃん。
(・兄・)<悪そうじゃなくて、悪いんだ。弟よ。
(・弟・)<さすがお兄ちゃん。
(・兄・)<>>670みたいにはなるなよ。弟よ。
質問ですがjavaで『〜.exe』ってやつを作れるのでしょうか?

>>672
ttp://www.xlsoft.com/jp/products/jet/

使ったこと無いから使えるもんかどうか知らんけど
普通『〜.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段目くらいだけど
すいません質問です。
https://www.stackasterisk.jp/tech/java/mvc_sample01_01.jsp
このページの【 ItemSetDAO.java 】のところで、
アイテムのオブジェクトをその都度生成していますが、

DBからデータを引っ張り出す場合は(これから格納する)アイテムの数が
事前にわからないわけですが、そのときのオブジェクト名はどうするのでしょう?
内部で
i1 = new ・・・・



i10000 = new ・・・
とやるわけにもいきません。

オブジェクト名を動的に生成するような方法があるのでしょうか?
>>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行目にあるのですが、コメントになってしまっており無効となっています)。


これを有効にするにはどうしたらいいんでしょうか?コメントをはずせばいいんですが。
そのやりかたがわかりません。ご教授お願いします。

>>687
ArrayList a = new ArrayList();

while(ほにゃらら){
xxx = ほげほげ;
a.add(xxx);
}

詳しくは下記参照。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/ArrayList.html
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だ。
>>698
>2
ここのログ見て思ったのですが、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に環境変数追加したあと、コマンドプロンプトを閉じてもう一回試してみ。
それでも駄目なら再起動。
712709:03/08/30 03:07
>>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 自体わからんかも・・・・
まあ、コレが解決しても今度はアノ質問が来るわけだが・・・・
>>722-723
おまいら優しいな……
その前に、本の書いてあるとおりやってるのか?
本すら我慢してじっくり読めない奴に、未来は無い
>環境変数はなんとかできたようなのですが(これってシステム環境変数のpathの
>一番後ろに;C:\j2sdk1.4.2_01¥binと追加すればいいんですよね?)
CLASSPATHっていう名前で新規作成してそこに追加しなきゃだめだろうが馬鹿
>>727
……アホ発見!
729デフォルトの名無しさん:03/08/30 08:19
>>727
おまえ馬鹿?
それとコレとは話が違う
730デフォルトの名無しさん:03/08/30 08:20
>>727
まあ、次の質問ではその回答でいけると思うが・・・
731727:03/08/30 08:21
>環境変数はなんとかできたようなのですが(これってシステム環境変数の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
を試し、このスレに結果を報告せよ。
照れるなよ。>>739
こういう、ド素人弄りは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 コマンドはかんけーない
749747:03/08/30 08:57
げ、ほんとだ。ありがとう。
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 の塊だと思え
>>753
同じ
質問!

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 は 入力ファイルを検索するパスを指定するオプションだ。
762761:03/08/30 12:50
どうしても必要なら -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
コピペいたサンプルプログラムのサイトは↑です。
警告だけだから動くと思うが、試してみた?
>>769
スレッド内でフラグつかえ
772デフォルトの名無しさん:03/08/30 15:36
ArrayListとLinkedListについてですが、
i番目とi+1番目の2つの要素を入れ替える(例えば3番目と4番目)処理をするにあたって
どちらを採用したほうが処理に向いていますか?
>>772
ArrayList
774デフォルトの名無しさん:03/08/30 15:45
javaの勉強したいんだけど
何から作ったらいいですか?
>>763
Makefile の中で rmic に -bootclasspath を指定していないか?
777デフォルトの名無しさん:03/08/30 15:50
数当てゲームだろうな。
778デフォルトの名無しさん:03/08/30 15:50
>>773 >>775
ありがとうございます。
>>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にこのホルダが指定されてません)
782774:03/08/30 16:15
時計をつくることにしました。
実用的でいいと思います。
>>774
いきなりスレッドかよ...まあ、止めはしないが...
無限ループかます予感...まあ、止めはしないが...
Javaの勉強をはじめようと書籍やWEBをあたってみたのですが
あまりの資料の多さに面食らっています
(今までマイナーな言語を触っていましたので)

そこで相談なのですが定番といえる入門書やチュートリアルはないでしょうか
もうJavaも世に出てから何年も経つので学習法もある程度は確立されていると思い
質問させていただきました
よろしくお願いします

>>785
>>610とかどうよ?
int i = 0;

if(i == 0) {
}

ってな感じで初期化したいのですけど、数値で初期化はしたくないのです。
でも数値を指定せずに

int i;

if( i == 0) {
}

とは出来ないし…。誰かintは数値である、と言った感じに初期化出来る
方法を知らないですか?
>>787
????
>>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文での条件判断)
するかもしれない(から結果が不定になる)のでまずいといっている。

それから次の言葉をプレゼント
「エラーが出たらそのエラーメッセージをよく読んで考えろ。」
796792:03/08/30 19:00
>>792
VBは一応3年やってます
VBに慣れすぎでC系の書き方を覚えるのは苦労しそうです
>>787
また濃いのが来たな・・・
ちょっと聞くが、じゃぁその if の中身はどういうときに実行される/されないんだよ。
i に値を明示的にいれてないのに、その i を使った条件文を何故書く?

量子力学か?(←よく分かってないで言ってる)
798デフォルトの名無しさん:03/08/30 19:56
http://www.amazon.co.jp/exec/obidos/ASIN/4774117382/ref=sr_aps_b_/250-3993914-6570649
↑の本を本屋で見つけて、おもしろそうだと思って衝動買いしっちゃったんですが、
Javaはほとんど分かりません…やさしいJavaを2年程前に通読しましたが、殆ど忘れた。

良い機会なんで、もう一回勉強したいんですが、この本を進めるのにはどの程度の知識が必要でしょうか?
もう一度しっかりやさしいJavaを読んで基本的な文法を抑えるくらいでOK?もしくは他の本が良いんでしょうか・
他にももう少し知識が必要なら、お勧め教えてください。

ちなみに一応授業で1年間Cはしてました。(関係ないですが…)


>>798
買ってぱらぱらとはじめの方を読んでみてなおかつ
その質問がでてくるのか?
>>787
すまん、質問の意図が分からないんだけど、もしかして、

その i は、任意の型を代入することができて、
i が整数型なら、こうする。i が文字型ならこうする。

と、いうような意味づけでプログラムを書きたいということ?
801デフォルトの名無しさん:03/08/30 20:03
>>787
グローバル変数は自動初期化されると思ったけど、Cだけだっけ?
>>787
数値が嫌ならint使うな
803デフォルトの名無しさん:03/08/30 20:08
>>799
すみません。一通り文法やり直してから、もうちょっと見てみます…
Variant 好きの予感…
>>804
変形???
806デフォルトの名無しさん:03/08/30 20:46
Javaって重すぎ。
>>766
TOMCAT立ち上げて、http://localhost:8080/にアクセスすれば
index.jspが立ち上がるよ。
ソース見れ。
>>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
こんなこと言っている奴にエンジニアは向いてない。業界去れ。
>>815
そもそも >>813 は業界にいないと思われ。
>>814
ねぇねぇ。>>814 ってRAD使わないと開発できないの?
>>817
開発効率の問題だよ。
RADの方が明らかに開発効率がいいの分からない?
Javaにプロパティないのなんでだろう
820デフォルトの名無しさん:03/08/30 21:59
>>815 >>816
お前らVBスレやMFCスレでも同じ事言っていただろ。
>>819
JavaScriptにはありますがなにか?
>>818
凝った事しようとすれば RAD 使おうが使うまいが開発効率関係ないけど。
>>806-822
死滅スレ逝け
>>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 は 画面幅だけ増えることになると思うけど。
838836:03/08/30 23:14
sage忘れてたすまそ
>>837どういう事ですか?
詳しく教えてください〜
839837:03/08/30 23:18
そもそも、どういうふうに作っているのかよく分からないから、確認したいけど、
836 に書いてある内容って、1コマ分の移動?
840837:03/08/30 23:23
1コマ分の移動を計算しているのだと仮定して書くけど、
最初にある、

if(enemy2_x>=0) {
enemy2_x -= 1;
}

これは、オッケーだよね。左端(座標ゼロ)に到達するまで、1コマについて1だけ
座標を減らす(左に移動する)。

たぶん836に書いてあるプログラムに続けて、画面を描くプログラムがあるんだと
思うけど、毎回、期待通りに左に動いていくでしょう。
841836:03/08/30 23:27
そうですかあ、やっぱ1コマ分で考えちゃうんですねえ。
もうちょっと、1コマで動かすための設定方法とか調べたり考えたりしてきます〜。
>>837
どうもありがとうございます〜。
ってか生半端な自分がわけわからん質問してすみませんでした〜。
もっと、精進するよう頑張ります!
842837:03/08/30 23:28
だけど、画面の左端に到達してしまったとき、

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 だよね。

このコマで、いきなり右端に飛んでしまうのは、何の不思議もない。
843837:03/08/30 23:30
>>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;
}
とすればいいじゃん。
845844:03/08/30 23:36
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に対して走査と探索をしているが、
後者は走査のみだから。
850847:03/08/31 00:11
>>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
重ね重ね申し訳ないのですが、ツールチップみたいなやつも可能なのでしょうか?
>>850
負荷係数と値の量にもよるからなぁ
>>853
Swingのコンポーネントはみんなツールチップサポートしてるよ

この場合はHyperLinkListener登録して
HyperlinkEvent.EventType.ENTEREDが来たら
JEditorPaneのsetToolTipでツールチップの内容書き換えればいいんじゃないかな

http://java.sun.com/docs/books/tutorial/uiswing/components/tooltip.html
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) やや高度かつ自明に過ぎるので何かのテストだと勘違い・敬遠されている

さぁどれ。
>>860=>>857だったらどうしよう
862858:03/08/31 01:26
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。
866860:03/08/31 01:34
ひさびさに相手にされたよ!!!


スレ汚しスマン
867 :03/08/31 01:39
パス関連の問題は何が悪かったのか明らかになった時
オナニーを母親に見られたような虚脱感に襲われる。
868787:03/08/31 06:48
レスが遅れてスマソ

>>790
そのとーり

>>791
そいつぁー無理なのです

>>795
ズバッと来ますた。

>>797
いや、だから明示的にすると後々問題が起こるのです…。

>>800
近いですが、iは文字列ではとらえないです。
数値を0も含めて自由自在に操りたいと。

>>801
値を代入しないでも一応初期化されますが、if文を使う時は宣言が必要です

>>802
無理です


という訳で>>795さんのやり方を使わせて頂きます。
ありがとうございますた。
869787:03/08/31 06:50
読み返してみたら>>791さんも同じ事を書いてました。スンマセン
>>867
比較できるってことは
おまえは見られたんだな
871797:03/08/31 07:07
>>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;
}

実行は出来ますが、値がおかしくなってしまいます。
また、最小二乗を求める配列にはとりあえず乱数を入れています。

御教授願えませんでしょうか?
880876:03/08/31 11:37
補足:
おかしくなるのは解ですた

ちなみに、sigmaxはxの引数乗のΣを、
sigmayはy*x^引数-1乗のΣを求める関数でつ。
881876:03/08/31 11:43
…大変申し訳御座いません。

使っていたグラフソフトの方が間違っていたようです。
スレを汚してしまい申し訳御座いませんでした。m(_ _)m
882デフォルトの名無しさん:03/08/31 12:23
ドキュソで悪いんですが、Mathクラスのsinメソッドはなぜ引数が一つなのでしょうか?
>>882
2つもある必要が無いから
884デフォルトの名無しさん:03/08/31 12:43
>>883
数学のsinはx/rでしたよね?
>>884
y/rだ。普通は・・・というかr=1として計算しなさい。
>>884
お前の数学はどこの星の数学だ?
三角関数(三角比)の引数は「角度}一つって
三角測量が発明された当初からきまっとる。
(単位は度だったりラジアンだったりするが)


>>886
ある一辺の長さはいらんのか?
>>887
三角関数は「角度」から適当な数(比率)を
得るものだろう。

一辺の実際の長さを計算するときに
「三角関数の結果」ともう一方の辺の長さを使うという
だけだ。

それからついでに言っとくと
三角関数の使い道は三角形の辺の長さの計算だけじゃない。

引数に「三角形の一辺の長さ」なんか取り入れたら
他のフーリエ展開とか
周波数関係その他の理論で使えなくなる。
Javaの話をしてください。
ジャバババーン!
>>890
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
わろた、わろた、わろた、
三角関数で意味不明なこという香具師とか、>>890=>>891みたいなほとんど知障みたいな香具師とか
夏だねえ(w
コンテキストの意味がさっぱりわかりません。
あるサイトでは「文脈」とだけありました。
>>893
正解
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でエクスプローラのツリーできますか?
>>902
できます。やり方は検索してください。
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
移動してしまうと、
クライアントのディスクのファイルは消してしまうわけ?
911907:03/08/31 18:05
>>908
私の力不足でアップローダの定義があまりよくわからないのですが、
要するに
(サーブレットが実行される)Aというマシンにアクセスした
Bというマシンの任意の場所にファイルを置いてあげたいのです。
ファイルの置き場所はBから送られてくるパラメータで決める感じで。

>>910
移動すれば元あった場所からは消えてしまいますよね・・・。
そうするとやっぱむりですかね・・・?
javaってあまりそういうのはできないんでしたっけ?
912デフォルトの名無しさん:03/08/31 18:34
>>911
そういうことを標準ではさせないところがJavaのいいところなんじゃないの?
たしか署名してクライアントから認証されたアプレットなら可能です。
913907:03/08/31 19:05
>>912
そですよね。
うすうすそういう認識はしていたのですが、やはり標準では無理なんですよね。


ってことは、Aからデータを送って
Bから指示された場所にファイルを作成することも
普通はむりってことでしょうか・・・。
>>911

そういうのって、簡単だろ?
普通にブラウザにDLさせるようにすればOK
サーブレットのsetContentTypeでタイプ指定すればイイ

ただ、最初に場所指定っていうのは出来ない
ブラウザのDLダイアログで指定するしかないけど
915デフォルトの名無しさん:03/08/31 19:12
>>906
うっせ!氏ね!

てか、Java勉強する前に日本語勉強しろ
916910:03/08/31 19:31
>>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とかいじればよさそうなんですけど、
どんな風にいじればよいのでしょう。

よろしくお願いいたします。
>930
とりあえず紹介しとく。
ttp://www.atmarkit.co.jp/fjava/rensai2/webopt09/webopt09.html

932931:03/08/31 21:49
ttp://www.atmarkit.co.jp/fjava/rensai2/webopt06/webopt06.html より

>最後に、Permanent領域について述べる。Permanent領域は、
>NEW領域・OLD領域とは異なる領域で、リフレクション情報を
>格納する。JSPはリフレクション情報を利用するので、この領域を
>大きめに取る必要がある。Permanent領域がいっぱいになったときも
>Full GCが発生するので注意しなければならない。なお、Permanent領域は、
>-XX:PermSize、-XX:MaxPermSizeのオプションで設定する。
933困った困った:03/08/31 21:55
>931-932
うわーありがとうございます。
@ITまでは見たんですが、
見落としてました。
SUNのサイトには具体的にどのくらいが良いってのはなかったんです。
来週勝負するっす。
934デフォルトの名無しさん:03/08/31 22:10
しょぼい質問なんですが。
1と0の数値データを格納しているテキストファイルから、一文字ずつ読み込み
プログラム中のint型の変数に格納してるんですが、どうも文字コード値が格納されてるみたいです。
ReadFileクラスを使って読みこんでるんですが、どのようにすればいいのでしょうか?
>>934
Reader使え。
936デフォルトの名無しさん:03/08/31 22:25
その”一文字づつ”って何バイト?
'0'と'1'がはいってるってことかな?
>>936
まさか、数値データはバイナリでしょう。
今時数値データがバイナリなわけないだろ。
XMLならテキストだぞ。
テキストはテキスト
940デフォルトの名無しさん:03/08/31 22:56
あのーすみません
j2re1.4.1_01をアンインストールしようとしたのですが
アンインストールの処理が100%にまでいったのにプログラムが
消されていないのです。何度やってもだめです。
だからフォルダ消去しようとしたら使用中で消去できませんってでます。
再起動してもだめでした。どうしたら消せるのでしょうか?
何か手があったら教えてください
>>940
リカバリー
942デフォルトの名無しさん:03/08/31 23:01
>>940
もう一回入れ直して、アンインストールしてみたら?
943940:03/08/31 23:07
もう一回いれようとしてみたのですがすでにインストールされていて
アンインストールしますか?ってでてアンインストールしてみるのですが
やはりアンインストールされません。そしてインストールも進みません。
という状況です。これのせいで非常に困っていますTT
>>943 1.4.1_05で試してごらん。
945デフォルトの名無しさん:03/09/01 02:06
javahouseが見れないんだけど
946デフォルトの名無しさん:03/09/01 03:30
>>938
多分にオイオイ。
>>946 そこはサラっと流さんと(w
String型に格納された文字列の先頭または何文字目からと指定して取り出して比較する方法はありますか?
949デフォルトの名無しさん:03/09/01 09:35
Microsoft SDK for Java はもう手に入らないの?
>>948
substring charAt split
など
951948:03/09/01 10:03
>>950
どうもー早速試してみましたが
char は間接参照っきませんとでたのでいったんStringに
先頭を取り出しましたところ、今度は互換性
のない型と言われてしまいました…
952948:03/09/01 10:16
自己解決。失礼しました
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]; でもいいけど
957956:03/09/01 11:35
あ、スマン
958デフォルトの名無しさん:03/09/01 11:43
>>954
JAVAコマンドに実行権を与えるにはどうしたらよいですか?
>>955
通っとります。。と思われます。
すいませんがよろしくお願いします。
959デフォルトの名無しさん:03/09/01 11:48
>>958
chmod +x java
でも、おれもLinux使ってるけど
権限なんてインストールの時rpmコマンドの時rootになっただけで
後なんにも設定しなかったような気がするな

おい、>>953Socket使わない普通のプログラムは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お世話人
>>969
ありがとう。感激でウンコ漏れました
しつもーん。
なー、背景が透過するテキストエリアってできる?
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

次スレ

【初心者】 Oak質問・相談スレ31 【大歓迎】
http://pc2.2ch.net/test/read.cgi/tech/1060918347/
昔Redhat9にSunのJ2SDK1.4.2入れたら日本語が出なくて、
IBMのJ2SDK1.4.1ならバチーリ日本語が出た。
Sunのはフォントの設定が必要らしいがようワカラン。
Redhat8ならfonts.propertiesがあるんだが。
984 ◆zRMZeyPuLs :03/09/01 15:34
ハッカーの零牙ってしってますか?
>>983

システムで使えるフォントをxfontselコマンドで調べる
それにあわせてfonts.propertiesを書き換える
JAVA_FONTS環境変数にその有効なフォントが入っているパスを指定
setOpaqueの話ってついこのまえ出たばっか...
987名無し:03/09/01 17:04
SwingにはAWTのCanvasに相当するJCanvasってものがないみたいなんですが
どうすればいいんですか?
>>987
JComponent でよい
989名無し:03/09/01 17:33
>>988
どうもです
990デフォルトの名無しさん:03/09/01 18:20
だれか字刷れたてて
1000げとー
次スレ

【初心者】 Oak質問・相談スレ31 【大歓迎】
http://pc2.2ch.net/test/read.cgi/tech/1060918347/
994973:03/09/01 18:59
>>974
切り捨てられるじゃん。誰かおせーて
>>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とかはそのまま表示したいのか?

作るしかない。
ここらへんで書き込みがとまると気になるよね
・・・
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。