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

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

■ このスレッドは過去ログ倉庫に格納されています
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/
  または「JavaScript デス」スレへ⇒ http://pc2.2ch.net/test/read.cgi/tech/1052273054/

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

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

基本的に sage 進行でおねがいします。また煽り厨は放置でお願いします。
0153デフォルトの名無しさんNGNG
JAVA学習の身です。よろしくお願いします。
画像(jpg)をフルスクリーン表示させたいのですが、やり方が分かりません。
いろいろとやり方があるかとは思いますが、何か参考になるような
ご意見をお願いします。
0154デフォルトの名無しさんNGNG
>>153
みなさんどう思いますか JNI が一番いいと私は思うのですが
0155デフォルトの名無しさんNGNG
class A{
 public void f(){}
}

public class B
{
 static void main(String[] arg)
 {
  new A(){
   public void f(){....}
  };
 }
}

このような継承と同時にインスタンスを作ることを何と呼ぶのですか?
(簡略のためこのプログラムに意味はありません)
0156デフォルトの名無しさんNGNG
>>155
言い方が逆じゃないか? インスタンスを作ると同時に継承を・・・まぁいいか。

new A() されている何者かは、A を継承した"無名クラス"という。
普通 class Hogehoge extends A して継承するところを、
Hogehoge などという名前をつけないからそう言う。
0157デフォルトの名無しさんNGNG
>>152
試しにソース書いてみて。そしたらあんたの言うこと信じる。
0158デフォルトの名無しさんNGNG
>>153
フルスクリーンの意味をもうちょっと具体的に。

Image.getScaledInstance() -> ImageIcon -> JLabel ->
JWindowをフルスクリーンサイズ表示で出来るぞ。
0159デフォルトの名無しさんNGNG
>>156 無名クラスですか。ありがとうです^^
処理の順番は継承してインスタンス化、
記述の順番はインスタンス化して継承、
言い方はどちらもありそう。
0160153NGNG
>158
お返事、ありがとうございます。
最大化という意味合いではなく、
画像のみを枠無しで表示、ようはスライドショーなんかを実行したときの
ようなイメージを作りたいと思ってます。
たぶん、158さんのおっしゃるやり方でできると思いますが・・・勉強してきます。
0161デフォルトの名無しさんNGNG

javaとは以下の公式で成り立っている。
[java = C++に標準クラスまたは関数を追加]

0162bloomNGNG
http://homepage.mac.com/ayaya16/
0163デフォルトの名無しさんNGNG
>>159
スプラッシュウィンドウでいけるかな?
ttp://numata.aquasky.jp/programming/java/component/SplashWindow.html
0164デフォルトの名無しさんNGNG
javaを勉強し始めた者です。何を教材にしたらいいのか迷ってます。
JAVAドキュメント以外におすすめの参考書やホームページ教えてください。
0165デフォルトの名無しさんNGNG
C++のstd::stringとかstd::vectorって標準じゃないの?
0166デフォルトの名無しさんNGNG
>>165
標準だがスレ違い
0167デフォルトの名無しさんNGNG
>>166
まあそうだが、>>161+その他への質問のつもり
0168デフォルトの名無しさんNGNG
>>164
javaとかJAVAとか書くな。「Java」と表記しろ!!!

お勧めは「あんたが本屋で一冊目に購入するもの」です。
0169167NGNG
ちなみにJavaは知らないんで、標準クラスの意味を間違えていたらスマソ
0170デフォルトの名無しさんNGNG
" "
を使って、複数行にわたって書きたいときはどうすればいいのですか?
0171デフォルトの名無しさんNGNG
>>170
無理。

" " +
" "
みたいに + で次行に繋ぐとか。
0172デフォルトの名無しさんNGNG
appletviewer ってCLASSPATHを参照しないのかな?
アプレットクラスが使用しているパッケージが他の場所にある場合、
どうやって指定するの?

017355NGNG
先日お世話になった55でつ。
無事仕上がりました!
ありがとうございました〜(^^
0174デフォルトの名無しさんNGNG
>>172
HTMLにcodebase書くんじゃなかったっけ。
実際にはWebブラウザ上で呼び出されるわけで、HTML上
で指定する以外は無意味だと思うが。
0175デフォルトの名無しさんNGNG
>>174
テストはコマンドラインからappletviewer実行して行うのが普通。
0176デフォルトの名無しさんNGNG
>>175
それはわかってるってば。ボケですかあんた。
0177172NGNG
・AppletMain.class アプレットクラス
・libPackage アプレットクラスがimportしているパッケージ(ディレクトリ)
これらが同じディレクトリにあれば問題ないけど、別のディレクトリに存在する場合どうするのかなと
appletviwerがCLASSPATHを参照するか、実行時にクラスパスを設定できれば良いんだけど
テスト時、最新ライブラリクラスをアプレットが存在するディレクトリにコピーするのが面倒くさい
0178デフォルトの名無しさんNGNG
>>176
肥溜めに落ちて氏ねよ、あんた。
0179デフォルトの名無しさんNGNG
女の子も男の子もどうぞ。
http://homepage3.nifty.com/coco-nut
0180デフォルトの名無しさんNGNG
J2SEのjava.xml.parser.DocumentBuilderFactoryとDocumentBuilderの
関係は、AbstractFactoryパターンに当たるのですか?
0181動画直リンNGNG
http://homepage.mac.com/hitomi18/
0182デフォルトの名無しさんNGNG
横スクACT作ってみたいなあと思い立ったのですが、どの言語が適しているでしょうか。
0183デフォルトの名無しさんNGNG
スレタイ読めてないし ごめんなさい
0184デフォルトの名無しさんNGNG
画像やボタンを表示させたとき、コンテンツ区画?、ようは背景が
灰色で表示されますが、これをDOS窓のような黒にしたいと思ってます。
あれが黒なのか、表示されてないだけなのかは知りませんが・・・
よろしくお願いします。
0185デフォルトの名無しさんNGNG
>>184
背景色を変えたい部品でsetBackground(Color.black)を呼ぶ。
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/awt/Component.html#setBackground(java.awt.Color)
0186デフォルトの名無しさんNGNG
>>175
つーかhtml上での動作を確認するためのシミュレータで
環境によって動作結果が違ってしまうのは変だろ。
0187デフォルトの名無しさんNGNG
>>182 Javaでやるなら付き合うぞ
0188デフォルトの名無しさんNGNG
>187
javaで2Dゲーム用のライブラリ誰か作ってない?
スプライトとかAudioとかその辺のライブラリを使いやすく
して欲しい
0189184NGNG
JFrameの中を単一色で塗りつぶしたいと考えています。
今は,JFrameをフルスクリーン表示、そしてボタン(画像)を表示させてます。
setBackground(Color.black)を追加してるんだけどどうも・・・
よろしくお願いします。
0190ICQ:3458525@hnNGNG
基本は絵画ポインタ( Graphics object )を絵画オブジェクトのコレクションに次々と渡していくっていう感じだ。
0191JunkuTKNGNG
JTextFieldにリアルタイムで3桁区切り(111,111,111)で表示するには,どうすればいいか
だれか教えてくださいよろしくお願いします。
0192デフォルトの名無しさんNGNG
>191
javax.swing.JFormattedTextField
0193JunkuTKNGNG
>192
もっと詳しく教えてくれませんか?
0194名無しさん@MonalipseNGNG
>>192
へぇ、1.4からそんなのできてたんだ。
commitとかrevertとかよさげ。今度使ってみよう。
>>193
http://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/JFormattedTextField.html
0195デフォルトの名無しさんNGNG
GUIの処理以外で、マルチスレッドにすると効率的な
処理って何がありますか?Servletもマルチスレッドですね。
なんでもマルチスレッドにしたら
良い結果が得られるってもんじゃないですよね?
0196デフォルトの名無しさんNGNG
メソッドの中にwhile文があるのですが、
return文を書いてあるのに"return文がありません"と出るのは何故ですか?
0197デフォルトの名無しさんNGNG
>>196
それだけしか書かないのに答えられる奴がいると思うのは何故ですか?
0198デフォルトの名無しさんNGNG
>>196
return出来ないルートがあるからだろ
0199デフォルトの名無しさんNGNG
>>197
すみません、どうやって説明すれば良いのか…
言い方が良く解らないんでつ

>>198
何度も見かえして、必ず何らかの処理の後にreturn文を書いているし、
ループさせたい場合のみreturnを書いてないのですが。
0200デフォルトの名無しさんNGNG
>>199
そのメソッド晒せ
0201デフォルトの名無しさんNGNG
言葉で説明できんのならソース貼れ。
0202デフォルトの名無しさんNGNG
>>195
プログレスバーとか
0203デフォルトの名無しさんNGNG
>>196
怪しい部分の抜粋でもいいからソース
0204デフォルトの名無しさんNGNG
マルティスレッド?わしはシングルスレッドでいっぱいいっぱーい。わけわか。
0205デフォルトの名無しさんNGNG
>>202
GUI以外で
0206デフォルトの名無しさんNGNG
>>195
ダウンロードとか。
0207デフォルトの名無しさんNGNG
>>205
CUIとか
0208デフォルトの名無しさんNGNG
ゲームの思考ルーチン
0209デフォルトの名無しさんNGNG
while(true){
      System.out.println("間違いありませんか? y/n");
      System.out.println("※中止する場合は0");
      ans= br.readLine();
      if(((ans).equals("y")) || ((ans).equals("y"))){
           vecv.remove(delno);
           return vecv;
      }

      if((Integer.parseInt(ans))==0){
           System.out.println("終了");
           return vecv;
      }

      if(((ans).equals("n")) || ((ans).equals("n"))){
           System.out.println("入力しなおして下さい");
           break;
      }
      else{
           System.out.println("yかn、もしくは0を入力して下さい");
      }
}
0210デフォルトの名無しさんNGNG
↑でつ。
お願いします…
0211デフォルトの名無しさんNGNG
ブレイクしたあと何を返したいのかと小一時間
0212デフォルトの名無しさんNGNG
whileの外にreturnが無いに2000ペリカ
0213動画直リンNGNG
http://homepage.mac.com/hitomi18/
0214デフォルトの名無しさんNGNG
ブレイクしたあとは、このwhile文の外のwhile文の処理になります。
0215デフォルトの名無しさんNGNG
>>212
↑のwhile文は、別のwhile文の入れ子になってまして、
そのループに戻りたいのでreturnは書いてません。
0216デフォルトの名無しさんNGNG
>>215
その別のwhileを抜けるとどうなるんだ?
0217デフォルトの名無しさんNGNG
全部さらしてくれ
0218デフォルトの名無しさんNGNG
>>215
そもそもなんで>>209のwhile文を問題にしているんだ。
0219デフォルトの名無しさんNGNG
>>218
while文のところにしかreturnが無いんじゃないの?
0220デフォルトの名無しさんNGNG
情報足りなすぎでみんな推測・憶測でしか回答できてない!
0221デフォルトの名無しさんNGNG
while(true){
   for(*** == 0){
if(************){
break;
}
}

if(***********){
return vecv;
}
   while(true){
ここが上記に書いたwhile文
}
}
0222デフォルトの名無しさんNGNG
ループを抜けた後に何もreturnしてないぞ
0223デフォルトの名無しさんNGNG
予想通りのようです。
では解答をどうぞ
↓
0224デフォルトの名無しさんNGNG
while(true){
   for(*** == 0){
      if(************){
         break;
      }
   }

   if(***********){
      return vecv;
   }
   while(true){
      ここが上記に書いたwhile文
   }
}

すみません、表示がおかしかったので書き直しました。
0225デフォルトの名無しさんNGNG
アホな質問すみません。

System.out.println()
と
System.err.println()
がありますが、どういうように使い分けるといいのでしょうか?

普段は out 一つで十分だと思うのですが、どういった場面で err を使うと効果的なのですか?
0226デフォルトの名無しさんNGNG
whileのワケワカランネストなんか書くな。
privateメソッドで切り出せよ。breakじゃなくてreturnになるので
見通しがたちやすくなる。コード整理の初手ですぞ。
0227デフォルトの名無しさんNGNG
>>225
単にデフォルトが両方コンソールに向いているというだけで、
もともと違う出口。どちらか、あるいは両方の向きを変えるこ
とだって可能。片方だけファイルに落したり、別々のファイル
に落したり、別の画面に描いたり。

普通はエラー表示をerrに、通常の表示をoutに書くもんだけど、
別にどう使い分けても自由。

いまどきJavaでSystem.outだのSystem.errだの使うのは
デバッグの時だけですけど。
GUIに吐くかファイルに落すなどが普通で、コンソールを
標準の入出力インターフェイスにするのは、馬鹿か素人が
やること。
0228デフォルトの名無しさんNGNG
>>226
ありがとうございます。参考にします!
0229デフォルトの名無しさんNGNG
System.errとSystem.outでは出力タイミングが少々違ったと思ったが。
C言語でのstdoutとstderrのように。
(stdoutはある程度バッファされる、stderrはバッファされない。
よって、outとerrのprintは必ずしも時系列に出力されない。)
勘違いなら失礼しました。
0230デフォルトの名無しさんNGNG
>>227
> GUIに吐くかファイルに落すなどが普通で、コンソールを
> 標準の入出力インターフェイスにするのは、馬鹿か素人が
> やること。
ウェーン
0231デフォルトの名無しさんNGNG
>>229
デフォルト(ただしどちらも端末に結びつけられている場合)でそうなっている場合が多いというだけで、
決まっているわけではないよ。それにsetvbufでいくらでも変えられるし。
0232デフォルトの名無しさんNGNG
>>227
馬鹿か素人?自分が何も知らない頃のこと覚えてる?
そんな言い方されるとムカツクんだよ。もっと言い方があるだろうに。
0233デフォルトの名無しさんNGNG
> コンソールを標準の入出力インターフェイスにするのは、馬鹿か素人がやること。

Javaってそんな言語なの?
0234デフォルトの名無しさんNGNG
>>233
いや、そのプログラムの目的次第かと・・・。
0235デフォルトの名無しさんNGNG
>>234
だよね(ホッ・・)
0236デフォルトの名無しさんNGNG
>コンソールを標準の入出力インターフェイスにする
プロでやってる香具師でこの言い回しをするやつは見たことない。趣味で初学者か?
0237デフォルトの名無しさんNGNG
junitのデフォルトのFormatterはコンソールに出力された標準出力とエラー出力を
分けてレポート出力してくれるので、テスト結果の資料を作るときに便利だったりする。
つーか、コンソール出力のまま普通に使うけどな、俺は。
ロギングは別API使う場合が多いし。
0238デフォルトの名無しさんNGNG
コンソール出力は出力結果を「目で見る」しかないよね。編集しづらくて
不便。カットアンドペーストとかをやるのも面倒なので、なるべく使わん
ようにしているが。
スクローラブルなテキストエリアにでも張っておくほうが、幾分でも気が
利いていると思うけどな。
emacsとかのテキストエディタにパイプで標準出力をリダイレクトして、加工に使う
とか、やらなかった?

>>237
そりゃJUnitがSystem.outやerrを置き換えしてるんでしょ。
それをしているなら、それは「賢いPrintWriter実装」であって、
単純なコンソールへの出力じゃないですぞ。
0239デフォルトの名無しさんNGNG
>「賢いPrintWriter実装」であって、
あ、そっか。話ずらしちまった。
0240デフォルトの名無しさんNGNG
J2SEとJ2EEはどうちがうんですか?
0241デフォルトの名無しさんNGNG
J2SEにサーバサイドのAPIを加えたのがJ2EE。VMは同じ。
0242デフォルトの名無しさんNGNG
>>241
ベン図書くと重ならないけどね。

コアAPIライブラリやコンパイラ等の基本ツールはJ2SEのSDKに。
J2EEのSDKにはEE用の拡張APIライブラリやアプリケーションサーバ
のリファレンス実装などがはいってる。
0243デフォルトの名無しさんNGNG
>>227
DQN?
0244デフォルトの名無しさんNGNG
> いまどきJavaでSystem.outだのSystem.errだの使うのは
>デバッグの時だけですけど。
そんなことするのは馬鹿か素人がやること。
デバッグやデバッグ用コードの削除といった作業そのものがバグを招く元になるし
そんなところに工数をかけるな。
プロはjava.util.loggingとかLog4jとか
それらをラップするJakarta-Commons-Loggingとか使う。
0245デフォルトの名無しさんNGNG
> コンソールを標準の入出力インターフェイスにするのは、馬鹿か素人がやること。
おまいは、パイプ使わないのかと小一時間(略
ほかのミドルウェアとかと動かしたりするとき、標準出力に吐いたほうが動作の時系列がわかりやすかったりするんだよ!
GUIだけで食っていけるプロならSWTのまめ知識の一つでもさらしてからやれ。
0246デフォルトの名無しさんNGNG
いま作ってるプログラムをコンパイルすると
Hoge$1.class
のように最後に$nと付いたクラスが生成されます。
これは、スレッドを使う際に無名インナークラスを使用しているからなのだと思うのですが、
これをなくすには、どうする方法がよいのでしょうか?
外部で宣言するしかないのでしょうか?

また、このせいだと思うのですが、javadocコマンドで生成したドキュメントにも
オーバーライドしたメソッドのみのあまり意味のないファイルが出来てしまいます。
無名インナークラスをjavadocコマンドで表示させないようにするには
どうしたらよいのでしょうか?

すみませんが、教えてください
0247bloomNGNG
http://homepage.mac.com/ayaya16/
0248デフォルトの名無しさんNGNG
>>244
ちょっと興味のあるレスハッケソ
ロギングか・・・・お、おれも覚えようかなニヤリ
Eclipse + antでうまくつかえるかな・・・


0249デフォルトの名無しさんNGNG
>>246
>これをなくすには、どうする方法がよいのでしょうか?
無名インナークラスを使わない以外にない。

>無名インナークラスをjavadocコマンドで表示させないようにするには
無名インナークラスはjavadocには出力されないが。
0250デフォルトの名無しさんNGNG
>>249
お答えありがとうございます。

>無名インナークラスを使わない以外にない。
無名インナークラスだからまずいのであれば、
ただのインナークラスにするにはどうしたらよいのでしょうか?
今回はスレッドを使っていて疑問に思ったのですが、
AWTなどでアクションリスナーを追加したりしたときも使いますよね。

>無名インナークラスはjavadocには出力されないが。
普通にpublicのみ指定してればそうなのですが、
privateもすべて出力しようとすると出力されるのです。
で、クラスの一覧に ***$n が並んですごくみっともなくなってしまうのです・・・・。
0251デフォルトの名無しさんNGNG
privateでもpackageでも無名インナークラスは出力されないんだが。
こちらのJ2SEは、SunのJ2SE-1.4.1_02、Windows。
javadocが入っているJ2SEは何?
ひょっとして標準以外のdoclet使ってる?
0252250NGNG
>>251
ありがとうございます。
J2SEはSunの1.4.0_01のWindows版
Javadocも同じです。
カスタムDocletは使ったことないです。
Antを使ってましたが、今はEclipseのJavadocへのエクスポートで十分なので
それを使ってます。

いま気になったので、新たに無名インナークラスを持ったAppletを制作したのですが。
おっしゃるように無名インナークラスは出力されませんでした・・・・。
javadoc.xmlのオプションは何も違いないのですが・・・・。

すみませんがよろしくご指導ください。
■ このスレッドは過去ログ倉庫に格納されています