Este artículo comparte la implementación de Java de la alarma de ajuste de reloj dinámico para su referencia. El contenido específico es el siguiente
Muestra el reloj dinámico como se muestra en la figura anterior y puede configurar la alarma para reproducir MP3.
Lo primero que debe usar es el reloj (temporizador) y el calendario (calendario) para obtener la hora actual del sistema.
El código es el siguiente:
import java.awt.graphics; import java.awt.graphics2d; import java.awt.geom.ellipse2d; import java.awt.geom.line2d; import java.io.bufferedInputStream; import java.io.file; import java.io.fileInputStream; import java.io.ioException; import java.util.calendar; import java.util.gregoriancalendar; import java.util.timer; import java.util.timerTask; import javax.media.CannotrealizeException; import javax.media.manager; import javax.media.medialocator; import javax.media.noplayerException; import javax.swing.jframe; import javax.swing.JOptionPane; import javax.swing.jpanel; import javazoom.jl.player.player; El reloj de clase pública se extiende Jframe {MyPanel Clockpanel; Elipse2d.double e; int x; int y; Line2d. Double Worline; Line2d. Double Minline; Line2d. Double Secondline; Calendario Gregoriancalendar; into int; int minuto; int segundo; String timestr = ""; static int sethour; static int setminute; static int setSecond; Public estática final int x = 60; Public estática final int y = 60; Public static final int x_begin = 10; Public static final int y_begin = 10; Public estática final int radian = 50; Public Clock () {SetSize (300, 200); settitle ("reloj dinámico"); clockPanel = new MyPanel (); Agregar (ClockPanel); Temporizador t = nuevo temporizador (); Tarea tarea = nueva tarea (); t.schedule (tarea, 0, 1000); // Actualizar una vez cada segundo} archivo de archivo = nuevo archivo ("Cuando te extraño.mp3"); public static void playmusic (archivo de archivo) {// Muestra la ruta absoluta del archivo mp3 intenta {javax.media.player reproductor = null; if (file.exists ()) {medialocator localator = new Medialocator ("File:" + File.getAbSolutePath ()); System.out.println (file.getabsolutePath ()); Player = manager.createralizedPlayer (localizador); Player.prefetch (); // 新 está listo para leer Player.start (); // Comienza a leer} else {System.out.println ("No se encontró archivo"); }} Catch (Can'tRealizeException ex) {Ex.PrintStackTrace (); } catch (noplayerException ex) {ex.printStackTrace (); } catch (ioException ex) {ex.printstackTrace (); }} public void play () {// Play MP3 Archivo intente {BufferedInputStream Buffer = new BufferedInputStream (nuevo FileInputStream ("Cuando te extraño.mp3")); Jugador jugador = nuevo jugador (búfer); jugador.play (); } catch (Exception e) {System.out.println (e); }} public static void main (string [] args) {reloj t = new Clock (); t.setDefaultCloseOperation (jframe.exit_on_close); t.setVisible (verdadero); //t.setLocationRelativeto(null); // El formulario se muestra en el centro de la pantalla // ingrese el tiempo de alarma para ser sethour = integer.parseInt (jOptionPane.showInputDialog ("Ingrese la hora:")); setMinute = Integer.ParseInt (jOptionPane.ShowInputDialog ("Por favor, ingrese minutos:")); setSecond = Integer.ParseInt (JOptionPane.ShowInputDialog ("Por favor, ingrese segundos:")); } class myPanel extiende jpanel {public myPanel () {e = new Ellipse2d.Double (x_begin, y_begin, 100, 100); hornine = new Line2d.Double (x, y, x, y); minline = new Line2d.Double (x, y, x, y); Secondline = new Line2d.Double (x, y, x, y); } public void PaintComponent (Graphics g) {super.PaintComponent (g); Graphics2d G2 = (Graphics2d) G; G2.DrawString ("12", 55, 25); // Tiempo de ocasión G2.DrawString ("6", 55, 105); G2.DrawString ("9", 15, 65); G2.DrawString ("3", 100, 65); G2.DrawString (Timestr, 0, 130); g2.draw (e); G2.Draw (hora); // Hour Hand G2.Draw (minline); // minuto Hand G2.Draw (Secondline); // Second Hand}} La tarea de clase extiende TimerTask {public void run () {calendar = new Gregoriancalendar (); hora = calendario.get (calendario.hur); minuto = calendario.get (calendario.minute); segundo = calendar.get (calendar.second); if (sethour == hora && setminute == minuto && setSecond == segundo) {playmusic (archivo); jugar(); } timestr = "Tiempo actual:" + hora + ":" + minuto + ":" + segundo; Hour.x2 = x + 40 * Math.cos (hora * (Math.pi / 6) - Math.pi / 2); hornine.y2 = y + 40 * math.sin (hora * (math.pi / 6) - math.pi / 2); minline.x2 = x + 45 * math.cos (minuto * (math.pi / 30) - math.pi / 2); minline.y2 = y + 45 * math.sin (minuto * (math.pi / 30) - math.pi / 2); Secondline.x2 = x + 50 * Math.cos (segundo * (Math.pi / 30) - Math.pi / 2); Secondline.y2 = y + 50 * Math.sin (segundo * (Math.pi / 30) - Math.pi / 2); repintado (); }}} Reproducir el archivo MP3 requiere descargar el paquete JAR correspondiente, de lo contrario no se puede reproducir.
Descargar dirección: Java implementa el reloj dinámico
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.