- PR -

ビープ音について (

1
投稿者投稿内容
松犬
会議室デビュー日: 2002/02/12
投稿数: 10
お住まい・勤務地: 神奈川
投稿日時: 2002-02-16 15:11
こんにちわ、松犬です。
今回はビープ音についての質問です。

notepad にて下記コードを実行した場合はビープ音が鳴るのですが、
Visual Age for Java で同一コードを実行した場合、
「・」この様な記号が表示されるだけなのです。
(\t や \n は正常に使用出来ました。)

Bug fix code?
System.out.println("\u0007");

Visual Age for Java で何らかの設定を行う必要があるのでしょうか?
何だか、駄目? な質問ですいません。 汗

[ メッセージ編集済み 編集者: 松犬 編集日時 2002-02-16 15:16 ]
kaho
会議室デビュー日: 2001/08/14
投稿数: 12
投稿日時: 2002-02-18 13:00
\\aでビープ音が鳴るかどうかはシステム依存なのではないでしょうか。
AWTを呼び出してしまうので初回はオーバーヘッドがありますが、
java.awt.Toolkit.getDefaultToolkit().beep()
で代用できます。
松犬
会議室デビュー日: 2002/02/12
投稿数: 10
お住まい・勤務地: 神奈川
投稿日時: 2002-02-19 21:52
java.awt.Toolkit.getDefaultToolkit().beep()

上記を使用する事により、ビープ音が鳴りました。
Javaってシステム依存じゃないと思っていたんですけど、
そんな事もあるんですね。
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-02-20 01:18
「バイナリ 0x07 を『表示』すると beep が鳴る」のが環境依存なんです。

0x07 という1バイトを「なにも表示せずに beep を鳴らす」と解釈する環境もあれば、「画面全体を一瞬反転させる」と解釈する環境もあります。もちろん完全に無視する環境もあります。

そういうことを避けるために、環境に依存せず「beep を鳴らす」ためのメソッドが準備してあるのです。
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2002-02-20 09:52
引用:

松犬さんの書き込み (2002-02-19 21:52) より:
Javaってシステム依存じゃないと思っていたんですけど、
そんな事もあるんですね。


「writer once, run every where」のJavaも実行環境によって動作が変わることもありますよ。Javaのプラットフォーム互換(文字エンコード)でも取り上げてますが、使用しているJVMでも動作が違うこともあります。(ちなみにこれは未だ解決してないのですが・・・)またJVMによって実行速度が変わることもあるようです。

基本的にシステム依存はしませんが、時折システムやJVM、Java Compilerなどによって奇妙なことをすることがあります。大概はマイナーな問題ばかりなのですけどね。
まりり
ぬし
会議室デビュー日: 2001/12/05
投稿数: 329
投稿日時: 2002-02-20 15:44
ちなみに、文字コードにまつわるあたりは
当然のようにプラットフォームに依存しますのでご注意を。

プログラム中で特定の文字コードに依存するルールを前提とすると
どこかではまります。今回のbeepもそのひとつかなと思います。

ということで、しょむさんの言うように依存度を減らすために
メソッドが準備されているわけですね。
場合によっては定数のときもあるかもしれません。
(プラットフォームごとに実装ということです。念のため)
1

スキルアップ/キャリアアップ(JOB@IT)