[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 03/18 08:43 / Filesize : 244 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 17:53:34 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。pc10.2ch.net/hp/

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
【初心者】Java質問・相談スレッド113【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1204363011/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝のう存じます。

次スレは>>980あたりで。

231 名前:デフォルトの名無しさん [2008/04/12(土) 15:39:00 ]
荒らしても
スレたては続けるから無駄だよ

232 名前:デフォルトの名無しさん [2008/04/12(土) 15:39:38 ]
このスレを潰そうだなんてこれっぽちも思ってないんだが@

233 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:09:24 ]
M○工作員乙。そんなに危機感もってるのかな。(笑)

234 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:53:46 ]
3-4月と9-10月によく見かけるのは何で
気候的な問題?

235 名前:デフォルトの名無しさん [2008/04/12(土) 17:54:44 ]
そうだね。過ごしやすい時期だから天才が湧きまくるんだよ。
俺みたいなキチガイももっと湧いてくれれば良いのになあ・・・

236 名前:デフォルトの名無しさん [2008/04/12(土) 19:10:20 ]
>>234
花粉の影響かもな。

237 名前:デフォルトの名無しさん [2008/04/12(土) 19:12:26 ]
ああ、そうだな。
花粉が体内に入ってきてキチガイ作用を起こしてるんだ。
きっとそうだ。
花粉を体に入れなければ俺は天才になるのかな?

238 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 23:00:01 ]
>>212

import java.io.*;
import java.net.*;
public class CalcClient {
  public static void main(String[] args) throws IOException {
    System.out.println(calc("3+2*(5 + 2)"));
  }
  public static String calc(String target) throws IOException {
    URL url = new URL("www.google.com/search?q=" + URLEncoder.encode(target, "utf-8"));
    HttpURLConnection conn = (HttpURLConnection)url.openConnection();
    conn.setRequestProperty("User-Agent", "Mozilla/5.0");
    conn.connect();
    BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
    String response = "";
    for (String line; (line = br.readLine()) != null; ) response += line;
    br.close();
    conn.disconnect();
    return response.replaceAll("^.*?(<h2 class=r>.*?<b>.*=\\s*(\\S+?)\\s*</b></h2>).*?$", "$2");
  }
}


239 名前:デフォルトの名無しさん [2008/04/12(土) 23:03:11 ]
キ@@@@チ@@@@@@ガ@@@@@@@@イ@@@@@@@@@@



240 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 23:13:48 ]
こんなの、荒らされてる部類には入らないだろう。
2chと言う場を考えれば、いちいち気にする方がおかしい。

241 名前:デフォルトの名無しさん [2008/04/12(土) 23:18:14 ]
自演に見えるからそういうレスは止めてくれないか@@@@@

242 名前:デフォルト名無し [2008/04/12(土) 23:20:28 ]
これは今もやってるのか?

243 名前:デフォルトの名無しさん [2008/04/12(土) 23:22:03 ]
何の話だい?@

244 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 23:26:30 ]
>>238
ひでぇ

245 名前:デフォルトの名無しさん [2008/04/12(土) 23:27:45 ]
ひでぇのはお前だ@@@@@@@@@@

246 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 23:37:05 ]
>>238
すげぇっっw

247 名前:デフォルトの名無しさん [2008/04/12(土) 23:37:44 ]
全然すごくないんだが@

248 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 23:38:24 ]
>>238
クスリと笑えるネタというのは冗長になってはいけない。

249 名前:デフォルトの名無しさん [2008/04/13(日) 00:18:32 ]
java1.5 です。

URL指定して、googleのページのhtmlを読み込みを行うプログラムを作成しています。

windowsでは、すべてのhtmlの読み込みができたのですが、
同じプログラムをlinxuで実行すると、読み込んでいるhtmlが途中で切れてしまいます。
どういったことが原因と考えられるでしょうか?
また、対策などありますでしょうか?



250 名前:デフォルトの名無しさん [2008/04/13(日) 00:19:31 ]
うは@@@@@@@@@@
初心者はくだすれ行け@@@@@@@@@@@

251 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 00:29:05 ]
>>248
まあ言語仕様のせいでもあるし。
俺はウケた。

252 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 00:42:54 ]
>>249
具体的にどういった方法をとっているのかを書いてくれないとなんとも言えないなぁ。

253 名前:デフォルトの名無しさん [2008/04/13(日) 00:43:56 ]
だよな@@@@@

254 名前:249 [2008/04/13(日) 00:52:37 ]
URL url = new URL(uri);
URLConnection uc = url.openConnection();
InputStream is = uc.getInputStream();

// 入力ストリームを生成
BufferedReader in = new BufferedReader(
new InputStreamReader(
uc.getURL().openStream()));
is));

このような形で読み込んだinから1行1行listに格納しています。
ただ、一つ懸念があって、
1行の文字数が20000もじくらいあります。

windowsだと20000文字全部もってくるのですが、
linuxだと5000文字程度で切れてしまいます。

255 名前:デフォルトの名無しさん [2008/04/13(日) 00:53:07 ]
で、それが何?@

256 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 00:54:43 ]
>>249
情報が少ない。
・どんなAPIを使ってHTTPを処理しているのか?
・どのように切れるのか?同じ箇所でいつも切れるのか?

257 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 00:58:37 ]
>254
試していないから解らんけど、文字コードとかBufferの部分で差異が出ている可能性が高いと思う。
おそらく行単位って事は、readLineとかやっているんだろうけど、HTTPヘッダとかの処理とか結構複雑。

とりあえず、InputeStreamからbyte単位でreadしてみたらどうだ?
それで同じbyte数がLinux上でも取得できるかを確認汁。

258 名前:デフォルトの名無しさん [2008/04/13(日) 01:06:46 ]
>>257
> それで同じbyte数がLinux上でも取得できるかを確認汁。
自分でですか??

259 名前:249 [2008/04/13(日) 01:08:01 ]
>>256
APIはjavaですが・・。
切れる箇所はいつもおなじです。


>>257
HTTPヘッダとか意識する必要あるのでしょうか?
setRequestPropertyでAcceptあたりを確認してみます。

byte単位はやってみます。
あと、InputStreamの文字コード指定とかもやってみます。
聞いたらいろいろ思いついてきた!

あとなにかあればご教授ください。


>>258
だれすか




260 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 01:11:24 ]
Readerのエンコーディング指定と実際に取得するものは合致してるのかな。


261 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 01:37:27 ]
wsimportと同じ処理をJavaのプログラム上で実現したい
しかも、ファイルに出力するのではなく、メモリ上に展開したい

262 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 02:12:37 ]
>259
HTTPヘッダを、というよりはヘッダの改行コードとかの扱いだな。
終端文字はCRLFってプロトコルの仕様で決まっているから、プラットフォームのデフォルト改行コードと異なれば、単純なreadLineじゃダメ。

普通はApache-HttpClientみたいなライブラリを使ってしまうけど、生でやるのが目的ならば相手はバイナリデータと考えた方がいい。

263 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 02:36:45 ]
Javaから外部プロセスの状況を取得したいんですが、どうすれば
よいでしょうか?
具体的には、最前面にあるウィンドウのタイトルを取得したり、
外部のプロセスを閉じたりしたいです。
それと、キーロガーのように、グローバルフックでキー入力を
フックしたりしたいのですが、そういうことをするにはどうしたら
よいでしょうか?

264 名前:249 [2008/04/13(日) 03:07:46 ]
>>263
少しずれてるかもしれないけど、
ウィンドウ側や、外部プロセス側も自分が実装するものという前提であれば、
ttp://www.smg.co.jp/seminar/JavaNetwork/NP_lecture03.html
の第3回から第8回くらいが参考になるかも。

ウィンドウ側や外部プロセス側は実装はしない、というのであれば全然違うので参考にならないかと。

キーフックはjavascript側でならやったことあるけど、javaではないです。。



265 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 06:26:43 ]
OSはfedoracore5を利用しています。

while(true)で無限ループさせるプログラムを作成したのですが、
コマンドラインから実行すると当然のことながら制御が行ったきりになってしまい、
ターミナルを落とすとプログラムも一緒に落ちてしまいます。

これをWindowsで言うところのサービスのように実行するにはどうすればよろしいでしょうか?


266 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 07:35:07 ]
job制御、disownあたり?

267 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 09:33:46 ]
>>265
「サービスのように実行する」のなら、Java単体ではできないんじゃないかなー。

www.linux.or.jp/JM/html/LDP_man-pages/man3/daemon.3.html
を使って、CでJavaプログラムを起動するスタートアップを書くのが確実かなぁ。

そこまでやらないなら、標準入出力&エラー出力を閉じてnohup相当の処理を
した上でfork&execするようなシェルスクリプトを書くだけでいいかも。

単純に「行ったきりにならない」「ターミナルを落としてもプロセスは落ちない」
だけなら、「nohup java CLASS &」ただし、nohup.outに標準出力&エラー出力
が出続けるので注意。(rmしてもプロセスが生きてる限り見えないところに残る)

268 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 10:19:32 ]
>>254
ちゃんとcloseしないと尻切れになるとどこかで読んだ気がする。
結果分かったら書いてくれ。

269 名前:249 [2008/04/13(日) 10:54:49 ]
>>268
すみません。下のほうでcloseはしているのですが、
切ったまま投稿してしまいました。

で、結果ですが、
>>257>>260の仰せの通り、
文字エンコーディングの問題でした。
BufferedReader in = new BufferedReader(
new InputStreamReader(
uc.getURL().openStream()));
is,"Shift_JIS"))
とやることで解決しました。

ありがとうございました。;



270 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 13:05:13 ]
SwingのFrameの構造が良くわかりません。Panelに貼り付けるのかContainerに貼り付けるのかとかが良くわかりません
詳しく説明しているサイトか本ありませんか?

271 名前:デフォルトの名無しさん [2008/04/13(日) 13:27:53 ]
初@@@@@@心@@@@@@@@@@者@@@@@@@@@@@@@@@


272 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 13:38:46 ]
>>270
いくらでもあります。ググるか、本屋に行くかもしくはアマゾンあたりで購入してください。

273 名前:デフォルトの名無しさん [2008/04/13(日) 13:42:12 ]
日本語でおk

274 名前:デフォルトの名無しさん [2008/04/13(日) 14:56:04 ]
拡張for文に出会ったり、使ったりしたことある人いますか?

275 名前:デフォルトの名無しさん [2008/04/13(日) 14:59:47 ]
呼んだ?@

276 名前:デフォルトの名無しさん [2008/04/13(日) 15:02:23 ]
マジですか。
書籍でしか見たことないですが…
イマイチ使う気になれません。

277 名前:デフォルトの名無しさん [2008/04/13(日) 15:03:51 ]
で、何?

278 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:04:20 ]
拡張 for は理論上でのみ存在する構文です。

279 名前:デフォルトの名無しさん [2008/04/13(日) 15:04:52 ]
Integer i = new Integer(0);
plus(i);

public void plus(Integer i) {
 i++;
}

これで、iの値が増えてくれないんですが、
Integerオブジェクトの値を増やすことって、
できないのでしょうか?
C言語の、intポインタ的な使い方をしたいです。



280 名前:デフォルトの名無しさん [2008/04/13(日) 15:05:14 ]
拡張forは結構使えるよ。
慣れると普通のforには戻れない@@@


281 名前:デフォルトの名無しさん [2008/04/13(日) 15:05:34 ]
>>279
だから初心者はくだすれ行けよバカ@@@@@@@@@@@@@@@

282 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:07:48 ]
>>279
i++;
は、実際には
i = new Integer(i + 1);
だから。

283 名前:279 mailto:sage [2008/04/13(日) 15:09:46 ]
>>282
いや、それは分かってるので、
増やす方法はないのでしょうか?
もしくは、こういう場合どうすればいいでしょうか?
という質問です。

284 名前:デフォルトの名無しさん [2008/04/13(日) 15:10:16 ]
なんかこのスレでのキチガイごっこは飽きた。
知ってる人は知ってると思うが、
俺の本拠地は別板にあるからそっちでの活動に専念するわ。
ノシ

285 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:12:32 ]
int[] i = new int[]{0};
plus(i);

public void plus(int[] i){
  i[0] ++;
}

286 名前:279 mailto:sage [2008/04/13(日) 15:15:11 ]
>>285
どうもありがとうございます。

287 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:15:18 ]
>>283
まず誤解させる書き方をしたことを詫びるべきでは?

288 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:17:30 ]
>>285の回答で満足なのかよ

289 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:17:40 ]
いやさすがにおまいが勝手に誤解しただけだろう。
「なぜ増えないんですか?」 ならともかく。



290 名前:279 mailto:sage [2008/04/13(日) 15:33:56 ]
>>287
少し説明不足だったかも。すいません。
ただ、あなたも、もうちょっとちゃんと文章読んで答えて欲しい。。。

>>288
もっといい方法があるなら教えてもらえると嬉しいです。

291 名前:287 mailto:sage [2008/04/13(日) 15:35:22 ]
自分は>>285じゃないし、>>285とは解釈も違うけど、
あまりにも身勝手だと思ったもので。

292 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:35:25 ]
何コイツwwwwwww

293 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:37:02 ]
春は終わったのに春厨がいると聞いて飛んできました

294 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:49:28 ]
Javaアプレットで音を鳴らしたいのですが、
便利な方法はないでしょうか?

AudioClipなるものは機能がしょぼすぎて使う気になれませんでした。
DirectSoundばりのものがほしいのですが……。

295 名前:282 mailto:sage [2008/04/13(日) 16:29:37 ]
>>279
読んだよ。
それが解っていれば、増やす方法がない事くらい解るだろ?
まさか、メソッドに渡すのではなくインスタンス変数に持てばいいとかってレベルの話か?
それとも、
i = plus(i);
int plus(Integer i) {
  return i++;
}
とか、そんな回答が欲しいのか?
増やす方法の前に、増やす条件がなければ回答できねーよ

296 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:54:13 ]
C 言語の int ポインタ的な、で通じなかった時点であんたに答えるスキルがなかっただけ。

297 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:18:35 ]
C言語(笑) ポインタ(笑)

298 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:47:29 ]
javaのObjectInputStreamについて伺いたいのですが、

ObjectInputStream ois;
try{
ois=new ObjectInputStream(socket.getInputStream());
}catch(Exception e){
e.printStackTrace();
}

とやった場合、結果が成功でも例外でも即座に戻ってきますよね…?
どうも、tryのところでソケットに入力があるまで止まってしまう感じで、
どうしてそうなるか分からなくなってしまったのですが。

299 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:50:56 ]
>>298
ソケットの入力ストリームからオブジェクトストリームのヘッダを読むので戻りません。



300 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:54:22 ]
>>299
早速のご回答ありがとうございます。

ということは、最初の一回は何かオブジェクトを投げてここを通過させなければならない感じでしょうか?
それとも、ひょっとすると一個オブジェクトを投げるごとにnewでObjectInputStreamを作り直す必要があるのでしょうか。

301 名前:300 mailto:sage [2008/04/13(日) 18:00:42 ]
解決しました。ありがとうございました。

302 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:04:33 ]
>>300
ObjectInputStream を先に new するなら、その通信相手は ObjectOutputStream を先に new しなければならない。
理由は自分で考えろ。

303 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:11:11 ]
>>302
>>301をみてもわかるとおり、解決したってさw

304 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 21:34:07 ]
JNIを使ってC++のプログラムと連携しなけければならないのだけれど、
実行時にJREがエラーはいて止まる。
C++側から配列をもらってくるところで止まってるようだ。

Java側には、int配列の参照しか定義してなくて、
配列の実体はC++側で作って、jintArray型でJava側に渡されてきたのを結びつける、
ってことをやりたいのだけど、そもそもこういうことはできないのかな?

できるとしたら、unsigned char *p を、
jintArray qにキャストする方法を教えて欲しい。

そのまま q = (jintArray)p; でいいんだろうか?
まぁこっちは、C++寄りの話になってしまうのだけれど…

305 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 21:41:40 ]
>>304
SetIntArrayRegion() 使って C++ の領域から Java の int[]にコピーするか、
Java 側では java.nio.ByteBuffer#allocateDicrect で得られるバッファ使って
C++側では GetDirectBufferAddress で得られるポインタ使うか。

306 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 23:35:45 ]
>>305
素早い回答ありがとうございます。
早速書いてみます。

307 名前:265 mailto:sage [2008/04/14(月) 00:51:59 ]
>>266
disownは知りませんでした。
job番号が必要な辺り、今回は使えないかもしれませんが、
今後役に立ちそうです。ありがとうございました。

>>267
nohupで対応したいと思います。
丁寧にご教示頂き、ありがとうございました。

308 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:56:34 ]
Fedora なら daemon があるんじゃないか。
/etc/rc.d/init.d/ の起動シェルいくつか調べてみ。

309 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 09:47:19 ]
void main(String args[]) 前後省略
void main(String []args) 前後省略
入門書には2通りの書き方がありますが、
違いはありますか?



310 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 09:56:47 ]
>>309
見た目の違いだけ。

void main(String[] args) が推奨される書き方。
void main(String args[]) はC言語の癖が抜けない人が使う。
void main(String []args) は変態が使う。

一番上以外の書き方をしている入門書は、コーディング標準を知らない無知な人が書いていたり
コーディング標準を知っていてわざと従わないへそ曲がりな人が書いていたりすると思われるので
内容が適当だったり、普通の人には理解しにくい説明がされている可能性があがる。

311 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 10:15:20 ]
ありがとうございます。
そう聞いて今、Java Black Book 2001/12/21 (21page) に誤植見つけました!

312 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 11:02:39 ]
>>270
>SwingのFrameの構造が良くわかりません。Panelに貼り付けるのかContainerに貼り付けるのかとかが良くわかりません

pc11.2ch.net/test/read.cgi/tech/1172285649/867

313 名前:デフォルトの名無しさん [2008/04/14(月) 11:26:39 ]
文字列を1秒間隔で表示させるにはどうしたらいいですか?

314 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:07:45 ]
>>313
いいかげん自分でさがせよ。>>270 もお前だろ

315 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:09:06 ]
スレッドのスリープ
www.nextindex.net/java/thread/sleep.html

316 名前:デフォルトの名無しさん [2008/04/14(月) 13:04:35 ]
間隔を置いて1文字ずつを流したいのですが、何十秒間表示なしで、突然いっきに文字列が出ます。
どうしたらいいんでしょう。ソースはこれです。
public void paint(Graphics g) {
Font font = new Font(null, Font.PLAIN, 30);
g.setFont(font);
FontMetrics metrics = g.getFontMetrics(font);
String text = "Get down on your knees. Beg for your life!";
int margin = 30;
int cx = margin, cy = 100, mx = getWidth() - margin;

for(int i = 0; i < text.length(); i++) {
g.drawString(String.valueOf(text.charAt(i)), cx, cy);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
System.out.println(e);
}
cx += metrics.charWidth(text.charAt(i));
if (cx > mx) {
cx = margin;
cy += metrics.getHeight();

317 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 13:08:51 ]
>>316
paint内部で Thread.sleep してるから。

318 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 14:02:28 ]
>>316
天空の城ラピュタより。ムスカ全セリフ集(英訳版)か

319 名前:316 [2008/04/14(月) 14:16:05 ]
paint内にThead.sleepがダメいうことで、classをつくって、その中でsleepを定義してオブジェクトを作り、それをpaint内で呼び出して使おうとしましたが、うまくいきません。、Thread.sleepをどう使えばいいですか?
public class SleepT {
public void sleepii(){
try {
Thread.sleep(500);
} catch (InterruptedException e) {
System.out.println(e);
}
}
SleepT s = new SleepT();

public void paint(Graphics g) {

Font font = new Font(null, Font.PLAIN, 30);
g.setFont(font);
FontMetrics metrics = g.getFontMetrics(font);
String text = "Get down on your knees. Beg for your life!";
int margin = 30;
int cx = margin, cy = 100, mx = getWidth() - margin;

for(int i = 0; i < text.length(); i++) {
g.drawString(String.valueOf(text.charAt(i)), cx, cy);
s.sleepii();
cx += metrics.charWidth(text.charAt(i));
if (cx > mx) {
cx = margin;
cy += metrics.getHeight();
}
}



320 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 14:21:43 ]
>>319
drawString した内容は、paint() をいったん抜けないと実際の画面に反映されない。

321 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 15:18:24 ]
そこはタイマーの出番だろう。
javax.swing.Timer
それと、drawStringするよりJLabel使った方が楽な気がする。

322 名前:デフォルトの名無しさん [2008/04/14(月) 15:26:32 ]
これでどう?

import java.awt.*;
public class Sample extends Panel implements Runnable{
public static void main(String[] args) {
Frame frame = new Frame();
Sample sample = new Sample();
frame.add(sample);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
new Thread(sample).start();
}
public Sample() {
setPreferredSize(new Dimension(200, 200));
}
private int x = 10, y = 10, count = 0;
private String text = "Get down on your knees. Beg for your life!";
@Override
public void paint(Graphics g) {
g.drawString(text.substring(0, count), x, y);
}
public void run() {
for(int i = 0; i < text.length(); i++){
repaint();
count++;
try { Thread.sleep(500); } catch (InterruptedException e) {}
}
}
}


323 名前:デフォルトの名無しさん [2008/04/14(月) 16:05:05 ]
Javaでライブラリを作るには、どうすればいいですか?


324 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 16:09:19 ]
jar でぐぐれ

325 名前:デフォルトの名無しさん [2008/04/14(月) 16:28:32 ]
javaで盗聴器を作りたいと思ったのですが違法ですか

326 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 16:34:52 ]
文字のたれ流しならpaint使わずアクティブレンダリングすれば良いんじゃない?

327 名前:デフォルトの名無しさん [2008/04/14(月) 17:56:43 ]
ねえ。僕正社員なんだけど、いつも請負先はなんらかのフレームワークとか
EJBつかわされるんだけど、派遣の求人見るとJSTL/JSP/サーブレットくらいの
職場があるんだけど、こういうところって本当にそれしか使わない?

EJB/Xdoclet/Hibernate/Struts/Spring使いたくないんです。

328 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 19:15:57 ]
派遣の求人担当なんてServletとEJBの違いどころか、Javaと組み込みCの違いもろくに解ってないぞ

329 名前:デフォルトの名無しさん [2008/04/14(月) 19:18:31 ]
(;´д`)



330 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:08:37 ]
>>328
求人に応募すると、真っ先に技術シートとかスキルシートの記入を頼まれるんだが、
あの馬鹿しか記入できない仕組みやフォーマットは一体何?

それと変な適性検査を受けさせられて鬱になったこともある。
 1, 2, 4, 5, 7, ....  続く数字は? とか変な図形パターンのやつ
ふざけんじゃねー! 小学生の知能テストかよ!

別な会社で不意打ちの経済学・金融学の試験を満点解答したら蹴られた。
ふざけんじゃねー! 馬鹿しか採用しないのかよ!!!!!

331 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:14:26 ]
そりゃ単にあんたが向こうの要求するスキルを持ってなかっただけだろ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<244KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef