- 締切済み
決められて時間が経過するとアラーム音を鳴らしたい
swingで時計を作っているんですがラジオボタンで選択した時間が経過するとアラーム音がなるようにしたいのですが、どのようにしたらよいでしょうか? 時間を表示するところまでできたのですが、アラーム音についてはわからなくて。。どなたかお願いします! public class Clock extends JFrame implements ActionListener{ private JLabel jLabel = null; //アラームのラジオグループを作る ButtonGroup group1 = new ButtonGroup(); JMenuItem button1 = new JRadioButtonMenuItem("30分", false); JMenuItem button2 = new JRadioButtonMenuItem("1時間", false); JMenuItem button3 = new JRadioButtonMenuItem("1時間30分 ", false); JMenuItem button7 = new JRadioButtonMenuItem("設定解除", false); public static void main(String[] args) { public Clock() { AlarmAction alarmAction = new AlarmAction(); ~~省略~~ } private void initialize() { new Timer(30, this).start(); } private javax.swing.JPanel getJContentPane() { if(jContentPane == null) { jLabel = new JLabel("",JLabel.CENTER); ~~省略~~ } public void actionPerformed(ActionEvent e) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); jLabel.setText(sdf.format(new Date())); } //アラームのクラス class AlarmAction extends AbstractAction{ AlarmAction(){ } public void actionPerformed(ActionEvent e){ } }
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- Bonjin
- ベストアンサー率43% (418/971)
実行時エラーならともかくコンパイルエラーぐらい自分で直しましょうよ。 javaのコンパイラは親切なのでエラーメッセージにもちゃんと原因が書かれています。 >シンボル: メソッド schedule(java.util.TimerTask,int) >場所 : javax.swing.Timer の クラス 私は java.util.Timer クラスと書いたはずなんですけど? というかjavax.swing.Timerがあるからフルパッケージで書いたんです。
- pcbeginner
- ベストアンサー率46% (261/560)
JAVAのAPIを読みなさい。
- Bonjin
- ベストアンサー率43% (418/971)
>30分や一時間という風に指定した時間が経過したのち java.util.Timer, java.util.TimerTaskを使えば可能だと思います。 サンプルはたぶんWeb上にあるので探してみてください。
単純にビープ音を鳴らすだけなら、以下でできます。 Toolkit.getDefaultToolkit().beep(); サウンドファイルなどを読み込んで鳴らすとなると、アプレットならAudioClipでできますが、アプリケーションだとちょっと面倒ですね。Java Sound APIを使うことになるでしょう。以下に、簡単な解説がありました。 http://cappuccino.ne.jp/keisuken/java/javasound.html
補足
さきほど素材で、使えそうなサウンドファイル 探しきましたので、後でリンク先を参考にさせて いただきます。ありがとうございました!! で、、問題なのがまず最初にビープ音でいいの ですが、30分や一時間という風に指定した時間 が経過したのち、ビープ音がなるように したいんですが検索したりしたのですが、 よいサンプルが見つからなくて、、どのように したらよいでしょうか?(泣
補足
いくつかサンプル見つけたんですが、 なかなかできません~~ scheduleにエラーが出ますし、 ○○時間後などの指定の仕方も解かりません(泣 timer.schedule(task,時間指定); 以下の文が自分が付け加えた文なんですが。 どなたかお願いします!! ========================================= シンボル: メソッド schedule(java.util.TimerTask,int) 場所 : javax.swing.Timer の クラス timer.schedule(task,2000); ^ エラー 1 個 ======================================= private TimerTask task = new TimerTask() { public void run() { Toolkit.getDefaultToolkit().beep(); } }; //アラームのクラス class AlarmAction extends AbstractAction{ AlarmAction(){ putValue(NAME, "アラーム"); } public void actionPerformed(ActionEvent e){ if(e.getSource() == button1){ .schedule(task,); //30分 }else if(e.getSource() == button2){ .schedule(task,); //1時間 }else if(e.getSource() == button3){ .schedule(task,); //1時間30分 }else if(e.getSource() == button4){ .schedule(task,); }else if(e.getSource() == button5){ .schedule(task,); }else if(e.getSource() == button6){ .schedule(task,); }else if(e.getSource() == button7){ //設定解除 }