Red de conocimientos turísticos - Curso de fotografía - El calendario JAVA puede cumplir con los siguientes requisitos y cada línea debe indicar su función. Pídele a Dios respuestas

El calendario JAVA puede cumplir con los siguientes requisitos y cada línea debe indicar su función. Pídele a Dios respuestas

Conjunto de ejercicios;

Importar Java . awt *;

Importar Java . /p>

p>

Importar javax.swing.*;

Importar Java.util.*;

Importar javax.swing.timer;

Importar javax. swing border *;

La clase pública AidyCalender extiende JFrame para implementar ActionListener,

ItemListener {

Fecha Fecha = nueva Fecha( );

calendario gregoriano privado Calendario gregoriano = nuevo calendario gregoriano();

//Defina matrices de caracteres chinos e ingleses para almacenar información semanal para conversión y visualización.

private String[]String fin de semana = new String[]{ " DOM ​​", " MON ", " TUE ", " MIE ",

"JUE", "Viernes", "Sábado"};

cadena privada[]string semanacn = nueva cadena[]{ "Domingo", "Lunes", "Martes", "Miércoles",

"Semana " Cuatro", "Viernes", "Sábado";

//Defina la matriz de información para almacenar el mes para la visualización de la conversión.

private String[]String mes = new String[]{ " Ene ", " Feb ", " Mar ", " Abr ",

"May", "June" " , "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"};

Private String[] stringMonthCn = { " enero", "febrero", "marzo ", "Abril", "Mayo", "Junio",

Julio, Agosto, Septiembre, Octubre, Noviembre y Diciembre;

private String[]sysNowTime = new String[ 6]; // sysNowTime es una variable utilizada para almacenar la hora del sistema.

Cadena privada[]sys runtime = nueva Cadena[6];

JLabel privada[]etiqueta semana = nueva JLabel[7];

JLabel privada[ ]día de la etiqueta = nuevo JLabel[42];

hora de la etiqueta JLabel privada = nuevo JLabel();

Panel JPanel privado 1 = nuevo JPanel();

panel JPanel privado 2 = nuevo JPanel();

panel JPanel privado 3 = nuevo JPanel();

combo JComboBox privado 1 = nuevo JComboBox();

combo JComboBox privado 2 = nuevo JComboBox();

botón JButton privado hoy = nuevo JButton();

Borde privado Borde = Fábrica de bordes createraisedbevelborder();

Borde privado Borde 1 = Fábrica de bordes. crear línea Borde(color . cian, 3);

AidyCalender público(título de cadena) {

Super(Título); /p>

for(int y = 1900; y lt2101; y ) {

Combo1. additem(" Nuevo entero (y). tostring() " Año ");

}

for(int m = 0; m lt12; m ) {

combo 2 . additem(" stringMonthCn[m]);

}

botón hoy . settext(" hoy ");

establecer diseño (nuevo diseño de flujo());

añadir(panel 1);

añadir (panel 2);

añadir (panel 3);

panel1.setLayout(new GridLayout(1, 3, 10, 0));

panel 1. add(combo 1);

combo 1. additem oyente(this) ;

panel 1 . agregar(combo 2);

combo 2 . additem oyente(este);

panel 1 . /p>

botón hoy . addactionlistener(this);

LabelTime.setFont(newFont("ì",Font.Plain,16));

labelTime.setForeground ( Color.

magenta);

panel 1. add(etiqueta de tiempo);

Tiempo del temporizador = nuevo temporizador(1000, nuevo temporizador oyente());

tiempo . addActionListener(new timer listener());

//time . set repeticiones(true);

time start();

//etiqueta de tiempo. addancestorlistener(new timer listener());

panel 2 . blanco);

for(int I = 0;ilt7;i) {

etiqueta semana[I]= new JLabel();

etiquetaSemana[. i]. alineación horizontal(0);

if (i == 0 || i == 6) {

labelWeek[i]. establecer fondo(color . azul);

labelWeek[i]. setForeground(color.rojo);

LabelWeek[i]. setFont(newFont("bold", font. negrita, 14));

}

else {

labelWeek[i]. setForeground(color.negro);

LabelWeek[i]. setFont(newFont("Nuevo estilo de canción",Font.Plain,14));

}

labelWeek[i]. setText(string semanacn[I]);

panel 2. add(label semana[I]);

}

for(int I = 0; i lt42;i) {

día de etiqueta[I]= new JLabel();

día de etiqueta[i]. alineación sehorizontal(0);

Día de la etiqueta[i]. setText(" ");

panel 2. add(label día[I]);

}

addWindowListener(nuevo adaptador de ventana(){

cierre de ventana vacía pública (evento de ventana e){

sistema de salida (0);

}

});

setSize(300, 300);

setBounds(250, 200, 400, 360);

set visible(true); (falso);

setDefaultCloseOperation(JFrame.

EXIT _ ON _ CLOSE);

obtener sysdate();

setNowDate()

}

acción de anulación pública realizada( evento de acción AE){

if(AE . getsource()= = botón hoy){

setNowDate();

}

}

public void itemStateChanged(evento de elemento aa){

setChangeDate();

}

public int turnWeek(cadena semana ){

int I;

for(I = 0;ilt7;i)

if(semana . igualdadsignorecase(cadena fin de semana[I]) )

Pausa;

Regreso I;

}

mes de turno público int (mes de cadena){

/ **

* int turnMonth(string mes)

*

* @month El mes en la fecha del sistema, como enero\febrero

* @return int Devuelve un valor entero utilizado para encontrar el mes chino correspondiente en la matriz stringMonthCn[].

*/

int I;

for(I = 0;ilt12;i)

if(mes . igualsignorecase( cadena mes[I]))

Romper;

Regresar I;

}

/**

* setNowDate() establece la fecha actual del sistema.

*/

public void setNowDate() {

setSysDate(getnoweyear(), getnowmount());

getSysRunDate() ;

setdate null();

combo 1. setselectedindex(getShowYear()-1900);

combo 2. setselectedindex(getShowMonth());

setDays(getMonthDays(getnowhear(), getNowMonth()),

getInitWeek(sysRunTime[0]), getNowDay();

//etiqueta de hora. settext(sysNowTime[3]);

//etiqueta de tiempo alineación horizontal(0);

}

/**

* Entero getShowYear() Obtiene el año que debe mostrarse en el cuadro combinado.

*/

public void setSysDate(int año, int mes) {

gregorianCalendar.set(año, mes, 1);

}

public void setDateNull() {

for(int I = 0;i lt42;i) {

Fecha de etiqueta[i]. setText(" ");

}

}

public void setChangeDate() {

setSysDate(getComboYear(), getComboMonth( ));

getSysRunDate();

setdate null();

setDays(getMonthDays(getComboYear(), getComboMonth()),

getInitWeek(sysRunTime[0]), -1);

}

public int getMonthDays(int año, int mes) {

/* **

*Devuelve el número de días del año y mes seleccionados. Debido a que los valores en la matriz comienzan desde 0, 3\5\8\10 representan 4\6\9\11 meses respectivamente.

*El 1 representa febrero. Después de determinar si es un año bisiesto, opta por volver al 28 o al 29. Los demás meses son todos meses grandes, de 31 días.

**/

Cambiar (mes){

Caso 3:

Caso 5:

Caso 8:

Caso 10:

Devolución 30; //Devolución 30 días por aborto espontáneo

Caso 1:

if(calendario gregoriano . isleapyear(year)){

// isLeapYear(year) determina si el año especificado en la era actual es bisiesto.

Devuelve 29;

} En caso contrario {

Devuelve 28;

}//Febrero devuelve 29 días en un año bisiesto y 28 días en un año normal.

Valor predeterminado:

Devuelve 31;

//Dayue devuelve 31 días.

}

}

/**

* int getComboYear() Obtiene el año en el cuadro combinado.

*/

public void getSysDate() {

fecha = calendario gregoriano gettime();

sysNowTime = (fecha. toString()). split(" ");

}

public void getSysRunDate() {

fecha = calendario gregoriano gettime();

. sysRunTime = (fecha.toString()). split(" ");

}

public int getComboYear() {

devuelve combo 1 . getselectedindex() 1900;

}

/**

* int getComboMonth() Obtiene el valor entero en el cuadro combinado del mes.

*/

public int getComboMonth() {

Devolver combo 2. getselectedindex();

}

public int getInitWeek(String init semana){

/**

* getWeekNow(String initWeek)

*

* @para nowWeek, la semana en la fecha del sistema vuelve a ser un día del mes que comienza con el número 1.

*/

int ahora semana = 0

for(int I = 0;ilt7;i) {

if ( semana de inicio . igualsignorecase(string semana[I]){

ahora semana = I

Descanso

}

}

Regresar inmediatamente la próxima semana;

}

public int getnoweyear(){

Devolver entero. parse int(sysNowTime[5] ) ;

}

public int getNowMonth() {

int ahora mes = 0;

for(int I = 0; ilt12 ;i) {

if (sysNowTime[1].equalsIgnoreCase(string mesen[I]))

;

ahora mes = I;

>

Pausa;

}

Retorno mensual inmediato;

}

public int getNowDay() {

Devuelve un entero. parse int(sysNowTime[2]);

}

Entero público getShowYear() {

Devuelve un entero parse. [5]);

}

Entero público getShowMonth() {

/**

* Entero getShowMonth() Obtiene el mes en formato chino que se muestra en el cuadro de grupo, como julio \ agosto, etc.

*/

return turn Month(sysNowTime[1]);

}

public void setDays(int mesDías, int initWeek, int día) {

/**

* void setDays(int mesDías, int initWeek, int day)

*

* @para MonthDays Número de días de este mes

* @para initWeek primera semana

* @ para día Configura el calendario para hoy.

*/

setdate null();

for(int I = semana inicial; iltinit semana mes días 1; i) {

if ((i - initWeek 1) == día) {

Etiquetar día[i]. establecer borde(borde 1);

Fecha de etiqueta[i]. setForeground(color.blue);

Día de la etiqueta[i]. setFont(newFont("bold", font. negrita, 20));

} else if ((i 7 == 0) || (i 7 == 6))

Día de la etiqueta[i]. setForeground(color.red);

else {

Día de la etiqueta[i]. setForeground(color.black);

}

Día de la etiqueta[i]. setText(string . value of(I-init semana 1));

}

for(int I = init semana mes días; I lt42; i)

Día de la etiqueta[i]. setText(" ");

}

Clase TimerListener implementa ActionListener {

//adapter demovar = nuevo adaptador demo("Programa de calendario perpetuo-Aidy ")

Acción de anulación pública realizada (evento de acción e){

Calendario gregoriano g = nuevo calendario gregoriano();

Cadena de reloj = nueva cadena((g). gettime().toString().split(" ")[3]);

labelTime.setText(reloj); / p>

Public static void main(String args[]) {

Prueba {

ui manager . setlookandfeel(ui manager . getsystemlookandfeelclassname()

);

} catch(Exception e) {

Lanzar nueva excepción de tiempo de ejecución(e);

}

Calendario Aidy var = nuevo calendario Aidy(" Perpetuo Programa de calendario: en línea");

}

}