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

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path%2Cclasspath

前スレッド
【初心者】Java質問・相談スレッド54【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1096548618/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */

また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
0237デフォルトの名無しさんNGNG
>>234
ステータスバーは JPanel とか、
必要なら好きな javax.swing.border.Border の実装クラスとかを使って
比較的簡単に実現できるが、
Swing には JStatusBar みたいなコンポーネントは無かったような。
0238デフォルトの名無しさんNGNG
>>236
漏れ、このコメントV2Cで見てまつ。
2chビューアの中で一番しっくり来たのがコレ。
GUIの勉強にもなる。デコンパイルしてソース見ろとまでは言わないが、
Swingの表現力とパフォーマンスについて認識を改めた一品。
>>234
BorderLayoutのSouthにステータスバーにしたいコンポーネントをはっつければOKでしょ。
0239デフォルトの名無しさんNGNG
デコンパイルってどうやるの?
0240デフォルトの名無しさんNGNG
java decompiler とかでぐぐるとデコンパイラが見つかると思うから、それ使えば?
0241デフォルトの名無しさんNGNG
>>239
jadが有名、GUIのフロントエンドもいくつかある
Eclipseを使ってるのならjadを使うプラグインがある

これだけ情報あれば検索で見つけられるはずからがんばれ
0242デフォルトの名無しさんNGNG
 なんか、ちょっと前の本とかSwingでマックのルックアンドフィールとか使ってたりする
んだけど、今、はそのクラス自体ないようなのです。
 J2SDK1.4.0とかでもできるの?
 
0243デフォルトの名無しさんNGNG
>>236
>>237
>>238
どもです。早速やってみます
0244デフォルトの名無しさんNGNG
JavaScriptでWebページ内のFormの値を取得して、それをアプレット
に渡して、アプレットからファイル出力させるにはどうすればいいの?
いろいろ試したけど、JavaScriptかアプレットどちらかのセキュリティ権限に
引っかかって、うまくいきませんでした。無理って事?
0245デフォルトの名無しさんNGNG
クライアント側にファイル出力するのは基本的に無理。
0246デフォルトの名無しさんNGNG
>>240-241
jadプラグインでぐぐってきます。ども。
0247デフォルトの名無しさんNGNG
JFrameクラスで
setResizableを下方向のみ許可することはできますか?
0248デフォルトの名無しさんNGNG
http://ex7.2ch.net/test/read.cgi/base/1098460250/97
0249デフォルトの名無しさんNGNG
setTextメソッドで("<html>a<br>b<br>c") と指定した場合

JTextAreaクラスなら文字列がそのまま表示されるけど
JLabelクラスならhtmlで解釈されるから改行されますよね

他にJavaでhtmlを使ってテーブルを表示する方法ってありませんか?
0250デフォルトの名無しさんNGNG
>>249
PrintWriter
0251デフォルトの名無しさんNGNG
>>249
JEditPaneとJTextPane
0252r ◆r/etvCKR2A NGNG
StringTokenizerとか、String#splitとか
文字列を分割するための道具が、Javaには幾つか準備されているようですが、
エスケープが扱える物って、なんかあるでしょうか。

たとえば
1. 文字列を空白文字で区切る
2. 空白文字が連続した時は、一個の空白であると見なす
3. 大文字は小文字に変換する
4. 連続した空白、大文字を表現したい時は、"で囲む
5. "自体を表現する時は\でエスケープする
6. \自体を表現する時は\でエスケープする

などというルールを実装するには、普通どうやるのだろう。

とりあえず、一文字ずつ、状態遷移しながらパースするコードを書いてみますた。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1076074304_21/Parse.java
ルールが変わるたびに、マルコフ的な状態遷移を考えて、
新しくたくさんのコードを書いて...ってのが激めんどくさいので、
どうにか簡単に表現できると嬉しいんだが。
みなさんどうやってるのです?
0253デフォルトの名無しさんNGNG
>>252
>一文字ずつ、状態遷移しながらパースするコードを書いてみますた。
その条件だとそれしかないと思われ
つかどうしてもそれがめんどいならJavaCC使うのが楽と思われ
でもよく考えたらJavaCCの資料探して勉強するほうがめんどくさいと思われ
0254デフォルトの名無しさんNGNG
まずエスケープ文字でトークン化して、調整すればいいと思うけど?

new StringTokenizer(s, " ¥¥¥n¥t¥r", true);
0255デフォルトの名無しさんNGNG
Javaプログラミング難しいよ〜
どうすれば上達しますか?
2週間後テストなんですけどやばいかも・・・
0256デフォルトの名無しさんNGNG
実際にアプリケーション作ってみろ
そうすればどこがわからないかがはっきりする
0257デフォルトの名無しさんNGNG
>>255
1.人に聞く
2.本を読む
3.自分でやってみる

これだけやれば完璧!
0258デフォルトの名無しさんNGNG
>>256-257
どうもありがとうございます。
質問なんですが、さっき本を読んでて思ったのですが、
論理輪である縦線2つとか特殊な記号はどうやって出すんですか?
キーボード見てもありません・・・
0259デフォルトの名無しさんNGNG
これをコピペして使え→||
0260デフォルトの名無しさんNGNG
sqrtって「スクルト」って呼ぶんですか?
0261デフォルトの名無しさんNGNG
>>259
ありがとうございます。
できれば表示の仕方を教えてもらいたいのですが・・・
0262デフォルトの名無しさんNGNG
System.out.println("||");
0263デフォルトの名無しさんNGNG
>>261
Javaの質問じゃないし。PC初心者板とか行って聞いた方が早そう。
0264デフォルトの名無しさんNGNG
>>261
キーボードの種類は?
0265デフォルトの名無しさんNGNG
>>261
・右クリックして「貼り付け」を選択

または

・Ctrl + Insert
0266デフォルトの名無しさんNGNG
>>258
何年前のキーボードを使ってるのですか?
プロの人の中には、作家が同じ万年筆をいつまでも
愛用するように、手に馴染んだキーボードをいつまでも変えないで
変換コネクタを用いて未だに20年前のパソコンのキーボードを
使ってる人がいるみたいですが、アナタもその部類ですか?
0267デフォルトの名無しさんNGNG
>>264
普通のキーボードです、とか
PCショップで何千円で買ったキーボードです、とか言われそうな予感。
0268デフォルトの名無しさんNGNG
>>264
静電容量方式です・・・
0269デフォルトの名無しさんNGNG
>>262-267
いろいろすいません。
僕が聞きたかったのはキーボードのどれを押せば
縦線が表示できるのか、です。
キーボードは267さんの言うように普通のです・・・
0270デフォルトの名無しさんNGNG
>>269
キーボードの右上の方、BackSpaceキーの左にある
 \ と書かれたキーを、Shiftキーと一緒に押すと | がでます。
それを2回押すと論理和の記号 || が出ます。
0271261NGNG
>>264
電脳直結式のキーボードです。
私は電脳手術(攻性防壁付き)を行い、脳を電脳化してますので
脳波で直接入力する事が可能なのです。
キーボードの機種は、東レ0420式です。
0272261NGNG
音声認識をつかっています・・・
0273デフォルトの名無しさんNGNG
>>270
どうもありがとうございます!
それをやるとバックスペースの左のボタンの左上が表示されるんですよね?
そこを見ると縦線の真ん中が切れてますよ。

>>271-272
なりすましはやめてください・・・
0274デフォルトの名無しさんNGNG
>>273
なりすましはやめてください!

>>270
やってみたら||となってしまって
コンパイルが通りません・・・
0275デフォルトの名無しさんNGNG
>>273
>そこを見ると縦線の真ん中が切れてますよ。

ただの印刷ミスだ。気にするな。
0276デフォルトの名無しさんNGNG
わけがわかんなくなってきたなw
0277デフォルトの名無しさんNGNG
>>273
> そこを見ると縦線の真ん中が切れてますよ。
DOS時代は 0 に斜め線が入ってたり、| が真ん中で切れてたりしたんだよ。
0278 ◆9Ce54OonTI NGNG
>>273-274は偽物です!
証拠にトリップをつけますので、しつれいします。

>>270
>>274とおなじ状態になってしまいます・・・
0279デフォルトの名無しさんNGNG
本物の261です。
しばらく質問するのは控えようと思います・・・
いろいろ教えてくれた方々、ありがとうございました!!
0280デフォルトの名無しさんNGNG


    Java関係ねーよ

0281261NGNG
記念カキコ♥
0282デフォルトの名無しさんNGNG
>>279
プログラミングを控えた方が早いな。
0283デフォルトの名無しさんNGNG
人が真面目に質問してるのに、茶化すような回答するのは
どうかと思います。
今回の件で、2ちゃんねるのキモオタプログラマーどもの
実態が分かりました。
やっぱり正規のプログラミングサイトとメーリングサイトに
行きます。ありがとうございました。さよなら。
0284デフォルトの名無しさんNGNG
本物の糞261が常時ageていることに
騙りも気づいたか
0285デフォルトの名無しさんNGNG
>>276
下げてないヤツが(ry
0286デフォルトの名無しさんNGNG
261ですけど、友達もわからないと言っていたので
わからないのが普通だと思います・・・
0287デフォルトの名無しさんNGNG
かぶりage
0288デフォルトの名無しさんNGNG
261ですけど、かぶりageってなんですか?
0289デフォルトの名無しさんNGNG
261です。
実は釣りでした。
0290r ◆r/etvCKR2A NGNG
>>253
ん、JavaCCでググって観たが、確かに超めんどくさそうだ。

>>254
エスケープ文字でトークン化か...
一文字ずつやるのとほぼ同じ状態遷移が必要になるな....

まあいいや。一文字ずつやろうっと。
ありがとね。
0291デフォルトの名無しさんNGNG
友達が分からんと言ってたから分からんのが普通ってのがすごい。
||だろ? ||なんだろ? ||は全然違う...
0292デフォルトの名無しさんNGNG
>>291
でも、押したら||が出たんですよ・・・
0293デフォルトの名無しさんNGNG
ネタじゃなかったのか
どこかで全く同じ質問と回答をみたきがする・・・
0294デフォルトの名無しさんNGNG
半角。
0295デフォルトの名無しさんNGNG
>>294
すいません、板違いなのは承知していますが、
半角板は違うんじゃ・・・
0296デフォルトの名無しさんNGNG
>>252 >>290
java.util.regex.Patternでできるよ。
0297デフォルトの名無しさんNGNG
>>295
とりあえずageるのをやめてからにしてくれ。
0298デフォルトの名無しさんNGNG
>260
脳内では好きなように読んでくれればいい
「スクルド」と無理矢理読んでハァハァするのも自由だ
が、人と話をするときは「すくえあるーと」と言っとけ。
0299r ◆r/etvCKR2A NGNG
>>296
パターンによる検索が出来るだけかと思っていたが、そうではないのかな。
""で囲まれてる部分とそうでない部分をわけたりするのって
結局、一文字づつの時とほぼ同じ状態遷移が必要にならないか?

0300296NGNG
>>299
>パターンによる検索が出来るだけかと思っていたが、そうではないのかな。
そう

>結局、一文字づつの時とほぼ同じ状態遷移が必要にならないか?
その処理を自分で書くか、ライブラリに任せるかの違い。

//4. 連続した空白、大文字を表現したい場合は、"で囲む。(参考)
Pattern tokenPattern4 = Pattern.compile("((\"[^\"]*\")|(\\S+))");

//5. 6. ",\を表現するときは\でエスケープする。→(簡単のために読み替え)→ 7. \の次の文字はただの文字とみなす。
Pattern tokenPattern7 = Pattern.compile("\\G(\\s*)((\"((\\\\.)|([^\"]))*\")|([^\\s\"]+))(($)|(\\s+))");

String target = "a bc CC えお \" pp k k\" \" \\\" uK あいう \\\\ \\山 \" xy";
Matcher m = tokenPattern7.matcher(target);
while (m.find()) {
System.out.println(m.group(2));
}
0301デフォルトの名無しさんNGNG
ヽ(`Д´)ノウワァァン
いま「AWT/Swing コンポーネント階層図」っての作ってるんだけどさ、abstract でも final でもない
普通のクラスって何て呼べばいいんだよ? しっくり来る名前が見つからないよー。

これじゃ凡例が書けない。今のところ、
 □ … インスタンスを生成できるクラス
 □ … 抽象クラス
こんな風にしてるだが。うーん。
0302デフォルトの名無しさんNGNG
「普通のクラス」
0303デフォルトの名無しさんNGNG
ふう....FAか。
0304300NGNG
しかし正規表現は慣れるとパーサーを書くスキルが無くなってしまうという諸刃の剣。

俺がそうだ_| ̄|○
0305r ◆r/etvCKR2A NGNG
>>300,304
正規表現のorって、こんな風に使うんだな。
つか、tokenPattern7の方のが全然わかんねー!
ガンガって理解します。
つか、ありがと。

そっか、こんな風に使えるんだな。
すこしPerlで正規表現を触った事はあるんだが、
正直、ここまで出来るもんだとは思わなかった。

まあ、今のご時世正規表現の使えない環境なんて珍しいんだし、
パーサー書かなくっても困らないんじゃないの?ほとんど。
んじゃまた
0306デフォルトの名無しさんNGNG
javaの開発手法はウォーターフールですかスパイラルですか?
0307デフォルトの名無しさんNGNG
いえ、プロトタイピングモデルかRADの方が一般的です。
0308デフォルトの名無しさんNGNG
>>306
プロトタイプとウォーターフォールは同列に並べられない気がするが
0309デフォルトの名無しさんNGNG
Oracle10gApServerの質問ってどこですればいいですか?
0310デフォルトの名無しさんNGNG
>>309
サーバサイドJAVA質問スレッドにいってください。
0311デフォルトの名無しさんNGNG
一応質問ないようです。
10gASでFrameをshowする個所があるのですが、java.awt.HeadlessExceptionがThrowされます。

Frameを使用しているのは、Imageを生成して印刷を行いたいからです。

javaでImageを生成するためにはFrameをshowしてImageを実際に画面に出さないと
だめだとなんとなく思っています。

Headlessな環境でImageを生成して印刷する方法を教えてください
0312デフォルトの名無しさんNGNG
>>311
Image作るのにFrameが必要なんてことはない
BufferedImage勉強してみろ
0313デフォルトの名無しさんNGNG
>310
サーバサイドJAVA質問スレッド
見つかりません??
0314デフォルトの名無しさんNGNG
カタカナ→ひらがな変換可能なフリーなライブラリってありますか?
0315デフォルトの名無しさんNGNG
1. IBM ICU4J
2. いがぴょん いがLIB
0316デフォルトの名無しさんNGNG
じゅん for JAVA って結局なんなんですか!!
検索でいつも引っかかるけど意味分かりません!!
うがー。
0317デフォルトの名無しさんNGNG
>>311
おそらくjava.awt.ComponentクラスのcreateImage()からしかイメージが
作成できないとお考えのようですが、
javax.swint.ImageIOクラスで、ファイルやネットからのダウンロード
ソースでImageは作成できます。
それでImageを作ればFramwをshowする必要はありません。
0318デフォルトの名無しさんNGNG
>312
>317
ありがとうございました。


ネットからダウンロードしたイメージとローカルHDDにあるイメージを使用しています。
このイメージが完全にロードされてから描画したいので、MediaTrackerを使っていますが、
MediaTrackerの引数にComponetが必要です。

さらに、そのイメージを加工する必要があります。

加工の内容は具体的には、
1.4枚のイメージを並べる。
□□
□□
2.中心を切り取ってあたらしいイメージを作成する
□
です。
この処理をオフスクリーンで出来ればいいのですが・・・

多分どちらも出来るのでしょうね。
勉強してみます。

0319デフォルトの名無しさんNGNG
>>318
IoamgeIOほんとうに目を通したの?
ぜんぜんいってることおかしいよ
0320デフォルトの名無しさんNGNG
> このイメージが完全にロードされてから描画したいので、MediaTrackerを使っていますが、
javax.imageio.ImageIO#read(URL) とかを使えば読み込み完了したイメージが得られたような?
0321デフォルトの名無しさんNGNG
>319
どうもすいません・・・

ImageIOのreadで BufferedImageを取得
BufferedImageのcreateGraphics() でGraphics2Dを取得
Graphics2Dを使ってイメージの加工
でしょうか?

>320
ありがとうございます。
0322デフォルトの名無しさんNGNG
インターネットエクスプローラの,ツールのsunのjavaコンソールを
おしても,コンソールが表示されません。

検索して調べてコントロールパネルのjava-pluginやインターネットオプション
の設定など,ほとんど対処方法はやりつくしているはずなのになぜかjavaコンソールが表示されません。

どなたか,原因がわかる方教えて頂けないでしょうか。
0323244NGNG
>>244
できました、みなさんのアドバイスが役に立ちました。
ありがとうございました。
どうやったかは、あえて教えません。
0324デフォルトの名無しさんNGNG
public class Inttest {
  public static void main(String[] args) {
    String s="あいうえお";
    s=s.replaceAll(".",".");
    System.out.println(s);
  }
}
このようにすると、実行結果が
.....
となってしまいます
なぜですか
0325デフォルトの名無しさんNGNG
>324
APIドキュメントをもう一度よく見てみよう。
それから「正規表現」について勉強しなされ。
0326デフォルトの名無しさんNGNG
>>324
replaceAll()は、その第一引数を正規表現形式で書かれたテキストだ
と強制的に見なしてしまう。
正規表現での . は、任意の文字を表わすとあり、
つまり上の書き方だと、ほぼ全ての文字を . に変換するとの事になる。
0327324NGNG
>>324-325
s=s.replaceAll(".",".");
->s=s.replaceAll("\\.",".");
としてうまくいきました
ありがとうございました
0328デフォルトの名無しさんNGNG
Java から JDBC で DB に接続するのに
DB を UTF-8 で作っておくほうが、文字化け等のトラブル少ないでしょうか?
それとも DB のマシンのネイティブのほうが問題少ないでしょうか?
0329デフォルトの名無しさんNGNG
DBをUTF-8にしておけば、Java-DB間で文字化けが発生することはない。よってトラブルが少ないと言える。
※仮に文字化けが起こってもJava側で対処できる。
プレゼンテーション層もUTF-8にするともっとトラブルは少なくなるはず。

ただしUnicodeですべての問題が解決されるわけではない。
0330デフォルトの名無しさんNGNG
ここに書くのは適切でないかもしれませんが、
JAVAでゲームを作って見たのですが、
当方、Windows持ってないのでこれがWindowsで動くのかわかりません。
もし、Windowsを持っている金持ちの方で暇な方がいれば
動くかどうかやってみてくれませんか?

http://fukuoka.cool.ne.jp/dream_theater/ciao/numberplace.html
0331デフォルトの名無しさんNGNG
文字化けなんてみるの久しぶり
0332デフォルトの名無しさんNGNG
class a {
public static void main(String args[]) {
boolean b = Boolean.getBoolean("true");
System.out.println(b);
}
}
の結果がfalseになるのはなぜでしょうか?
教えてください
0333 ◆7CWqH7Oesg NGNG
現場でJavaってる人に聞きたいが、率直なところJavaの需要多い?

今やってないからよくわからんが、Javaはなかなか浸透してないようで・・
0334デフォルトの名無しさんNGNG
>>332
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Boolean.html#getBoolean(java.lang.String)
> 引数によって指定されたシステムプロパティが存在し、
> それが文字列 "true" に等しい場合にだけ、true を返します。

java -Dtrue=true a とかやれば true と表示されると思われ。
0335デフォルトの名無しさんNGNG
>>333
うちに来る仕事の大半がJava。
まぁ、もともとそっちよりの会社だからだと思うけど。
0336デフォルトの名無しさんNGNG
>>334
できました。ありがとうございます。
しかし根本的には理解してないですけど。
■ このスレッドは過去ログ倉庫に格納されています