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

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

■ このスレッドは過去ログ倉庫に格納されています
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 進行でおねがいします。また煽り厨は放置でお願いします。
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を行う際に
シリアライズできないとディスク書き込みが出来ないから。
■ このスレッドは過去ログ倉庫に格納されています