Red de conocimiento informático - Conocimiento informático - Buscamos un experto en programación Java para escribir un programa de despertador

Buscamos un experto en programación Java para escribir un programa de despertador

Uno que he hecho antes:

importar java.awt.*;

importar java.awt.event.*;

import java.util.*;

importar javax.swing.*;

importar javax.swing.Timer;

la clase pública Clock extiende JFrame implementa ActionListener {

public final int HEIGTH = 200, L0 = 50, T0 = 50,N=8;

public final double RAD = Math.PI / 180.0;

int x, y, viejo_X, viejo_Y, r, x0, y0, w, h, ang;

int sdo, mdo, hdo, viejo_M, viejo_H, hh, mm, ss;

int demora = 1000;

Calendario ahora;

Cadena st, alarma, Elementos1, Elementos2,str[];

JButton jb;

JComboBox jc1, jc2, jc3;

JLabel jl1, jl2, jl3, jl4;

JMenu jm1, jm2, jm3, jm4;

JMenuBar jmb;

JMenuItem jmi1, jmi2, jmi3, jmi4, jmi5, jmi6, jmi7, jmi8, jmi9,jmi10;

JTextField jtf1, jtf2, hora;

JPanel jp1, jp2, jp3;

Temporizador;

TimeZone tz = TimeZone.getTimeZone("JST");

Kit de herramientas kit de herramientas = Kit de herramientas .getDefaultToolkit();;

/**

*

* Descripción del método: Métodos que deben sobrecargarse para implementar la clase ActionListener

*/

public static void main(String[] args) {

Reloj cp = new Clock();

cp.setVisible (verdadero);

}

Reloj() {

super("¡Despertador Java! ");

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setSize(550, 700);

setVisible(true);

Contenedor contentPane = getContentPane();

jp2 = new JPanel();

jmb = new JMenuBar();

jm1 = new JMenu("Color de fondo Establecer", verdadero);

jm

i1 = new JMenuItem("color del anillo exterior");

jmi1.addActionListener(this);

jmi1.setActionCommand("color1");

jm1 .add(jmi1);

jmi2 = new JMenuItem("Color del borde del despertador");

jmi2.addActionListener(this);

jmi2.setActionCommand ( "color2");

jm1.add(jmi2);

jmi3=new JMenuItem("Color del chasis");

jmi3.addActionListener(este ) ;

jmi3.setActionCommand("color3");

jm1.add(jmi3);

jmi4=new JMenuItem("Color de fondo de la hora del sistema" );

jmi4.addActionListener(this);

jmi4.setActionCommand("color4");

jm1.add(jmi4);

jmb.add(jm1);

jm2 = new JMenu("Configuración del color del puntero", verdadero);

jmi5 = new JMenuItem("Color de segunda mano");

jmi5.addActionListener(this);

jmi5.setActionCommand("color5");

jm2.add(jmi5);

jmi6 = new JMenuItem("color del minutero");

jmi6.addActionListener(this);

jmi6.setActionCommand("color6");

jm2. add(jmi6);

jmi7 = new JMenuItem("color de la manecilla de hora");

jmi7.addActionListener(this);

jmi7.setActionCommand ("color7 ");

jm2.add(jmi7);

jmb.add(jm2);

jm3 = new JMenu("Configuración de sonido de alarma ", verdadero);

jmi8 = new JMenuItem("ring1");

jmi8.addActionListener(this);

jmi8.setActionCommand("ring1" );

jm3.add(jmi8);

jmi9 = new JMenuItem("Mute");

jmi9.addActionListener(this);

jmi9.setActionCommand("ring2");

jm3.add(jmi9);

jmb.add(jm3);

jm4 = nuevo JMenu("Ayuda", verdadero);

> jmi10=new JMenuItem("Instrucciones de uso");

jmi10.addActionListener(this);

jmi10.setActionCommand("ayuda");

jm4 .add(jmi10);

jmb.add(jm4);

jp2.add(jmb);

contentPane.add(jp2, BorderLayout. NORTE);

jp3 = new JPanel();

jl1 = new JLabel("Hora de alarma");

jl1.setFont(new Font(" KaiTi_GB2312", Font.BOLD, 18));

tiempo = new JTextField("00:00", 5);

alarma = time.getText();

jb = new JButton("Modificar hora de alarma");

jb.addActionListener(this);

jb.setActionCommand("CC");

jp3.add(jl1);

jp3.add(time);

jp3.add(jb);

contentPane add(jp3). , BorderLayout.SOUTH);

ClockPanel reloj = new ClockPanel();

contentPane.add(reloj, BorderLayout.CENTER);

// Agregar evento escuchando el formulario para escuchar la activación del cronómetro

ActionListener taskPerformer = new ActionListener() {

public void actionPerformed(ActionEvent evt) {

repaint ( );

}

};

nuevo temporizador(retraso, taskPerformer).start();

}

/**

*

* Descripción del método: Dibujar gráficos

*/

Color C1 = Color .lightGray;//Color anillo exterior

Color C2 = Color.black;//Color borde

Color C3 = Color.magenta;//Color placa interior

Color C4 = Color.azul;//Color de fondo

Color C5 = Color.amarillo;//Color de segunda mano

Color C6 = Color.verde;//Minuto color de la manecilla

p>

Color C7 = Color.red;//Color de la manecilla del reloj

public class ClockPanel extiende JPanel {

public void paint(Gráficos g) {

h = getSize().height - 200;

//Dibujar un círculo

g.setColor(C1);

g.

fillOval(L0 + 30, T0 + 30, h - 60, h - 60);

g.setColor(C2);

g.drawOval(L0 + 31, T0 + 31, h - 62, h - 62);

g.setColor(C3);

g.fillOval(L0 + 50, T0 + 50, h - 100, h - 100);

g.setColor(C2);

g.drawOval(L0 + 51, T0 + 51, h - 102, h - 102);

r = h/2 - 30;

x0 = 30 + r - 5 + L0;

y0 = 30 + r - 5 - T0;

ang = 60;

for (int i = 1; i <= 12; i++) {

x = (int) ((r - 10) * Math.cos( RAD * ang) + x0);

y = (int) ((r - 10) * Math.sin(RAD * ang) + y0);

g.drawString( "" + i, x, h - y);

ang -= 30;

}

x0 = 30 + r + L0;

y0 = 30 + r + T0;

g.drawString("Reloj analógico", 215, 200);

// Obtener la hora

ahora = Calendar.getInstance();

hh = now.get(Calendar.HOUR_OF_DAY);// hora

mm = now.get(Calendar.MINUTE);/ / Minutos

ss = now.get(Calendar.SECOND);// Segundos

g.setColor(C4);

g.fillRect(5, 550, 150, 30);// Rectángulo relleno

g.setColor(C6);

if (hh < 10)

st = "0 " + hh;

else

st = "" + hh;

si (mm < 10)

st = st + " :0" + mm;

else

st = st + ":" + mm;

if(alarm.equals(st))

{

if(toolkit!=null)

toolkit.beep()

else {}

}

if (ss < 10)

st = st + ":0" + ss;

else

st = st + ":" + ss;

{

g.setFont(nueva fuente("华文楷体", Font.BOLD, 16))

;

g.drawString("Tiempo del sistema:" + st, 10, 570);

}

// La relación entre el tiempo de cálculo y los gráficos

sdo = 90 - ss * 6;

mdo = 90 - mm * 6;

hdo = 90 - hh * 30 - mm / 2;

// Borrar segundero

if (old_X > 0) {

g.setColor(C3);

} else {

old_M = mdo;

old_H = hdo;

}

// Dibujar segunda mano

g.setColor (C5 );

x = (int) ((r - 26) * Math.cos(RAD * sdo) + x0);

y = (int) ((r - 26 ) * Math.sin(RAD * sdo) + y0) - 2 * T0;

g.drawLine(x0, y0, x, (h - y));

old_X = x;

old_Y = y;

// Borrar manecillas de minutos y horas

if (mdo != old_M) {

g.setColor(C3);

old_M = mdo;

}

if (hdo != old_H) {

g. setColor(C3);

old_H = hdo;

}

// Dibujar el minutero

g.setColor(C6) );

x = (int) ((r - 50) * Math.cos(RAD * mdo) + x0);

y = (int) ((r - 50 ) * Matemáticas .sin(RAD * mdo) + y0) - 2 * T0;

g.drawLine(x0, y0, x, (h - y));

/ / Dibujar manecilla de hora

g.setColor(C7);

x = (int) ((r - 90) * Math.cos(RAD * hdo) + x0);

y = (int) ((r - 90) * Math.sin(RAD * hdo) + y0) - 2 * T0;

g.drawLine(x0, y0, x , (h - y));

} // finalizar la pintura

}

// Juicio e implementación de la hora de alarma

// Implementación de alarma del tono de llamada

public void actionPerformed(ActionEvent e) {

// JMenuItem m = (JMenuItem) e.getSource();

if (e .getActionCommand() == "CC") {

int newHou, newMin;

char c;

String getTime = JOptionPane.showInputDia

log(this, "Ingrese el formato de hora de la alarma como:", "00:00");

repaint();

//Si deshace la hora establecida, ¿Qué se imprimirá? null

if(getTime==null)

System.out.println(getTime);

// dispose();

juez: if (getTime != null) {

//Imprime la hora establecida de entrada

System.out.println(getTime);

// Determinar si la entrada tiene 5 caracteres

if (getTime.length() != 5) {

JOptionPane.showMessageDialog(time, "Error de formato\nPor favor ingrese según el formato 5 dígitos", "Error",

JOptionPane.ERROR_MESSAGE);

repaint();

romper juez;

}

// Determina si la entrada es un número

for (int i = 0; i < (getTime.length()); i++) {

c = getTime.charAt(i);

if (i == 2 && !Character.isDigit(c))

continuar;

// Determina el carácter actual, si no es un número, salta del evento

if (i != 2 && !Character.isDigit(c)) {

JOptionPane .showMessageDialog(this, "Error de formato\n Ingrese 5 dígitos según el formato",

"Error",JOptionPane.ERROR_MESSAGE);

repaint();

juez de ruptura;

}

}

char[] hora = { getTime.charAt(0), getTime.charAt(1) } ;

char[] minuto = { getTime.charAt(3), getTime.charAt(4) };

newHou = Integer.parseInt(String.valueOf(hora));

newMin = Integer. parseInt(String.valueOf(minuto));

if (newHou >= 24 || newHou < 0) {

JOptionPane. showMessageDialog(this, "Error de formato\nLa hora debería ser un número positivo que no sea menor que 0 ni mayor que 23",

"Error", JOptionPane.ERROR_MESSAGE);

repintar();

juez de ruptura;

}

if (newMin

>= 60 || newHou < 0) {

JOptionPane.showMessageDialog(this, "Error de formato\nEl minuto debe ser un número positivo menor que 60", "Error",

JOptionPane .ERROR_MESSAGE);

repintar();

romper juez;

}

nuevo SetTime(newHou, newMin); p>

}

}

if (e.getActionCommand() == "ring1") {

toolkit=Toolkit.getDefaultToolkit(

}

if(e.getActionCommand() == "ring2"){

System.out.println("Silenciar");

toolkit=null;

}

if (e.getActionCommand() == "color1") {

Color de cadena;

Color c;

System.out.println("color1");

color = JOptionPane.showInputDialog(this, "Ingrese su color de anillo exterior favorito (0 --255)", "128");

if (color == null) {

} else {

if (Integer.parseInt (color ) < 0

|| Integer.parseInt(color) > 255)

JOptionPane.showInputDialog(this, "Ingrese su color de anillo exterior favorito (0--255) ", "128");

else {

c = nuevo Color(Integer.parseInt(color));

C1 = c;

}

}

}

if(e.getActionCommand() == "color2"){

Cadena color;

Color c;

System.out.println("color2");

color = JOptionPane.showInputDialog(this, "Ingrese su favorito color del borde (0--255)", "128");

if(color==null){}

else{if (Integer.parseInt(color) < 0 || Integer.parseInt(color) > 255)

JOptionPane.showInputDialog(this, "Ingrese su color de borde favorito (0--255)", "128");

más {

c = nuevo Color(Integer.parseInt(color)

);

C2 = c;

}

}

}

if(e.getActionCommand( ) == "color3"){

Color de cadena;

Color c;

System.out.println("color3");

color = JOptionPane.showInputDialog(this, "Ingrese su color de disco interno favorito (0--255)", "128");

if(color==null){}

else{if (Integer.parseInt(color) < 0|| Integer.parseInt(color) > 255)

JOptionPane.showInputDialog(this, "Ingrese su color de disco interno favorito ( 0- -255)", "128");

else {

c = nuevo Color(Integer.parseInt(color));

C3 = c;

}

}

}

if(e.getActionCommand() == "color4"){

Color de cadena;

Color c;

System.out.println("color4");

color = JOptionPane.showInputDialog(this, "Ingrese su color de fondo favorito (0--255)", "128");

if(color==null){}

else{if (Integer.parseInt (color ) < 0|| Integer.parseInt(color) > 255)

JOptionPane.showInputDialog(this, "Ingrese su color de fondo favorito (0--255)", "128");

else {

c = nuevo Color(Integer.parseInt(color));

C4 = c;

}

}

}

if(e.getActionCommand() == "color5"){

Color de cadena;

Color c;

System.out.println("color5");

color = JOptionPane.showInputDialog(this, "Ingrese su color de segunda mano favorito (0--255 )", "128");

if(color==null){}

else{if (Integer.parseInt(color) < 0|| Integer.parseInt(color ) > 255 )

JOptionPane.showInput

Dialog(this, "Ingrese su color de segunda mano favorito (0--255)", "128");

else {

c = new Color(Integer.parseInt( color ));

C5 = c;

}

}

}

si(e. getActionCommand () == "color6"){

Color de cadena;

Color c;

System.out.println("color6");

color = JOptionPane.showInputDialog(this, "Ingrese su color de manecilla de minutos favorito (0--255)", "128");

if(color==null){}

else{if (Integer.parseInt(color) < 0|| Integer.parseInt(color) > 255)

JOptionPane.showInputDialog(this, "Ingrese su minutero favorito color (0 --255)", "128");

else {

c = new Color(Integer.parseInt(color));

C6 = c ;

}

}

}

if(e.getActionCommand() == "color7"){

Color de cadena;

Color c;

System.out.println("color7");

color = JOptionPane.showInputDialog( this, " Ingrese su color de manecilla de hora favorito (0--255)", "128");

if(color==null){}

else{if ( Integer.parseInt(color) < 0|| Integer.parseInt(color) > 255)

JOptionPane.showInputDialog(this, "Ingrese su color de manecilla de hora favorito (0--255)", "128 ");

else {

c = nuevo Color(Integer.parseInt(color));

C7 = c;

}

}

}

if(e.getActionCommand() == "ayuda"){

Ayuda de cadena;

ayuda = JOptionPane.showInputDialog(this, "Ingrese salir para salir del uso de este despertador", "Este es un reloj analógico que se ejecuta en Java");

if(help.equals ("salir"))

disponer();

> else {}

// timer.restart();

}

}

clase SetTime {

Hora de cadena;

Minuto de cadena;

public SetTime() { }

public SetTime(int hora, int minuto) {

// Cuando el parámetro de tiempo es menor que 10, agrega el carácter 0 delante

if (hora < 10) {

Hora = "0" + String.valueOf( hora);

} else {

Hora = "" + String.valueOf(hora);

}

if (minuto); < 10) {

Minuto = "0" + String.valueOf(minuto);

} else {

Minuto = "" + String.valueOf( minuto

}

alarma = Hora + ":" + Minuto;

time.setText(alarm);

repintar); ();

}

}

}