トップページ⇒tech
1001コメント377KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
☆★☆こんなメッセージが出たら >>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/
パソコンの基本操作に関しては、PC初心者板へどうぞ ⇒ http://pc.2ch.net/pcqa/

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

基本的に sage 進行でおねがいします。また煽り厨は放置でお願いします。
0002デフォルトの名無しさんNGNG
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


0003デフォルトの名無しさんNGNG
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


0004デフォルトの名無しさんNGNG
■■■ JavaのコンパイラとAPI リファレンス ■■■
【Sun J2SE SDK 1.3】
http://java.sun.com/j2se/1.3/ja/download.html
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html

【Sun J2SE SDK 1.4】
http://java.sun.com/j2se/1.4/ja/download.html
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

【Sun J2SE SDK 1.4.1】
http://java.sun.com/j2se/1.4.1/ja/download.html
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

【IBM J2SE SDK 1.1/1.3】 (要ユーザ登録)
http://www-105.ibm.com/developerworks/tools.nsf/dw/java-devkits-byname?OpenDocument&Count=100
0005デフォルトの名無しさんNGNG
JAVA厨房
http://piza.2ch.net/tech/kako/966/966391052.html
Java相談室
1 http://piza.2ch.net/tech/kako/971/971960169.html
2 http://piza.2ch.net/tech/kako/980/980858322.html
3 http://piza2.2ch.net/tech/kako/994/994150280.html
4 http://pc.2ch.net/tech/kako/997/997791189.html
5 http://pc.2ch.net/tech/kako/1003/10035/1003567552.html

ネタ心者歓迎!今更ながらにJavaを学ぼう!
1 http://piza.2ch.net/tech/kako/981/981424252.html
2 http://pc.2ch.net/tech/kako/993/993358225.html

ネタ心者歓迎! 今更ながらにJava相談室
01 http://pc.2ch.net/tech/kako/1003/10035/1003569074.html
02 http://pc.2ch.net/tech/kako/1006/10064/1006408230.html
03 http://pc.2ch.net/tech/kako/1007/10078/1007802486.html
04 http://pc.2ch.net/tech/kako/1010/10105/1010545421.html
05 http://pc.2ch.net/tech/kako/1012/10129/1012968994.html
06 http://pc.2ch.net/tech/kako/1015/10154/1015418174.html
07 http://pc.2ch.net/tech/kako/1018/10186/1018631329.html
08 http://pc.2ch.net/tech/kako/1020/10204/1020453823.html
09 http://pc.2ch.net/tech/kako/1021/10215/1021555964.html
0006デフォルトの名無しさんNGNG
【初心者・ネタ】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
0007デフォルトの名無しさんNGNG
■■■ Java関連スレいろいろ ■■■
【IDE 統合開発環境】
【Java/C/他】統合開発環境Eclipse GM4
http://pc2.2ch.net/tech/kako/1039/10394/1039405354.html
えっ?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搭載PDA「PocketCosmo」 (モバイル板)
http://pc3.2ch.net/test/read.cgi/mobile/1021979970/l50
0008デフォルトの名無しさんNGNG
【サーバサイドやエンタープライズ】
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


0009デフォルトの名無しさんNGNG
【その他】
クライアントサイド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
0010デフォルトの名無しさんNGNG
■■■ 他板の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/
0011デフォルトの名無しさんNGNG
■■■ 民間サイト ■■■
巨大な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ではないので暴れないように。
0012デフォルトの名無しさんNGNG
>>前スレ898
クラスローダを自作して必要なクラスは
ネットワーク越しにダウンロードするようにしては?
0013デフォルトの名無しさんNGNG
>>1 乙
0014デフォルトの名無しさんNGNG
いいから、Thinking in Java読んどけって。
数々のすばらしい評価をうけてる名著だ。
常に最新の内容にアップデートされているし、
フリーでダウンロードもできる。

本当にJavaでOOをちゃんとやりたい人はぜひ読もう。

http://www.mindview.net/Books/TIJ/
0015デフォルトの名無しさんNGNG
あ〜あ、また「歓迎」しちゃってるし・・・
うれぴ〜
0016デフォルトの名無しさん NGNG
       _____
      / ヽ 、  \
    / ̄ ̄―     V  ̄  ヽ
  / ̄ ̄――        ̄  ヽ  ヽ
∠_ ―           ̄  ヽ  ヽ ヽ
 /    / /  /        ヽ ヽ  |
 |  /  / /|  /  | | ヽ    ヽ  |  |
 |/|  /| /__」 / /|  | ヽ    |  | |
   | / |/_ |/| / |/|/ゝ    |   |
   |/ |  イ/o|  |/    ̄ ヽ |      |
     |  ー゚'     ー==、 人    /
     |   ノ        / |⌒) /    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      |   ヽ       / /_/ /    |
     八   ` 一    /  /  /    <  1さんお疲れ様(はぁと
      〈  \  ^    〈  / /       |
     ヽ/  \_  <ヽ//        \________
          |     |
          ノ___ノ`ヽ_
     _ ノ(_____ノ    ̄/ ⌒ヽ
   //               // ⌒ ヽ
  / /              //      )
  //             /  (       |
0017デフォルトの名無しさんNGNG
あるクラスがあって、その中にインスタンス変数を置きたい場合、
初期化方法は、

  class Word{
   private String aStr = null;
   public Word(){
    aStr = new String("a word");
   }
   public String getStr(){
    return( this.aStr );
   }
  }

とやる場合と、

  class Word{
   private String aStr = new String("a word");;
   public Word(){
   }
   public String getStr(){
    return( this.aStr );
   }
  }

とやる場合と、どちらがいいんでしょう?
0018デフォルトの名無しさんNGNG
>>17
それだけなら、どっちでも変わらんと思う。
そのコンストラクタ以外のコンストラクタがあったりする場合は、
違うけど。
インスタンスフィールド初期化→コンストラクタ起動という順番だ
ということだけは、覚えておいたほうがいいかもね。

あと、String a = new String("リテラル文字列")は、普通
はメモリとインスタンス生成コストの無駄ですよ。
String a = "リテラル文字列" のほうが賢い。
まあ普通の環境なら、これも大して違わないけどねえ。
001917NGNG
>>18
まりがとう。参考になりました。
0020デフォルトの名無しさんNGNG
>>17
下のほうがいい、といわれている。

理由:
デフォルトコンストラクターでの初期化し忘れが無い。
コンストラクター追加の際、デフォルトコンストラクターの呼び忘れが無い。
0021デフォルトの名無しさんNGNG
>>18
> インスタンスフィールド初期化→コンストラクタ起動という順番だ
> ということだけは、覚えておいたほうがいいかもね。

微妙に違う。インスタンスフィールド初期化はコンパイルされると
*すべての* コンストラクタにそのコードを追加したものに *なる*。
コンストラクタにインスタンスフィールド初期化部分が埋め込まれるわけだ。

なので>>17の例だと上のは次のコードと同等。
public class Word {
  private String aStr;
  public Word() {
    aStr = null; // 注目
    aStr = new String("a word");
  }
}

下のは次のコードと同等。
public class Word {
  private String aStr;
  public Word() {
    aStr = new String("a word");
 : :}
}
0022デフォルトの名無しさんNGNG
おれは、
public class Word {
 private String aStr;
  public Word() {
   aStr = "a word";
  }
}

っていうやり方が気に入ってる
つまり、初期化はすべてコンストラクタの中
(あるいはコンストラクタの中の初期化メソッドinitXXXなど)
ちなみによ、>>17よ
前者のプログラムなら
private String aStr = null; って
nullやる必要ないぜ
以前、コンパイラに「初期化されて無い可能性が・・・」などと言われた経験からか?
それを恐れてどこでもnullやってるようじゃ、まだ理解が足りないな
0023デフォルトの名無しさんNGNG
WindowsでアプレットにD&Dしたファイルから
「プロパティ」情報を取り出す事ってできますか?

Wordなどのファイルで「右クリック」 - 「プロパティ」で
見ることができる情報なんですが・・・。
ご存知の方、よろしくお願いします。
0024デフォルトの名無しさんNGNG
>>22
初期化が必要なんってどういう時やったっけ?

それから型変換の法則性が未だにまとまらん。
だれか明快に教えて下さい。
0025デフォルトの名無しさんNGNG
>>24
これでも見て勉強すれ。

Java言語規定 第2版 --- 5. 変換及び昇格
http://www.y-adagio.com/public/standards/tr_javalang2/conversions.doc.html
0026デフォルトの名無しさんNGNG
>>22
漏れは初期値はnullなんだよってより強く伝わるかな、との思いから
明示的にnullを設定しています。
0027デフォルトの名無しさんNGNG
>>26
それ、特定のフィールドだけやられると余計な混乱まねきそう。
0028デフォルトの名無しさんNGNG
というかせっかく「設定忘れてねえかゴルァ」とコンパイラが
親切に警告してくれてるのにむやみにnullで初期化して
エラーを潰すのイクナイ
switchやifの分岐を追加したときに値を設定し忘れても
ちゃんとエラーになってくれる
もちろん仕様上初期値が存在するのが正しいなら問題ないけど
0029デフォルトの名無しさんNGNG
>>12
> アプレットの場合
なんでクラスローダは自作できないです。
http://pc2.2ch.net/test/read.cgi/tech/1049715659/907
だとjava.lang.Stringも見つからないと言われたので
うまく動作してないようです(WinXP+IE6SP1+JRE1.4.1_02)。
うーむ。やっぱSystem.getProperty()しかないのか…
0030デフォルトの名無しさんNGNG
>>23
俺も知りたいです。
アプレットというより、コンテントペインでアイコンのドラッグアンドドロップを
処理する方法が知りたい。
いろいろ調べている途中です。
0031デフォルトの名無しさんNGNG
Vectorで2次元配列を扱うにはどうしたら良いでしょうか?
Vector自体が1次元配列ですから、Vector[]と定義すれば
2次元として扱えるのかな?
0032デフォルトの名無しさんNGNG
>>31
可変長でなくてもいいならそれでやればいい
じゃなきゃ Vector を Vector にいれる
0033デフォルトの名無しさんNGNG
>>23
サイズとか更新日程度の、大抵のプラットフォームに共通の情報なら、File
オブジェクトの属性から取れるかな。

Windows独自のファイルプロパティは、Windows独自フォーマットでファイルの
一部に格納されているのではないかな?その場合は難しいかも。自力でファイル
を解析する?よくわからんけど、JakartaのPOIが使えるのかも。

>>30
なにはなくともSunのチュートリアル。それでわからない人は頭が足りない。
0034デフォルトの名無しさんNGNG
>>29
Signed Jar使ってAppletに特権与えても、クラスローダ作れない?
0035デフォルトの名無しさんNGNG
>>24
>型変換の法則性
意味がなんとなくしかわからんが
class Thinko extends Seiki
class Manko extends Seiki
Seiki s;
Thinko t;
Manko m;
が、あったとして
(Seiki)t;とキャストできるけど
(Thinko)s;とはできない

こういう質問じゃないのか?
0036デフォルトの名無しさんNGNG
>>35
>(Thinko)s;とはできない
できます。
型が合わなければ ClassCastException 食らいますが。

>(Seiki)t;とキャストできるけど
キャスト無しで s = t; とかできますが。
0037デフォルトの名無しさんNGNG
>>33
JLabelのドラッグについてはドキュメントがありますが、
JFrameの外側からOSで使われているアイコンの
ドロップについては、ドキュメントが無いですね。
サポートされていないのでしょうか。
0038デフォルトの名無しさんNGNG
マジ質問
(Thinko)s;
この場合Thinkoのメソッドとかにアクセスできるの?
0039デフォルトの名無しさんNGNG
>>38
全角括弧つかってるからできません。
0040デフォルトの名無しさんNGNG
>>38
できる。(半角カッコなら)

>>39
意地悪だな。
0041デフォルトの名無しさんNGNG
sがThinkoのインスタンスまたはクラスメソッドならできるだろ。
0042デフォルトの名無しさんNGNG
Object型って言うのは、全ての変数方の大元みたいなものでは
ないのですか?
intをObject型にキャストできないみたいなんですけど。
0043デフォルトの名無しさんNGNG
>>37 これかな
www2u.biglobe.ne.jp/~kaduhiko/java_02.html
0044デフォルトの名無しさんNGNG
>>42
int, double, char などはただ値のみであるので、
オブジェクトではない。これらはプリミティブ型という。
Object と同じように、例えば Collection に入れたいようなときは、
Integer や Double を使う。
new Integer(int) でインスタンスを作る。
ちなみに配列 int[] などは Object のサブクラスになる
0045デフォルトの名無しさんNGNG
>>37
イベントを拾うことが出来るし、ナニカのTransferableが飛んできているのは
間違いないさ。ただそれがなんなのかは自分で調べるしかないかと思われ。
DataFlavorのMIMETypeみれば大体分かるんでないのけ?多分リンク先のファ
イルへのパスやファイルオブジェクト自体がはいっていそうだけど…
0046デフォルトの名無しさんNGNG
>>43
しっかり、ありましたね。しかも日本語…
すみません、ありがとうございます。
0047デフォルトの名無しさんNGNG
>>34
どうせユーザーに確認のダイアログ押させるならActiveXにするかも。
そもそも署名のためのコードもMSとSunでぜんぜん違うし
0048デフォルトの名無しさんNGNG
Java学習のための実践問題(こういうものを作れとか)とその解答が載ってるサイトを教えてください。
0049bloomNGNG
http://homepage.mac.com/ayaya16/
0050デフォルトの名無しさんNGNG
>>48
これはどうよ?
http://www-6.ibm.com/jp/event/robocode/home/
0051デフォルトの名無しさんNGNG
>>40
うそつけバカ
サブクラスにキャストしてサブクラスのメソッドにアクセスできるだと?

>>41
おまえは、話の流れが読めてない
0052デフォルトの名無しさんNGNG
>>51
参照がそのサブクラスにキャスト可能なものなら、可能かと。
ナンカ流れが混乱してるね。

0053デフォルトの名無しさんNGNG
>50
確かに実践的な課題なんですがちょっと…。
コンソール画面での問題はないでしょうか?
0054デフォルトの名無しさんNGNG
>>51
お前は深読みしすぎ あるいは分かってないかも知れん

>>35 では s に何も参照させてない
s = new Tinko();
した後なら ((Thinko)s).bokki(); できる
0055デフォルトの名無しさんNGNG
した後なら、ってのは変か
まぁ分かってくれ
0056デフォルトの名無しさんNGNG
Mankoにどんなメソッドがあるか教えてくれ
005723NGNG
>>33
情報どうもです。
なるほど・・・HPSFで実装できそうですね。
ありがとうございました。
0058デフォルトの名無しさんNGNG
>>56
int insert(Object obj);
0059デフォルトの名無しさんNGNG
>>58
そのMankoクラスの設計者は変態ですね。
せめて
class UnoffendingObject;
int insert(UnoffendingObject obj);
じゃないと可愛そう。
ところで@returnは何?
0060デフォルトの名無しさんNGNG
>>59
ソースから抜粋
public static final int MAJIRU = 0;
public static final int SHIO = 1;
public static final int BLOOD = 2;

つかこっちでやるネタだな・・・

■いろんな物をプログラミングしてみよう■
http://pc2.2ch.net/test/read.cgi/tech/1040146314/
0061デフォルトの名無しさんNGNG
java.util.zipでzipファイルの解凍ツールを作っているのですが、
ディレクトリ構造をjava.io.Fileと同様に
ツリー構造で取得する方法ってないでしょうか?
ZipFile#entriesですと、ツリーではなくリストになってしまいます。。。
0062デフォルトの名無しさんNGNG
>java.io.Fileと同様に
>ツリー構造で取得する方法ってないでしょうか?
って、java.io.File自体にツリー構造で取得するメソッドってあった?
俺は再帰ループで自作したような気がするが・・・

まあいいや、俺はやったこと無いが俺ならこうやるだろう

ZipFile#entriesの戻り値はEnumerationだ
これを enuとすると
while(enu.hasMoreElements()){
File f=(File)f.nextElement();//これ通るか心配だが・・・
//ここでf.isDirectory()がtrueなら
//この中もう一回entriesする
}

おれは、ZipFileとFileが同じように扱えるんじゃないかと予想して
こう書いたわけだが、どうなんだろう?
しばらく時間くれちょっとやってみる
他のヤツわかるやついるのならおしえてやってくれ
0063デフォルトの名無しさんNGNG
>>62
ZipFile#entriesの戻り値はZipEntry型なんですよ。
ZipEntryって1つのファイルへの参照しか持っていないのです。

ちなみに、ツリー構造っていうのは
親とか子への自己参照を持っているって意味で・・・
自分も再帰で全検索やってます。。。

0064デフォルトの名無しさんNGNG
>>38
Seiki s = new Thinko();
これだと、Seikiクラスにあるメソッドしか呼べない。
当然、Seikiクラスにあるメソッドといっても、
Thinkoクラスでオーバーライドされたメソッドが動くが。

Thinko t = new Thinko();
これなら、Thinkoクラスで独自に定義されているメソッドも呼び出せる。

Seiki s = new Thinko();
とやった後で、どうしてもThinkoクラスにあるメソッドを呼ぶには
1・ClassクラスとMethodクラスを使ってinvokeする
2・((Thinko)s).xxx()と書いて使う
などの方法があると思われ
0065デフォルトの名無しさんNGNG
Jbuilder7を落とした落としたけどインストールできない。。。
インストール方法を教えてください
0066デフォルトの名無しさんNGNG
>>65
買え
006762NGNG
ちょっと違ったが
こんな感じあとはこれをヒントにしてくれ


import java.util.zip.*;
import java.util.*;

public class ZipTest {

public static void main(String[] args) throws Exception{
ZipFile zf = new ZipFile("hoge.zip");
Enumeration enu = zf.entries();
while (enu.hasMoreElements()) {
ZipEntry ze=(ZipEntry)enu.nextElement();
if(ze.isDirectory())
{
System.out.println("Directory");
}
else
{
System.out.println("File");
}
}
}
}
006862NGNG
>>63
今読んだ
戻り値・・・俺の参考書にはEnumerationってかいてある、中身が
ZipEntryってことかだから、俺の上のコードのキャスト通ったわけね
>ZipEntryって1つのファイルへの参照しか持っていないのです
そういうもんなんじゃない?っていうしかない。俺には全検索しか思いつかん
すまない
でも、Javaで再帰全検索って時間かかるんだよな
昔作ったプログラムでCドライブのフォルダファイルをJTreeで表示しようとおもったら
5秒ぐらい固まったまんまだった
0069デフォルトの名無しさんNGNG
質問です。
Javaでは、メソッドの引数に値渡しと参照渡しの区別をつけて渡すことはできないんでしょうか。
基本データ型は値渡し、オブジェクトは参照渡しと自動的に決まってしまうんですか?

基本データ型の参照値がない(扱えない)以上、やはり型によって決まるような気が・・・
0070デフォルトの名無しさんNGNG
オブジェクトは参照としてしか扱えないから、参照値が値渡しされてる。
0071デフォルトの名無しさんNGNG
ナルホモ

結局、たとえばint型の参照渡しなどはできないんですか?
Integer型を使えばいいのかな
0072デフォルトの名無しさんNGNG
>>68
> ZipEntryってことかだから、俺の上のコードのキャスト通ったわけね
62 のコードは
> > File f=(File)f.nextElement();//これ通るか心配だが・・・
で実行時に必ず ClassCastException くらいます。

> でも、Javaで再帰全検索って時間かかるんだよな
> 昔作ったプログラムでCドライブのフォルダファイルをJTreeで表示しようとおもったら
> 5秒ぐらい固まったまんまだった
それは Java のせいじゃないよ。
C/C++ とかで同等の(全検索したあとTreeを表示する)プログラム書いてみればわかる。
ま、Java のが2倍くらい遅いかもしれんが、
C/C++のプログラムでも、そんなことすれば実用的で無いのがわかるだろ。
0073デフォルトの名無しさんNGNG
>>71
>int型の参照渡しなどはできないんですか
出来ません。値渡しになります。
Integerは自分自身の状態の変更を許さないので、Integerを利用しても無理です。
もしそうした要件があれば、int値の属性を持つクラスを定義する必要があります。
0074デフォルトの名無しさんNGNG
>>71
> 結局、たとえばint型の参照渡しなどはできないんですか?
無理。Java は値渡しのみしかない。
( >>70 が言うように参照型は参照値が値渡しされてるだけだし。)

> Integer型を使えばいいのかな
Integer は不変オブジェクトなので無理。

根本的に解決するにはメソッドの再編成するしか。
その場しのぎの解決法としては要素数1の int配列を渡すとか、
もうちょっとマシなのはクラス作ってそれで受け渡すとか。
0075世界にひとつだけの花(コピペ推奨)NGNG
<血液型A型の一般的な特徴>(見せかけのもっともらしさ(偽善)に騙されるな!!)
●とにかく神経質で気が小さい、了見が狭い(臆病、二言目には「世間」(「世間」と言っても、一部のA型を中心とした一部の人間の動向に過ぎない))
●他人に異常に干渉して自分たちの古いシキタリを押し付け、それから少しでも外れる奴に対しては好戦的でファイト満々な態度をとり、かなりキモイ(自己中心、硬直的でデリカシーがない)
●妙に気位が高く、自分が馬鹿にされるとカッと怒るくせに平気で他人を馬鹿にしようとする(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際にはたいてい、内面的・実質的に負けていることが多い)
●権力・強者には平身低頭だが、弱者に対しては八つ当たり等していじめる(強い者にはへつらい、弱い者に対してはいじめる(特に人が見ていない場合))
●あら探しだけは名人級でウザく、とにかく否定的(例え10の長所があっても褒めることをせず、たった1つの短所を見つけては貶す)
●基本的に悲観主義でマイナス思考に支配されているため性格が鬱陶しい(根暗)
●何でも「右へ習え」で、単独では何もできない(群れでしか行動できないヘタレ)
●少数派の異質・異文化を理解しようとせず、あるいは理解を示さず、排斥する(差別主義者、狭量、視野が狭い、多数派=正しい と信じて疑わない)
●集団によるいじめのリーダーとなり皆を先導する(陰湿かつ陰険で狡猾)
●他人の悪口・陰口を好むと同時に、自分は他人からどう見られているか、人の目を異常に気にする(自分がそうだから容易に他人を信用できない、ポーズだけで中身を伴っていない、世間体命)
●たとえ友達が多くても、いずれも浅い付き合いでしかなく、心の友達はおらず孤独(心の感度が低く、包容力がなく、冷酷だから)
●頭が硬く融通が利かないためストレスを溜め込みやすく、また短気で、地雷持ちが多い(不合理な馬鹿)
●たとえ後で自分の誤りに気づいても、素直に謝れず強引に筋を通し、こじつけの言い訳ばかりする(もう腹を切るしかない!)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(例:「俺のほうが男前やのに、なんでや!(あの野郎の足を引っ張ってやる!!)」)
0076デフォルトの名無しさんNGNG
>>73
>>74
なるほど、結局

void method(int& a, int& b){}
てのをJavaでやりたければ

class Hoge{
 int a;
 int b;
// setterやgetterも
}

void method(Hoge hoge){}
とかするしかないということか。
サンクスコ
0077デフォルトの名無しさんNGNG
これからJavaを始めたい人で、特にiアプリなどの開発をしたい人に
薦められる書籍って何でしょうか?既出だったら申し訳ない。
0078デフォルトの名無しさんNGNG
ezplusアプリを作ろうと思って
java2のmicro editionを使っているんですが、ALERT: NoClassDefFoundError : file
というエラーが出て、実行できません。
グーグル検索してみて、CLATH PATHの設定が悪いみたいなんですが、
具体的なやり方がわからず、困っています。
何か、具体的なやり方をご教授願えないでしょうか?
0079デフォルトの名無しさんNGNG
>>78 人に具体的なやり方を聞く前に、自分の具体的な開発環境
を晒すほうが先じゃないかな。コマンドラインからやっているのか
とかKJX作成ツールを使っているのかとか。
http://pc2.2ch.net/test/read.cgi/tech/1011977260/l50
0080デフォルトの名無しさんNGNG
>79
 常識はずれでした。すみません
開発環境は、一応KJX作成ツールはインストールしているんですが、
今、使用しているのは J2ME Wireless Toolkit 1.0.4_01 のKToolbarです。
OSはWINDOWS 2000を使っています。
 ちなみに、ソースコードは以下です。
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Sample extends MIDlet implements CommandListener{
  private Command cmd;
  public Sample(){
    cmd = new Command("Exit", Command.SCREEN, 1);

  }
  public void startApp(){
    TextBox textbox = new TextBox("Sample", "Hello World!", 64, TextField.ANY);
    textbox.addCommand(cmd);
    textbox.setCommandListener(this);
    Display.getDisplay(this).setCurrent(textbox);
   }

   public void pauseApp(){
   }
   public void destroyApp(boolean unconditional){
   }
   public void commandAction(Command c, Displayable d){
     if(c == cmd) {
       destroyApp(false);
       notifyDestroyed();
     }}}
どうぞよろしくお願いします
0081デフォルトの名無しさんNGNG
>>74
前すれで配列使う例があったような。
hoge(int[] a){
++a[0];
}
main(){
int[] number = {4];
hoge(number);
}
0082デフォルトの名無しさんNGNG
質問です。
class Main{
public static void main(String[] args){
A a = new A();
}
}
class A{
B b = new B();
}
class B{
void method(){};
}
このときmainメソッドからBのmethodにアクセスできますか?
0083デフォルトの名無しさんNGNG
>>82
A,B,Main が同一ファイル内とか、同一パッケージ内なら、
a.b.method() でアクセスできるけど。
0084デフォルトの名無しさんNGNG
>83
そんな単純なことだったんですね。すいませんでした。

あともうひとつ、もしMain=人、A=買い物篭、B=商品だとしたら
「商品の値段を見る」というメソッドはどこに記述すべきでしょうか?
Aの中でしょうか?Bの中でしょうか?
0085デフォルトの名無しさんNGNG
>>84
個々の商品の値段だったらB。
買い物の総額を見るんだったらA。
0086デフォルトの名無しさんNGNG
>>84
商品価格が店ごとに違うなら
C=店 に B もしくは A ごとつっこんで返してもらう
定価どおりのときは店C が B のメソッドからそのまま拾う
0087デフォルトの名無しさんNGNG
linuxのEmacsで例えば"test.java"というソースプログラムを
コンパイルするには、Esc-xでcompileと入力した後、どういう
コマンドを入力すればいいですか?
0088デフォルトの名無しさんNGNG
M(Esc)-x compile は、Makefileを起動するコマンドmake -kあたりが
出てくると思います。
ソースと同じフォルダにMakefileを書いてみましょう。
#in Makefile
JAVAC=javac
all:
#この下のコマンドは、全角空白じゃなくて、「タブ一個」の次に書く。
 ${JAVAC} test.java
#これで完璧、あさごはん。
0089デフォルトの名無しさんNGNG
まあmake -kを消して javac test.java でもいいわけだが。
009063NGNG
>>67
今10個ぐらいあるクラスパス上のjarファイルのClassのインスタンスを
全取得するものを作ってみたんだけど、
1回目はZipEntryからすべての情報を取得して配列に格納し、
2回目以降は配列を参照するようにしてみた。

すると、
1回目・・・5秒くらい
2回目・・・0.5秒くらい
ってな感じになりました。

カレントにあるディレクトリのみ探すときは
1・属性がディレクトリのものを探す
2・パスからカレントのパスを消す
3・セパレータで分割したときに配列の要素数が1になるものを取得
って感じで検索するようにした。
0091デフォルトの名無しさんNGNG
>>90
コレクションではよくやる手だよね
0092デフォルトの名無しさんNGNG
すみません
どっちの書き方が他人にはわかりやすいですか?

//1
for (int i = 0; i < target.length; i++)
  if (target[i].isVisible())
    visible++;

//2
for (int i = 0; i < target.length; i++){
  if (target[i].isVisible()){
    visible++;
  }
}

『{ }』をつけるかつけないかで悩んでいます
0093デフォルトの名無しさんNGNG
Java初心者です。
よくある一般的なHello Worldを出力するプログラムで
日本語を表示させたいのですがうまくいきません。

ソースファイルをsjisやユニコードにしたりcharsetを色々試しましたが
???と出力されてしまします。
apache1.3.27 tomcat1.4.01 windowsXP

厨な質問ですがよろしくお願いします。

ソース
public void doGet (HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head>");
out.println("<title>Sevlet Test</title>");
out.println("<meta http-equiv=\"Content-Type\" content=\"text/html;charset=Shift_JIS\">");
out.println("</head>");
out.println("<body bgcolor=\"#FFFFFF\">");
out.println("Hello Worldあああ");
out.println("</body></html>");
out.flush();
out.close();
}
0094デフォルトの名無しさんNGNG
ソースを読まずにレス。
javac -encoding sjis
0095デフォルトの名無しさんNGNG
>>92
2だと思う。
他人でなくても、後々の事を考えても2だと思う
0096デフォルトの名無しさんNGNG
sprintf(str,"%2d",i);
と同じ事をやりたい場合、
str = new DecimalFormat("##").format(i);
str = new DecimalFormat("00").format(i);
などではうまく行かないのですが、どうすればいいのですか?
0097デフォルトの名無しさんNGNG

response.setContentType("text/html"); をチョット変えろ
0098デフォルトの名無しさんNGNG
>>94
原田洋子読んだのか?
0099超初心者NGNG
もしstringがnullだったらempty stringを返すのって

if(string== null) return("");

でいいですか?
0100デフォルトの名無しさんNGNG
>>99
それでいーけど、

必要ないのに return にカッコ付けるなって言われない?
010199NGNG
あ、カッコ要らないんですか?そんなことも知らなかった…
どうもありがとう>>100さん
010293NGNG
>>94
ダメですうまくいきません
うーわからん
0103デフォルトの名無しさんNGNG
>>102
response.setContentType("text/html"); をチョット変えろ
0104デフォルトの名無しさん NGNG
>>100
returnの後に("");をつけないとempty stringは返せないような気がするけど・・・
if(string== null) はどうせなら if(!string) の方がカコイイよね
0105電源が落ちる!NGNG
JDKをインストールした時におまけについてくるDEMOのJava2Demoを実行,
終了させるといきなり画面が暗転,再起動してしまいます。

以前にも同じような事がありました。Javax.swing.JScrollPaneを利用した
プログラムを作って,実行,終了させると突然再起動。IEを閉じた時にも
同様な事が度々起こり,アプレットが関係していたのでは,と勝手に推測。

で,JDKのバージョンを1.4.1_02にしましたら,JScrollPaneは解決,IEの
方も今の所トラブルは起きておらず,安心してました。

ところが,今日,DEMOのJava2Demoを実行,終了させると突然再起動。
OS(WindowsXP)からは,デバイスドライバに問題があります,っていう
メッセージが・・・。何のデバイス? ぼくの知識では解決できそうにありません。
是非,アドバイスをお願い致します。
0106デフォルトの名無しさんNGNG
ビデオカードは?
0107デフォルトの名無しさんNGNG
>>104
> returnの後に("");をつけないとempty stringは返せないような気がするけど・・・
return "";

> if(string== null) はどうせなら if(!string) の方がカコイイよね
Java の話だよね? 参照型に!演算子は使えないような。
0108デフォルトの名無しさんNGNG
>>104
あほか?あんた
特に、「if(string== null) はどうせなら if(!string) の方がカコイイよね 」の部分
わけわかんねーよ
010993NGNG
>>103
できました。ありがとうございます。ううう。

response.setContentType("text/html;charset=Shift_JIS");
0110デフォルトの名無しさんNGNG
新参者です。質問させてください。
当方、JDK1.4.1_02を使用してアプレットを作ったのですが、
どうも自分のマシン以外で動作しないので「はて?」と思い
別のマシンで同じコードをコンパイルして実行してみると、
ブラウザでは同じように「load: class (class名) class not found」と表示されているにもかかわらず、
appletviewerでは正常に表示されてたりします。
この場合、どこを疑ったらいいですかね…?
0111デフォルトの名無しさんNGNG
>>110
javac -target 1.1 *.java
0112デフォルトの名無しさんNGNG
すんません、96の質問お願いします。
それともそういうAPIは無いのですか?
0113電源が落ちる!NGNG
>106
レス,ありがとう!
ぼくも最初に疑ったのがビデオカードでして,早速ドライバを最新のものに
更新してみました。(ビデオカードはATIのRADEON8500)
う,しかし,状況は・・・。変わらずです。
0114デフォルトの名無しさんNGNG
>>111
素早いレスありがとうございます!
ですが、parseDouble()みたいに、1.2で導入されたものなんかをコンパイルする時は
-target 1.2でしますよね?
すると、また同じように「load: 〜〜not found」になってしまうのですが…
0115デフォルトの名無しさんNGNG
javadoc をローカルに持っておきたいのですが, どこでDL可能なのでしょうか?
0116デフォルトの名無しさんNGNG
>>112
DecimalFormatって空白での右詰できないんだよね。
str= (i < 10 ? " " : "") + Integer.toString(i);
とか自力でやらんとダメ。
0117 ( ・∀・)/< こんなのみつけたっち♪ NGNG
http://www.yamazaki.90.kg/hankaku/hankaku02.html
http://www.yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku08.html
http://yamazaki.90.kg/hankaku/hankaku10.html
http://www.yamazaki.90.kg/hankaku/hankaku05.html
http://yamazaki.90.kg/hankaku/hankaku03.html
http://www.yamazaki.90.kg/hankaku/hankaku07html
http://yamazaki.90.kg/hankaku/hankaku01.html
http://www.yamazaki.90.kg/hankaku/hankaku06.html
http://yamazaki.90.kg/hankaku/hankaku04.html
http://www.yamazaki.90.kg/hankaku/hankaku09.html
0118デフォルトの名無しさんNGNG
>>114
-target ってのは、クラスファイルのフォーマットを指定するだけだから、
1.2以降で指定されたメソッド使っても問題ない。
0119デフォルトの名無しさんNGNG
>>115
http://java.sun.com/j2se/1.4.1/ja/download.html
の下のほうとか探してくれ。
0120デフォルトの名無しさんNGNG
>>118
なるほど。勉強になりました。
で、-target 1.1でコンパイルし直しましたが、ブラウザ起動の時、以下のようなメッセージが出ました。
error: java.lang.NoSuchMethodError: java/lang/Double: method parseDouble(Ljava/lang/String;)D not found
これは、どういうことでしょうか…?
0121デフォルトの名無しさんNGNG
>85,86
ありがとうございます。オブジェクト指向で、モノが決まっても
メソッドをどこに置くか、どう呼び出すかという所でいつも戸惑ってしまいます。
階層を深くするとややこしくなるし、例外を含めると難しいです。
GW中は暇なのでJavaに精進することにします。
0122デフォルトの名無しさんNGNG
>> 119
感謝!
自分の調べ方が足りなさ過ぎました.よって
反省...
0123デフォルトの名無しさんNGNG
>>120
Double.parseDouble
導入されたバージョン: 1.2

ちゅうことです。
0124デフォルトの名無しさんNGNG
>>120
実行時のVMが 1.1 のクラスライブラリしか持ってない場合は
since 1.2 とか 1.3 とか 1.4 のメソッド使ったら動きません。

parseDouble でなくて valueOf 使うとかしませう。
0125デフォルトの名無しさんNGNG
>>123>>124
なるほど、ありがとうございました!
早速コード書き直します。
0126125NGNG
連続レスすいません。
同じアプレットなのに、自分のマシンではちゃんと動くのに
他のマシンでまったく動かないのは何故なんでしょうか?
勿論、ローカル実行ではなくて、どっかのISP鯖にうpしてそっから実行してます
0127デフォルトの名無しさんNGNG
質問です。

j2sdk1.4でThrowableを使って、スタックを取得し、
ログにログメソッドの呼び出し元を記録するというのやってみたのですが、
StackTraceElementというのを使ってみました。

本題ですが、上記と同様なことをj2sdk1.3でできるのでしょうか?
StackTraceElementは1.4にしかないので・・・
1.3はネイティブになってるのかな。。。
0128デフォルトの名無しさんNGNG
java.awt.Imageオブジェクトをファイルに書き出して
保存する方法はありますか?
0129環境: OS : WindowsXP Professional SP1 、JDK : j2sdk1.4.1_01NGNG
javadoc の -sourcepath の機能がいまひとつわかりません。
---
C:\usr\mona\Hello>javadoc Hello.java
---

がうまくいくときに、

---
C:\usr\mona\Hello>cd ..
C:\usr\mona\>javadoc -sourcepath Hello Hello.java
---
とすると、

---
パッケージ Hello.java のソースファイルを読み込んでいます...
javadoc: warning - パッケージ Hello.java のソースがありません。
Javadoc 情報を構築しています...
javadoc: warning - パッケージ Hello.java のソースがありません。
標準 Doclet バージョン 1.4.1

constant-values.html の生成
javadoc: ドキュメント化する public または protected クラスが見つかりません。
エラー 1 個
警告 2 個
---
となってしまいます。
私の理解では、 -soucepath Hello の指定によって、 Hello\ へ Hello.java を見に行ってくれるもんだと思っていたのですが。
何が間違っているのでしょう。そもそも -soucepath はこういった目的で使うものではないのでしょうか?
0130初心者NGNG
linuxでjavaのプログラミングをしようと思って
java2RuntimeEnviromentを落したんですけど、emacs
でコンパイルしようとするとjavac: command not found
とか出てコンパイルできません。どう設定すればいいのか
詳しく教えてください。お願いします。
0131デフォルトの名無しさんNGNG
× java2RuntimeEnviroment
○ java2SoftwareDevelopmentKit
013279NGNG
>>80
んー、うちKToolBar使ってないからわかんない。
IBMのWSDDっていうJ2ME用統合開発環境だと
80のソースはコピペだけで実行できたけど。
0133デフォルトの名無しさんNGNG
Java始めたばかりの初心者です。

Javaで"や\をエスケープするのめんどくさいですけど。
Javaではperlのqq||やシングルコートでの文字列定義みたいなことはできないんですか?
0134デフォルトの名無しさんNGNG
>>133
あんたは、コード組むのも面倒なんじゃねえの。
0135デフォルトの名無しさんNGNG
>>134
じゃあ言い方を変えよう

エスケープが多数発生すると可読性が著しく損なわれるのですが
Javaに回避する方法はありますか?ないんですか?
0136デフォルトの名無しさんNGNG
>>135
無いよ。C/C++ にも無いしね。
0137デフォルトの名無しさんNGNG
>>135
こんなんどう?
ソース中に文字列を埋め込まない。
0138デフォルトの名無しさんNGNG
>>130
J2RE はJavaのバイトコードを実行するためのソフトだよ。
コンパイラとかは JDK に入ってるのでそっちを落としてくらさい。
0139133=135NGNG
>>136
ありがとう
0140デフォルトの名無しさんNGNG
>>129
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/javadoc.html#sourcepath
> -sourcepath オプションは、javadoc コマンドにパッケージ名を渡すときにだけ使用できます。
0141初心者NGNG
>>138
SDKを落したんですけど、使えるようにするための
設定とかが分かりません。初心者なので詳しく教えて
もらえたら嬉しいです。
0142デフォルトの名無しさんNGNG
>>141
>>2-3
0143デフォルトの名無しさんNGNG
>>128
ImageIO とか使うとか…
0144デフォルトの名無しさんNGNG
>>127
1.3 じゃ無理。

アレな方法としては printStackTrace() で
エラー出力に書き出してから、それを解析するとか。
0145129NGNG
>>140
ありがとうございます。
この場合は、 Hello ディレクトリに降りて実行するしかないわけですね。
0146デフォルトの名無しさんNGNG
スレタイだめだろ。【Javaの初心者】【大歓迎】じゃないと。

で、>>1に

質問する時は「どこで(なにで)つまづいているか」を必ず書くこと

を追加して欲しい。

あと質問初心者(≠Java初心者)は>>2以降なんて普通読まないんだから
>これからJavaのプログラムを始めたいかたは >>2-4 へ
なんて書いても意味が無いと思う。
>>1にQ&AのQと対応する>>を書いておくのが望ましいと思う(行数オーバーするかもしれんが
0147デフォルトの名無しさんNGNG
>>113
ATIのビデオカードのバグ。さんざんがいしゅつじゃ。
1.4.1_02にageれ
0148デフォルトの名無しさんNGNG
ツールバーのボタンのサンプルイメージを探してるのですが、検索するとホームページの
サンプルばかりが出てきて、肝心のファイル開く とか、検索ボタンのイメージ等がなかなか
出てきません。
どこか、いい素材を集めたサイトってないですか?
自分でつくってもいいのですが、ありきたりすぎて。。
0149デフォルトの名無しさんNGNG
>>146
900 超えてからもう一回頼むわ。たぶん忘れてるから。
0150デフォルトの名無しさんNGNG
>>148 ツールバーのボタンは, ありきたりのほうが
わかりやすくていいと思うが...
0151148NGNG
ありきたりの物で、ちょっとお洒落なやつを探してるのです。
なかなか見つかりませんね。
ホームページばっかりです。
0152デフォルトの名無しさんNGNG
>>148 >>150-151
Java の話題じゃないから他所でやってくれ。
0153デフォルトの名無しさんNGNG
>>148
それのどこがJavaの質問なのかと小一時(ry
0154153NGNG
>>152
ケコーン
0155148NGNG
java 使ってるのですが。。。

どこのスレがいいですかね?
0156デフォルトの名無しさんNGNG
>>155
板違いじゃねぇの?
0157デフォルトの名無しさんNGNG
>>155
WEB制作板が適当かな。
0158デフォルトの名無しさんNGNG
スレ違いだけど一言だけ。
俺はMozilla(Netscape,Phonix等)のスキンjarファイルをそのまま使ってる。
cssを解釈して画像のリソース取得すればスキン機能のおまけもついてくる。
ファイルを開くとかのイメージは残念ながらないから>>148の期待にはこたえられないだろうけど。

>>149
了解
0159128NGNG
>>143
ありがとうございます
試してみます
0160質問です。NGNG
画像を256色に変換をしたいのですが、
どなたかやり方を教えてください。
0161デフォルトの名無しさんNGNG
>>160
減色処理のアルゴリズム等に関してはスレ違いなので、以下のスレとかで聞いてください。
http://pc2.2ch.net/test/read.cgi/tech/992671330/l50

もっと具体的な質問でないと答えられん。
0162質問です。NGNG
了解しました。
では画像ファイルのフォーマット形式を取得するにはどうすればいいでしょう?
0163デフォルトの名無しさんNGNG
>>162
Jimi でも使っとけばエエんちゃう?ColorReducer も付いとるでよ。
0164質問です。NGNG
jimiですか。

出来れば
1.4系でのやり方を知りたいのですが。

この辺の文献を参考にしたのですが
ttp://www5.airnet.ne.jp/sakuraba/java/laboratory/JDK1.4/Graphics/ImageIO/ImageIO.html
どうやら拡張子を見ているようで・・・

出来れば拡張子は見たくないんです。
0165デフォルトの名無しさんNGNG
>>164
javax.imageio.metadata.IIOMetaData 使えば、
jpeg, png, gif ぐらいだったらフォーマット形式得られるんじゃないでしょーか。
0166デフォルトの名無しさんNGNG
>>164
>>165 ぐらいなら頭数バイト読めば事足りるぞ
JFIF GIF89a BM PNG
0167デフォルトの名無しさんNGNG
JFIFは先頭についてるわけじゃないぞ
0168デフォルトの名無しさんNGNG
>>167
分かってるよ PNG もそうだし
016917NGNG
レスが超遅れマスタ(;´Д`)

>>20, 22
クスコ(・∀・)
とりあえず、明示的にnull入れるのが習慣になってて、
入れないと精神的に不安定になりそうなので(w
入れることにしまつ。
017017NGNG
似たような質問なんですが、
Listオブジェクトを生成するとき、

  class MakeList{
   public MakeList(){
    List aList = new ArrayList( this.getList() );
   }
   public List getList(){
    List someList = new ArrayList();
    someList.add( (String)"String for adding to List" );
    return( someList );
   }
  }

こうする場合と、

  class MakeList{
   public MakeList(){
    List aList = new ArrayList();
    aList = this.getList();
   }
   public List getList(){
    List someList = new ArrayList();
    someList.add( (String)"String for adding to List" );
    return( someList );
   }
  }

こうする場合は、だいたい同じ処理なんでしょうか?
0171デフォルトの名無しさんNGNG
>>170
必要ないのに、return に括弧つけ無いほうが良い。
ちなみに、前者と後者は無駄なことやってることにかけては大体同じ。

無駄を省くとこんな感じ?
 class MakeList{
  public MakeList(){
   List aList = this.getList();
   //aList を使って何かする
  }
  public List getList(){
   List someList = new ArrayList();
   someList.add( (String)"String for adding to List" );
   return someList;
  }
 }
0172デフォルトの名無しさんNGNG
> someList.add( (String)"String for adding to List" );
someList.add( "String for adding to List" );
0173170NGNG
>>171
サンクスコ(・∀・)
なるほどね。。。参考になります。
冗長すぎるのも考え物ってことですね。
0174170NGNG
>>171
あ、1つ確認させてくだちい。

getList()メソッド内で生成された
ArrayListのインスタンス someList が格納されている部分は、
コンストラクタMakeList()内の aList の参照先として、
使われなくなるまで保持されると考えてよろしいですか?
0175デフォルトの名無しさんNGNG
>>174
大丈夫だ
なんか心配性だなあんた
コードの書き方みて性格がわかる
0176148NGNG
スレ違いかどうかは知らんが、探してきたので貼っとく。
次スレ立てるとき10ぐらいに貼っといてくれ。(貼らんと思うが)

サンプルアイコン集
http://developer.java.sun.com/developer/techDocs/hi/repository

自分はすれ違いでないと思うのだが。
プログラムのロジックを答えるだけが、このスレの目的?
事実、java のdeveloperのページにあったし。。。

0177デフォルトの名無しさんNGNG
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("msgfile")));
yourname = new String(yourname.getBytes("8859_1"), "Shift_JIS");
pw.println(yourname+"\n");
こんな感じでmsgfileに書き込もうとしていたんですが、
パス指定しないと"C:\WINDOWS\system32"に作成されちゃいました。
これってどこを見てこうなっているのか、デフォルト変更の方法とか教えてください
しかしWINDOWS\system32に作られると激しく鬱だったんですが、Java的には普通なんでしょか。

j2sdk1.4.1_02 tomcat1.4 windows
0178デフォルトの名無しさんNGNG
>>175
レビュアやペアプロのパートナーに向いてそうだね。
0179170NGNG
>>175
アドバイス、ありがとうございました。m(__)m
スキーリしますた(・∀・)

>>178
えぇ、意外にこんな性格でも重宝されてます(w
0180デフォルトの名無しさんNGNG
JAVAを始めようと思ってCMAGAZINEの
Java2StandardEditionVer.1.4.1っていうのをインストールしたんですけど
使い方がさっぱり分かりません
どうすればいいんですか?
0181デフォルトの名無しさんNGNG
>>180
スタートメニュー→JAVA WEB START→JAVA WEB START起動
→MilitaryGame App 起動→ActionsのNew Gameでこころゆくまで遊ぶ
0182デフォルトの名無しさんNGNG
いや遊ぶとかじゃなくてプログラミングしたいんですけど
0183デフォルトの名無しさんNGNG
>>182
>>2-3
0184デフォルトの名無しさんNGNG
J2SE付属ってことは4月号か。
手元のCマガジンをもう一度読め。さわり程度の話は載ってるはず。
それで物足りないと思ったら(普通は物足りないと思うが)本屋で本を1冊買ってきて、
今度はそれを読んでみよう。
0185デフォルトの名無しさんNGNG
なんか>>2-3みてもわからないんですけど
ただ、プログラミングが分からないとかじゃなくて
Javaの開発環境の起動の方法がわからないんです
0186デフォルトの名無しさんNGNG
>>185
スタートメニュー>アクセサリ>メモ帳
0187デフォルトの名無しさんNGNG
>>186
メモ帳なんですか?
0188デフォルトの名無しさんNGNG
なんかVC++みたいなあーいうのじゃなくてメモ帳でやるんですか?
0189デフォルトの名無しさんNGNG
>>185
開発環境の起動なんてものはない。
あるのは<J2SEインストールディレクトリ>/bin にある
コマンドラインツールのみ。
ちなみに、javac がコンパイラ。javaが実行コマンド。
0190デフォルトの名無しさんNGNG
>>185
JDK には IDE ついてないので。
必要なら Eclipse とか NetBeans とか使ってください。
0191デフォルトの名無しさんNGNG
「javac HelloWorld.java」 で検索すれば、手取り足取り教えてるサイトが見つかるぞ。
「javac HellowWorld.java」て書いてるやつは間違ってる可能性が高いので避けろ
0192デフォルトの名無しさんNGNG
hallo world の流行は終わったのか…
0193デフォルトの名無しさんNGNG
なるほど
皆さんありがとうございました
無料では上手くいかないものですね
0194デフォルトの名無しさんNGNG
Eclipse スレに行ってみ。
0195デフォルトの名無しさんNGNG
>>193
ちょっと待て!
なぜそれが「うまくいかない」になる?
JDKとメモ帳で充分のはずだが????

俺はずっと秀丸とコマンドラインでやってたぞ!
最近Eclipseを使うようになったが、Eclipseだって無料だ!
0196デフォルトの名無しさんNGNG
まじですか?
色々調べてみます。
0197デフォルトの名無しさんNGNG
メモ帳で言いじゃん。万能だぞあれは。軽いし、ゲイツ印だし。
0198デフォルトの名無しさんNGNG
>>197
例え初心者でもメモ帳はお薦めできない。
仮に日曜大工レベルでも、すべての作業をカッターナイフでやる奴はいないだろ?
せめて秀丸やemacsみたいなプログラミングに向いたエディタを使えといいたい。
0199デフォルトの名無しさんNGNG
emacsのキーバインドをWindowsの標準にする方法教えろ
0200デフォルトの名無しさんNGNG
C^p でプリンタを使いたいのか?
つか板違いだな。ウニか犬スレへGo
0201デフォルトの名無しさんNGNG
最近 Eclipse に変えたけど、TeraPad よかったよ。
よく使うクラス色分けしたり javah だの rmic だの起動したり
0202デフォルトの名無しさんNGNG
エクリプス最強!!エクリプス最強!!
これで俺もやっとCVSなオープンソースの仲間入りだYO!!
0203デフォルトの名無しさんNGNG
うわぁ・・・CVS使ったことないくせに・・・

それはともかくそろそろSubversionに移行しようかと思う今日この頃。
0204デフォルトの名無しさんNGNG
eclipseダウンするのが面倒なので雑誌のcdromとかに収録してないですか?
0205デフォルトの名無しさんNGNG
>>204
JavaWorld6月号。国際化パッチもついているので便利
0206デフォルトの名無しさんNGNG
おお、ありがたい>205
0207デフォルトの名無しさんNGNG
プログラムの中で、ある時からの経過時刻を利用したいのですが
System#currentTimeMillis では、ある時と経過時刻の間で、OSの時刻を変更されたとき
ちょっと困ったことになりそうです。

解決するには、プログラムの起動時間などで調べれば解決しそうなのですが
こういう処理の場合はどうするのが適切なのでしょうか?
0208デフォルトの名無しさんNGNG
>>207
経過時刻が知りたいだけなら、プログラムの起動中に時間の累計を
何処かにとっていけば良いのではないだろうか。
1分ごとに1インクリメントして、60になったら1時間経過って事で。
0209デフォルトの名無しさんNGNG
すいません。わかる方いましたら教えてください。

PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("msgfile")));
yourname = new String(yourname.getBytes("8859_1"), "Shift_JIS");
pw.println(yourname+"\n");
こんな感じでmsgfileに書き込もうとしていたんですが、
パス指定しないと"C:\WINDOWS\system32"に作成されちゃいました。
これってどこを見てこうなっているのか、デフォルト変更の方法とか教えてください
しかしWINDOWS\system32に作られると激しく鬱だったんですが、Java的には普通なんでしょか。

j2sdk1.4.1_02 tomcat1.4 windows
0210デフォルトの名無しさんNGNG
>>209
カレントワークディレクトリにファイルが出来るだけだと思うのだが。
System.getProperty("user.dir")の戻り値が、カレントワークディレクトリだとおもう。
Tomcat起動時に、TmocatがそれをSyste32に向けちゃってるのかも。

0211デフォルトの名無しさんNGNG
>>210
ありがとう
0212デフォルトの名無しさんNGNG
>>208
それじゃ1分ごとの1インクリメントの間際に時計いじられたらインクリメントされないだろw
0213デフォルトの名無しさんNGNG
>>212
1分ぐらいの誤差は許せ。
0214デフォルトの名無しさんNGNG
>>213
カップラーメンのタイマーだったら伸びちまうぞ
0215デフォルトの名無しさんNGNG
>>214
それじゃあどうすりゃイインダYO!
おしえてYU!
0216デフォルトの名無しさんNGNG
>>207
公開NTPサーバにアクセスして標準時をもらうとか。
そこまでする必要があるのかわからんが
0217デフォルトの名無しさんNGNG
>>207
プロセスの実行時間を取得する。
0218デフォルトの名無しさんNGNG
>>207
昔、ある有名な会社のJavaで作ったソフト使ったことあったんだが
それは、使用期限付きのソフトで
起動している最中に「カタカタ」とHDDが鳴り止まない
なにやってんのかな〜?と、思っていたが
どうやら、1秒ごとに使用時間をインクリして記録してるみたいだった
あれは、マジでうざい
0219bloomNGNG
http://homepage.mac.com/ayaya16/
0220デフォルトの名無しさんNGNG
>>209
>>210
Tomcatなんて書いてある?
実行したjava.exeがある場所がカレントディレクトリになるからだよ。
WindowsにJDKをインストールするとSystem32にjava.exeがコピーされて、
環境変数を何もいじらないでコマンドラインからjavaコマンドを打つと
System32にあるjava.exeが実行されるからだよ。
0221デフォルトの名無しさんNGNG
eclipse使ってるんですけど、
ソースいじっててコードをそろえようと、タブキーおしたら、すげーずれるんですけど
これってどうやって直すんですか?
くだらなくてスマソ
0222221NGNG
ttp://muimi.com/j/eclipse/useful.html
すいません、自己解決できました。
放置ありが�d
0223209NGNG
>220
なるほど。てっきり実行したclassファイルがあるディレクトリが
カレントなのかと勘違いしてました。
コマンドラインじゃなくてformからのservletなんですけど
同じなんですねたぶん。

ありがとうございました。もう少し調べてみます。
0224デフォルトの名無しさんNGNG
>>208関連で質問
Javaでsleepは使えないの?
0225デフォルトの名無しさんNGNG
Thread.sleep ってのがあるけど。
0226デフォルトの名無しさんNGNG
GWを利用して勉強がてらブロック崩しもどきでも作ろうとしたのですが
どうしても判らない部分があります。

透過GIFで作った画像を分割し、ブロックにしたいのですが

 切り取った32*32のImageが全部透過色ならブロック無し
 色有りの部分があればブロック有り

としたいのですが、このような判定はどうしたらできるでしょうか?
0227デフォルトの名無しさんNGNG
>>226
これヒントにならんかな
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/awt/image/FilteredImageSource.html
0228デフォルトの名無しさんNGNG
ソースコードの日本語が化けます。
バージョン2.1でソースコードに書いた日本語が読めません。
Shift-Jisじゃ日本語化できないんですか?
もしよろしければお願いします;;
0229228NGNG
あ、eclipseの話です
0230デフォルトの名無しさんNGNG
>>228
フォント設定した?
0231228NGNG
>>230
フォントShift-Jis じゃだめなんですか?
0232デフォルトの名無しさんNGNG
>>231
それは文字コード。
ウィンドウ→設定→ワークベンチ→フォント
でJava Editer Font をMS Gothicあたりにすればいい。
0233228NGNG
Emigrant32っていうソフトをいれてみたのですが、
それを使ってるときは日本語を使うことができます。
しかし、行をクリックするたびに、フォントが変わりうざいです。
0234228NGNG
>>232
できました。
ありがとうございました。
0235デフォルトの名無しさんNGNG
男ならforteだろ
0236デフォルトの名無しさんNGNG
>227

お答えどうもです。あれからもう1時間ググってみたところ
PixelGrabberというのを見つけました。

int pixel[]=new int[16*16];
pg = new PixelGrabber(blockgif,0,0,16,16,pixel,0,16);//PixelGrabberクラスを生成
try{
pg.grabPixels();
}catch(InterruptedException ie){}

でpixel配列に読み込んで値が12632256の部分が透過のようです。
ご迷惑をおかけしました。
0237デフォルトの名無しさんNGNG
すいません、教えてください。
ボタンを押して(次へ進むとか・・・)次の項目の画面に飛ぶようにするには
どうしたらいいんですか?
0238デフォルトの名無しさんNGNG
>>237の文章に足りないところを俺なりに埋めてみた。[]が追加したところね。
すいません、教えてください。
[AWTやSwingなどを用いたGUIアプリケーションで]ボタンを押して
(次へ進むとか・・・)次の項目の画面に飛ぶようにするには
どうしたらいいんですか?
[インストーラでよくあるような、同じウィンドウで次々と画面が変わる
ようなアプリケーションが作りたいです。]

java.awt.CardLayoutを使うとお望みの結果を得られるよ。
0239デフォルトの名無しさんNGNG
>>237の文章に足りないところを俺なりに埋めてみた。[]が追加したところね。
すいません、教えてください。
[submit]ボタンを押して(次へ進むとか・・・)次の項目の画面に飛ぶようにするには
どうしたらいいんですか?
[CGIを使えないサーバなのです]
0240デフォルトの名無しさんNGNG
>>238
すいません、言葉が足りて無かったですね、そのとおりです。
親切にありがとう
0241デフォルトの名無しさんNGNG
「私書箱」機能付きの掲示板を作成したいんだけど、よかったら誰かつくりかた教えてくれ
0242デフォルトの名無しさんNGNG
「秘書箱」機能付きの掲示板を作成したいんだけど、よかったら誰かつくりかた教えてくれ
0243デフォルトの名無しさんNGNG
「死者箱」機能付きの掲示板を作成したいんだけど、よかったら誰かつくりかた教えてくれ
0244デフォルトの名無しさんNGNG
誰も236に突っ込んであげないの
0245デフォルトの名無しさんNGNG
      / ̄ ̄\
      | ・ U  |
      | |ι     \ パンパン
/ ̄ ̄ ̄ 匚      ヽ
| ・ U    \      ) ))
| |ι         \  ノ
U||  ̄ ̄ ||||
↑236
0246デフォルトの名無しさんNGNG
>>241
まずは普通の掲示板を作れ。
0247デフォルトの名無しさんNGNG
教えてください。
PATHの設定はうまくいったのですが、CLASSPATHの設定がうまくいきません。
OSはwin98です。
autoexec.batには、PATH、CLASSPATHともに何も書いてなかったので、
SET PATH=%PATH%;C:\WINDOWS\COMMAND;C:\J2SDK1.4.1_02\BIN;
set CLASSPATH=.;C:\J2SDK1.4.1_02\BIN;%CLASSPATH%
こんな2行を追加してみました。
これでもうまくいきません。
どうすればいいのでしょうか?
javaしたいよう・・・。
0248デフォルトの名無しさんNGNG
>>247
何がうまくいかないのかそれではサパーリわからん。
ちなみに、C:\J2SDK1.4.1_02\BIN なんかにCLASSPATH通す必要はない。
>>1-4 は読んだのか?
0249電源が落ちる!NGNG
Frameクラスを継承,MouseMotionListenerをインプリメンツしたクラス内で,
マウスで曲線を描くイベントメソッドの部分だけ書き出します。
public void mouseDragged(MouseEvent e){
grp = getGraphics();
grp.drawLine(x, y, e.getX(), e.getY());
x = e.getX();
y = e.getY();
}
これだと,確かに曲線を描けるんですけど,細いんですよね。
もう少し太いのが描きたくて,fillOvalの利用を考えました。
public void mouseDragged(MouseEvent e){
grp = getGraphics();
grp.fillOval(x-5, y-5, 5, 5);
x = e.getX();
y = e.getY();
}
ところが,これだと連続した曲線が描けません。途切れ途切れになってしまいます。
マウスで連続した曲線を描くにはこのやり方ではダメみたいです。
いい方法をどなたか教えて下さい!
0250デフォルトの名無しさんNGNG
>249
名前が変。すみません。
0251デフォルトの名無しさんNGNG
JavaBeansのルールとして「Serializableインターフェースの実装」があります。
ネットや本などで調べてもいろいろ書いてはいるのですが、
なかなかイメージがつかみにくく、人に説明しずらい状況です。

みなさんなら、どうやって説明しますか?
0252デフォルトの名無しさんNGNG
>>251
ServletコンテナやEJBコンテナがPassivation/Activationを行う際に
シリアライズできないとディスク書き込みが出来ないから。
0253デフォルトの名無しさんNGNG
>>249
Graphics2D使うとペンの太さを設定できる。

たとえばこんなかんじ。
import java.awt.*;
import java.awt.event.*;
public class MouseDraw extends Frame {
private int x;
private int y;
private Graphics2D grp;
public MouseDraw() {
addMouseMotionListener(new MouseMotionAdapter(){
public void mouseDragged(MouseEvent e){
grp.drawLine(x, y, e.getX(), e.getY());
x = e.getX();
y = e.getY();
}
});
setSize(400,400);
show();
grp = (Graphics2D)getGraphics();
grp.setStroke(new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
}
public static void main(String[] args) {
MouseDraw test = new MouseDraw();
}
}
0254デフォルトの名無しさんNGNG
>>253
やってみました。
な,何と!描ける!描けるではないか!素直に感動!
このような道具があったなんて。まだまだ勉強不足ですね。
ありがとうです!
0255デフォルトの名無しさんNGNG
JMenu と JPopupMenu が Menu と PopupMenu との関係と違い
JMenuItem を追加していく処理を一般化できなくて激しく面倒なんですが
なんとかなりませんか
0256デフォルトの名無しさんNGNG
>>255
もうちょいと具体的に。
0257デフォルトの名無しさんNGNG
abstractとinterfaceってどうやって区別して使うべきなんでしょうか?
すべてinterfaceですむと思うのですが…
0258デフォルトの名無しさんNGNG
複数回数のポップアップメニューを入れ子で作っていくとき、
JPopupMenu は JMenu のサブクラスだから、
メソッドをこんなんできたわけです。
addMenu(pm = new PopupMenu(), c);

public void addMenu(Menu menu, Object obj) {
 if (obj instanceof Collection) {
  Iterator it = ((Collection)obj).iterator();
  Menu m = new Menu(it.next().toString());
  menu.add(m);
  while (it.hasNext()) {
   addMenu(m, it.next());
  }
 } else {
  menu.add(new MenuItem(obj.toString()));
 }
}

でも JPopupMenu と JMenu は、
メソッド add が同一のインタフェースやクラスから継承されているものじゃないから、
それぞれの処理を個別に書かなきゃならないわけで。
getClass() から getMethod() して invoke するしかないのかなぁ・・・
0259デフォルトの名無しさんNGNG
>>257
何かを継承して、一部の処理だけは書き換えたいときどうするつもりだ?
0260デフォルトの名無しさんNGNG
>>257
じゃなかった、何? abstract と interface ?
対照するものじゃないぞ
0261デフォルトの名無しさんNGNG
抽象クラスはあくまで継承関係としての設計。
インターフェイスは見た目と実装の分離や
異なる継承関係のクラス同士に共通の見た目や振る舞いを実装する場合に使う。
0262bloomNGNG
http://homepage.mac.com/ayaya16/
0263デフォルトの名無しさんNGNG
JavaでJavaScriptを動かせますか?
0264デフォルトの名無しさんNGNG
エスケープ文字列を評価する方法を教えてください。
String c = "\\u" + "0041";
System.out.println(c);
の出力を「A」になるように改造したいので。
0265デフォルトの名無しさんNGNG
>>263
Mozilla の JavaScript ライブラリを落とせ

>>264
System.out.println((char)Integer.parseInt("0041", 16));
0266デフォルトの名無しさんNGNG
パッケージjava.awt.dnd
はマウスのドラッグ中のクラスやインターフェイスがありますが、
どのように使用するのでしょうか?イベントリスナにextendsやimplements
で使用しましたができませんでした。java.awt.eventとは使い方が
違うのでしょうか?
0267デフォルトの名無しさんNGNG
>>266
>>43
0268デフォルトの名無しさんNGNG
addメソッドでくっつけるやり方ではないのですか?
0269デフォルトの名無しさんNGNG
JDBCのコネクションプーリングについて質問です
プーリング使う場合と、
以下のように使いまわすのでは
どのように違うのでしょうか?
Stringオブジェクトみたいに同じに見えても
内部的には新しいコネクションオブジェクトが生成されているんでしょうか?
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;

try {

conn = dataSource.getConnection();
stmt = conn.createStatement();
rset = stmt.executeQuery(sql1);
//処理1
      rset = stmt.executeQuery(sql2);
//処理2
rset = stmt.executeQuery(sql3);
//処理3
   :
   :
   :
} catch(SQLException e) {
} finally {
try { rset.close(); } catch(Exception e) { }
try { stmt.close(); } catch(Exception e) { }
try { conn.close(); } catch(Exception e) { }
}
}
0270デフォルトの名無しさんNGNG
一つのコネクションでいくつステートメントを実行してもかまわんよ。
つうか、それが普通の使い方。





0271デフォルトの名無しさんNGNG
(この意味の無い改行はなんだろう・・・)
0272180NGNG
いつぞやの180ですがイクリプスにしました
0273デフォルトの名無しさんNGNG
>>270
レスありがとうございます

あ、あのじゃあプーリングってどういうときに使えばいいんですか?
0274デフォルトの名無しさんNGNG
プーリングは
Connection.close()をしても実際には切断されないで、
アプリケーションサーバがプールしておく機能。
次回にgetConnection()が呼び出されたときに実際に
認証・接続するのではなく、プールから割り当てられる。
アプリケーションからは接続・切断に見えるが
実際にはプールから割り当て・プールへ返却という動作になる。
0275デフォルトの名無しさんNGNG
>>274
ありがとうございます
しかし、それをやるやり方と
使いまわすやり方と
どうしてパフォーマンスが変わるかわかりません
たとえば、共有のコネクション持ってるBeanがあって
別のアプリからそれぞれコネクションを引っ張ってくる場合
ぐらいしか、有用性は無いと思うんですが・・・
単一のアプリだったら必要ないですかね?
0276デフォルトの名無しさんNGNG
JNDIがわかりません
いや、そもそもディレクトリサービスについてわかりません
解説している本があれば教えてください
0277デフォルトの名無しさんNGNG
>>269 に書いたクラスを複数回呼び出した場合、
コネクションプーリングを使わないと
呼び出した回数分だけ接続・切断が繰り返されるでしょ?
0278デフォルトの名無しさんNGNG
>>277
はい、納得しました
ありがとうございました
0279デフォルトの名無しさんNGNG
>>276

例えば君が普段使っているエクスプローラが、いわば"ローカルディス
ク上のファイルについてのディレクトリサービス"のビューワ、のよう
なもの。

ファイルだけでなくて、例えば、今動いているEJBとかServletとかJDBC
接続先のDBとか、ありとあらゆるものを登録しておくのがJNDI。JNDI
サーバに問い合わせて、いろんな物の場所を検索して、見つかったらそ
れに接続するなり何なり出来るという寸法。

分散システムで、サーバーごとのいろんな設定情報なんかを、たった一
箇所のJNDI上においとけば、管理が楽でしょ。
0280デフォルトの名無しさんNGNG
現在 JEditorPane を使って、html ファイルをローカルから読み込み、表示するというアプリケーションを
作ってるのですが、mouseを動かした時にnull pointer がでてしまいます。
どうやら、editorkit が動いてるようなのですが、よくわかりません。
誰かお助けを。

エラーメッセージです。

java.lang.NullPointerException
at javax.swing.text.html.HTMLEditorKit$LinkController.doesElementContainLocation(HTMLEditorKit.java:733)
at javax.swing.text.html.HTMLEditorKit$LinkController.mouseMoved(HTMLEditorKit.java:631)
at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:268)
at java.awt.Component.processMouseMotionEvent(Component.java:5066)
at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:2763)
at java.awt.Component.processEvent(Component.java:4822)
at java.awt.Container.processEvent(Container.java:1525)
at java.awt.Component.dispatchEventImpl(Component.java:3526)
at java.awt.Container.dispatchEventImpl(Container.java:1582)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3359)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3087)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3004)
at java.awt.Container.dispatchEventImpl(Container.java:1568)
at java.awt.Window.dispatchEventImpl(Window.java:1581)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:191)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
0281280NGNG
アプリケーションは、表示のみで、まったく編集等はいらないです。
0282280NGNG
ePane.getEditorKit().deinstall(ePane);

エラーはなくなりました。すみません連続一人スレでw

これによる悪影響は、編集したいとき以外ないですよね?
0283デフォルトの名無しさんNGNG
>>279
それはちょっと違う。
JNDIはディレクトリ階層を持つデータベースへのアクセス手段を抽象化したもの。
たとえばLDAPとかDNSとかその他もろもろ。
279がJNDIサーバーとか読んでるのはJ2EEアプリケーションサーバが提供しているディレクトリ。
J2EEコンポーネントとか設定情報を取得できる。
0284デフォルトの名無しさんNGNG
いやぁ〜まいったわホンマ
わし、いままで「Arrays」っちゅうクラス知らんかったんですわ
なもんやさかい、自分で配列ソートしよるクラス自作しよったんですわ
なにを考えていままでやってきたんやろ思うと涙出てきますわ
こないだも、Preferences知ったときにはびっくりしましたわ
もうわしの数々の自慢のユーティリティークラスが、わやになってしもたわ
あかん自信なくしてもうた
0285デフォルトの名無しさんNGNG
>>284
2行目から読んでないけど、たぶんそうなんじゃないか?
0286デフォルトの名無しさんNGNG
>>284
その程度ならまだマシ。
前にWebObjectsのWOF/EOFっていうフレームワークを知ったんだが、
Servlet+JSP+JDBC+EJBでやってた作業が、アホらしくなった。
3ヶ月くらいかけてやってた作業の成果物が、ぜんぶ用意されてた。。。
逝ってくる。。。
0287動画直リンNGNG
http://homepage.mac.com/hitomi18/
0288デフォルトの名無しさんNGNG
>>286
逆に WACs っていうフレームワークで用意されている「すげー」機能
(当時初学者) のほとんどが J2SE/J2EE 標準機能をラップしただけと
いうことに気づいた時もショックが大きかった...
0289デフォルトの名無しさんNGNG
Javaって何語でどういう意味ですか?
0290デフォルトの名無しさんNGNG
>>289
和製英語で風呂釜洗い機のことです。
0291デフォルトの名無しさんNGNG
>>290
ありがとうございます
0292美人OLNGNG
さやかだけどさっきの話の続きなんだけど

http://www.net-de-dvd.com/
0293デフォルトの名無しさんNGNG
>>290
それはJaba
0294289NGNG
>>293
まじで?
0295デフォルトの名無しさんNGNG
>>29四
まじ
0296289NGNG
>>290にだまされたーーー
0297デフォルトの名無しさんNGNG
>>296
http://www.johnson.co.jp/products/jaba/jaba_frame/jaba_1.html
0298動画直リンNGNG
http://homepage.mac.com/hitomi18/
0299デフォルトの名無しさんNGNG
Win9x,NT4.0クライアントのTCP/IPプロパティ内で指定したDNSサーバの
アドレスを取得して標準出力するサンプルプログラムをつくりたいのです
が、DNSサーバのIPアドレスを取得するためのAPIは在りますか?
Java 1.xで。

0300デフォルトの名無しさんNGNG
Java初心者です.
2つ質問があります.
クラスメソッドとインスタンスメソッドは
クラスメソッドの方が速く動作するようですが,なぜでしょうか?

また,クラスメソッドが早いとしたら,
値を返すだけ(数値計算のたぐい)のメソッドはクラスメソッドとして
作ったほうがよいのでしょうか?
0301デフォルトの名無しさんNGNG
>>300
オーバーライドされてないかとか色々チェックが入るんじゃないのかね?
0302デフォルトの名無しさんNGNG
藁
0303デフォルトの名無しさんNGNG
Javaってランタイムのバージョン上がって以前のソフトが
動かなくなったりしないんですか?
ようするにDLL Hellは起こるのでしょうか?
0304デフォルトの名無しさんNGNG
>>303
怒るよ。
0305300NGNG
>>301

レスありがとうございます.
確かにクラスメソッドをオーバライドするのは不可能ですよね?
オーバロードは可能かもしれないけど.
0306デフォルトの名無しさんNGNG
> オーバーライドされてないかとか色々チェックが入るんじゃないのかね?
はいんねーよ。
0307デフォルトの名無しさんNGNG
率直にお聞きします。こういうページはローカルに保存できませんか?
ttp://www.imm.ne.jp/users/takarajima_zooming/photo02/
0308デフォルトの名無しさんNGNG
静的メソッドなのに動的バインドするわけないだろ。
クラスメソッドのオーバーライドって何打YO!!
0309デフォルトの名無しさんNGNG
>>307
できたよ。

<html>

<head></head>

<body>

<center><applet code=com.imagepump.applets.IPViewer archive=cook.jar width=800 height=600>
<param name="view.maxzoom", value="200">
<param name="app.protocol", value="Cooker"><param name="image.name", value="."></applet></center>
</body>

</html>
0310デフォルトの名無しさんNGNG
何か勘違いして一人大暴れしている>>302=>>306=>>308がいるスレはここですね。
0311デフォルトの名無しさんNGNG
>>308
Del厨死ね
0312デフォルトの名無しさんNGNG
>>310
勘違いしているのはあんた>>301=>>310な。
それからあんたのリダイレクト間違ってるから。
0313デフォルトの名無しさんNGNG
>>312
VB厨はJavaなんて使わないでくださいです。。。
0314デフォルトの名無しさんNGNG
>>313
いい加減に、無知なのは自分って気づけよ。恥ずかしいなぁ。
0315デフォルトの名無しさんNGNG
>>314
取りあえずお前の敵は2人以上いるぞ。俺の他に1人以上な。
まぁ、がんばれ。
0316デフォルトの名無しさんNGNG
>>315
そのひとりはJavaなんかしらねー無能野郎だがな。
0317デフォルトの名無しさんNGNG
>>316
それが問題なんだよな・・・ハァ。
0318デフォルトの名無しさんNGNG
VB厨はオーバーライドって言葉を知らんのでしょうなぁ。
オーバーライドされていると実行時にどっちのメソッドを
呼ぶか分からんのです。だから実行するたびに、
チェックをおこなうのです。だから遅くなるのです。
分かりましたか?

0319デフォルトの名無しさんNGNG
>>318
だから実行するたびにチェックなんておこなわないって。
ポインタって知っていますか?
あぁ、Java厨には分からないかもしれませんねぇ(藁
0320デフォルトの名無しさんNGNG
>>319
あなたこそ仮想関数テーブルって知ってますか?
0321デフォルトの名無しさんNGNG
>>320
知っているよ! 名前くらいはな! 馬鹿にするな!
0322デフォルトの名無しさんNGNG
>>315-317
自演ご苦労さんです。
0323デフォルトの名無しさんNGNG
>>320
知っているなら、>>301や>>318が間違っているの分かりますよね。
いっしょに笑ってやりましょう。


0324デフォルトの名無しさんNGNG
>>323
そうだな。実行時にチェックしているわけ無いな。
わらわら。
0325デフォルトの名無しさんNGNG
最近はJava厨とDel厨とVB厨の三大勢力が台頭しているせいか、Ruby厨の活動を見ないな。
0326デフォルトの名無しさんNGNG
で結局
> クラスメソッドとインスタンスメソッドは
> クラスメソッドの方が速く動作するようですが,なぜでしょうか?
これは何故なの?
0327デフォルトの名無しさんNGNG
>>326
オーバーライドされてないかとか色々チェックが入るから(藁
0328デフォルトの名無しさんNGNG
>>326
ポインタを参照する分時間かかるんですよ。
0329デフォルトの名無しさんNGNG
>>326
取りあえず明日おいで。アホな知識厨に目付けられちゃったね。
0330デフォルトの名無しさんNGNG
>>329
答えでたよ。>>328が正解。
0331デフォルトの名無しさんNGNG
>>330
ということにしたいのですね?('-'*)
0332デフォルトの名無しさんNGNG
VB厨はオーバーライドされてるかチェックすると思ってるのか?(藁
0333デフォルトの名無しさんNGNG
なんでVB厨なんだYO?
0334デフォルトの名無しさんNGNG
>>332
313と318と矛盾してるぞ。
意見を変えるならもっと潔くやれよ。
0335デフォルトの名無しさんNGNG
動けばいいじゃない Javaなんだし。

あいだみとぅうぉ
0336デフォルトの名無しさんNGNG
>>331
まさか本気で反論するつもりじゃないよね。ネタだよね。
0337デフォルトの名無しさんNGNG
Win9x,NT4.0クライアントのTCP/IPプロパティ内で指定したDNSサーバの
アドレスを取得して標準出力するサンプルプログラムをつくりたいのです
が、DNSサーバのIPアドレスを取得するためのAPIは在りますか?
Java 1.xで。
0338デフォルトの名無しさんNGNG
>>336
本気っつーかネタっつーか、反論できるほど知識ないし。
0339デフォルトの名無しさんNGNG
>>337
空気読め。質問できる雰囲気じゃないだろ。
0340デフォルトの名無しさんNGNG
>>309さん
画像が表示されないんですけど
0341300NGNG
お騒がせして申し訳ありません.
原因を作ってしまった張本人の300です.

インスタンスメソッドをクラスメソッドに変更したら,
若干速くなったので,その理由が知りたかったのです.

個人的には,コンパイル時に呼び出されるメソッドが確定するから速くなる
とおもっていたのですが,

いずれにせよ,申し訳ありませんでした.
0342デフォルトの名無しさんNGNG
で結局
> クラスメソッドとインスタンスメソッドは
> クラスメソッドの方が速く動作するようですが,なぜでしょうか?
これはどうなったの?
0343300NGNG
>>342

私には,これ以上想像もつきません.
何せ,Javaはじめたばかりの厨房以下なので。。。
0344デフォルトの名無しさんNGNG
フィールド値を諸々纏めたメモリ領域の先頭がそのインスタンスを表すポインタだとして、
そのフィールド値の中には「どのクラスであるか」という情報がいずれもあり、
クラスに宣言されたメソッドはクラスメソッドだろうがインスタンスメソッドだろうが
そのバイトコードがやはりどこかのメモリ領域に纏めて置いてあるとし、
さてクラスメソッドを invoke するにあたってはコンパイル時にほぼ一意、
ランタイムにおいては一度の呼び出しで、そのバイトコードのありかが解決するものであるが、
インスタンスメソッドにおいては、
今メソッドを呼び出そうとしているインスタンスが実質何のクラスのインスタンスであるかは、
その都度調べられ、そののちやはり一意となるメソッドのバイトコード位置からバイトコードを呼び出すのであり、
その上でインスタンスのポインタを与えてメソッドが実行されるので、
because, 一ステップ手間がかかってしまう、というような設計を俺だったらするしそれが自然だと思うがまぁ JIT がからむとよう分からん
0345デフォルトの名無しさんNGNG
>>344
すげぇ!1文が10行以上にわたって!

ドキュメントとか書かせたくないなぁ・・・こいつに。
0346デフォルトの名無しさんNGNG
まだ、馬鹿がいたのか。いい加減に無知なのに気づけよ。
それともやめて釣り死に転職かな。
0347344NGNG
>>345
俺の javadoc すごいよ

/**
* 移動
*/

/**
* 消去
*/

/**
* 消去その2
*/
0348デフォルトの名無しさんNGNG
>>346
また君か。毎日毎日ご苦労様。
でもそろそろ煽りの(プじゃなくてプログラミングのプぐらい覚えようよ。
この板にいて恥ずかしくないの?
0349デフォルトの名無しさんNGNG
            / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  _∧ ∧ ∧ < ちゃんと日本語勉強しようね
 (_・ | (´∀`)  \_____________
   | Ю⊂)_√ヽ
   (  ̄ ∪ )^)ノ
    || || ̄|| ||
    || ||  || ||
0350__NGNG
  ∧_∧   
 ( ・∀・)/< こんなの発見したっち♪ 
http://www.yamazaki.90.kg/hankaku/hankaku02.html
http://yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku08.html
http://yamazaki.90.kg/hankaku/hankaku10.html
http://www.yamazaki.90.kg/hankaku/hankaku07.html
http://yamazaki.90.kg/hankaku/hankaku03.html
http://www.yamazaki.90.kg/hankaku/hankaku05.html
http://yamazaki.90.kg/hankaku/hankaku01.html
http://www.yamazaki.90.kg/hankaku/hankaku06.html
http://yamazaki.90.kg/hankaku/hankaku04.html
http://www.yamazaki.90.kg/hankaku/hankaku09.html
0351 NGNG
  ∧_∧   
 ( ・∀・)/< こんなの発見したっち♪
http://pc2.2ch.net/test/read.cgi/tech/1051284438/
http://pc2.2ch.net/test/read.cgi/tech/1045813143/
http://pc2.2ch.net/test/read.cgi/tech/1039646808/
http://pc2.2ch.net/test/read.cgi/tech/1051284438/
http://pc2.2ch.net/test/read.cgi/tech/1045813143/
http://pc2.2ch.net/test/read.cgi/tech/1039646808/
http://pc2.2ch.net/test/read.cgi/tech/1051284438/
http://pc2.2ch.net/test/read.cgi/tech/1045813143/
http://pc2.2ch.net/test/read.cgi/tech/1039646808/
0352300NGNG
>>344
詳しい説明ありがとうございます.
遅くなるのは,そのポインタ参照分なんですね.
なんとなくですが,分かったような気がします.
0353デフォルトの名無しさんNGNG
こんにちは
awtで
drawStringで文字列を描写するとき、
斜めに描写したいのですがどうすればよいのでしょうか?
よろしくおねがいします。
0354デフォルトの名無しさんNGNG
>>353
drawString("斜");
drawString(" め");
drawString("  の");
drawString("   文");
drawString("    字");
drawString("     列");
0355デフォルトの名無しさんNGNG
>>353
Graphics2D や AffineTransform
0356デフォルトの名無しさんNGNG
質問です。
javax.swing.Actionの、public static final String DEFAULT
オブジェクトのプロパティ (テキストまたはアイコン) を設定または取得するときに、
記憶取得キーとして使うと便利な定数です。

って何に使うんですか?
0357デフォルトの名無しさんNGNG
Win9x,NT4.0クライアントのTCP/IPプロパティ内で指定したDNSサーバの
アドレスを取得して標準出力するサンプルプログラムをつくりたいのです
が、DNSサーバのIPアドレスを取得するためのAPIは在りますか?
Java 1.xで。
0358デフォルトの名無しさんNGNG
>>355
ありがとうございます
ためしてみます
0359デフォルトの名無しさんNGNG
Javaやってるやつらってなんでこうもダメなやつが多いんかね。
心に余裕がないんでつね。低給でこき使われているから
性格がひん曲がっているですつかあ?
0360デフォルトの名無しさんNGNG
人生の敗北者は無視してください
次の質問
↓
0361デフォルトの名無しさんNGNG
java起動するのに1分くらいかかるのですが、
なんでだろう?
友達は30秒くらいだと言っています。スペック的には同じなのに・・・
セレロン1Gでメモリ512Mです。
起動の時間てこんなもんですか?
0362デフォルトの名無しさんNGNG
教えてあげる余裕無いんだろうな
初心者でもちゃんと勉強さえすれば
すぐに追い越されるからな
まあ、余裕無いやつってーのはJavaしか知らないやつだな大抵・・・
0363デフォルトの名無しさんNGNG
それ、遅いな
いったい何を起動してるんだ?
Forteとかだったらまあ、1分かかるけど・・・Pen3-500
0364デフォルトの名無しさんNGNG
あぁ仕切り直されてしまった。
全然急いでないのですぐじゃなくてもいいのですが、
>>356をご存知の方がいらっしゃったらお願い致します。
0365361NGNG
javacでコンパイルするのに1分くらいかかるんですよ。最初だけですけど
ウイルスバスターがツールバーにあるんだが、関係あったりするのですか?
0366デフォルトの名無しさんNGNG
>>365
俺はjavaの起動は1秒ぐらいだなあ。
j2se1.4.2beta Windows2000 Celeron800MHz 192MB
0367デフォルトの名無しさんNGNG
>>365
> ウイルスバスターがツールバーにあるんだが、関係あったりするのですか?
思いっきり関係ある。
リアルタイム検索の対象から.jarを除外しる
0368デフォルトの名無しさんNGNG
>>365
ウィルスバスターのユーザではないのではっきりとは覚えていないが、
古いバージョン (?) のウィルスバスターは java.exe, javac.exe などの
起動時に、そいつらがアクセスしようとしたコアライブラリの jar (rt.jar)
をすべてウィルススキャンするため起動がめちゃくちゃ遅くなると聞いた
ことがある。rt.jar は JDK 1.4 で 22MB の ZIP 圧縮ファイルな。
0369デフォルトの名無しさんNGNG
ウイルス対策意味無いじゃん
0370361NGNG
リアルタイム検索切ったらめちゃくちゃ早く起動しました!
ありがとうございます。
javaってこんなにはやかったんですね?
javaって時間かかるからやりにくいって思ってたんですよ。
よかった。
けど、リアルタイム検索切るのはまずい。
.jarだけ除外するってのがよくわかんな。
セキュリティ板にでもいって聞いてきます。
0371デフォルトの名無しさんNGNG
JAVAってすごいですね
キャストで嘘ついたら怒るなんて
0372デフォルトの名無しさんNGNG
すごいよ。ぬるぽするとガッするし。
0373デフォルトの名無しさんNGNG
>371
いったん Object にキャストすると怒られなくなる。
まぁ、その後の挙動に保証など無いんだが。。
しっかしネタだなぁ。。 漏れの発言までネタっぽい。。
0374デフォルトの名無しさんNGNG
ファイナライザはなんのためにありまっしょい
0375デフォルトの名無しさんNGNG
>>374
おれも、そう思った
実行されるタイミングが確定できないのはつらい
0376デフォルトの名無しさんNGNG
>>375
それどころか、ファイナライザは実行されることが保証されていない。
0377デフォルトの名無しさんNGNG
>>299 未処理
0378デフォルトの名無しさんNGNG
>>374
GCのタイミングでしなきゃいけないことは、実は殆どないので、
現在ほとんど使われません。趣味か知識オナニーを除いて。

ヒープメモリ→どうせGCが整理してくれます。
外部リソース(JDBCコネクションなど)
→どうせライフサイクルに応じて明示的に解放しなきゃダメです。

多分、多くの人が必要としている(のに、APIドキュメントの記述は
意味不明ですが)のは、ファイナライザではなくてjava.lang.ref
のほうだと思う。
0379デフォルトの名無しさんNGNG
>>343
InvokeVirtualよりInvokeStaticのほうが速いのは理にかなってると思うが。
前者:オーバーライドその他の解決をおこなう処理が必要
後者:単に該当するクラスのメソッド領域にジャンプ
C++でもvirtual関数のvtbl解決しないですむ分、staticのほうがはやいでそ。

実際君がどうやってはかったのかしらんし、ほんとはどうなのかもしらんけど。
推測です。
0380379NGNG
上のほうみたら、もう回答かいてあったのね。
0381デフォルトの名無しさんNGNG
>>364
putValue()やgetValue()のキー。
0382デフォルトの名無しさんNGNG
>>381
それは知ってます。ですから、
「public static final String DEFAULT は何に使うのか」
と質問したんです。

Action.SMALL_ICONとかはJButton等が自動的に使うようですが、
DEFAULTとは何なのかということです。
0383デフォルトの名無しさんNGNG
Frame.setSize()するとタイトルバーを含めたウインドウサイズが設定されるようですが
この結果設定された描画領域(Windowの中身)のサイズを知るにはどうすれば良いですか?
0384デフォルトの名無しさんNGNG
Container取得して
Container.getSize()でいいんでないの?javax.swing.JFrameしかつかえんが・・・
java.awt.Frameなら知らん
0385デフォルトの名無しさんNGNG
>>279
それをみると、JNDIってのはxinetdなどのスーパーサーバーみたいなものに
見えるんですが、たとえ悪いでしょうか?
0386 ◆IzdKJ.WAZA NGNG
ちょと質問させてくださひ
サーバにパケット送信しようとして

char packet[] = {0x00,0x1d,0xda,0x03};
      /* 中略 */
out.print(packet);    /* out はソケット出力ストリーム */

とやってみたんですが,正しい応答が帰ってこなかったのでパケットモニタしてみたら

00 1d 3f 03

というようなデータが送信されていました。
試しに 00 1d da ff に変えて送信したところ今度は

00 1d 3f 3f

となりました。いまいち原因&対処法がよく分からないので
ご存知の方教えてもらえますか?
0387デフォルトの名無しさんNGNG
>>386
えっと、なめてんのか?と。
0388デフォルトの名無しさんNGNG
>>386
>out.print(packet);    /* out はソケット出力ストリーム */
out#write(byte[] b); を使ってくらさい。
char は unicodeで一文字を示すための型で、符号なし 2byte値です。
(サロゲートペアとかあるとそうでもないけど)

print() は Unicode から encoding の変換を伴うので、
その際に変換不能な文字は 0x3F('?') とか \uFFFD(定義領域外を示す) とかに
置き換えられます。
0389 ◆IzdKJ.WAZA NGNG
>>388
なるほど。。裏でそんな変換が行われてたとは知らなかった
勉強になりました。ありがとうございました(´ー`)
0390デフォルトの名無しさんNGNG
アプレット+DBでConnectionとPreparedStatementとResultSetを使って
アプレットからDBへアクセスしようとしています。
SunのVMではうまく繋がるのですが、MicrosoftのVMだと繋がりません。
繋がっているのかもしれないけれどデータが取り出せません。
(というのもMSのVMだとコンソールが表示できないのでエラー内容がわからない)
MSのVMを使ってアプレットからDBにアクセスするにはどうすればよいでしょうか。
また、SunとMSのVMの互換性というのはどこで調べればよいでしょうか。
ちなみに環境はTomcat4.0+Mysql3.23+mm.mysql-2.0.4-bin.jarです。
0391デフォルトの名無しさんNGNG
>>390
>(というのもMSのVMだとコンソールが表示できないのでエラー内容がわからない)
InternetExplorer で
ツール->インターネットオプション->詳細設定->Microsoft VM->Javaコンソールの使用(再起動が必要)をチェック。
その後、表示->Javaコンソール でコンソールが出ます。
0392390NGNG
>>391
そんなところにありましたか!
早速表示させてみたところconnect : java.sql.SQLException: No suitable driver
なるエラーが出ました。ドライバがしょぼいってことですかね。
0393デフォルトの名無しさんNGNG
>>392
しょぼいのではなくロードされていないのだろう。
ってか MySQL の JDBC ドライバって JDK 1.1 対応してんの?
0394デフォルトの名無しさんNGNG
イクリプスから実行の右矢印が消えました
0395デフォルトの名無しさんNGNG
こんにちは。
コマンドプロンプトで自作javaアプリケーションを実行しましたら、
メモリ不足エラーとでましたので
コマンドプロンプトでjava -Xmx128m 〜
としましたら、うまくいきました。
デェフォルト値が64Mだそうですが、この値をコマンドプロンプト
上で打たずにあげる方法ってありますでしょうか?
0396デフォルトの名無しさんNGNG
任意のオブジェクトをシリアライズして、Stringオブジェクトにする方法で、
良いものはありませんか?
ObjectOutputStreamに、StringWriterを接続しようと思ったらうまくいかず。。。
ObjectOutputStream( ByteArrayOutputStream )
みたいな感じで、byte配列に格納してみたのですが、
一見うまくいってるように見えても、デシリアライズするときに例外吐いたりしてます。

ググってみても、シリアライズしたデータをfileに落とすものばっかりで。
0397デフォルトの名無しさんNGNG
>>396
あー、Base64 で変換しつつ入出力する OutputStream 持ってんだけど
あげない。
JDK 1.4 なら XML 型式で入出力する奴があるだろう。
0398デフォルトの名無しさんNGNG
うぉおおおおおおおおおおおおおおおおおおお!
今日「JAVAワールド」
見たらめっちゃ (;´Д`) ハァハァ な幼女が表紙やんけ!
JAVAができたらあんな子とあんな事やこんなことできるのか!?
俺、今日からJAVA使いになるよ!
0399デフォルトの名無しさんNGNG
> JAVAができたらあんな子とあんな事やこんなことできるのか!?
できません。Javaは諦めてください。



つーかキチガイくんな。高尚なJava使いの血が汚れる。
0400デフォルトの名無しさんNGNG
javaでTCPレベルのフィルタリングを行いたいのですが、
JNIを使用しないでも実現できまるのでしょうか?

具体的にはローカルマシンが送受信しているTCPデータを
プログラムとOSの間に入って読み取れればと思っています。
0401デフォルトの名無しさんNGNG
>>397
いやーそれがJDK1.3なのよ。。。
モノをくれないなら、なんかヒントか、情報へのポインタなんか
もらえると、禿しくカンシャなんだが。。。
0402デフォルトの名無しさんNGNG
>>400
プロキシタイプのプログラムを作らなきゃ無理だろうな。もちろん
マシンが通信している全データを取ろうというのは無理な話。
0403デフォルトの名無しさんNGNG
jarファイルの作成・展開をjavaの中でRuntime.getRuntime().execを
使用して行ってます。

単純な解凍は「jar xf F:\TEST.jar」で出来たのですが、
解凍先ディレクトリを指定した解凍の仕方が分かりません。

jarコマンドはtarコマンドとほぼ同じ、との事なので、
tarコマンドのディレクトリ指定方法を以下のように行ったのですが、
実行できません(使い方一覧が表示されてしまう)
「jar xf F:\TEST.jar -C D:\Melt\」

+Lhaca等で解凍した場合、きちんと指定ディレクトリに解凍できるので
方法はあると思うのですが、いろいろ試したものの出来ません。
どうやったらディレクトリを指定して解凍できるでしょうか?
0404デフォルトの名無しさんNGNG
>>402
やはりそうなのですか。
一つのプログラムを指定してその送受信データを
取得するのはできるでしょうか?

プロキシタイプのプログラムというのは
どういうのでしょうか?
参考になるサイトか何かヒントになるクラスだけでもいいので
教えてください。
04051/2: 改行多すぎNGNG
>>401
Base64 版は見せれんが、こんなのどうだ? ASCII 16 進数で入出力する
フィルタストリーム。

public class HexOutputStream extends FilterOutputStream{
  public HexOutputStream(OutputStream out){ super(out); }
  public void write(int ch) throws IOException{
    out.write(Character.forDigit((ch >> 4) & 0x0F, 16));
    out.write(Character.forDigit((ch >> 0) & 0x0F, 16));
  }
}
public class HexInputStream extends FilterInputStream{
  public HexInputStream(InputStream in){ super(in); }
  public int read() throws IOException{
    int ch1 = in.read();  if(ch1 < 0)  return ch1;
    int ch2 = in.read();  if(ch2 < 0)  return ch2;
    return ((Character.digit((char)ch1, 16) & 0x0F) << 4)
      || ((Character.digit((char)ch2, 16) & 0x0F) << 0);
  }
}
04062/2: 改行多すぎNGNG
即興で書いたので細かいミスは勘弁。これを ObjectOutputStream と
ByteArrayOutputStream の間に置いてやって、最後に String を構築
してやれば良い。

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(new HexOutputStream(baos));
out.writeObject(...);
out.close();
Strin hexText = new String(baos.toByteArray());

ByteArrayInputStream bais = new ByteArrayInputStream(hexText.getBytes());
ObjectInputStream in = new ObjectInputStream(new HexInputStream(bais));
Object hoge = in.readObject();
in.close();
0407386 ◆IzdKJ.WAZA NGNG
あーやっぱりダメですね。。
byte [] にすると宣言する時点で 0xda の精度が落ちている(整数で218だから範囲外)
と怒られますし,char型にキャストして out.write((char)packet[i]) とやっても
やっぱり'?'に化けます。。

Javaで作るTCPクライアントとか見ても
out.println("Hello World!") とかで
パケット作成まではやってないし。。

とりあえずもう少し弄ってみます
0408デフォルトの名無しさんNGNG
直接は関係ない話だけど
最近のjarコマンドってjavacと同じくjavaで書かれたはずだから
Runtime.getRuntime().execよりもこっちの方がいいと思うよ
0409デフォルトの名無しさんNGNG
>>407
えーと、まず最初にバイナリデータの入出力に Writer 系を使うのを止めなさい。
0410 ◆IzdKJ.WAZA NGNG
>>409
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
↑まさにご指摘の通りでした。。これ削ってやってみます
0411デフォルトの名無しさんNGNG
byte packet[] = {(byte)0x00, (byte)0x1d, (byte)0xda, (byte)0x03};
OutputStream out = new BufferedOutputStream(socket.getOutputStream());
out.write(packet);
out.flush();
...
0412デフォルトの名無しさんNGNG
>>395
どこかで読んだことがあるが
「パソコンの実メモリが128MB以下の時は32MB
512MB以上のときは50%がデフォルト」
みたいなこと書いてあった。
ちなみに実際の数値は今俺が適当に考えたので違います。

まあそういうことなので、メモリ増やせば一番楽、あとはバッチファイルから起動するとか
0413 ◆IzdKJ.WAZA NGNG
>>411
どうもです 今電車の中なんで帰ったらやってみます
0414デフォルトの名無しさんNGNG
ArrayListオブジェクトarrayがあるとして

こうやるのと
for (int i = 0; i < array.size(); i++) {
//処理
}
}
こうやるのでは
int length=array.size();
for (int i = 0; i < length; i++) {
//処理
}
}
後者のほうがパフォーマンス上がりますか?
それとも変わりませんか?
0415デフォルトの名無しさんNGNG
>>414
大して変わらんと思われ。

もし、その程度のパフォーマンスの差が気になるなら
ArrayList の使用を止めるとか(これも大した改善は期待できない)、
その部分を native 化する(これも大した改善は期待できない)とか
考えたほうが良いと思う。
0416デフォルトの名無しさんNGNG
>>414
理論上後者のほうがパフォーマンスが良いだろうが、よっっっぽどの
事がなければ現実的に変わらない。計測誤差に隠れるだろう。
0417デフォルトの名無しさんNGNG
>>414
その程度の最適化は最近のJITコンパイラなら朝飯前だろうから、
人間様がわざわざやる必要はないと思われ。

つーか、HotSpot Server VM とか IBM JDK とかの最適化は
マジで凄い。
0418デフォルトの名無しさんNGNG
>>417
何が、どう?
0419414NGNG
みなさんありがとうございます
配列とかでは、気にしないで
lengthはよく使いますけど
コレクションの場合だと負荷がかかるんじゃないか?
パフォーマンス的にどうなのかな?
と思って質問させてもらいました
>>415ArrayList の使用を止めるとか
確かにそのとおりかもしれません
実際、余裕があればコレクションを使わずに配列を
使用するように心がけていますが
そうすると、ソースの見通しが悪くなるので
そういうことを天秤にかけてやってます
0420417NGNG
>>418
実際、俺も昔、>>414のように不変値をローカル変数へキャッシュしたり、
メソッド呼び出しを減らすような変更をちまちまやってみたことがあったのよ。
しかも画像処理系のプログラムだったから、少しは効果あったかなと思って
ベンチマークとってみたんだが、全然効果なし。(w

そのとき使ってたのは HotSpot Server VM だったんだが、
ループを繰り返すたびに最適化が進んで実行速度が上がっていくのは
本当小気味よかったな。
0421デフォルトの名無しさんNGNG
>>414 は可変値なわけだが。
0422デフォルトの名無しさんNGNG
>>421はいいトコついたッ!

でも、処理中にサイズ変更がないことが前提じゃないのかな?
そうでなけりゃ質問者の2つ目の例はありえないよ。
通常、ランダムアクセスのList実装に対する
コレクションイテレートの好ましいイディオムは...
for (Iterator i=list.iterator(); i.hasNext();) {
// 処理
}
なんだから。

>>414
ちなみに僕は、array.size()がループ内での処理中に
サイズ変更が絶対に起こりえないと保障でき、かつ、
array.size()をこのループの繰り返し回数を導出する
ためだけに利用するのであれば、次のような方法が最善である
と信じています。Javaは「Write Once, Run Anywhere」
(1回書けば、いろんな環境で動く)なんていっちゃってるしw
結局、最適化は実装依存なわけだし。

for (int i=0, n=array.size(); i<n; i++) {
//処理
}

僕は別にベンチマークしたわけじゃないから効果の程はわからないけど。
質問者さんの記述した2つのループとの違いは、
forループのステートメントにカウンタ変数とループの
上限値変数の2つの変数を宣言し、初期化しています。
これによって、パフォーマンスだけではなく、変数スコープ
についても最適なものになります。
0423デフォルトの名無しさんNGNG
toArrayしてから回してみたらどうかなw。
0424401NGNG
>>405
禿しくクスコ!(・∀・)
とっても参考になる。
多謝。
0425デフォルトの名無しさんNGNG
>>421
可変値であることを考慮しても大して変わらんと思われ。
0426デフォルトの名無しさんNGNG
小数点ついている数値を
小数点以下を切り捨ててintに変換するものは無いでしょうか?
Mathクラス見ましたけどありませんでした
0427デフォルトの名無しさんNGNG
double d = 0.123;
int i = (int) d; // 0.123の小数点以下を切り捨ててintに代入(0)
0428デフォルトの名無しさんNGNG
キャストじゃだめなの?
眠くて頭回んないけど、+に関しては満たしてそう。
0429デフォルトの名無しさんNGNG
>>422
forの初期化式で宣言する変数がすべて同じ型ならいいけど
違う型が混ざってる場合はうまく書けないよねえ。
そういう場合はどうしてますか?
0430デフォルトの名無しさんNGNG
ArrayListは、入れた順番どうりに入ってることが
保証されてるんでしょうか?
0431401NGNG
>>405
とりあえず今、テストさせてもらってます。
HexInputStreamクラスの、read()メソッドは、returnの部分が

return (
  (( Character.digit((char)ch1, 16) & 0x0F) << 4) |
  (( Character.digit((char)ch2, 16) & 0x0F) << 0)
);

こうなるかと思うのだが、いかがだろうか?
ch1を16進化した際に、4bitシフトさせて上位に移動し、
ch2をORで加算(論理和)ってことでしょ?

んで、これを実装して、テストコード部分も使わせていただいているのだけれど、
HexOutputStreamは、うまく動いてる。
この結果をHexInputStreamを使う側に食わせたときに、

ObjectInputStream in = new ObjectInputStream(new HexInputStream(bais));

の部分で、「InputStreamは、シリアライズされたオブジェクトを含んでないぞ(゚д゚)ゴルァ」
と、java.io.StreamCorruptedExceptionで怒られてしもうた。
今、ここを追っかけてるところ。


0432bloomNGNG
http://homepage.mac.com/ayaya16/
0433デフォルトの名無しさんNGNG
すんません質問です。

Javaアプレットを作ってHPにあげました。
俺はプレイできて、友人も一人だけプレイできたのですが、
ほとんどの人はプレイできないといいます。
Javaアプレットのあるページに飛ぶと、灰色の画面が映るだけだと。

なぜなんでしょうか・・・。
0434デフォルトの名無しさんNGNG
>>430
はい

>>431
> ch2をORで加算(論理和)ってことでしょ?
そうだな、失礼。

> の部分で、「InputStreamは、シリアライズされたオブジェクトを含んでないぞ(゚д゚)ゴルァ」
そういえば read(byte[], int, int) もオーバーライドしてやらないとダメかも。前に一回
ハマって半日悩んだことがある。何でかは FilterInputStream#read(byte[],int,int) の
ソースを参照。ハァ? と思うかも。

public int read(byte[] buffer, int offset, int length) throws IOException{
  int count = 0;
  for(int i=0; i<length; i++){
    int ch = read();
    if(ch < 0)  break;
    buffer[offset + i] = (byte)ch;
    count ++;
  }
  return (count == 0 && length > 0)? -1: count;
}
0435デフォルトの名無しさんNGNG
ちなみに FilterInputStream#read(byte[],int,int) の中身はこう↓

public int read(byte b[], int off, int len) throws IOException {
  return in.read(b, off, len);
}

16進数 ASCII のデコードしないで下層のストリーム直接バッファに読み込んでる。
(FilterOutputStream#write(byte[],int,int) はそんなこと無いのに)

汎用的に作りたかったら skip() とか available() とかも実装できるかな。
2 で割るだけだから。
0436デフォルトの名無しさんNGNG
>>433
うまく行かない友達に「Java コンソール」というものを表示してもらって、
その内容をメールでもらってここに貼り付けろ。Java コンソールの出し方は
このレスのちょっと上にあったはず。

多分おまいと友達一人のマシンには JDK 1.4 が入っており、それ以外は
MS JVM が使われ、さらにおまいのアプレットが JDK 1.2 以上の API を使って
いると予想。
0437434NGNG
うまく動いた。再度、禿しくサンクスコ(・∀・)

とはいえ、
return (count == 0 && length > 0)? -1: count;
ここがうまく理解できてない。

とりあえず修行が禿しく足らんことを自覚したので、
回線切らずに、JDKのソースの海に修行しに逝ってきます。
0438437NGNG
まちがえた。
名前欄に変なこと書いた。
>>434
ね。重ねてサンクス。
0439デフォルトの名無しさんNGNG
>>423
設計次第だねw
そうする場合は
bounds = arrayのtoArray()で任意の型の配列を取得;
for (int i=0; i<bounds.length; i++) {
// 処理
}
で処理するよね。
フィールドの場合はオーバーヘッドは気はしなくていいし。

>>429
ネタかなw
toArrayメソッドを利用するのは通常、同じ型である場合だよね。
わかってて言うのはだめだよ。
純粋に質問しているなら答えはこうだね。
Arrayに入っているものに対して処理を行う際にArrayに入っている
データの型が複数あるなら形によって処理を分岐する。
まあ、この場合の分岐の選択肢はif文やswitch文だけじゃないよね。

>>430
シングルスレッドで動いているなら大丈夫だね。
マルチスレッドならVector使うか自分で同期とった方がいいかな。

0440デフォルトの名無しさんNGNG
たぶん簡単な質問だと思いますけど
String型の文字列をchar配列型にして
文字の順番を入れ替えるってできますよね?
0441デフォルトの名無しさんNGNG
>>421
だから静的には最適化できないけど
JITコンパイラなら最適化できる格好のケース
0442デフォルトの名無しさんNGNG
>>440
toCharArray
0443デフォルトの名無しさんNGNG
>>440
toCharArray とか使えばできるけど、元の String には反映されないよ。
0444デフォルトの名無しさんNGNG
char[] array = text.toCharArray();
// 文字の順番入れ替え...
text = new String(array);
0445440NGNG
なるほど、そうすればString型に戻せるわけですか。
ありがとうございました。
0446デフォルトの名無しさんNGNG
>420 wara
0447128NGNG
doubleの配列aがあってその各値の大小に応じて
三つのdoubleの配列b,c,dに振り分けたいのですが
b,c,dの長さを決めるいい方法はないでしょうか?
いま私がやっているのはまずaの全ての値を調べて
b,c,dにはいる数をカウントしてb,c,dを作成し
再びaをの値を調べてb,c,dに振り分けているのですが
aを二回調べているので何か非効率的な気がします。
0448デフォルトの名無しさんNGNG
b,c,dの長さは可変なわけだよな。
いったんArrayListとかに振り分けていって最後に配列に変換とか。
0449デフォルトの名無しさんNGNG

値の大きさに応じてB、C、Dの条件があったとする
で、最初にb,c,dの配列の大きさを決めておく
ポイントはa.lengthが配列のサイズになると言うこと
double[] b_temp=new double[a.length];
//以下c,d についても同様
int bcount=0;
int ccount=0;
int dcount=0;
for(int i=0;i<a.length;i++){
if(B){
b_temp[bcount]=a[i];
bcount++;
}
else if(C){
c_temp[ccount]=a[i];
ccount++;
}
else if(D){
d_temp[dcount]=a[i];
dcount++;
}
}
//で、あらためてコピーする
System,arraycopy(b_temp,0,b,bcount);
//c,dも以下同様に

0450デフォルトの名無しさんNGNG
>>449
最終的にb、c、dのサイズが分かるんだからArraryCopyの直前に
double b=new double[bcount];
double c=new double[ccount];
double d=new double[dcount];
したほうがいいような…?
0451デフォルトの名無しさんNGNG
>>450

×double b=new double[bcount];
○double[] b=new double[bcount];
0452デフォルトの名無しさんNGNG
>>450
いや、最初に作ってるのは一時記憶用
もちろん
double b=new double[bcount];
double c=new double[ccount];
double d=new double[dcount];
は、やりますよ。書き忘れだ
0453 ◆IzdKJ.WAZA NGNG
>>411
遅レスですが完璧に動作しました!
ありがとうございました〜ヽ(´∀`)ノ
0454デフォルトの名無しさんNGNG
Java を EXE から起動させるのはどうしたらいいのでつか?
Createprocess でコマンドラインを指定すれば動きますが、
javaw.exe とかではなくて EXE として動かしたいのです。
0455動画直リンNGNG
http://homepage.mac.com/hitomi18/
0456デフォルトの名無しさんNGNG
>>423
> toArrayしてから回してみたらどうかなw。
toArrayメソッドは、新しい(もしくは引数で指定された)配列に
要素の内容を#コピー#するメソッドだから、
その分オーバーヘッドがかかって遅くなってしまうと思われ。

>>439
> >>429
> ネタかなw
> toArrayメソッドを利用するのは通常、同じ型である場合だよね。
>>429が言っているのは
for (int i=0, n=array.size(); i<n; i++) {
ってイディオムの"int i=0, n=array.size()"って部分は
iとnが同じint型だからできることだけど、
そうじゃなかったらどうすんの、ってことだと思うけど。
まあ、この例だとiはListのindex、nはその最大値+1になるから
型が異なることはあり得んのだが。

>>422
> 通常、ランダムアクセスのList実装に対する
> コレクションイテレートの好ましいイディオムは...
> for (Iterator i=list.iterator(); i.hasNext();) {
重箱の隅をつつくようだが、これは
「ランダムアクセスを提供しないList実装」に対するイディオムだろ。
つーか、>>422が言っていることは
http://java.sun.com/j2se/1.4.1/docs/api/java/util/RandomAccess.html
に書いていることそのものなんだが。
0457デフォルトの名無しさんNGNG
>>454
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=JNI+Java+%E8%B5%B7%E5%8B%95
0458デフォルトの名無しさんNGNG
>for (int i=0, n=array.size(); i<n; i++)
for (int i=0;i<array.size(); i++) でも、どうせコンパイラ
かHotSpotが最適化してくれると思うんだが…

つうか、こんなことがボトルネックになるようなこと、あんまり
ないと思うんだけど。
0459デフォルトの名無しさんNGNG
>>458 そう、size()みたいなインスタンスの内部状態に変化を起こさず
かつ非常に短いメソッドの場合は最適化を期待するし、実際ベンチマーク
とっても差はでないよね。逆アセンブルしてないから断定はしないけど。
HotSpotより昔の実装だとクラスをまたいだインライン展開はやらなかっ
たんだけどね。

どうせ仮想機械というよりも実行時コンパイラといったほうが
正確なようになっちゃったんだから、C++みたいにinlineキーワード
とconstメソッドみたいなの導入しちゃってコンパイラに最適化のヒント
を与えられるようにならんかな。
0460429NGNG
>>439
そうじゃなくて
for (初期化式; 継続判定式; 更新式) の初期化式で
int i = 0, n = array.size() を書くことはできても
たとえば int i = 0, double x = 0.5 みたいなのは書けないって話。

こういう場合は結局 double x = 0.5 を for ループの外に
書かないとダメでしょ?
0461デフォルトの名無しさんNGNG
簡単なEchoプログラム作ったんですけど
一回目はエコーが正常にできるんですけど
二回目以降はサーバ側がCPU100%状態になって
固まってしまうんですけど、なにが原因なんでしょう?
ちゃんとソケットは閉じてるんですが。
0462461NGNG
なんとか自力で解決。

で、新たな問題。
PrintWriterとかBufferedReaderでサーバ側作ると
一回ごとに終了してしまうものなんですか?
0463デフォルトの名無しさんNGNG
>>461
while か for 文を使っている部分があるだろう。そこを晒せ
0464461NGNG
>>463
while(inputLine!=null){
out.println(inputLine);
}
こうやってたのを
while((inputLine=in.readLine())!=null){
out.println(inputLine);
}
こう直したらうまくいきました。
何故かはわからなかったけど。
0465デフォルトの名無しさんNGNG
>>464
一つ目のはinputLineがnull以外の場合に、無限ループになる
二つ目のはinputLineを1行読んで、null以外なら表示してループする。
nullならループを抜けるというもの。
0466デフォルトの名無しさんNGNG
>>464
ちゃんと考えれ。何で無限ループになるのかわかんないようなら、
アナタは多分プログラマ向いてないぞ。
0467461NGNG
>>465
nullほど。


>>462のやつでInputStream型やOutputStream型ので作ってあるのは
終了せずにそのままサーバが動き続けるようです。
でも、それだと文字列操作のやり方がわからないし。
0468デフォルトの名無しさんNGNG
>>464
君、実は何も知らないだろw
初心者向けJava本勝って基礎から勉強しなさい。
いきなりネットワークなんて無茶だよ…
さもないと韓国のように自称「ネット先進国」と
言わざるゐえなくなるぞ
0469454NGNG
>>457
JNIを使うのでつね。サンスコ。
http://www.ki.rim.or.jp/~kuro/Java/JNI/
0470461NGNG
>>468
マジで初心者なんです。
で、いろんなサイトのソースをコピって改造して
やってるとこ。

なんか>>462の問題も解決しました。
力技万歳。
0471461NGNG
どうやらwhile(true)が鍵だったらしい。
サーバの方作って起動したらノートン先生がトロイ警告出したり
したこともあったし。
まぁ本読んで基礎もやりますよ
0472447NGNG
>>448-452
レスありがとうございました。
配列を部分的にコピーできるのは知りませんでした。
その方法でやってみます。
0473デフォルトの名無しさんNGNG
サーブレッツやJSPをやってみたくてサーバーを導入したいんですけど
お金がなくてPCが買えません…
今使っているWin2000にサーバーソフトを入れたいのですが
おすすめな者を教えてください。おねがします。
0474デフォルトの名無しさんNGNG
>>473
何か根本的におかしな子と言ってる気がするが、答えはTomcatってとこだろう。
0475デフォルトの名無しさんNGNG
>>473
Tomcat 4.1.24
http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.24/bin/jakarta-tomcat-4.1.24.exe
0476デフォルトの名無しさんNGNG
SunOneStudio4入れるとTOMCATもインストールされる
0477デフォルトの名無しさんNGNG
がっこの宿題でサーバー&クライアント(+PIPE)を使ってクライアント
がサーバにユーザーネームとパスワードでログオンし、メッセージを書
いたり受け取ったりすることができるプログラムを書けというのが出た
んですけど簡単な例とか載ってるHP知ってる人いませんかね。
0478デフォルトの名無しさんNGNG
>>477
クライアントとサーバが PIPE で通信すんのか?
0479デフォルトの名無しさんNGNG
PIPEは、READER と WRITER を使って、クライアントのメッセージ
のやり取りに使うんだと・・
0480デフォルトの名無しさんNGNG
>>477
ttp://x68000.startshop.co.jp/~68user/net/
ここだろうな。
0481デフォルトの名無しさんNGNG
ちょっくら見てきます・・
0482デフォルトの名無しさんNGNG
Javaじゃない・・ですね。JAVA言語ではなんかありますか?
0483デフォルトの名無しさんNGNG
うはっ。ここJava初心者スレだったね。スマソ。
ソケット扱える言語だったら同じように書けばできるけど初心者には難しいかもね。
Javaで書いてあるところは知らんので検索するなり、次のポインタを待ちなさい。
0484デフォルトの名無しさんNGNG
はい!
0485デフォルトの名無しさんNGNG
>>477
1. ソケット使ってネットワーク通信
2. パイプ使ってスレッド間通信

どちらかはっきりしる
0486デフォルトの名無しさんNGNG
java.exeが以上終了(Abort)した時、
hs_err_pidプロセスID.log(hs_err_pid1012.log等)
というファイルができるんですが、それを作らせない方法知りませんか?
0487デフォルトの名無しさんNGNG
ぬー、画像フォーマットの検出方法を忘れた
0488477NGNG
えっと、ソケットは使いません。
import java.net
import java.io
import java.util
の範囲でできるものを探してます(何しろ初心者なんじゃ)。
画面も、スイングみたいなものは使わず、ただのアウトプットに
RUNしたあと
ユーザーネーム:
パスワード:
で、サーバがパスワード確認したら、

1.メーセージを読む
2.メッセージを書く
3.終了

みたいに表示・・・どですかね?
0489デフォルトの名無しさんNGNG
>474-476
TOMCAT入れたよ!サンクス!
0490デフォルトの名無しさんNGNG
Stringからfloatへの変換がわからないのですが。
すいませんおしえてください。
0491デフォルトの名無しさんNGNG
float.valueOf(String s)
0492デフォルトの名無しさんNGNG
Sun JDK1.4.2beta あげ
0493デフォルトの名無しさんNGNG
>>492
1ヶ月前に出てますが。
0494デフォルトの名無しさんNGNG
http://6822.teacup.com/fucker/bbs
0495デフォルトの名無しさんNGNG
Σ(゚Д゚)
0496422NGNG
>> 456へ

>>>422
>> 通常、ランダムアクセスのList実装に対する
>> コレクションイテレートの好ましいイディオムは...
>> for (Iterator i=list.iterator(); i.hasNext();) {
>重箱の隅をつつくようだが、これは
>「ランダムアクセスを提供しないList実装」に対するイディオムだろ。
>つーか、>>422が言っていることは
>http://java.sun.com/j2se/1.4.1/docs/api/java/util/RandomAccess.html
>に書いていることそのものなんだが。
>
またネタかな?
「ランダムアクセスのList実装」で間違いない。
0497422NGNG
>> 456へ
50点だな。おいらも50点だが。
文の構成変えてて間違えたみたいだw
まあ、あそこで言いたかったのは「ランダムアクセスを提供しないList実装」
でもなく、単に「コレクションイテレートの好ましいイディオム」だけどね。

ちなみに2つ目に書いたのが、「ランダムアクセスのList実装に対する
イテレートの高速なイディオム」だな。
これは前提条件を満たさなければ好ましくないわけで、「通常」ではないな。

書き込み前にちゃんとチェックせねば。
0498422NGNG
>>460 へ
>>>439
>そうじゃなくて
>for (初期化式; 継続判定式; 更新式) の初期化式で
>int i = 0, n = array.size() を書くことはできても
>たとえば int i = 0, double x = 0.5 みたいなのは書けないって話。
>
>こういう場合は結局 double x = 0.5 を for ループの外に
>書かないとダメでしょ?

ちゃんと読んだ?414はArrayListオブジェクトに対する
イテレートする際のパフォーマンスのよいイディオムを
質問したんだよ?

それとその例の使いどころを教えてよ。
それが可能だとして、どうしてそうしたいの。
おいらはそうしたいと思ったことないぞw
0499動画直リンNGNG
http://homepage.mac.com/hitomi18/
0500monoのCSHAERPPPPアーティストグレイ風なミュージシャンNGNG
>490
オーケー、ブラザー俺が秘密にセッションしちゃうぜマイハート。
いいかい?ストリンぐからダぶるに変換するのは棚、

using System;

public class conv {
 public static void Main(String[] args){
  double a;
  string b="123";
  a=b.ToDouble();
 }
}

と書いてだな、

>csc conv.cs
>conv.exe

だ。
0501デフォルトの名無しさんNGNG
>>488
ソケットって知ってて言ってんの?
0502デフォルトの名無しさんNGNG
電球の差し込み口
0503デフォルトの名無しさんNGNG
>>502
PentiumIIは電球だった!
0504デフォルトの名無しさんNGNG
JSPって俺が昔吸ってたタバコだと思ってたが
最近思い出した、あれはJPSだった(ジョンプレーヤースペシャル)
黒い箱でかっこよかったな。いまのMILDSEVENのONEと同じぐらいかっこよかった
今も売ってるけどな。
で、
private static final MILDSEVEN;
とかいう定数ってかっこいいよな
いつか、この定数を使ってプログラミングしたい
0505デフォルトの名無しさんNGNG
>504
健康増進法の施行により、それはpublicでは使えなくなりました。
privateでお楽しみください。

protected、package privateは...微妙。
0506デフォルトの名無しさんNGNG
>>504
共同警備区域
0507デフォルトの名無しさんNGNG
「EJBコンポーネント開発完全ガイド」の第4章のデプロイやってるんだけど、
>j2ee -verbose
で起動したDOS窓にデプロイ時以下のメッセージが出るのよ。

| WARNING HelloEJB ejb-ref expected home interface to be HelloHome and got j2eeboo
| tcamp.developingEJB.chapter4.HelloHome
| WARNINGHelloEJB ejb-ref expected bean interface to be Hello and got j2eebootcamp
| .developingEJB.chapter4.Hello

>runclient -client HelloApp.ear -name HelloClient -textauth
でクライアントを実行すると

| WARNING HelloEJB ejb-ref expected home interface to be HelloHome and got j2eeboo
| tcamp.developingEJB.chapter4.HelloHome
| WARNINGHelloEJB ejb-ref expected bean interface to be Hello and got j2eebootcamp
| .developingEJB.chapter4.Hello
| ログインを起動しています ...
| ユーザ名入力:j2ee
| パスワード入力:je22
| バインドされた名前:`java:comp/env/ejb/HelloRef`
| アプリケーションから例外がスローされました:java.lang.NoClassDefFoundError: j2eeb
| ootcamp.developingEJB.chapter4.HelloHome

class/jar の CLASSPATH の話なら解決できるが、
デプロイさせときながら NoClassDefFoundError とは deploytool の
問題じゃねぇかと小一時間・・・言ってもしゃあないので、
原因が分かる人教えてくれ。
0508460NGNG
>>498
イディオムなのは知っている。
俺が言いたいのはイディオムとはまったく関係なくて
for文内でしか使わない変数のスコープの話。

通常はループをカウントする変数はひとつで済むけど
条件が複雑でたまに複数個使いたいことない?
>>460の例だと下みたいなのとか。
int i = 0;
double x = 0.5;
for (; i < 100 && x > 1e-6; i++, x /= 2)

この場合 int i と double x の両方を for の初期化式には書けないので
どっちかはスコープが広がっちゃうけど
何かうまい書き方はないだろうかという話。
あまり美しくないけどブロックを作るしかないんだろうか。
0509460NGNG
>>508の例だと i か x だけでもよさそうなんで
更新式は i++, x /= 2 ではなく
ループ内の条件によって i++ か x /= 2 が決まると思ってください。
0510デフォルトの名無しさんNGNG
>>508
for (int i = 0,double x = 0.5; i < 100 && x > 1e-6; i++, x /= 2)
0511デフォルトの名無しさんNGNG
>>508
俺はwhile文使うよ。そのほうが綺麗。
0512デフォルトの名無しさんNGNG
>>511
だからスコープの話をしてんだと小一時間。
0513デフォルトの名無しさんNGNG
>>508
スコープを無理矢理縮める。

{
int i = 0;
double x = 0.5;
for (; i < 100 && x > 1e-6; i++, x /= 2) {
// 処理
}
}
0514デフォルトの名無しさんNGNG
>>488
プロセス間通信はソケットかRMIが必須ですが。

プロセス間通信しないってことですか???
サーバークライアントで???
0515デフォルトの名無しさんNGNG
>>514
20レス前は十分昔だと言うことを心得よ。
0516デフォルトの名無しさんNGNG
>>510
エラー出るだろ
0517498NGNG
>>508

>通常はループをカウントする変数はひとつで済むけど
>条件が複雑でたまに複数個使いたいことない?
>この場合 int i と double x の両方を for の初期化式には書けないので
>どっちかはスコープが広がっちゃうけど
>何かうまい書き方はないだろうかという話。
>あまり美しくないけどブロックを作るしかないんだろうか。

ブロック使うくらいならメソッドによる置き換えでもすれば?
繰り返しする場合はそれ自体に意味を持っていることが多い。
その方がかっこいいでしょ?
たとえば、こんなカンジ
public void メソッド(int maxLoopCount, double x) {
  for (int i=0; i<maxLoopCount; i++, x/=2.0) {
    // 処理
  }
}

で、スコープの話からずれるけど、もっと機能分割すればこんなカンジ。
for (int i=0; i<maxLoopCount; i++, x/=2.0) {
  if (aMethod(x) == false) {
    break;
  }
}
boolean aMethod(double x) {
  // 処理
}

ループカウンタiが処理に絡むのであれば aMethod の引数に
適切なものを追加すればいい。
0518498NGNG
>>509 へ

> >>508の例だと i か x だけでもよさそうなんで
> 更新式は i++, x /= 2 ではなく
> ループ内の条件によって i++ か x /= 2 が決まると思ってください。

意味がわからないよ。それって自分で書いた例の
for (; i < 100 && x > 1e-6; i++, x /= 2)
を否定しているってことでしょ?
for (; i < 100 && x > 1e-6;) {
  // 処理(ここでiがインクリメントされるかxの値が変更される。
}
にしたいの?
ちなみにスコープの話を抜いてこの場合、for文にするか
while文にするかと聞かれたら >>511 と同じ意見だな。

まぁ、どちらにしても僕ならメソッドによる置き換えをするけどね。
0519デフォルトの名無しさんNGNG

>>486 何か情報ありませんか?
0520デフォルトの名無しさんNGNG
>>519
JavaHouseにでも投げてみてください。
0521477NGNG
とりあえず、このサーバー&クライアントのコードを基礎にまずは、
クライアントがパスワードを使ってログオン(サーバー側でパス
ワードの確認、3回まで)するっていうのをやりたいんですけど、
どこをどうしたらいいのやら・・お願いします。
0522477NGNG
import java.net.*;
import java.io.*;
import java.util.*;

public class TestNetServer {
static final int SERVISEPORT = 20020;

Socket socket;
ObjectInputStream in;
ObjectOutputStream out;

TestNetServer(Socket socket) throws IOException {
this.socket = socket;

in = new ObjectInputStream(
new BufferedInputStream(socket.getInputStream()));
out = new ObjectOutputStream(
new BufferedOutputStream(socket.getOutputStream()));
out.flush();
}


void execute () throws IOException{
try {
String sample0 = "!!Hello, Client!!";
System.out.println("[DBG0]Sending String: " + sample0);
out.writeObject(sample0);
out.flush();
0523デフォルトの名無しさんNGNG
初心者なんですが、イベント処理をやっています。
あるイベントを呼び出したボタンに対して処理を行うにはどうしたらいんでしょうか?
具体的には、いくつかボタンが並んでいて、ボタンを押すとそこに文字が表示できるようにしたいのですが。
リスナーの中でどういう風に実装すればいいんでしょうか?
呼び出したコンポーネントを知るメソッドなどないですか?
0524477NGNG
Object received = in.readObject
HashMap sample2 = (HashMap)received;
System.out.println("[DBG2]Received HashMap: " + sample2);
System.out.println("[DBG3]Pentium :: " + sample2.get("Pentium"));
System.out.flush();
} catch(IOException e) {
e.printStackTrace();
throw e;
} catch (ClassNotFoundException e) {

System.out.println("[DBGX] readObject() CANNOT found Corresponding Class");
} finally {
try{
socket.close(); } catch(IOException e) {}
} }
public static void main(String[] args) throws IOException {
srverSocket serveSocket = new ServerSocket(SERVISEPORT);
try {
System.out.println("Server Waitting on serverSocket ");
Socket socket = serveSocket.accept();
System.out.println("Socket[Server] " + socket);
testNetServer connectionProg = new TestNetServer(socket);
connectionProg.execute();
} finally {
serveSocket.close();}
System.out.println("Server Program Finished");
}}
0525477NGNG
import java.net.*;
import java.io.*;
import java.util.*;
public class TestNetClient {
static final int SERVISEPORT = 20020;
static final String SERVERMACHINE = "localhost";
Socket socket;
ObjectInputStream in;
ObjectOutputStream out;
TestNetClient(Socket socket) throws IOException {
this.socket = socket;
out = new ObjectOutputStream(
new BufferedOutputStream(socket.getOutputStream()));
out.flush();
in = new ObjectInputStream(
new BufferedInputStream(socket.getInputStream()));}
void execute () throws IOException{
try {
Object received0 = in.readObject();
System.out.println("[DBG0]Received: " + received0);
Object received1 = in.readObject();
System.out.println("[DBG1]Received: " + received1);
HashMap sample2 = (HashMap) received1;
sample2.put("Sparc", "SUN");
System.out.println("[DBG2]Sending Hashmap: " + sample2);
out.writeObject(sample2);
out.flush();
} catch (ClassNotFoundException e)
0526477NGNG
System.out.println("[DBGX] readObject() CANNOT found Corresponding Class");
} finally {
try{

socket.close();
} catch(IOException e) {}
}
}

public static void main(String[] args) throws IOException {

InetAddress host = InetAddress.getByName(SERVERMACHINE);

Socket socket = new Socket(host, SERVISEPORT);
System.out.println("Socket[Client] " + socket);


TestNetClient connectionProg = new TestNetClient(socket);

connectionProg.execute();
System.out.println("Client Program Finished");
}
}
0527デフォルトの名無しさんNGNG
>>523

package AWTTest;

import java.awt.*;
import java.awt.event.*;

public final class ButtonTest extends Frame implements ActionListener{
Button txtButton;

public static void main(String[] args) {
ButtonTest bt=new ButtonTest();
bt.show();
}

ButtonTest(){
txtButton=new Button("Click Me!");
txtButton.addActionListener(this);
add(txtButton);
pack();
}

public void actionPerformed(ActionEvent ae){
if(ae.getSource().equals(txtButton)){
txtButton.setLabel("Thanks!");
}
}
}
0528527NGNG
これ入れないとWindow閉じないや。
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we) {
super.windowClosing(we);
System.exit(0);
}
});
0529初心者NGNG
質問です。

サーブレットで、
Thread.currentThread().getName()
の戻り値は、各セッションで一意性が
保障されているのでしょうか?

セッションIDは保障されているでしょうが、
スレッド名はどうなんでしょう。。。
0530デフォルトの名無しさんNGNG
>>529
スレッド名はスレッドインスタンスについてます。
セッションとは関係有りません。

あるセッションのあるリクエストが、サーバ側のあるスレッドで
処理されたあと、そのセッションの次のリクエストがサーバ側の
別のスレッドで処理される、ということは、往々にしてあります。
0531デフォルトの名無しさんNGNG
CGIとJSP/サーブレットってどう違うの?
CGIのほうがC言語使えるから速いんでないの?
0532デフォルトの名無しさんNGNG
JSP/(E)JB/ServletでワンパッケージのWEBサービスだったような。
CGI はリクエストのたびにプロセスが起動するので、サーバコンテナ
内部でスレッドとして動くServletよりコストは高いと思われ。リクエスト
の数が増えてきたときに違いが出ると思う。あと、Servletのほうが
柔軟性が高いサービスが構築できそう。
0533初心者NGNG
>>530
ありがとうございます。
ちょっと質問の仕方がわるかったです。

複数セッションで同時にリクエストが発生したときには
セッションの数だけスレッドが生成されると思うのですが、
そのときのスレッド名は一意性が保たれているのでしょうか。。。

サーブレットコンテナの実装によるのかもしれませんが、
わざわざ各スレッドに同一の名前をセットするようなことは
ないような気がするのですが・・・
0534初心者NGNG
>>531
サーバアプリケーションのボトルネックは
プログラム事体の性能よりサーバや回線の性能の方が
大きいと思います。

CGIよりJSPの方が速いというわけではなく、
大規模開発に向いているかという問題になってきます。
開発効率ならJSPの方が向いてると、個人的には思います。
0535デフォルトの名無しさんNGNG
JSPのJSTLについて質問なんですが
<c:forEach>タグって
String[][]のように多次元配列って扱えないんでしょうか?
入れ子にしてやってみても
itemって言うキーワードが重なるのでうまくいきません
0536デフォルトの名無しさんNGNG
画面にメニューを表示して、ユーザがキーボードに何か押すまで待つには
どーしたらいいのですか?
cみたいに、GETつかうのかな?


0537デフォルトの名無しさんNGNG
>>536
何の話をしているのかサッパリわからん
0538デフォルトの名無しさんNGNG
>>536
あなたが氏ねばいいと思います。マジレスです。
0539デフォルトの名無しさんNGNG
>>538
マジレスかっ!!? 
536は、マルチでーす。
0540デフォルトの名無しさんNGNG
>>533
APサバの実装にもよるけど、大抵の賢いサバは、リクエスト
の度にスレッドを新規生成するような「低能」実装はして
いないとおもうよ。
あとスレッド名は、サバの実装依存だと思われ。
まあおそらく、サバ各自が各自の内部で一意に命名してい
るか、あるいはデフォルト(Threadのデフォルトコンスト
ラクタがつける名前)のままにしているんじゃないかな。
オイラはあなたが使っているAPサバがなんなのかしらない
のでヨクワカリマセヌ。

デバッガでAPサバを動かして、Servlet内部でブレーク
して、スレッドの状態をダンプすれば、スレッドの一覧
が見えるはず。試してミソ。


それにしても、スレッド名で何かを識別しなければいけない
ような事態は発生しないはず。そんなものをみなければいけ
ないような仕組みを作っているとしたら、9割方設計がおか
しいとおもうが。
0541デフォルトの名無しさんNGNG
>>531
CGIは基本的には1リクエストに対して1プロセス起動するから
トランザクション数の多い大規模サイトでは処理コストが
どんどん増加する。
Javaは基本的にはプロセス内での動作。

リクエスト1回だけ投げてその処理の重さだけを見たらCGIのほうが速いが、
大量処理時のサーバへの負荷が違う。
0542デフォルトの名無しさんNGNG
JSP/サーブレットの質問なんですが
アプリケーション内からどこからでも使用可能な
Beanを作ろうと思っています
で、サーブレットAがある値をsetして
サーブレットBがその値をgetしたりすることを想定しています
AとBはまったく別のセッションの場合もありです
こういうことやる場合はシングルトンしかないんですかね?
いろいろやってみたんですが、これしか思い浮かびません
最終的に思ったのが、「Beanはセッション内でしか共有できないのか?」と言うことです
0543デフォルトの名無しさんNGNG
>>542
排他処理に気を使いながら、ServletContect使うよろし。
DBでもいいな。
0544デフォルトの名無しさんNGNG
ServletContextだった
0545542NGNG
>>543
ありがとうございます
ServletContect調べてみます
>DBでもいいな。
実はDBの情報を格納するBeanなので
今回の場合は無理です
他の場合なら使えそうですね参考になりました
0546531NGNG
>>541

>CGIは基本的には1リクエストに対して1プロセス起動するから
>トランザクション数の多い大規模サイトでは処理コストが
>どんどん増加する。
>Javaは基本的にはプロセス内での動作。

基本的、基本的ってなんだよ、おまえ! 基本的って言葉で逃げてるだけじゃねーか。
よく知らないのに説明しよーとすんな。
アホか。 Javaやめろ。

green thread, native thread, copy on write この辺りを検索して、
勉強しなおしてこい。 タコ
0547デフォルトの名無しさんNGNG
>>531
DQNは氏ね
0548デフォルトの名無しさんNGNG
>>531
基本的に釣りなら他のスレに行けや。
と基本的に釣られてみる。。。
0549デフォルトの名無しさんNGNG
馬鹿が釣れて>>531がかわいそう
0550デフォルトの名無しさんNGNG
>>531
「基本的は基本的」。
CGIだってスレッド使い回しの仕組みを自作すればできないことはない。
531は誌んでイイYO!漏れが許可する。
0551デフォルトの名無しさんNGNG
CGIでスレッド使い回しって、どうやるんだよ!
0552542NGNG
また問題が発生しました
最初の説明が悪かったのですが
「サーブレットAがある値をsetして
サーブレットBがその値をgetしたりすることを想定しています 」
と、書きましたが
「サーブレットAがある値をsetして
あるクラスBがその値をgetしたりすることを想定しています」
に、読み替えてください

つまり、>>543さんの言うようにやりたいのですが
そうすると、クラスBもサーブレット関係のクラスを継承しなければなりません
クラスBは普通のユーティリティークラスなので無駄な継承はしたくありません

そもそも、Webアプリケーション上にあるクラスはBeanを除いて
HttpServletなどのクラスを継承すべきなのでしょうか?
0553デフォルトの名無しさんNGNG
> そもそも、Webアプリケーション上にあるクラスはBeanを除いて
>HttpServletなどのクラスを継承すべきなのでしょうか?
いやそんなことはない。ていうかしないほうがいい。
どのBeanからもServletContextにアクセスしたいのならHttpServletRequestの
参照を持ち回ればできるのだが、それもあまりおすすめできるものではない。
Servlet API周りを使っていないBeanからもアクセスしたいのなら
やはりSingletonパターンだろうな。
0554542NGNG
>>553
レスありがとうございます

やはりそうですよね
最初僕も、コンテキストの参照の使いまわしを試みましたが
「このやり方はどうなんだろう?」と思い>>542で質問させてもらいました

「setAttributeでセットされたBeanを普通のクラスからアクセスしたい」
っていう問題は、そもそも設計が間違ってるのかな・・・・
クラスの切り分け方も含めてもう一度検討してみます
無理なら、Singletonで行きます
0555デフォルトの名無しさんNGNG
SUNが買収されるようですが、Javaはどうなりますか?
http://slashdot.jp/articles/03/05/04/1859220.shtml?topic=68
0556デフォルトの名無しさんNGNG
JavaはすでにSunの手を離れているよ。
JCPが管理してる。
でもIBMが買ったらSunのJava SDKは無くなってIBM JDKがデファクトスタンダードになったりしてw
0557デフォルトの名無しさんNGNG
>>546
>541が言う基本的は間違ってないと思われます。
AP鯖の実装の問題でしょ。
0558デフォルトの名無しさんNGNG
>>554
安易にSingletonにするのも考え物だが。
読み込むDBの値はアプリ終了まで不変なのかい?
0559デフォルトの名無しさんNGNG
>>556
JCPってなんですか?
http://www.jcp.or.jp/
0560デフォルトの名無しさんNGNG
今JDKの1.3を入れてるんですけど、1.4を新しく入れたい時って
1.3はアンインストールしちゃって良いのでしょうか?

消す場合は、アプリケーションの追加と削除でOKですか?
また、残しておくメリット等はありますか?
0561デフォルトの名無しさんNGNG
>>560
クロスコンパイルしたけりゃ残したらいい。
0562デフォルトの名無しさんNGNG
>>559
http://www.jcp.org/
0563デフォルトの名無しさんNGNG
559 名前:デフォルトの名無しさん :03/05/05 14:42
>>556
JCPってなんですか?
http://www.jcp.or.jp/
0564デフォルトの名無しさんNGNG
>>559
馬鹿は氏ね
0565デフォルトの名無しさんNGNG
>消す場合は、アプリケーションの追加と削除でOKですか?
OK。

>また、残しておくメリット等はありますか?
このようなことを聞く君にとっては無いだろう。

環境変数PathとかJDK_HOMEを直しとけよw
0566560NGNG
>>565
ありがとうございます、そう言えばインストールした時に環境変数とか打ったっけ。
561氏もわざわざありがとうございます。
0567bloomNGNG
http://homepage.mac.com/ayaya16/
0568デフォルトの名無しさんNGNG
>>565
Pathはわかりますが、JDK_HOMEはどこで設定するんでしょう?
0569デフォルトの名無しさんNGNG
>>568
変数作るんだよ。
0570デフォルトの名無しさんNGNG
環境変数JDK_HOMEにはホームディレクトリだけ指定すればいい
binはいらんよ
0571デフォルトの名無しさんNGNG
>>568
環境変数、理解してる?
0572デフォルトの名無しさんNGNG
javaのプログラムを書いていくには、クラス図を見ながら先にクラスを作るのと、シーケンス図見ながら、実行クラスと同時に作っていくのどちらがよいのでしょうか・
0573デフォルトの名無しさんNGNG
>>572
コーダーやってんの?
0574デフォルトの名無しさんNGNG
>>573
コーダーってなんですか?まだ、初学者なのでわかりません
0575デフォルトの名無しさんNGNG
組み込み用VM
http://www.geocities.co.jp/SiliconValley-PaloAlto/2038/
0576デフォルトの名無しさんNGNG
>>574
初学者さん、UMLは解ってるんだ?
0577デフォルトの名無しさんNGNG
JDK_HOMEなんて今まで設定しないで使ってたんですがまずいですか?
1.3と1.4がきちんと動いてます。Pathは設定してます。
0578デフォルトの名無しさんNGNG
>>576
よくわかってはいないのですが、課題が先ほどの表記法でプログラムを組まねばならないので・・・ 
0579デフォルトの名無しさんNGNG
>>577
Editor + JDK だったらJDK_HOME設定しなくても大丈夫ですが。
その他ツール等でJDKのインストールディレクトリを参照するようなことが
あればJDK_HOMEを設定する必要があります。
0580デフォルトの名無しさんNGNG
>>578
課題でクラス図とシーケンス図があるなら、両方見ながら組んだらいいだろうがよ。
何を悩む必要がある?
0581デフォルトの名無しさんNGNG
それが、課題の説明書きにまず、クラスを作ってから実行クラスを作れ、
みたいに書いてあるんで・・・ 貴方のおっしゃるとおり、普通なら両方を
参照しながらが普通なのだと思うのですが。あと、将来的にクラス・シー
ケンス図を書けないといけないので、どうするのがベストなのかお聞きし
たくて。
0582デフォルトの名無しさんNGNG
>>579
ありがとうございます。
0583デフォルトの名無しさんNGNG
サーブレットをサポートするプロバイダってどこがあるんだろう…?
俺んち、PC1台しかないんでWebサーバーにするのが正直怖くてできない。
0584デフォルトの名無しさんNGNG
オレならクラス図見ながらメソッドの中身を空にしたクラスから作るかな。
値を返すものはとりあえず0とかnullとかnew Object()とか""とか返しておく。

まず最初に全体がコンパイル通るようになるので開発に便利。
0585584NGNG
>584
つーか、これってふつーのやり方で、今さら偉そうに言うほどのものでもないと思うけどな。
0586デフォルトの名無しさんNGNG
>>584
スタブとかドライバって奴だな。

基本情報技術者の本に載ってたよ。
0587デフォルトの名無しさんNGNG
>>586
テストファーストの開発ではテストケースクラスをスタブとして、先ず作ります。
0588デフォルトの名無しさんNGNG
>>587
fast?first?
0589デフォルトの名無しさんNGNG
>>588
検索しる
0590デフォルトの名無しさんNGNG
>>589
知らない、と。
0591デフォルトの名無しさんNGNG
>>590
ハァ?
0592デフォルトの名無しさんNGNG
>>591
認めたくない、と。
0593デフォルトの名無しさんNGNG
>>592
ハァ?
0594デフォルトの名無しさんNGNG
>>593
図星を突かれて言葉が出ない、と。
0595デフォルトの名無しさんNGNG
>>594
何が図星なのか読み取れないのだが。
0596デフォルトの名無しさんNGNG
>>583
これのどこかにリストアップされている
http://pc2.2ch.net/test/read.cgi/hosting/1016218662/
0597デフォルトの名無しさんNGNG
JDK_HOMEってネタ?俺が知らないだけ?
JAVA_HOMEかと思っていたが。

Test Firstという言葉を本当に知らない奴もいるんだな。
0598デフォルトの名無しさんNGNG
>>597
変数名は何でもいいんじゃないの?ツールがJAVA_HOMEの値を期待してたら
JAVA_HOME変数を作ればいいし。
0599デフォルトの名無しさんNGNG
>>598
統合開発環境も多くのアプリサーバやツールはJAVA_HOMEを期待している物がほとんどだと思っていたのだが。
JDK_HOMEを期待するソフトウェアなんてあるの?
0600デフォルトの名無しさんNGNG
>>599
漏れの同僚が作った糞ツールはJDK_HOMEを期待してますが何か?
0601デフォルトの名無しさんNGNG
>>600
そりゃ糞だわ。たしかーに。
0602デフォルトの名無しさんNGNG
ant使ってないJavaのプロジェクトってあるの?
0603デフォルトの名無しさんNGNG
>>602
makeでやっているものもあるかもな。
0604デフォルトの名無しさんNGNG
>>602
JBuilderで作った香具師とかに多そう
0605デフォルトの名無しさんNGNG
>>604
ハァ?意味わかんね。
0606デフォルトの名無しさんNGNG
普通はmake
0607デフォルトの名無しさんNGNG
>>606
他のOSに移行するとき手間取らないか?
0608デフォルトの名無しさんNGNG
その辺は根性(大和魂)で。
0609デフォルトの名無しさんNGNG
antなんて気にかけたことも無い
0610デフォルトの名無しさんNGNG
>>606
そうなのか?
オープンソース系だけでなく、Sunが配布するソフトもbuild.xml
添付の物が多くて事実上antはスタンダードだと思っていたが。
0611デフォルトの名無しさんNGNG
jikesで爆速コンパイルしているのにantの起動の遅さにムカツク。
まぁantは標準だと思うけど、常用はしないな。
配布する時だけbuild.xml作る。
0612デフォルトの名無しさんNGNG
>>611
今度からは常用しるようにしろよ。
あんたが作った職人じみたビルドツールが運用入ってからも使われると思うと
メンテする人が可愛そうでしかたがない。
0613デフォルトの名無しさんNGNG
>まぁantは標準だと思うけど、常用はしないな。
>配布する時だけbuild.xml作る。
いいエンジニアだ。
わかってない奴はむやみにant否定して他人にも
それを押しつける。
0614デフォルトの名無しさんNGNG
>>612
配布するときはbuild.xml作るって言ってんじゃん。
0615デフォルトの名無しさん NGNG
質問です。
JavaScriptで、そのブラウザを使っているコンピュータ名を
取得することってできますか?
0616デフォルトの名無しさんNGNG
自作ツールを強要するエンジニアってうざい。
しかも、使えねーやつを強要するなよ。と小一時間。
0617デフォルトの名無しさんNGNG
>>615
JavaScript質問スレにでも逝け。もまいはハッキングでもする気かよ。
0618デフォルトの名無しさんNGNG
明日までにDBつきの掲示板を作らなければならないんですけど、もう自分には無理です。
どなたかよいサイト教えてくださいませんか?
0619デフォルトの名無しさんNGNG
>>618
スレ違い。
VBスレに逝け。
0620デフォルトの名無しさんNGNG
>>618
http://web.teglet.co.jp/naoko2/index.php
ここ見て詫び状でも書け。
0621デフォルトの名無しさんNGNG
「makefileをください」と言ったらmake.bat(中身はjavac Hoge.javaの羅列)を渡されたことがあったよ...
0622デフォルトの名無しさんNGNG
>>621
漏れのところもそんな感じ。ant使えって。
0623デフォルトの名無しさんNGNG
>>612
メンテする人は用意してあるbuild.xmlを使う。
運用入ってからもmake使う人はMakefile使うし、ant使う人はbuild.xml使う。
共存できるんだから別にいいんじゃないか?


# ちなみに俺のMakefile
PROJECT = プロジェクト名
include 色んなルールを生成するMakefile.mk
Main-Class = jp.gr.java_conf.メインクラス
Class-Path = $(TOPDIR)/lib/追加するクラスパス.jar

これでコンパイル、クリーン、実行、ドキュメント生成、配布jar生成 ができるようになってる。
Windows,Linux,Solarisで動く。
062480NGNG
>>132
結局、javaのversionが1.4なのがマズかったらしく
1.3にしたら上手くいきました。 遅れましたが有難うございました。
0625デフォルトの名無しさんNGNG
>>623
両方管理するのは無駄だと思うが。
Makefileにこだわらなきゃいけない理由ってあるのか?と聞きたいね。

自分のやり方をかえられるのを嫌うやつって多いよな、この業界。
自己流を維持すること自体が無駄な作業の源かもしれないのに。
0626デフォルトの名無しさんNGNG
>>624 なんつーか、J2MEの前提条件くらい調べとけよって感じだな。
0627デフォルトの名無しさんNGNG
>>625
>>611を嫁。

>両方管理
ってなんだ?何を管理するんだ?
何もやることないだろう?

>自分のやり方をかえられるのを嫌うやつって多いよな
ant使ってましたが、その遅さのせいで「自分のやり方をかえられ」ましたが、何か?


そもそもたかがコンパイルするためのツールに必死になるお前の気がしれん。
俺はmakeもantもTPOで使い分ける。お前はantしか使わずしかも他人に強要する。何様だ?
0628デフォルトの名無しさんNGNG
ant推進委員会の会員ですが。
0629デフォルトの名無しさんNGNG
>>628
あ、そうだったんですか。すいません。言い過ぎました。
それなら仕方ないですね。
まあ俺もantは使ってないわけじゃないんだから許してくれ。
0630デフォルトの名無しさんNGNG
>>627
貴様、運用・保守やったことあるのか?職人じみたツールで実績作られたら、
その後手の入れようがないって。開発だったら使い分けで済まされる
だろうが運用してて使いまわしなんてしてたら袋叩きにされるぞ、まじで。
0631デフォルトの名無しさんNGNG
>>630
は?
>その後手の入れようがない
のは何故?build.xml + ant じゃ不満なのか?
0632デフォルトの名無しさんNGNG
>>630
つまり、antを否定してるってことか?
0633山本山NGNG
antに不満を持っているからこそ、俺が新しいツールを開発しているんじゃねーか。
0634デフォルトの名無しさんNGNG
ちょっと本人は興奮しているようなので他の人に聞きたいのだが、
俺はantもmakeもどちらも使える用意はしてある。
で、俺はantは起動が遅いという理由で普段はmakeを使ってる。

さっきから突っかかってくる香具師は、職人じみたツールだから誰も手を入れられないし、袋叩きにされると言ってくるんだが。
Makefileを消せば満足なのか?
俺は別にMakefileがあっても何の支障もないと思うんだが。
make使わない人はant使うだけだし。
0635デフォルトの名無しさんNGNG
antのタスクを真似て、自作してあったツール食らったときは参ったぜ。
0636デフォルトの名無しさんNGNG
そろそろIDE派が出てきて話をまぜっかえすころあいだな。
0637デフォルトの名無しさんNGNG
>>625 自分のやり方をかえられるのを嫌うやつってお前のことだな。
0638デフォルトの名無しさんNGNG
634は「配布するときはbuiild.xml作る」って言ってるんだから
それで充分じゃない?
自分は自分のやりたいようにして、他人には他人が使いやすいように
配慮してるじゃん。
いいエンジニアだと思うけどね。
0639デフォルトの名無しさんNGNG
と言いますか、JBuilderでビルドが一番いいよ!
なにせBuilderっていうくらいだからね!
0640デフォルトの名無しさんNGNG
勘違いしたまま非難して、引っ込みがつかなくなったのではないだろうか。
0641デフォルトの名無しさんNGNG
ボクのIDEはant使っているのでボクはantユーザーです。
ant楽々使いこなしてますよ。antマンセー。
0642デフォルトの名無しさんNGNG
>>640
だったら素直に謝ればいいのに。変にプライドが高いのかねえ。
0643デフォルトの名無しさんNGNG
>>642
ごめんなさい(w
0644デフォルトの名無しさんNGNG
StringBuffer bf があったとして、このオブジェクトからString型を得たい場合、
String s = new String(bf);
と
String s = bf.toString();
どちらがおすすめでつか?
0645デフォルトの名無しさんNGNG
>>644
自己レス。
java.lang.StringBufferのソース見たら、

public String toString() {
  return new String(this);
}

だそうで。
どっちでも一緒なのねん。
0646デフォルトの名無しさんNGNG
String s = bf + "";(w
0647デフォルトの名無しさんNGNG
好みでは、String s = bf.toString();
かな。
0648デフォルトの名無しさんNGNG
インスタンスhogeがあるとします。

Hoge hoge2 = new Hoge();
hoge2 = hoge;

この場合のhoge2と、

Hoge hoge2 = hoge;

この場合のhoge2では、実体が違いますか?
色々試してると、前者は別の参照になっているように思えるのですが。
0649デフォルトの名無しさんNGNG
いや、ならないっすね。勘違いでした。スマソ。
0650デフォルトの名無しさんNGNG
java でクラスパスを-classpathで指定するときディレクトリ名
にピリオドが含まれると勝手に/に解釈してしまうようなんですが。
jakarta-tomcat-4.0.6→jakarta-tomcat-4/0/6のように。
これを回避する方法はないですか。
Webプログラマ版で聞いたのですが、返事がなくてこっちでも
質問してすいません。
0651デフォルトの名無しさんNGNG
jikes導入する予定なんですけど
注意点とかあったら教えて下さいタマ
0652デフォルトの名無しさんNGNG
文字エンコーディングを判定するにはどうすればいいですか?
UTF-8,Shift_JIS,EUC_JP,ISO-2022-JPが判別できればいいのですが。
0653デフォルトの名無しさんNGNG
JAVAで印刷を行いたいんですが
1ページはでるんですが2ページとか複数ページをだそうとしても何もでてきません。
どうすればいいのでしょうか?
ちなみにソースはJavaPress27巻のJavaちょこっとテクという部分のものを使っています。
0654デフォルトの名無しさんNGNG
>>653
どうやっているのか分からない書き込みに、
どうアドバイスすればいいのでしょうか?
0655653NGNG
すみません。
初心者なものでどう書いていいのかわからなくて・・^^;

ソースはここから落とせますので良かったら教えてください。
http://www.gihyo.co.jp/magazines/javapress/support/Vol27
0656bloomNGNG
http://homepage.mac.com/ayaya16/
0657デフォルトの名無しさんNGNG
>>655
おまえなぁ・・・そんなに人のコード読むのが
めんどくさいのか?
コメント部分だけ読んだら俺でも原因わかったぞ
もう一回読め
0658デフォルトの名無しさんNGNG
>>653
それとも自分で複数ページ出るようにソース変えてもダメってこと?
0659653NGNG
えっと、印刷を行うページ数ってところの
returnを2とかに変更したんですがこれだけでは駄目なんでしょうか?
0660デフォルトの名無しさんNGNG
>>659
1ページ目用Printableと2ページ目用Printableを用意して、
両方をPageableに登録して、PageableをPrinterJobに渡しませう。
0661デフォルトの名無しさんNGNG
JTabbedPane#setToolTipTextAt(int,String)を実行してもタブにツールチップがつかないのですが・・・。
これは1.4.2-beta-b19を使ってるせいでしょうか?
0662653NGNG
>>660
それって例えばPrintableファイルをコピーしPrintable2とかクラスを作って
2ページ目はそれを印刷するようにしたらいいんですよね?
0663動画直リンNGNG
http://homepage.mac.com/hitomi18/
0664デフォルトの名無しさんNGNG
>>662
それはオブジェクト指向ではない
話の内容は良くわかんないけど
>>660の言っていることは
Printableのインスタンスを2個以上作れってことでないの?
ま、違ったらすまん
0665デフォルトの名無しさんNGNG
>>653
戻り値で、まだ印刷終了してない事をあらわす定数を返せば
何ページでも印刷可能。
0666 NGNG
 携帯アプリを作ろうと思って、J2MEで勉強しているのですが、
コンパイルは通るのに、実行時エラーがでてしまうのです。
Build complete
java.lang.NullPointerException
at DrawCanvas.paint(+32)
at javax.microedition.lcdui.Display.serviceRepaints(+105)
at javax.microedition.lcdui.Display&DisplayAccessor.timeEvent(+34)
at com.sun.kvem.midp.lcdui.EmulEventHandler$EventLoop.run(+545)

これを読んでいる感じだと、最初のatのみ自分のプログラムに間違いがあり
あとはライブラリが悪いみたいに受け取れるんですが
本で勉強しているのですが、CD-ROMに入ったソースをそのままビルドしても
同じエラーがでるので、混乱しています。
 エラーメッセージの読み方が悪いのでしょうか?
 環境は win2k wtk104 java sdk 1.3 です。
 どうぞよろしくお願いします。
0667デフォルトの名無しさんNGNG
>>666
> java.lang.NullPointerException
> at DrawCanvas.paint(+32)
> at javax.microedition.lcdui.Display.serviceRepaints(+105)
> at javax.microedition.lcdui.Display&DisplayAccessor.timeEvent(+34)
> at com.sun.kvem.midp.lcdui.EmulEventHandler$EventLoop.run(+545)

ってのは、DrawCanvas.paint() で NullPointerException が発生した。
その DrawCanvas.paint() は javax.microedition.lcdui.Display.serviceRepaints() で呼ばれていて、
その javax.microedition.lcdui.Display.serviceRepaints() は javax.microedition.lcdui.Display&DisplayAccessor.timeEvent で呼ばれていて、
....

って意味です。
0668デフォルトの名無しさんNGNG
>>667
ぬるぽだな。
0669デフォルトの名無しさんNGNG
俺、s1s(ForteForJava4)なんでmakefileとかantとか知らないんだけど
知っておいtほうがいいかな?
0670デフォルトの名無しさんNGNG
>>669
覚えて損する知識なんて無いぞ。この業界。
0671まりこNGNG
以前ホームページビルダーでホームページを作って転送してネット
上で公開していました、本屋で初心者作成マニュアル見ながらです、それでし
ばらくそのホームページはほっといていて今日しさしぶり自分のホームペー
ジでも編集しようと思いビルダーを起動してファイルを読み込もうとクリックした
らファイルが見つからないと出てファイル名が消えてしまいました、多分マ
イドキュメントの方のフォルダをいつの間にか消してしまっていたからのようです、
それで1からやりなおそうとマニュアル片手にとりあえず再度製作する前に新しいファイ
ルとサイトを作っておこうと画面にテストという文字だけ入れてサイト転送しました、転
送ができないなどと言う文字は出てきません、そしてエクスプローラーから自分のアドレス
を入力、しかしネット上にあるのは前のホームページでした、なぜ転送できないのかと自分
なりにいろいろやってみたけど上書きできません、どうすればいいのですか?実はまえに同じこ
とがあって、アンインストールして最初からやるとできました、アンインストールして最初から
なんでしょうか?転送の仕方を教えてください
0672デフォルトの名無しさんNGNG
>>671
index
0673デフォルトの名無しさんNGNG
>>667
ありがとうございます。
ということは、やっぱりDrawCanvasに間違いがありそうですね。
誤植? ソースに間違いがあるんでしょうか?
自分で見た感じだと、エラーがあるようには見えなかったのですが、、、、
メインルーチン DrawTest.java
 public class DrawTest extends MIDlet {
/** コンストラクタ */
public DrawTest() {
Display.getDisplay(this).setCurrent(new DrawCanvas());
}

/** MIDlet開始時に呼ばれるメソッド */
protected void startApp() throws MIDletStateChangeException {}

/** MIDletが一時停止時に呼ばれるメソッド */
protected void pauseApp() {}

/** MIDletが終了時に呼ばれるメソッド */
protected void destroyApp(boolean unconditional) throws MIDletStateChangeException {}
}

DrawCanvas.java
0674デフォルトの名無しさんNGNG
>>673のつづき
DrawCanvas.java

class DrawCanvas extends Canvas {
private Imageimg;
DrawCanvas() {
try {
img = Image.createImage("/mi.png");
}catch(java.io.IOException e) {}
}
protected void paint(Graphics g) {
//背景を白に塗る
g.setColor(0x00FFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());
//画像を描画
g.drawImage(img, 0, 0, Graphics.TOP|Graphics.LEFT);
//カラーを黒に指定
g.setColor(0x00000000);
g.drawLine(40, 10, 90, 10);
g.setStrokeStyle(Graphics.DOTTED);
g.drawLine(40, 20, 90, 20);
g.setStrokeStyle(Graphics.SOLID);
g.drawString("Hello!", 10, 30, Graphics.TOP|Graphics.LEFT);
g.drawRect(10, 55, 20, 15);
g.fillRect(50, 55, 20, 15);
g.drawRoundRect(10, 75, 20, 20, 7, 7);
g.drawArc(10, 100, 15, 15, 0, 300);
g.fillArc(50, 100, 15, 15, 0, 300);
}
}
なんですが、どうでしょうか?
0675デフォルトの名無しさんNGNG
/mi.png が無くって img が null とかでないの?
っつかDrawCanvas.javaの32行目ってどこよ
0676デフォルトの名無しさんNGNG
>>674
つーか、なぜprotectedでコンパイルが通る?
0677676NGNG
あ、アプレットと勘違いした。
誤爆。
打つ出し脳
0678デフォルトの名無しさんNGNG
>>674
つーか、なぜprivate Imageimg;でコンパイルが通る?
エラーの読み方もわからないレベルなんだから、ソース貼るときは
しっかりコピペしてよ。行番号全然わからんよそれ。原因は
675に同意なんだけど、それほんとに本の通りなの? Image.createImage
の後の処理とかかなり手抜きなんだけど、書名も教えてよ。
0679デフォルトの名無しさんNGNG
antかmakeかって話は、

自分以外一切使わないならmake使っても構わんが
人に配布するときはmake使って欲しくないな。

antが遅いからmake使うって人はどんな環境なんだろうか。
antで何も考えずにjavacするとコンパイルしなくていいものまでまとめてコンパイルするから
重いというのはまあわかる。

そんなときはEclipseでantを使うのがいいんではないかと。
ファイルを保存すると同時にコンパイルするので高速。
「最新表示」による更新もなかなか早い。
けどjavadocやjarはantの方を愛用してますよ。

antのいいところって逝ったら、自分が書いたmakeファイルの文法ミスに気づきやすいか
そうでないか、といった違いだろうか。XMLパーサが文法ミスを厳しくチェックしてくれるのはありがたい。
署名もjunitも実行もFTP転送も皆ant。

0680デフォルトの名無しさんNGNG
早速、ありがとうございます
>>674
>>678
 すみませんでした スレを汚しているような気がして、
コメント部とスペースを削除していました。
 本は http://www.skyarts.com/japan/books/midp_game/index.html
で紹介されているものです。 
 以下が正確な全文になります。
/*
* DrawCanvas.java
*
* Copyright 2001 SkyArts. All Rights Reserved.
*/
import javax.microedition.lcdui.*;

/**
* 低レベル描画を行うCanvasクラス
*
* @author Hideki Yonekawa
* @version 1.0
*/
0681デフォルトの名無しさんNGNG
>>679
インクリメンタルって知ってる??antでタスク作ったことあるの?
0682デフォルトの名無しさんNGNG
class DrawCanvas extends Canvas {
/** Imageオブジェクトを保持する変数 */
private Imageimg;

/** コンストラクタ */
DrawCanvas() {
//画像を取得
try {
img = Image.createImage("/mi.png");
}catch(java.io.IOException e) {}
}

/** 描画を行うメソッド */
protected void paint(Graphics g) {
//背景を白に塗る
g.setColor(0x00FFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());

//画像を描画
g.drawImage(img, 0, 0, Graphics.TOP|Graphics.LEFT);

0683デフォルトの名無しさんNGNG
//カラーを黒に指定
g.setColor(0x00000000);

//線の描画
g.drawLine(40, 10, 90, 10);

//破線に指定
g.setStrokeStyle(Graphics.DOTTED);
//破線を描画
g.drawLine(40, 20, 90, 20);

//破線を通常の線に戻す
g.setStrokeStyle(Graphics.SOLID);

//テキストを描画
g.drawString("Hello!", 10, 30, Graphics.TOP|Graphics.LEFT);

//四角形を描画
g.drawRect(10, 55, 20, 15);

0684デフォルトの名無しさんNGNG
Swingやってみたら面白いです。目に見えるって、やってて楽しいね。
0685デフォルトの名無しさんNGNG
>>682
あなた、コメントに無駄がありますよ。人目見て解るようなことは書かない方がよろしい。
仕様的に意図した挙動をコメントしなさい。
0686デフォルトの名無しさんNGNG
//塗りつぶしの四角形を描画
g.fillRect(50, 55, 20, 15);

//角の丸い四角形を描画
g.drawRoundRect(10, 75, 20, 20, 7, 7);


//円弧を描画
g.drawArc(10, 100, 15, 15, 0, 300);

//塗りつぶしの円弧を描画
g.fillArc(50, 100, 15, 15, 0, 300);
}
}

です。 private Image img; の空白は消すはずがないのですが、
消してしまっていたようです。申し訳ありませんでした
32行目は,g.drawImage(img, 0, 0, Graphics.TOP|Graphics.LEFT);
にあたります。 
0687682NGNG
>>685
すみません 
本のCD-ROMソースの転写ですので、
自分で書いているときにそのようなことがないように気をつけます。
0688デフォルトの名無しさんNGNG
>>686
リア厨かもしれんが、せめてWebで落とさせるくらいの気を使えよ。
長々と載せても俺らにはサンプルコードレベルなんだから。
0689デフォルトの名無しさんNGNG
>>688
プログラムを組もうとしているくせに
ファイルのアップの仕方も知りませんでした。
すみませんでした。
それ位のことはできるように勉強します。
0690デフォルトの名無しさんNGNG
まあ、結論は>>675でFAってことで
0691デフォルトの名無しさんNGNG
>>689
あんた本当はJavaバリバリ使ってるんだろ?業務で5年くらいやってんだろ?
もうネタは止めてくれ。
0692デフォルトの名無しさんNGNG
>>674
>>678

32行目のコードを見て、やっと仰っている事の意味を理解しました。
適当な画像をpngに変換して置いてやったら、実行時エラーもなく
正常な動作をしました。
 長々とスレを汚してしまってすみませんでした。
0693デフォルトの名無しさんNGNG
>>682
じゃあ、画像が読み込めてない。
try {
img = Image.createImage("/mi.png");
}catch(java.io.IOException e) {
e.printStackTrace();
}
でエラーを確認してちょうだい。
0694デフォルトの名無しさんNGNG
>>692 めちゃくちゃ笑った。まあファイルのアップロードの
仕方知らないと最終的にゲームできてもWeb配布できないわけだが。
0695デフォルトの名無しさんNGNG
"/mi.png" はないだろ。まじで。
0696693NGNG
ぐあ、また誤爆。
吊ってくる。
0697デフォルトの名無しさんNGNG
>>695
なぜかありますた
0698デフォルトの名無しさんNGNG
>>670
delphiとかは覚え損かもな
0699デフォルトの名無しさんNGNG
探し物があるのですが、教えていただけないでしょうか?
1・javaのインタプリタ
2・javaのマクロツール

1はjavaはインタプリタだろって突っ込みはなしで、
pythonとかN88BASICみたいなものです。
2はCのようなマクロを書いて、プリコンパイルするようなものです。
宜しくお願いします。
0700デフォルトの名無しさんNGNG
700get
0701デフォルトの名無しさんNGNG
>>699
1. は BeanShell とか。

2. は良くわからんけど、プリコンパイルして Java のソース吐くの?
0702デフォルトの名無しさんNGNG
>>701
サンクスコ!
2はプリコンパイルでもコンパイルでもどっちでもいいです。。
0703デフォルトの名無しさんNGNG
>>699
概要 - フープ!FREE http://www.hirokiok.com/ja/hooope/

フープ!FREE は、強力で使い易い Java 製テキストエディターです。
次のような特徴を持っています。

Java インタープリターを内蔵
機能が豊富なエディター
Java/Web開発に最適
フリーソフト

業務での Java プログラミングや JSP/Servlet プログラミングなどのほか、
HTML 編集や日常的なテキスト編集にも適しています。
0704プロの逝って良しの1 ◆MvRbZL6NeQ NGNG
http://flp.cs.tu-berlin.de/~tolk/vmlanguages.html
こういうので良ければ大抵の言語はあるみたいだぞ
0705デフォルトの名無しさんNGNG
CのプリプロセッサcppはJavaでも使えるよ。#defineとか#ifdefとかなら十分いける。
が、そんなことしてJavaソースの可読性を下げてどうするつもり?
0706プロの逝って良しの1 ◆MvRbZL6NeQ NGNG
コンパクト化すれば読む必要無いのです
0707デフォルトの名無しさんNGNG
>>703
フープって凄いね。eclipse使ってるから
エディタとしては必要ないけど個人レベルで
よくここまで作れるって感じ。

>>705
cppってJavaでもいけるんですか・・・
知らんかったです。
0708ぽぽNGNG
実行中のスタックを参照して
呼び出し元のローカル変数を参照するとかって
Javaでできるのでしょうか?
0709デフォルトの名無しさんNGNG
>>708
そこに意味はあるのかい?
0710ぽぽNGNG
いや、Cでは出来るからJavaが出来ないとなるとクソだなぁと。
0711デフォルトの名無しさんNGNG
>>708
それができたら SandBox とか簡単に崩れないか?
0712プロの逝って良しの1 ◆MvRbZL6NeQ NGNG
スタック参照は出来ないと思う。
素直に引数で渡せば?
0713プロの逝って良しの1 ◆MvRbZL6NeQ NGNG
Javaは糞
諦めれ
0714ぽぽNGNG
>>709
例えば、
public int xxx(){
int a = 5;
int b = 10;
Debug.dump(); <--ここでaとbの状態を表示
}
みたいなものを作れないかなと思いまして。
フィールドなら参照できてもローカル変数はどうなんでしょう?
0715デフォルトの名無しさんNGNG
>>710
とは言っても、C言語の仕様の範囲内では
呼び出し元のローカル変数なんて触れないけどね。
スタックにどんな風に呼び出し元のアドレスが積まれるか、
とかまで規定されて無いでしょ。
0716ぽぽNGNG
>>710は偽者
0717デフォルトの名無しさんNGNG
>>710
JavaだとVM内部の話しになるから無理なんじゃない?
漏れの浅知恵で言わせてもらうと、JNIで共用メモリを参照するような
ことをやったらできそうな予感がしないでもない。
0718デフォルトの名無しさんNGNG
スタックなんて言葉すら出てこないよかーん
0719デフォルトの名無しさんNGNG
そもそもスタックというデータ構造を無視した方法はよろしくないかと思います。
0720デフォルトの名無しさんNGNG
>>714
それって C言語だったら実装できるんか?
0721デフォルトの名無しさんNGNG
たしか、VM仕様ではスタック領域で変数・メソッドの積まれ方は規定されてたような・・・。
0722718NGNG
ああ、俺が言っているのはCの仕様のことね。
>>715へのレス
0723ぽぽNGNG
>>717
TTYデバッガ使うと参照できるみたいなんですが、
結局TTYデバッガから別のJVMを起動して、
その中でデバッグ対象のクラスを実行しているっぽいです。
ところで、別プロセスで動いているJVM間で
値のやり取りっていうのはできるのでしょうか?
0724デフォルトの名無しさんNGNG
JVMDI でぐぐれ。
0725デフォルトの名無しさんNGNG
>>723
まだ勉強中なのだが、RMIだったら可能なはず。

プロセス間通信だけ言わせてもらうと、
クラサバでプロセス間通信は普通にやるみたいだし。
カスタムプロトコルを作らなくてもRMIだったら簡単にできるとの噂。
リクエストもレスポンスもない。あるのはメソッド実行だけだ。
0726デフォルトの名無しさんNGNG
調査してんの?w
0727デフォルトの名無しさんNGNG
>>725
内部でリクエストレスポンスを隠蔽しているだけだけどな。

でもってさらに、開発者がテヌキをするために、EJBという
上位レイヤがあるわけさ〜。EJB>RMI>TCP/IPさ〜。
0728デフォルトの名無しさんNGNG
>>725
あと、デバッグ用のスタックやヒープの参照は、専用のプロトコルでプロセス間
通信してるのさ〜。プロトコル名がそのままリンクライブラリ名になってるさ〜。
JDWPっていうさ〜。探してみるさ〜。

でもってその上にあるAPIがJVMDIさ〜。
JVMDI自身はネイティブCの関数ライブラリだけど、その上にJDIてのもあるさ〜。
実行状態のトレースとかお手軽に出来て、結構面白いさ〜。
システム作ること自体には役に立たんけどね〜。

0729デフォルトの名無しさんNGNG
アプレットをあるパッケージ内においた場合、HTMLからどうやって指定するの?
0730デフォルトの名無しさんNGNG
VM を -Xdebug, -Xrunjdwp をつけて起動しておけば下位部からアタッチ
してデバッグすることは可能。(手元のマシンでは shmemBase_attach failed
のエラーになってしまうが...)

RMI, Serialize, socket を使ってデータを渡すことも可能だが、それは
参照される側がそれを前提に作られている場合の話。

>>708
JVM 仕様ではスタックのフォーマットに関しての厳密な規定はない。
目的はいろんなアーキテクチャで(無理なく)インプリできるように
するため。VM 側が保障するのはカレントメソッドがカレントフレーム
のローカル変数に正しくアクセスできることだけ。スタック自体、
連続である必要もなし、その方向も規定されていないし、データを
どのようにおくかのアライメントも規定はない。

メソッドが HotSpot compile されると compile されたメソッドの
ローカル変数になる。この時点でインタープリタモードとは変数の
おき方が変わってくる。HotSpot は小さなメソッドをインラインで
呼びもとのメソッド中に展開することもあるので、HotSpot がどの
辺りに変数を置くか予想しても無駄。それに、ローカル変数を
スタックに置くのってレジスタの足りない某社のプロセッサぐらいで、
近代的なプロセッサは可能な限りレジスタに置く。レジスタは無限
ではないので場合によってはどこかにストアされることもあるが、
どこにおくかはアーキテクチャによってことなる。
0731デフォルトの名無しさんNGNG
呼びもとのメソッドのローカル変数を参照する必要性がよくわから
ないが、カレントオブジェクトや、カレントスレッドにその値を
コピーしておくとか、これらに設けたフィールドを今までローカル
変数を使っていた用途に使うと、やりたいことはできるのでは?

スタックのフォーマットがわかったとして、ポインタがないのに、
どうやってアクセスするんだ?そこだけ JNI ?

アプリのつくりに手を加えられないのであれば何らかのデバッグ
インターフェイスを使うことになる。
0732デフォルトの名無しさんNGNG
かなり学習してるみたいだけどHTTPやりすぎなんじゃないの?
リクエストレスポンスだなんて。
EJB>RMI>TCP/IPって、図式化がおかしい。
0733デフォルトの名無しさんNGNG
Swingが高速化されたと言われている1.4.2を入れてみたのですが、
全く速くなった感覚がありません。SwingSetのデモでは、
相変わらずツールバーの表示に2,3秒かかるし、ビューの切り替えにも1秒近くかかるし。
ハードウェアアクセラレーション対応という事だから、何かPC側の環境が悪いんでしょうか?
当方、SharpのMebius MT2-P1を使用しています。

0734デフォルトの名無しさんNGNG
EJB>RMI>Socket>TCP/IP
これなら良い?
0735デフォルトの名無しさんNGNG
すいません。>>650の問題どなたかわかる人いませんか。
0736デフォルトの名無しさんNGNG
データベースとサーブレットで掲示板を作っているのですが、データベースを新しく作り直した場合、サーバー側のトムキャットを再起動させないとだめなんですか?真っ白なページが帰ってきてしまうのです。どなたかご教授お願いします。
0737デフォルトの名無しさんNGNG
>>735
「"」で囲ってみるとか
0738デフォルトの名無しさんNGNG
>>735 その前に、「"."が"/"とみなされている」ってのはどうやって
確認したの? なんかパッケージとごちゃまぜに理解している気がするんだけど。
0739デフォルトの名無しさんNGNG
http://muimi.com/j/jakarta/commons/collections/

このサイトにあるTest1.javaのソースに記述されている、

(isMale ? "男" : "女");

ってどういう意味なんでしょう?
コロンの演算子の意味は?
0740__NGNG
   川o・-・)ノ <先生!こんなのがありました!
ttp://www.yamazaki.90.kg/hankaku/hankaku01.html
ttp://yamazaki.90.kg/zenkaku/index.html
ttp://www.yamazaki.90.kg/hankaku/hankaku04.html
ttp://yamazaki.90.kg/hankaku/hankaku10.html
ttp://www.yamazaki.90.kg/hankaku/hankaku07.html
ttp://yamazaki.90.kg/hankaku/hankaku08.html
ttp://www.yamazaki.90.kg/hankaku/hankaku05.html
ttp://yamazaki.90.kg/hankaku/hankaku03.html
ttp://www.yamazaki.90.kg/hankaku/hankaku06.html
ttp://yamazaki.90.kg/hankaku/hankaku02.html
ttp://www.yamazaki.90.kg/hankaku/hankaku09.html
0741デフォルトの名無しさんNGNG
>>739
三項演算子で検索を
0742デフォルトの名無しさんNGNG
>>739
素質 &= (ひと目見てすぐ分かるか ? あり : なし)
0743デフォルトの名無しさんNGNG
>>739
isMaleがtrueなら男、falseなら女が返る。
0744デフォルトの名無しさんNGNG
三項演算子ってのも何するのかわからない名前だよな。
条件演算子とか言えばいいのに。
0745739NGNG
>>741->>744
禿シク、クスコ(・∀・)
0746デフォルトの名無しさんNGNG
ネットゲームをやっていて疑問があります。どなたかご教示ください。
対戦型のゲームって、ネット上の二人が、生成されたオブジェクトを
共有することによって、データがやり取りされているんでしょうか。
観戦で入ってきた人もそのオブジェクトを共有することにより、
みんなでチャットができているんでしょうか。
それが違うとしたら、どういう仕組み(文法事項)を
つかって、そういう機能を実現しているんでしょうか。
0747デフォルトの名無しさんNGNG
>>746
ゲームをやるのに理屈はいらない。
0748デフォルトの名無しさんNGNG
>>747
惚れたわ・・・
0749デフォルトの名無しさんNGNG
同フォルダにある画像をPanelやLabelなどのコンポーネントに表示させるには
どうしたらいいでしょうか?
#createImageとかそれっぽいのはあるんですが
具体的な実装方法がわからないんです。
(Swingコンポーネント等は使わずに1.1.xの環境で実装したいのですが)
0750デフォルトの名無しさんNGNG
Panel や Label はあんまりお奨めしないが、
やるなら Component#paint(Graphics) をオーバーライドして
そのメソッド内で g.drawImage(img, 0, 0, this); など。this ははじめは気にするな。
画像は Toolkit#getImage(URL) など使って呼び出す。
URL には Class#getResource("image.jpg") とかやっとけ

↑何書いてあるか分からなかったら API を読むことそのものを勉強。
Swing がどうこう言ってるからまぁ大丈夫とは思うが
0751デフォルトの名無しさんNGNG
>>750
>画像は Toolkit#getImage(URL) など使って呼び出す。
drawImageが使えるかも、とまでは思っていたんですが
引数のImageクラスがよくわからなかったのでこれです!
とりあえずやってみます、ありがとうございましたー。

ところでImageクラスはabstractでは無くしてコンストラクタに
new URLとかnew Fileを取れるようにしてもいいような気がするんですが
何故そういう風にはなっていないんでしょうか?
頭の中ではg#drawImage(new Image(new URLorFile("hoge")),x,y,this);
とか出来ると便利だと思うんですが

ちょっと支離滅裂な事言ってるかもしれないですけどすいません^^;
0752デフォルトの名無しさんNGNG
>>751
そんなあなたに
javax.imageio.ImageIO#read
0753デフォルトの名無しさんNGNG
>>751
継承しなくても一意に動作が保証されるなら abstract でなくてもいいが、
デバイス依存で減色の必要があるから、
abstract にしといた方が都合がいいんじゃなかろうか
Imageクラス ≒ ビットイメージだが、画像保存≠ビットイメージだし、
それなのに File や URL をインスタンスで渡すという手法はどうか。
Graphics が abstract なのも同じような理由だろう。
0754デフォルトの名無しさんNGNG
一太郎Arkのソースコードをコンパイルしました

実行しようとすると、途中で止まります
0755プロの逝って良しの1 ◆MvRbZL6NeQ NGNG
リソースが無いからに10ペソ
0756デフォルトの名無しさんNGNG
>>661ですが、どうやらJTabbedPaneに追加するコンポーネントが
JComponentではなくComponentを追加した時にツールチップが付かないようですが、
この認識はあってますか?それともバグでしょうか?
0757デフォルトの名無しさんNGNG
>>756
AWTとSwing混ぜて使ったら、動作は保証できませぬ。
描画の仕組みが全然違うので。
必ずどっちかだけで作りましょう。
0758デフォルトの名無しさんNGNG
>>757
了解しました。ありがとう。
0759デフォルトの名無しさんNGNG
>>757
描画の仕組みってどこまでを言っているのだ。
0760749NGNG
出来ましたー。
本当にありがとうございました・・・(TT)
0761デフォルトの名無しさんNGNG
うぐぅ。>>661=>>756=>>758です。
Canvas c = new Canvas();
// JPanel p = new JPanel(new FlowLayout()); // (1)
// JPanel p = new JPanel(new BorderLayout()); // (2)
p.add(c);
t.insertTab("", null, p, "hogehgoehoge", 0);
(1)だとツールチップはでるんですが、
(2)だと出ないようです。。。

>>757さん
ただレイアウトマネージャ変えただけなのにどういうことなんでしょうか?
描画の仕組みが違うから・・・ですか?
0762デフォルトの名無しさんNGNG
ごめんなさい。>>761は大嘘でした。
BorderLayoutの場合は初回のみツールチップがJPanelの裏に隠れてしまうようです。
JFrameとJPanelのスキマ(分かりますかね?)にツールチップの破片を見つけました。
0763754NGNG
>java -jar ark11.jar
java.lang.NoClassDefFoundError: jp/co/justsystem/ark/model/document/ArkDocument
at jp.co.justsystem.ark.Ark.createDOMTree(Ark.java:1528)
at jp.co.justsystem.ark.Ark.createNewDocument(Ark.java:1441)
at jp.co.justsystem.ark.Ark.createNewFrame(Ark.java:1177)
at jp.co.justsystem.ark.Ark.initInstance(Ark.java:1070)
at jp.co.justsystem.ark.Ark.initJDApplication(Ark.java:1148)
at jp.co.justsystem.jd.JDAStandaloneContext.startJDApplication(JDAStandaloneContext.java:267)
at jp.co.justsystem.ark.Ark.main(Ark.java:107)
訳ワカラン
0764デフォルトの名無しさんNGNG
>>761
JPanelとCanvasまぜて使ってる時点で、動作不定だとおもっとけ。
SunもJava3Dとの兼ね合いもあって今後どうにかしようとはしてい
るらしいが。
0765デフォルトの名無しさんNGNG
>>763
java.lang.NoClassDefFoundError: jp/co/justsystem/ark/model/document/ArkDocument
このエラーって、パッケージ区切りは/だっけ?

とりあえずARK11.jarをunzipで解凍してみてくれ。
jp/co/justsystem/ark/model/document/ArkDocument.classってのがなければ、ビルドミス。
0766デフォルトの名無しさんNGNG
>>764
なるほど。。。
Canvasを使う時はSwingを使うと不安定ってことですか。。
じゃあCanvasの代わりにJCanvasを使えばいいわけですね!
・・・JCanvasが無いよぅ(つд`
0767デフォルトの名無しさんNGNG
>>766
JPanelを使えよ。#paintComponent()をオーバーライドすれば
なんでも描画できるから。
0768デフォルトの名無しさんNGNG
>>767
やる前に質問するのもアレですが、

JTabbedPaneのタブ部分のツールチップは
JPanelにCanvasを追加した後、
JTabbedPaneにJPanelを追加して
paintComponentをオーバーライド、
マウスの位置を判定してJToolTipを描画すればよい

ということですね?(激しくマンドクセー( ゚Д゚)
0769デフォルトの名無しさんNGNG
>>768
だからなんでCanvas使うんだよ。JPanel使えっつってんだろ。
0770デフォルトの名無しさんNGNG
>>769
GeckoがCanvasを返してくるのです。。。
0771デフォルトの名無しさんNGNG
ちょっと言い方おかしかったです。
webclientっていうライブラリがGeckoをCanvasとして返してくるんです。
0772デフォルトの名無しさんNGNG
>765
ビルドログでエラーが出ているみたいです
jdkのヴァージョンを下げて再ビルドしてみます

thx
0773デフォルトの名無しさんNGNG
>>771
じゃあ、Swing使うのやめろ。
0774デフォルトの名無しさんNGNG
>>773
え?そういう結論なのであればツールチップは素直に諦めますよ。
長々とスレ汚しスマソ。
0775デフォルトの名無しさんNGNG
>>771
うまくいくかどうか微妙だが、こういう手もあるかな。
重量コンポーネントと軽量コンポーネントの、画面上
での混在は問題があるが、単に描画ロジックだけを
借りるだけならなんとかなる、かもよ。

public class MyPanel extends JPanel{
 private Canvas canvas;
 public MyPanel(Canvas canvas){
  this.canvas = canvas;
 }
 public void paintComponent(Graphics g){
  canvas.paint(g);
 }
}
0776デフォルトの名無しさんNGNG
>>775 ありが�d。今から試してみます。
0777775NGNG
>>776
多分ダメダと思うけどね。
0778デフォルトの名無しさんNGNG
>>775
Abortしまくりでした( ´・ω・`)ショボーン
描画がNativeなのでちょっと無理っぽいです。

すいません。申し訳なくなってきたのでこの辺で退散します。
助言くださった方々、ありがとうございました。
0779デフォルトの名無しさんNGNG
現在のキーボードの押下状態を取得するにはどうするの
イベント以外で
0780デフォルトの名無しさんNGNG
>>778
マウスイベント自分で管理して、適当に自分で描画したら?
□を書いて中に文字列記入するだけだよね?
0781デフォルトの名無しさんNGNG
(退散するとか言いながらレスしてスマソ)
>>780
今試してみましたが、
Canvasからタブへ移動した時はMOUSE_EXITED→MOUSE_ENTEREDと飛んでくるので
捕まえることができるんですが、上側(メニューバー側)からタブへ移動した時は
何もイベントが飛んできませんでした。

イベントディスパッチャがネイティブなので、使えるのがMouseListenerだけで
MouseMotionListenerは使えないのです。残念。
>>780さん本当にありがとう(・∀・)
0782デフォルトの名無しさんNGNG
JUnitってなんですか?
なんで単体試験が便利にできるのですか?
0783デフォルトの名無しさんNGNG
あ!
タブの5ドットほど下の位置で、上側からでも下側からでも捕まえられるのを確認したので
それを捕まえでタブの位置にツールチップ表示します。

なんとか解決したみたいです。ありが�d!!(iдi
0784デフォルトの名無しさんNGNG
>>782
単体試験クラスを実行するから(自動化)だよ。テストコードは自分で書くわけだが。
JUnitでぐぐれ。
0785デフォルトの名無しさんNGNG
>>782
1度書けば、何度でも作った分を纏めて簡単に起動できる。
なにか問題が発生したら問題が発生したことを報告してくれる。

既存のソースに何か変更をした場合、予期しない部分にバグを
作りこむ可能性が往々にしてあるけど、最初にJUnitのテストケース
を書いておけば、

ソース変更→テストケース起動→テストケースが失敗したらエンバグ
してしまったことになるので、修正→以降テストケースがすべて成功
するまで繰り返し

とやることで、常にソースの単体レベルの品質を維持できるのよ。
便利でしょ。フレームワーク自体は難しい作りじゃないんだけど、
その仕組みがやってくれることは、非常に画期的っス。

…多分どこかで似たようなものを作っている人もいるかもしれな
いけど、Java言語自身と同様のレベルで、世界中で標準的に使用
されているから、変な俺様ライブラリを使うより、コッチを使う
ほうが、将来的なコスト削減のために良い。デファクトスタン
ダードの威力の恩恵は捨てがたい。
0786デフォルトの名無しさんNGNG
>常にソースの単体レベルの品質を維持できるのよ。
それは言い過ぎ。維持じゃなくて、期待でしょ。
テストコードそのものにバグを埋め込む可能性は否定できないし。デメリットも多数ある。
DB処理、抽象クラスのTestCaseは不慣れだと苦痛だよ。
0787デフォルトの名無しさんNGNG
>>785
漏れの経験からして、将来性のある設計より、逃げ切れる設計をやってるところが多い。
日本のSIなんて作り逃げ。と考えるとJUnitを導入してる、しようとする会社は少ない。
0788デフォルトの名無しさんNGNG
ここで、Wizをジャバで作るプロジェクト始まってるんだって。
http://219.96.231.242/wizonline/

漏れも参加しようかなぁ〜
0789デフォルトの名無しさんNGNG
>>749
import java.awt.*;
import java.applet.*;
class v extends Canvas {
Image i; Frame f;
public v(String path, Frame f) {
i = Toolkit.getDefaultToolkit().getImage(path);
MediaTracker mt = new MediaTracker(f);
mt.addImage(i, 0); this.f = f;
try { mt.waitForID(0);
} catch (InterruptedException ie) {}
setSize(i.getWidth(f), i.getHeight(f));
}
public void paint(Graphics g) {g.drawImage(i, 0, 0, f);}
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
Frame f = new Frame(args[i]);
aCanvas ac = new aCanvas(args[i], f);
f.add(ac);f.pack();f.show();
}
}
}
0790デフォルトの名無しさんNGNG
>>789
s/aCanvas/v/g;
0791デフォルトの名無しさんNGNG
>737、>738ご返事ありがとうございます。

>737
囲ってもだめでした。

>738
classpathのディレクトリではありませんでした。
javaのプログラムのパスやパラメータにピリオドがあると
/に変換されるようです。

たとえば
d.d/HelloWorldApp.class
d.d/HelloWorldApp.java
があったとして

java d.d/HelloWorldApp

を実行すると

Exception in thread "main" java.lang.NoClassDefFoundError: d/d/HelloWorldApp

となってしまいます。
0792デフォルトの名無しさんNGNG
>>791
あのね、普通はどんなクラスもパッケージに属するの。
そういうときは

% java jp.co.xxx.project1.Test

なんつって実行するの。
そのとき jar やファイルシステムは、かならず jp/co/xxx/project1/Test1.class
なんちゅうディレクトリ構成にするの。
だから d.d/HelloWorldApp は d.d ちゅうパッケージのクラスと思われとるんじゃないかのう。
0793デフォルトの名無しさんNGNG
>>791
java コマンドで実行するときに.classファイルの場所をディレクトリ名から
指定するなんてことはふつうはしない。
トップレベルパッケージが配置されているディレクトリやjarファイルに
classpathを設定して、javaコマンドではclass名の完全修飾名を指定する。
0794デフォルトの名無しさんNGNG
初心者な質問ですみません。
2004/12/21 10:56:30
という日時を
DEC, 21, 2004, 10:56
という形式に変換したいんですがどうすればいいでしょうか?
Timestampを使えばいいんじゃないかということはわかるんですが・・・。
0795デフォルトの名無しさんNGNG
>792
クラス名がぶつからないように会社のドメインを逆にしたパッケージ名
にするのは知っています。

例えば製品名にバージョンを入れたいときはどうするのでしょう。
jp/co/company/Product1Ver1.0/Test1.class

とか。

それとRuntimeクラスで他のプロセスとしてjavaプログラムを
実行するときも私のプログラムで同じ問題が起きました。


Runtime.getRuntime().exec("java -cp /usr/local/jakarta-tomcat-4.0.6/common/lib/mail.jar
:/usr/local/jakarta-tomcat-4.0.6/common/lib/activation.jar
:/usr/local/jakarta-tomcat-4.0.6/webapps/pd1/WEB-INF/classes/ " +
" jp/co/xxx/pd1/Test1 /usr/local/jakarta-tomcat-4.0.6/webapps/pd1/");

という行を実行したとします。(長すぎるので改行を入れました)
jp/co/xxx/pd1/Test1というプログラムに/usr/local/jakarta-tomcat-4.0.6/webapps/pd1/
というパラメータを渡していますが、Test1で受け取ったパラメータは
すると4.0.6の部分が4/0/6になってしまいます。
0796デフォルトの名無しさんNGNG
>>787
逃げ切れる設計って良い表現だな。今度使わせてもらうわ。
まあ要件もちゃんと詰めれば無元大じゃ無いんだから、落とし所をはっきりさせて逃げ切れれれば上出来と思うが。
正直、行き当たりばったりで作られるのも困るが、落とし所を考えない夢の設計をされるのも困ってしまう。(基盤系は除く)
0797デフォルトの名無しさんNGNG
>>794
SimpleDateFormatと言いたいけどちょっと無理かも

>>795
>例えば製品名にバージョンを入れたいときはどうするのでしょう。
>jp/co/company/Product1Ver1.0/Test1.class
「.」はパッケージの区切り文字なのでパッケージ名には含めないでしょう。

javaコマンド実行時に-classpathで指定しないで
set classpathで設定後javaコマンド実行ってのは?
0798デフォルトの名無しさんNGNG
>例えば製品名にバージョンを入れたいときはどうするのでしょう。

パッケージ名とはそもそもドメインであるから、 . を入れること自体がナンセンス。
_ などで置き換える (- も _ で置き換える)

>Test1で受け取ったパラメータは すると4.0.6の部分が4/0/6になってしまいます。
パラメータがパス等を表したものとは限らない。
なのに勝手に java がパッケージに解釈してしまっているということになる
信じられん。ソース晒せ。
0799デフォルトの名無しさんNGNG
>>788
Java3Dでオンラインゲーム?
著作権問題に引っかからないのかな?

オープンソースじゃないんだね

0800797NGNG
>>794
無理かもってのはSimpleDateFormatで単純にやるのが無理かもってことで(12月→DEC)
0801デフォルトの名無しさんNGNG
>>794
「という日時を」ってのはStringなわけ?
Dateなわけ?それ以外の何か?
質問があいまいです。
0802デフォルトの名無しさんNGNG
>>794
長くなるので変なところで改行入れさせてもらうけど、これでどう?
System.out.println(
 DateFormat.getDateTimeInstance(
  DateFormat.LONG,
  DateFormat.SHORT, Locale.US
 ).format(new Date()));
出力はちょっと違うけどね。
May 8, 2003 12:52 PM
0803デフォルトの名無しさんNGNG
>798
ご返事ありがとうございます。

ピリオドを無理にディレクトリにつける必要はないですね。
javaの流儀ってことでしょうか。

あと、パラメータの.が/になるのはいま実行してみると
なっていませんでした。そのときは.を別の文字に変換して
渡すようにしたので確かにそうなっていたのですが。
0804802NGNG
どうしても自作したいなら、自作Formatクラスを作るのがいいかな。
12->Dec.のような変換はjava.text.ChoiceFormatを使うと簡単にできるよ。
0805デフォルトの名無しさんNGNG
JSPからRuntime.getRuntime().execを使ってnotepad.exeなんかを起動
させると起動はするんですが自分じゃなくてユーザーがSYSTEMになっており
プロセスは確認できますが画面が表示されません。
実際はRuntime.getRuntime().execからclassファイルを動作させたいんですが
何が悪いんでしょうか?又大丈夫なんでしょうか?
0806デフォルトの名無しさんNGNG
>>794,797

SimpleDateFormat formatter = new SimpleDateFormat ("MMM dd yyyy hh:mm", Locale.US);

これで駄目だ理由を教えてくれ。
0807デフォルトの名無しさんNGNG
794です。
説明不足ですみません。

String sDate = "2004/12/21 10:56:30";
DateFormat sdtFormat = DateFormat.getDateInstance();
java.util.Date sdate = dtFormat.parse(stDate);
SimpleDateFormat formatter = new SimpleDateFormat ("MMM dd yyyy hh:mm", Locale.US);
sDate = formatter.format(sdate);
System.out.println(stDate);

こういう感じでStringでとったものをdate型に変換して実行してみたのですが、
これでは時間が正常に表示されないので困っています。
0808797NGNG
>>806
>>794が月を出力したい形式が
MMMでフォーマットしたものをtoUpperCase()で大文字にしたものでよければ
それでいけるなあと思ってたらそれでOKっぽいですね。

>>794
DateFormat sdtFormat = DateFormat.getDateInstance();
↓
DateFormat sdtFormat = new SimpleDateFormat( "yyyy/MM/dd hh:mm:ss" );
これでいけます。
0809794NGNG
>>797,806
いけました!
ありがとうございました。
0810デフォルトの名無しさんNGNG
>805
Runtime.getRuntime().execに渡すパラメータを"start notepad.exe"
にしてやってみたら?
0811デフォルトの名無しさんNGNG
>>810

試してみましたが駄目でした^^;
0812デフォルトの名無しさんNGNG
>>805
うちの環境(Tomcat3.2.4)では
Runtime.getRuntime().exec( "notepad.exe" );
で普通にメモ帳のウィンドウが開いてます。
0813デフォルトの名無しさんNGNG
startはcmd.exeの内部コマンドだから駄目だろ。
 cmd.exe /c start /MIN ほげほげ
とか。
0814デフォルトの名無しさんNGNG
質問させてください。
CSVファイル(カンマ区切り)を読み込み、
StringTokenizer(String,String)を使用し、
各フィールドを配列に入れるのですが、
なにも無いフィールドに遭遇した場合、
配列に入りません。
どのようにすれば、入力のないフィールドも配列に入るのでしょうか?

例:
1,山田太郎,2003/05/08,,,,
配列には、
1
山田太郎
2003/05/08
となっています。
以降の4つが、欠落します。
0815U ◆CZtFsGiu0c NGNG
>>805
Tomcatがサービスで動いているのでは? サービスの実行アカウントがSYSTEMなら
そりゃSYSTEMアカウントで動くわな。
0816デフォルトの名無しさんNGNG
>>814
char separator = ',';
StringTokenizer st = new StringTokenizer(String, "" + separator , true);
int i = 0;
while (st.hasMoreTokens()) {
 String str = st.nextToken();
 if (str.equals("" + separator)) {
  i++;
 } else {
  array[i] = str;
 }
}
初期化も忘れずに。
0817814NGNG
やってみましたが、なんか変です・・・
そのメソッドを教えていただけませんか?
0818デフォルトの名無しさんNGNG
>>812
JSPでいけました?
失礼ですが当方OSはWinXPなんですけど違うのでしょうか?
又、動作した時のプロセスのユーザーはSYSTEMでしょうか?もしくは自分に
なっていますでしょうか?
すみませんがお教えいただけないでしょうか?^^;
0819デフォルトの名無しさんNGNG
>>815
そうなんですか・・・。
用はJSPから印刷プログラムであるclassファイルを起動させようと
したいんですが皆さんはどのようにされているのでしょうか?
TomcatはSYSTEMで自動起動させたいのでできれば変更したくないのですが・・
0820812NGNG
JSPから起動できています。OSは2kです。

ただ私はTomcatをバッチ叩いて起動しているので
Tomcat,Notepadともにユーザ権限で動いています。

ところで疑問なんですが、
Javaのclassだったらわざわざプロセス立ち上げなくても呼び出せませんか?
0821デフォルトの名無しさんNGNG
>>820
未熟なものでとりあえず外部ファイルを動作させるには
皆さんRuntimeを使ってそうでしたのでこれでしようかと思っただけです^^;

beansとして呼び出せばいいということでしょうか?
もしくは他に方法があるのでしょうか?
あるのでしたら是非教えていただきたいのでよろしくお願いします。

0822デフォルトの名無しさんNGNG
新しいクラスを作成するとき
そのクラスに引数を与えたいんですがどうしたらいいのでしょう?
0823デフォルトの名無しさんNGNG
>>822
意味が分からんが

public class a
{
public a(int x)
{

}
}
0824デフォルトの名無しさんNGNG
>>823
あ、すいません曖昧で・・。

あるClassファイルで取得した引数をそのファイル内で作成する
classA B=new classA();
新しいオブジェクトに渡したいということなんですが・・
書き方変なのでわかりますでしょうか?
0825デフォルトの名無しさんNGNG
>>824
全然わからん。
0826デフォルトの名無しさんNGNG
表現がかなり変で意図がつかみにくいが。
コンストラクタへの引数を、そのクラスのクラス変数なりインスタンス変数なりに設定すればいいんでは?

public class Age
{
 private int x;
 public Age(int x)
 {
  this.x = x;
 }
 public void hoge(){
  Sage sage = new Sage(this.x);
 }
}

意味違う?
0827デフォルトの名無しさんNGNG
>>814
データがクオートされている場合を考えてないみたいだが
それで十分なCSVファイルなんだったら
String#split(String separator) でも使っとけ。
0828デフォルトの名無しさんNGNG
>>814
ttp://www.wakhok.ac.jp/~tomoharu/Java/csv/
このライブラリ使ってみては。
ソースも色々と参考になるよ。
0829デフォルトの名無しさんNGNG
クラスを読み込ませたいのに、Runtimeを使うのがそもそも間違ってると思われる。
VMにクラスをロードするのは別な方法で行う。ちょっとだけヒント。
Class.forName("ほげほげ");

Runtimeクラスは、Win32環境であれば
Win32Processを取得し、それからサブプロセスの起動。という手順になる。
0830デフォルトの名無しさんNGNG
単なる疑問なんですが
stringbufferクラスはなんでequals()メソッドをオーバーライドしてないんでしょう?
stirngはしてるのに
BUFFERとして使うべきであまり比較はしないからかな
0831デフォルトの名無しさんNGNG
StringBufferをstringbuffer、
Stringをstringと表記する時点でスキルも説得力も零。
0832830NGNG
?疑問にスキルと説得力が必要?大文字にしないだけで?
なんだかわかりませんが自分で考えてみる事にします
0833デフォルトの名無しさんNGNG
>>830
>BUFFERとして使うべきであまり比較はしないからかな
何と言いますか、物事を考えるときの「自分の中での前提」ってやつを信じ過ぎ。
0834デフォルトの名無しさんNGNG
>>832
> ?疑問にスキルと説得力が必要?大文字にしないだけで?
> なんだかわかりませんが自分で考えてみる事にします
必要に決まってるだろ。あんたの場合、自分の疑問を自分で理解できていない。
0835デフォルトの名無しさんNGNG
つまりだな、何を知りたいのか自分で解ってないわけよ。
整理してから質問しろや
0836デフォルトの名無しさんNGNG
?疑問にスキルと説得力が必要?大文字にしないだけで?
これがわかってないんじゃ手のつけようがないな。
0837デフォルトの名無しさんNGNG
Stringはいわゆるバリューオブジェクトで、データ型として扱えるタイプのオブジェクト。
内容比較が出来て、プリミティブ型のように、値を代入出来るオブジェクト。
equals(内容の比較)は、javaではデフォルトでバリューオブジェクトのみに実装されている(はず)。
StringBufferはあくまで操作用のオブジェクトで、代入はサポートされてない。
0838デフォルトの名無しさんNGNG
>>837
はい、勉強しなおしておいで。
0839デフォルトの名無しさんNGNG
>>837
混乱を招く才能ありだな
0840デフォルトの名無しさんNGNG
>>837
ミュータブル、イミュータブルオブジェクトの違いと使い分けに言及して
欲しいところだな。
0841830NGNG
えーと整理してみました
Stringクラスはequals()メソッドを「2つの文字列の内容が等しい」
かどうかを判断するようにオーバーライドしてるわけですが、
StringBufferクラスはなぜそのようにオーバーライドしていないのかと

StringBuffer sb1 = new StringBuffer("hoge");
StringBuffer sb2 = new StringBuffer("hoge");
sb1とsb2が同じと判断されない

こんなカンジですか
これでわからないなら無視してください
0842デフォルトの名無しさんNGNG
>>837
アナタ、完全独学の孤高の人ですね。
0843デフォルトの名無しさんNGNG
上流工程の仕事してる香具師って>837のような
「間違ってるけど妙にその気にさせられる。(騙される)」こと言うよね。
0844デフォルトの名無しさんNGNG
まあ、独学だろうな。使ってる単語と言い、言い回しといい、入門書レベル。

0845デフォルトの名無しさんNGNG
>>841
Stringは内部の文字列が変更不可能なので、equals()の結果は常に一定。
StringBufferは内部の文字列が常に変更可能であり、また積極的に変更
することを前提に作られているので、あるタイミングで中身が同じかど
うかを調べることに意味があるべきでないのですよ。比較がしたいなら
String使えと。

きちんとString(文字列定数)とStringBuffer(Stringを生成する為の短
時間のバッファというイメージで使って欲しい)を使い分けなさい、とい
うお話ですな。
0846デフォルトの名無しさんNGNG
>>837
大漁だな
0847830NGNG
>>845
ありがとうございます。
スッキリしました。突っ込んでくれた皆さんもありがとう。
勉強になりました
0848デフォルトの名無しさんNGNG
>>845は縦読みを疑ったほど改行が変
0849デフォルトの名無しさんNGNG
>>848
auto-fill-modeで書いてるんだろ
0850デフォルトの名無しさんNGNG
大学の授業の課題なんですが、
そのまま例文をコピペで写したのですが
最初の宣言の

package sp.scoread.command_add_avg_find_del;
import common.Input;

の部分で、パッケージcommonは存在しませんと言われるのですが
原因として何が考えられますか?
多分全文載せる必要ないだろうと思ってこれしかとりあえず書きませんが、
もし書く必要があったらいってください。150行位ありますが。。
0851デフォルトの名無しさんNGNG
>>850
そのまんま。
0852デフォルトの名無しさんNGNG
理解せずにコピペで済むほどJavaは甘くない
0853850NGNG
>>851
いや、できれば解決策を教えてほしいのですが。。
0854デフォルトの名無しさんNGNG
>>853
クラスパスに入っていない

はい次
0855デフォルトの名無しさんNGNG
ここ読め。1にリンクあるぞ。
http://www.gimlay.org/~javafaq/S017.html
0856850NGNG
>>854
JDKとは別途でなんか入れなければいけないということですか?
これできないと先に進めないんでしつこくてすいません。。
0857デフォルトの名無しさんNGNG
>>856
これくらいわからないと先に進んでも意味がないんでしつこくてすいません。。
0858デフォルトの名無しさんNGNG
そもそもいきなり"common"なんつーキーワードで始まるパッケージは
どんなもんだか考えようよ・・・。
0859デフォルトの名無しさんNGNG
男は黙ってデフォルトパッケージ。
0860デフォルトの名無しさんNGNG
>>859
小学生にスマタ教えるような事すな。
0861850NGNG
最後にします。ほんとにすいません。
つまり、プロンプトでjavaは認識されるようにクラスパスは通したのですが、
それとは別にパッケージのクラスパスを通す必要があるってことですか?
それとも、きちっとjavaのクラスパスを通してないってことですか?
0862デフォルトの名無しさんNGNG
つまり教授からcommonnパッケージをもらえと
0863デフォルトの名無しさんNGNG
あるいはcommonパッケージを作る。
0864デフォルトの名無しさんNGNG
>command_add_avg_find_del
おまえんとこの教授はキチガイか?
0865デフォルトの名無しさんNGNG
または教授の後門を嗅ぐ
0866デフォルトの名無しさんNGNG
命令追加し、平均探してぬっころせ。か。
0867デフォルトの名無しさんNGNG
Inputっつークラスが何してんのか知らんが
コンパイルだけでも今すぐ通したければ、とりあえずスタブのcommon.Input作って
明日教授によこせゴルァ!!しる。
0868デフォルトの名無しさんNGNG
common てのは com.mon の間違いだと思われ。

http://www.mon.com/ に逝って共通入出力ライブラリを落としてくれば
問題ないのでは?
0869850NGNG
最後って言った手前書きづらいんですが、
一応URLです。
http://www.crew.sfc.keio.ac.jp/lecture/2003objprog/note/04/index.html
でも、パッケージ落とせとかどこにも書いてないんですよね。。
一応Cはやってたんで、文法しらなくても内容とかくらいはほぼわかるんですが、
しょっぱなからつまづいてしまって。。
0870850NGNG
すいません、おおぼけかましてました。できました。
0871デフォルトの名無しさんNGNG
どう考えても、

入 力 拾 う プ ロ グ ラ ム ぐ ら い 

て め ぇ で 書 き や が れ

ゲッツ
0872デフォルトの名無しさんNGNG
>>869
ちょっと気になった
>100人の成績を管理するということになれば、 プログラムを書くよりも手計算のほうが早いぐらいの作業量になるでしょう。

変数羅列より配列を使え。って意であることは容易に解るが、
プログラムを一回しか使わないかのように表現してあるのは問題あり。
システム化を解っちゃいないね。筆者。机上経験のみだね。
0873デフォルトの名無しさんNGNG
>>872
そうだな。
「プログラムを書くよりもエクセルにぶっこんだ方が早いでしょう」にすべきだな
0874デフォルトの名無しさんNGNG
つーか、こんな程度でつまづくようなレベルの香具師が数年後に
KO卒でーすって入って来るのかよ...鬱。
0875デフォルトの名無しさんNGNG
結論:
大人数の成績を管理するにはエクセルにデータ入力し、
エクセルの計算機能を利用してデータを算出する。
必要とあらばマクロを作成する。
0876デフォルトの名無しさんNGNG
>必要とあらばマクロを作成する。
なんかワラタ(w
0877デフォルトの名無しさんNGNG
>>875
それをCOMブリッジ経由でJavaから読み書きする。ってのがこのスレの趣旨に合う
0878デフォルトの名無しさんNGNG
>>877
そこまでやればなんかある意味合格点をもらえそうだ
0879デフォルトの名無しさんNGNG
>>877
やぶ遅くすみません。COMブリッジの話題が出たので、
最近、脇毛が長いと感じるのが悩みの種である私に1つ質問させてください。

COMブリッジで一般的な物は何ですか?どれが熱いですか?
その前に、COMブリッジの用途があまり思いつかないのですが・・・・

0880デフォルトの名無しさんNGNG
>>879
ExcelをCOMで起動してExcelファイルをJavaで読むってのが
一番多いんじゃないの。他に使い道あるかねえ?
0881デフォルトの名無しさんNGNG
>>877
JDBC-ODBC ブリッジドライバでも良いかも
0882デフォルトの名無しさんNGNG
>>877
スレの趣旨的には、JakartaのPOIのほうが…
0883デフォルトの名無しさんNGNG
さらに、学内の成績管理システムにこっそりORBサーバを同居させ、こっそりCORBAのIFを実装し、RMI-IIOPでデータを流し込む。
同様に成績データを取得し、エクセルで表示。
0884デフォルトの名無しさんNGNG
>>880
エクセルデータをわざわざJavaで読み込むメリットつーか、そこまでJava?
って俺は思うが。仕事でJava-Excelって言ったらCVSがいいとこでしょ?
0885884NGNG
間違い。CSVだつた。
0886デフォルトの名無しさんNGNG
>>884
JakartaのPOIとか、JExcelAPIとか、便利だよ。
Excelを使って入力インターフェイスの自作を手抜きしたり、
Excelを帳票出力として使ったり。Servlet上で、MS-Excelが
ない環境でそれが出来るって、スゴイ便利だと思うけど。

ExcelシートをServletで生成して、IEに配信して、IE側で
Excelをプラグイン起動してもらって、Excel上に受信した
ファイルを表示とか。ボタン押せばExcelのレイアウタ使って
印刷できる。
IEからfileUploadでExcelファイルを送ってもらって、Servlet
でソレを解析してDBに放り込める。

COMブリッジは、結局COMを動かせるプラットフォームが必要
だから、こういう用途ではいまいちだね。みんな、WindowsNT
Serverなんか使いたくないでしょ?
0887デフォルトの名無しさんNGNG
>>886
>Excelを使って入力インターフェイスの自作を手抜きしたり
Excel→Servletって解釈で間違ってないでつか?便利そう。
COMブリッジって、HTTP通信できるの??なんか理解できなくなってきた・・・・。
ブラウザじゃなくてExcelをクライアントにすることも可能なわけ?
0888デフォルトの名無しさんNGNG
>COMブリッジは、結局COMを動かせるプラットフォームが必要
エクセル入ってればいいってものじゃないんだ?
Win2kでJCOMのサンプル動かせた覚えがあるのだが。
0889デフォルトの名無しさんNGNG
>>887
いや、これはCOMブリッジを使わない方法の話。
>>886の例は、PureJavaでExcelファイルを解析、生成してしまう荒技を使え
るライブラリを、Servletで使うという話ですよ。

IEは、レスポンスのContentTypeがApplication/Excel(だったかな?)
だった場合、IEのView上にExcelを起動して、そこにレスポンスを貼り付
けてくれるのですよ。だから、Servletで単にExcelファイルを作ってレス
ポンスに流し込めばいいだけ。

COMブリッジは、Windows上でしか使えないという足枷があるので、サーバー
サイドでこういう使い方をするのは向いてない。サーバは大抵Unixとかだし。
0890デフォルトの名無しさんNGNG
>>888
Winなら普通動くでしょ。問題は、普通Windowsのサーバーなんて
使わないということ。
0891デフォルトの名無しさんNGNG
>>889
MIMEタイプでサーバ→クライアントにはExcel流せるけど、
漏れが気になったのは、Excel→COM→Servlet。リクエストできるのかどうか。
VBで言うIEコンポーネントか何か忘れたけど、VBAで突っ込んだらできるとかいう噂はないのかな。

0892bloomNGNG
http://homepage.mac.com/ayaya16/
0893デフォルトの名無しさんNGNG
>>891
普通に
ファイルをServletに渡す→Servletで解析。
でいいじゃん。CSVとかでもそうしてるんでしょ、あんた。
0894デフォルトの名無しさんNGNG
エクセルをクライアントにしたら制限かけるのが厳しそう。
客には出せないけど、ツールとしてどこまで有用に使えるかなと思ったわけ。
エクセル内1クリックでエクセルからのXMLデータをサーバに送れば何かできそうな予感。
0895デフォルトの名無しさんNGNG
>>894
さっきから喪前はナニ言ってんの?





















                                     その案、俺が頂く。まじで商売できそうだ。
0896デフォルトの名無しさんNGNG
>>894
入力の形式を制限したいなら、そんな面倒なことを考えるより、
GUI普通に書くほうが楽でしょ。
0897デフォルトの名無しさんNGNG
Excel文書であることに意義があるわけだろ?
どーせ世の中、企業で使われるOSと文書フォーマットの9割は
Excel(&Word)なわけだし。
0898デフォルトの名無しさんNGNG
>>896
GUI書いたら配布がめんどうなのです。
配布することは既に時代遅れであり、その後ブラウザが主流ってことで
Servlet等がもてはやされているのかと、半分推測。
次はExcelです。Excelもブラウザと同様、殆どのクライアントに入ってる状況ですし。
制限は入力規制+VBA制御。エクセルをある程度使える層がエンドユーザ。
VBAは配布するのではなく組み込みでレスポンス。
0899898NGNG
っていうか、HTTPである必要性もないと思われます。
ついに来ました。WebStartを使う時が。クライアントに強制インスコした後は、
RMIでぬっころす。
0900デフォルトの名無しさんNGNG
>>899
WebStartは便利ですが、FW越えの問題があるのでRMIはイカガナモノカト。
RMIでFW越えするときは、どうせhttp使っているので、RMIのメリットないよ。
0901デフォルトの名無しさんNGNG
>>900
RMI使うことのメリットはHTTP使わないことではないだろ。
漏れは>898のように奇抜なアイディア言う香具師は貴重だと思っているが。
0902デフォルトの名無しさんNGNG
>>869のやつはなんでforじゃなくてwhileなんだ
キモイ、キモ過ぎ。大嫌いです。
0903デフォルトの名無しさんNGNG
質問させてください。
String workに0から10、AからZ、aからzをループで値をとって、
最終的に出力結果が
work = [01234...abcd...ABCD...Z]
となるようにしたいんですが、どういう方法がいいでしょうか?
やはり配列を使ったやり方がいいんでしょうか??
0904デフォルトの名無しさんNGNG
>>903
いまいち意味が分かるような分からんような
つまり
String work;
//何か素敵な処理
System.out.println(work);

の結果が 012345678910abcd... になればいいのか?"[ ]"は要るの?
ついでに
>0から10、AからZ、aからzをループで値をとって、
>work = [01234...abcd...ABCD...Z]
ここの順番が矛盾してるよ。
0905デフォルトの名無しさんNGNG
言葉足らずですみません…。

>String work;
>//何か素敵な処理
>System.out.println(work);
>の結果が 012345678910abcd... になればいいのか?"[ ]"は要るの?

はい、そうです。
"[]"もいります。

>work = [01234...abcd...ABCD...Z]
>ここの順番が矛盾してるよ。

間違えてました。表示結果は、
work = [01234...ABCD...abcd...z]
です。
0906822NGNG
>>826
まさにそのとおりです。
ありがとうございました、助かりました^^
0907デフォルトの名無しさんNGNG
>>905 こんなんでどう?細かい部分はてきとーに直して

StringBuffer buf = new StringBuffer();
buf.append('[');
for(char c = '0' ; c <= '9' ; c++)
    buf.append(c);
/*
 *後は↑と似たような処理につき省略
 */
buf.append(']');
String work = new String(buf);
System.out.println(work);

もし授業で習ってるとかでStringしか使っちゃ駄目なら
buf.append(c)とかの代わりに work += c; とかでもいいけど
0908デフォルトの名無しさんNGNG
http://bizinfo.cool.ne.jp/ranking/ranklink.cgi?id=mercury 
0909905NGNG
>>907
ありがとうございます。無事解決できました。

ちなみに配列を使ったやりかただとどんな感じになるでしょうか?
0910デフォルトの名無しさんNGNG
かなり基本的なことだと思うんですが質問させてください。
いま、独学中でちょっとしたプログラムを書き終えてバグ取りしてるんですが、
int型の変数の入力を求めたときに、String型の入力をされると
型不正で終わってしまうのですが、数値しか入力できなくすることはできるでしょうか?
0911デフォルトの名無しさんNGNG
>910
どんなプログラムかわからないけど
変数に設定するまえに数値がどうかチェックすれば?
0912デフォルトの名無しさんNGNG
packageにしたら同じ階層にあるClassファイルを認識できなくなったんですが
どうしてなんでしょ?
classからclassを呼ぶ処理をしていますが
コンパイル時に認識できないエラーがでます。
0913デフォルトの名無しさんNGNG
>>912
classpathの設定が間違っている
0914910NGNG
>>911
その方法も考えたんですが、今いろいろ調べてtry,catchをつかってエラー処理を
入れるのに取り組んでいるのですが、きちんと数値を入力されるまでwhileで
ループするようにしたら、取り込もうとしている変数が初期化されていないと言われてしまいますが
なぜでしょうか?わかりますか?
0915912NGNG
>>913
CLASSPATHには同じ階層.;は含めているんですが
他に何か必要なんでしょうか?
又、Packageにしないと同じ場所でも正常にコンパイルできます。
0916デフォルトの名無しさんNGNG
classpathはトップレベルパッケージがあるディレクトリに設定する。
srcというディレクトリにソースがあるとして
aaa.bbb.ccc というパッケージだったら
ディレクトリ構成は \src\aaa\bbb\ccc となっているはず。

この場合classpathはsrcディレクトリに通す。
912はcccに通してるでしょ?
0917デフォルトの名無しさんNGNG
>>916
ごめんなさい。

カレントディレクトリだけでいけるのかと思ってたので
そこは通していませんでした。
今、javac -classpath .. hoge.java
とやったらいけましたので多分それが原因だと思います。

ありがとうございました。
0918デフォルトの名無しさんNGNG
>>914
try catch部分を別メソッドにして中でループさせるとか。
数値取得に成功したら値を返す。
0919デフォルトの名無しさんNGNG
>>829
Class.forName("ほげ")
で試したのですが反応がありません、ただの屍のようです。
JSPの画面もエラーはいっさいですに表示されます。
これだけで本来はClassのメインメソッドが実行されるのでしょうか?

又、Beansとして試したんですが
(outパッケージ、Print.classのPrintメソッド実行)
org.apache.jasper.JasperException: out.Print.Print()V

なエラーが表示されて困っています。
後ろのVっていったい・・(;;)
0920ガコーウでもNIKIさん ◆v4/cherryA NGNG
おいポマイラ
Image value_img[]=new Image[13];
value_img[1] = getImage(getDocumentBase(),"1.jpg");
value_img[2] = getImage(getDocumentBase(),"2.jpg");
(以下略)

とかするのあまりにたるすぎるんですがこれってforでまわせねーの?
組み込み分を
value_img[counter] = getImage(getDocumentBase(),"counter.jpg")
とかしちゃうと延々とcounter.jpgを読み込みそうな悪寒がするんですが
0921デフォルトの名無しさんNGNG
>>920
はぁ?
counter + ".jpg"
0922デフォルトの名無しさんNGNG
while(counter<hogehoge){
value_img[counter] = getImage(getDocumentBase(),toString(counter)+".jpg");
hogehoge++;
}
0923デフォルトの名無しさんNGNG
瞬間回答モトム!

String変数に格納されている文字列に、
全角文字が含まれているかを判定したいです。
私にはその方法が皆目見当もつきません。

どうでしょ??
0924デフォルトの名無しさんNGNG
>>923
char c = 'あ';
if(c > 255) System.out.println("全角文字っぽいような気がする");
else System.out.println("たぶん全角じゃないぽ");
0925デフォルトの名無しさんNGNG
>>923
String.getBytes().length と String.length() で長さが違ったら
含まれている、同じだったら含まれていない、じゃだめ?
0926デフォルトの名無しさんNGNG
>>924-925

どうもありがとうございました。
助かりました。

>>294さんへ質問です「っぽい」&「たぶん」と記述しているので、
確実に判定は出来ないのでしょうか??
それとも、「っぽい」&「たぶん」は、ちょっとしたお茶目ですか?
(・∀・)つ
0927デフォルトの名無しさんNGNG
JSPやサーブレットから印刷プログラム(class)を動かしたいのですが
本体がSYSTEMで動作させていた場合、指定したプログラムもSYSTEMに
なってしまい印刷が行えません。
どうしたらいいのか教えてください。Web板の方がいいのかな?
0928デフォルトの名無しさんNGNG
>>926
>>924-925 の方法で完全にってのは無理でしょ。

>>924 では255以上でも半角カタカナやら ISO8859X のアルファベットやらもあるし。
>>925 でもSJISでは半角カタカナは1バイトだし。

完全にやりたければ 日本語用全角/半角テーブル使って判定するとかしないとだめ。
おまけに同じコードの文字でも全角/半角は日中韓で違うらしいし。
0929デフォルトの名無しさんNGNG
>>927
・SYSTEM権限で動いているからって印刷できないわけがない。
・Class.forName("ほげ")だけじゃあクラスのオブジェクトを
 取得してるだけなので動くわけがない。

っつうか、普通にclasspath通してpackageインポートして
Print print = new Print();
print.Print();
とかで呼び出せないの?
0930デフォルトの名無しさんNGNG
>>927 たぶん919と同一人物なんだろうけどさ、どう目的の
クラスを動かしたら印刷できなかったかとか、Beanとして
どう動かしたら駄目だったかとか、その印刷プログラムは
GUIでユーザからの入力が必要なのかとか、答えるのに必要
な情報全然かいてないよ。頑張れとしかいいようがない。
正直、リフレクションを使うべきかどうかもわからん。
0931デフォルトの名無しさんNGNG
>>927
その印刷プログラムとやらをさらしたほうが早いんじゃないかと
おもったりして。どうせどっかのWebサイトから拾ってきたんだろ?
0932デフォルトの名無しさんNGNG
JSparrowというものをインストールして使おうと思ってるんですが、
ここ見るとDLLの移動とCLASSPATHの設定だけで出来そうなんですが、
なぜかサンプルも実行できないんです。
誰か助言お願いいたします。

「CLASSPATHの設定」
set CLASSPATH=C:\j2sdk1.4.1_02\jre\lib\ext\jsparrow.zip;.
「JSparrow」
http://home.att.ne.jp/red/aruga/jsparrow/installation-j.html
0933_NGNG
  ∋8ノノハ.∩   http://yoshiwara.susukino.com/zenkaku
   川o・-・)ノ <先生!こんなのがありました!
http://www.yoshiwara.susukino.com/hankaku/hankaku07.html
http://yoshiwara.susukino.com/hankaku/hankaku08.html
http://www.yoshiwara.susukino.com/hankaku/hankaku10.html
http://yoshiwara.susukino.com/hankaku/hankaku07.html
http://www.yoshiwara.susukino.com/hankaku/hankaku03.html
http://yoshiwara.susukino.com/hankaku/hankaku05.html
http://www.yoshiwara.susukino.com/hankaku/hankaku01.html
http://yoshiwara.susukino.com/hankaku/hankaku06.html
http://www.yoshiwara.susukino.com/hankaku/hankaku04.html
http://www.yamazaki.90.kg/hankaku/hankaku09.html
0934デフォルトの名無しさんNGNG
>>932 見てみた。環境変数CLASSPATHを設定すると、デフォルトのクラスパス
である「.(つまりカレントディレクトリ)」が上書きされる。だから、
932の設定だけだとカレントディレクトリが含まれなくなるので
java TeapotCanvasでは実行できなくなる。説明でも「追加」
とわざわざかいてあるやね。あと、JAVA_HOME\jre\lib\extは
拡張クラスパスといって、環境変数CLASSPATHや-cpオプションで
指定するユーザクラスパスの内容にかかわらず検索されるから
自分で設定する必要は無いよ。このあたり詳しくは、
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/classpath.html
を参照のこと。
0935934NGNG
ごめん、932のCLASSPATHの最後に.がついてた... 忘れてくれ。
0936デフォルトの名無しさんNGNG
Graphics#drawHoge(piyo)などで書かれた
文字や画像を消すにはどうしたらいいでしょうか?
オブジェクトは文字や画像を消去後も他の物を表示するために
廃棄は出来ないんですが、こういう場合どういった処理をすればいいですか?
0937デフォルトの名無しさんNGNG
>>909
エレガントなやり方思い浮かばないからパス
配列使うと、無理やり使うような変な解答しか思い浮かばん
0938デフォルトの名無しさんNGNG
>>936
背景色で塗りつぶしたら?
0939デフォルトの名無しさんNGNG
JFrameで背景に画像を表示するようにするにはどうしたらいいんでしょうか?
あと、宇宙みたいなバックにしたいのですが、サイズの小さな画像をいくつも並べて
全体に表示できるようにする方法はありますか?
0940デフォルトの名無しさんNGNG
>>928
>SJISでは半角カタカナは1バイトだし。
全角文字が含まれているかどうかだからいいんじゃないの?
日本語が含まれているかどうかじゃないでしょ?
0941デフォルトの名無しさんNGNG
>JFrameで背景に画像を表示するようにするにはどうしたらいいんでしょうか?
setOpaque()で、透明なJPanelとか作れるから、それ使いなされ。
バックにバック用の画像を張ったJPanelを張って、それに透明なフォア用の
JPanelを張ればよし。

>あと、宇宙みたいなバックにしたいのですが、サイズの小さな画像をいくつも並べて
全体に表示できるようにする方法はありますか?
JAVA2Dのjava.awt.TexturePaint使えばヨロシ。

0942932NGNG
>>934-935
いえ変な質問ですいませんでした。一応エラーみたいのは
JSparrow ver. 0.944 beta for evaluation or trial only
All Rights Reserved. Copyright(C) PFU LIMITED 1999-2000

java.lang.ExceptionInInitializerError
at jsparrow.gl.OGLCanvas.<init>(OGLCanvas.java:80)
at TeapotCanvas.<init>(TeapotCanvas.java:9)
at Teapot.init(Teapot.java:9)
at sun.applet.AppletPanel.run(AppletPanel.java:348)
at java.lang.Thread.run(Thread.java:536)
     Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission loadLibrary.jsparrow)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkLink(SecurityManager.java:834)
at java.lang.Runtime.loadLibrary0(Runtime.java:782)
at java.lang.System.loadLibrary(System.java:832)
at jsparrow.gl.OGL.<clinit>(OGL.java:179)
... 5 more
こんな感じでずらずらと…もう少し粘ってみます。
0943デフォルトの名無しさんNGNG
初心者なんですがJDK1.3ってのが、Iアプリ作りに必要らしいんですがそれが

http://java.sun.com/j2se/1.3/ja/download.html  にあるらしいんですが、JDK1.3って略称なんですか?

 いったいどれがJDK1.3なのか教えて下さい。お願いします
0944デフォルトの名無しさんNGNG
略称っつーか今となっては俗称みたいな感じか。
J2SEに読み替えてクレ。
0945デフォルトの名無しさんNGNG
それに今から始めるならJ2SE 1.3だろ
0946デフォルトの名無しさんNGNG
意味不明になってしまった
×それに今から始めるならJ2SE 1.3だろ
○それに今から始めるならJ2SE 1.4だろ
0947デフォルトの名無しさんNGNG
いや、どうせiアプリはJ2SEの新機能には対応してないだろうし。
0948デフォルトの名無しさんNGNG
考えればわかるようなことを質問する香具師って業界去ればいい。
0949927NGNG
初心者全開ですいません。
>>929
print.Print();でやったところ
ページを読み込んでる状態で反応がありません。
ステータスバーの青のバーが徐々に長くなっていってるだけです。
>>930
Beansは <jsp:useBean id="test" scope="page" class="out.Print" />
     test.Print();
としましたが>>919に書いたようなエラーが出ます。
ただし、TomcatをSYSTEMじゃなく自分で動かしていると正常に動作します。
入力が必要といいますか印刷時にプリンタのダイアログをだしたいんです。
>>931
ソースです。http://www.gihyo.co.jp/book/2002/225271/download/choko10.lzh
Print.classで起動します。
それとPrintクラスのmainメソッドをPrintと変えてやってます。
JSPから呼ぶのにMainメソッドではだめなのかなと思いまして(;;)

一応 Class cls = Class.forName("Print");
   Method method = cls.getMethod("Print",null);
   Object ret = method.invoke(cls.newInstance(),null);
ともやってみたのですがこっちは
org.apache.jasper.JasperException: Print.Print() とエラーがでます。

とりあえずJSPからソースプログラムが正しく動かせればいいので
よろしくお願いします。





0950デフォルトの名無しさんNGNG
>>949
そのリンク先、なんで俺のHDDにすでにファイルがあるのかと
おもったら、653なのか。927もそうなんだけど、一連の質問を
いちいちリセットしながらたずねるのは効率悪いなと思ったり。
0951927NGNG
>>950
せこくてすいません。
質問内容が全く違ったりまとめてすると(自分および皆さんが)
ややこしくてわかりにくいかなーって思ったもので。
俺って邪魔ですか?
0952デフォルトの名無しさんNGNG
>>949 そのmainメソッド、一番最後でSystem.exit(0);してる。
ああいう雑誌のサンプルプログラムはあくまでも機能の使い方を学ぶ
ものなんだから、そしゃくしてちゃんと自分でコード起こさないと駄目だよ。
0953デフォルトの名無しさんNGNG
オレジャヴァ暦1ヶ月なんだけど、今からブロック崩し作ろうと思うんだ。
そいでまずはブロックとボール動かすとこまでは来たわけ。
次はさ、マシーンみたいのをキーボードで操って
そっからボールが出てくるみたくしたいんだけど
キーボードからの入力がぜんぜんわからんくてさ
教えてください。
0954デフォルトの名無しさんNGNG
>>953
Cで実装して、JNIで拾え
0955デフォルトの名無しさんNGNG
>>953
KeyEvent とか KeyListener とか。
0956デフォルトの名無しさんNGNG
えーと、Canvsクラスを継承してpaintをオーバライドしますよ?
paintってどこでも呼び出せてないのに、どうしてちゃんとイメージが描写されるんでつか?
0957デフォルトの名無しさんNGNG
>>956
awtたんとかswingたんが呼んでまつ。
0958デフォルトの名無しさんNGNG
>>956
ウィンドウ(Frame)の再描画イベントで呼び出されます。
0959デフォルトの名無しさんNGNG
>>956
ん?どゆことでつか?
awtが呼ぶようになってるのはどうしてでつか?
Canvasを継承したらそういうふうになるの?
0960デフォルトの名無しさんNGNG
ごめんなさい。見つけますた。
paint()メソッドは Canvasが Componentから継承したメソッドです。
すべての JDKのコンポーネントは、再描画が必要になった時(
それを知らせるイベントが伝達された時)、
この paint()メソッドが自動的に呼び出される仕組みになっています。つまり描画処理のメソッド名はあらかじめ定められているわけです。また描画に必要となる Graphicsのオブジェクトは、 paint()の引数として与えられます。
原則として描画の処理はすべて
paint()のような描画専用のメソッド
(もしくはそこから間接的に呼び出される下請けのメソッド)
の内部にまとめて記述します。そうしておかないと、
再描画の処理が完全に実行できないからです。
0961デフォルトの名無しさんNGNG
>>956 java.awt.GraphicsCallback
0962デフォルトの名無しさんNGNG
ソースうpするとこないの?
0963デフォルトの名無しさんNGNG
>>962
どぞ。
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
0964デフォルトの名無しさんNGNG
java のコンパイラがソースをどの程度最適化してくれるのか
知りたいのですが, どこで勉強できるのでしょうか?

最適なコードを見やすく書きたいのでよろしくお願い致します.
0965デフォルトの名無しさんNGNG
>>964
結構改善の動きが早いから昔の情報は役に立たないし、
http://www.gimlay.org/~andoh/hatena/JavaPerformanceTuning/
から関係ありそうな話題をピックアップしてくとかかなあ。
もちろん自分でバイトコードとかベンチマークを調べるのは当然として。
0966964NGNG
>>965 さん 感謝.

なるほど, 見てみます.

964 質問の追記.
# 私が知りたいことを簡単に書きますと,
2 つの連続したSystem.out.print() が
バイトコードに変換された際には1 つに結合される
と言ったことなんですけど.
0967デフォルトの名無しさんNGNG
>>964
まずはここからJDKのソースを入手する。
http://wwws.sun.com/software/java2/download.html

で、展開されたソースの hotspot/src/share/vm 以下とか
hotspot/src/cpu/i486/vm 以下を読んでみると良いんでない?
0968967NGNG
って、Hotspot VMの最適化について知りたいわけじゃなかったのね。
忘れてちょ。
0969デフォルトの名無しさんNGNG
超初心者の質問イイっすか?
インターフェイスってなんの為にあるんですか?
インターフェイスの宣言で、メソッドの中身って書かないじゃないですか。
じゃあ、なんで実装する必要があるの??
継承はメソッドの中身等も全て引き継ぐから分かるんですけど。
アホな質問スマソ。
0970デフォルトの名無しさんNGNG
>>969
オレも初心者だが、Javaでは多重継承(二つ以上継承すること)ができないため
インタフェイスがあると思われ。インタフェイスなら複数実装可能だから、
ほとんどすべてのクラスに共通するような変数とかまとめてインタにしておいて
全部で実装とかだと思ってるんだけど

合ってまつか?(((((( ;゚Д゚)))))ガクガクブルブル
0971デフォルトの名無しさんNGNG
クラスを使う人が便利になる。
0972953NGNG
>>963
ごめん。ソースまるごとうpできるやつないでつか?
0973デフォルトの名無しさんNGNG
http://www.h5.dion.ne.jp/~tuyano/JavaTutor/JavaTutorZ3.html
↑ここに書いてあるとおりにjarファイルを作ってみたんですが、
ダブルクリックしても
Could not find the main class. Program will exit!
とか出て実行できないんです。
ちゃんとMain-Class: P1って指定してるのに。
なぜだかわかる人いませんか?
コマンドプロンプトでなら実行できるんですが、めんどいんです。
0974デフォルトの名無しさんNGNG
>>969
そのインターフェース実装してるクラスは、必ずそのインターフェースで定義されてるメソッドを実装している。
つまり窓口があらかじめ決められてるのと同じなので、他の人から見ても扱いやすくなる。
0975969NGNG
なるほど。じゃあ更に質問イイっすか?
スレッドではRunnable、アクションイベントではActionListenerといった様に
実装させないといけないのは何故ですか?
「クラスを使う人が便利になる・扱いやすくなる」
っていうだけだったら、別に必要ないような気もするんですけど・・。
あぁ、なかなか理解できない・・。
0976953NGNG
>>975
ん?実装すればいいだけだから便利だろ?
スレッドの時はRunnnable使えばいいってそれだけ覚えておけば
自分のやりたいことが出来るしょ?
0977デフォルトの名無しさんNGNG
たとえばスレッド処理をしたい場合に
別に Runnable を実装しなくても run() メソッドを書けばいいのでは?
と思っているのかもしれない。
言語によっては実際にこういうことも可能である。

しかし Java では人間が run() メソッドを書き忘れるという可能性をなくすために
スレッド処理では Runnable を実装して run() メソッドがあることを保証する
というアプローチになっている。
0978デフォルトの名無しさんNGNG
>>975
適切な Interface を実装しているかどうかコンパイル時にチェックできる。
0979969NGNG
う〜ん、結局何の利点があるのかは微妙に分からないです・・。
よく参考書等に、「javaは多重継承を認めていないが、インターフェイスの
実装により、多重継承を可能にしている」みたいな文が書かれているが、
中身を引き継いでいないなら意味ないジャン!って思ってしまいます。
こんな超初心者に色々答えてくれてアリガトウございました。
0980デフォルトの名無しさんNGNG
>>979
気持ちはよくわかる。漏れも勉強したての頃は必要性がよくわからなかった。
0981デフォルトの名無しさんNGNG
>>979
要するに、「このインターフェースを継承してるクラスは、確実にこういうメソッドを実装していることを保証しますよ」ということだ。
0982デフォルトの名無しさんNGNG
interfaceはデザインパターンでも有効に使われてるし、ものは使いよう。
個人的には、C++とOMTなんて時代の人間なので多重継承できなくて
モデリングで悩む事がしばしばあるが。
0983名無しさん@monalipseNGNG
>>979
中身を引き継がなくてもいい場合というのがある。例えば件のActionListenerなんてそう。
ActionListener.actionPerformed()にデフォルトの実装があったって誰も使わないでしょ。
だから、
>中身を引き継いでいないなら意味ないジャン!
ってことは無い。
インタフェースは役割を果たせるとか能力があるといったこと(英語が話せる)ことを示すもので、
実装を引き継ぐこと(アメリカ人である、とか、帰国子女である)とは区別します。
0984デフォルトの名無しさんNGNG
>>979
これを読んでみ。
http://java-house.jp/~takagi/archive/fj.comp.lang.java-interface-Sep1998/000066.html#body
0985デフォルトの名無しさんNGNG
インターフェースは多重継承の代わりではない。
チーム開発の場合、インターフェースの威力は凄まじい。
変更に強いコードも作り易い。
インターフェースに対してプログラミングしろ!
0986デフォルトの名無しさんNGNG
インターフェースの理解を深めたかったら、java.sqlパッケージを見てみろ。
0987デフォルトの名無しさんNGNG
test.javaファイル

public class test{
public static void main (String args[]){
Chart c = new Chart();
}
}

Chart.javaファイル

public class Chart{
public void Chart(){
System.out.println( "called" );
}
}

簡略化するとこんな感じのクラスを作りました。
しかし、コンストラクタが呼ばれていないようでなにも表示されません。
仕方がないので、コンストラクタは空っぽにして、メソッドで実行しています。
これはどこがマズいのでしょうか、ご指摘をお願いします。
0988続きですNGNG

また、コンストラクタをChart(String name)として、
文字列を引数に取るコンストラクタにして、
インスタンス化のときも、Chart c = new Chart( "aaaa" );
のような感じにするとシンボルが解決できませんと
コンパイルエラーになってしまいます。
これについても、ご指摘をお願いします。

環境は
java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-39)
Java HotSpot(TM) Client VM (build 1.4.1_01-14, mixed mode)
となっています。

FAQのコンストラクタ編とか、過去ログを「コンストラクタ」で検索はしました。
0989デフォルトの名無しさんNGNG
public void Chart(){}
そもそもこれがコンストラクタだと思っているのかと小一時間
0990デフォルトの名無しさんNGNG
>988
1000直前で質問ってのはかなりきわどいぞ。
あ、あとエラーメッセージはちゃんとこぴぺしてね。
といいつつ、おれ、スレ立てられないから誰かよろしく。
じゃ、おやすみ。
0991デフォルトの名無しさんNGNG
>>989
ワロタ
0992デフォルトの名無しさんNGNG
>>988
つまり、おまえさんのコードは、
常にデフォルトコンストラクタを呼び出す作りってことよ。
0993名無しさん@monalipseNGNG
>>987
SJC-Pの問題に出てきそうなネタだ。
0994デフォルトの名無しさんNGNG
くくしゲーーーット!!
0995デフォルトの名無しさんNGNG
Java厨は氏ねよ
0996デフォルトの名無しさんNGNG
JavaはC#のパクリ
0997デフォルトの名無しさんNGNG
import microsoft.csharp.specification.*;
0998デフォルトの名無しさんNGNG
import sun.java.license.*;
0999デフォルトの名無しさんNGNG
Javaは死滅
1000デフォルトの名無しさんNGNG
C#はJavaのパクリ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。