Red de conocimientos turísticos - Lugares de interés turístico - Problemas al escribir calendarios usando JS

Problemas al escribir calendarios usando JS

El problema no se puede solucionar, ¡tengo aquí la versión JAVA!

Importar Java . awt *;

Importar Java . >Importar javax.swing.*;

Importar javax.swing.event.*;

Importar javax.swing.table.*;

Clase pública MiCalendario JApplet extendido {

cadena final estática pública larga serialVersionUID = 4398452463891616204 l;

cadena final estática pública SEMANA _ SOL = "DOM";

cadena final estática pública SEMANA _ MON = " MON

Cadena final estática pública SEMANA _ MAR = " MAR ";

Cadena final estática pública SEMANA _ MIÉ = " MIÉ ";

cadena final estática pública SEMANA _ JUEVES = " JUEVES ";

cadena final estática pública SEMANA _ VIE = " VIE ";

cadena final estática pública SEMANA _ SAT = " SAT ";

Color final estático público fondo = Color.blanco

Color final estático público primer plano = Color.negro

Color final estático público fondo encabezado = Color azul;

Color final estático público encabezado primer plano = Color blanco;

Color final estático público seleccionadoFondo = Color.azul

Color final estático público seleccionadoPrimer plano = Color blanco. ;

JPanel privado cPane

JLabel privado añosLabel

JPanel privado añosSpinner

JLabel privado mesesLabel

JComboBox privado cuadro combinado de meses;

JTable privado díasTable

AbstractoTableModel privado díasModel

Calendario Calendario privado;

MiCalendar público() {

cPane =(JPanel)getContentPane();

}

public void init() {

cpane establece diseño (nuevo BorderLayout()). ;

calendario = calendario . getinstance();

//calendario =.

calendar.getinstance();

etiqueta de años = new JLabel("Año:");

años spinner = new JSpinner();

añosSpinner.setEditor (nuevo JSpinner.NumberEditor(añosSpinner, "0000");

años spinner.setvalue(nuevo Integer(Calendar.get(Calendar.año)));

años spinner.addchangelistener (nuevo oyente de cambios(){

estado de anulación pública cambiado(evento de cambio evento de cambio){

int día = calendar.get(calendar.monthday);

calendar.set(calendar.monthday,1);

calendar.set(calendar.YEAR, ((Integer) añosSpinner.getValue()).int value());

int maxDay = Calendar . getactualmaximum(Calendar. mes día);

calendar.set(calendario. día del mes, día gtmaxDay? maxDay: día); );

}

});

JPanel añoMesPanel = nuevo JPanel();

cPane.add( añoMesPanel, BorderLayout. norte);

añomespanel.set diseño(nuevo BorderLayout());

añoMonthPanel.add(nuevo JPanel(), BorderLayout);

Panel año JPanel = nuevo JPanel();

añoMonthPanel.add(añoPanel, BorderLayout.west);

año panel.set diseño(nuevo BorderLayout()); añoPanel.add(añosLabel,BorderLayout. Oeste);

añoPanel.add(añosSpinner, BorderLayout.center);

etiqueta de meses = new JLabel("Mes:");

cuadro combinado de meses = new JComboBox();

for(int I = 1; i lt= 12; i) {

mesesComboBox.addItem(nuevo entero (I));

}

cuadro combinado de meses . setelectedindex(Calendar . get(Calendar.

meses));

cuadro combinado de meses. addactionlistener(new action listener(){

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

int día = calendario. get(calendar.monthday);

calendar.set(calendar.monthday,1);

calendar.set(calendar.MONTH,meses combobox.getselectedindex()); p>

int maxDay = Calendar . getactualmaximum(Calendar.Month day);

calendar.set(Calendario. Un determinado día del mes, día gtmaxDay? maxDay: día

);

p>

actualizar vista();

}

});

Panel del mes de JPanel = nuevo JPanel();

añoMonthPanel.add(mesPanel, BorderLayout.East);

mes panel.set diseño(nuevo BorderLayout());

mesPanel.add(mesesLabel, BorderLayout.West );

mesPanel.add(mesesComboBox, BorderLayout. Center);

días modelo = nuevo AbstractTableModel(){

privado estático final largo serialVersionUID =-5996965100536784508 l;

público int getRowCount() {

retorno 7;

}

público int getColumnCount() {

return 7;

}

Objeto público getValueAt(int fila, int columna) {

if (fila == 0) {

Regresar obtener encabezado(columna);

}

Línea -;

Calendario Calendario = (Calendario)mi Calendario. ();

calendario.set(calendario. Día del mes, 1);

int número de días = Calendario . getactualmaximum(Calendario. Día del mes);

int moreDayCount = Calendario .

día de la semana)-1;

int index = fila * 7 columnas;

int day index = index-moreDayCount 1;

if(index lt ; moreDayCount | | dayIndex gt número de días) {

Devuelve nulo

} En caso contrario {

Devuelve un nuevo número entero (índice de días);

}

}

};

día estable = nueva tabla de calendario (modelo de días, calendario

día estable); . setcellselectionenabled(true);

día estable. setselectionmode(ListSelectionModel. Selección de radio);

día estable. {

Componente público getTableCellRendererComponent(tabla JTable, valor de objeto, booleano isSelected,

booleano hasFocus, int fila, int columna) {

Texto de cadena = (valor == nulo )? " ": valor . tostring();

celda JLabel = nueva celda JLabel

. p>if (fila == 0) {

celda establecer primer plano(encabezadoForeground);

celda establecer fondo(fondo del encabezado); {

Si (isSelected) {

celda establecer primer plano(selectedForeground);

celda establecer fondo(selectedBackground); } else {

cell.setForeground(primer plano);

cell.setBackground(fondo

}

}

Devolver celda;

}

});

actualizar vista();

cPane.add(daysTable, Diseño de borde.

center);

}

Cadena estática pública getHeader(int index) {

Switch(index){

Caso 0:

Volver a semana_día;

Caso 1:

Volver a SEMANA_MON

Caso 2:

Volver semana_ MAR;

Caso tres:

Regreso SEMANA_MIÉ

Caso 4:

Regreso semana_ JUE;

Regreso WEEK_WED

Caso 4:

Regreso semana_ JUE;

p>

Caso 5:

Regreso WEEK_VIE

Caso 6:

Devolver WEEK_SAT

Valor predeterminado:

Devolver nulo

}

}

Actualización nula pública() {

modelo de días. firetabledatachanged(

día estable. setrowselectioninterval(Calendario. get(Calendario. Semana del mes) ,

calendar.get(Calendario. Semana del mes);

día estable . setcolumnselectioninterval(Calendario . get(Calendario. día de la semana)-1,

calendar.get(calendar. día de la semana)-1);

}

La clase estática pública CalendarTable extiende JTable {

privada estática final larga serialVersionUID = 2808554667609229840 l;

Calendario calendario privado;

Tabla de calendario público (modelo TableModel, calendario calendario){

Super(modelo);

this.calendar = calendario;

}

selección de cambio de anulación pública (fila int, columna int, alternancia booleana, extensión booleana) {

super .changeSelection(fila, columna, cambiar, extender);

if (fila == 0) {

Retorno;

}

Objeto obj = getValueAt(fila, columna);

if (obj! = nulo) {

calendar.set(calendar.DAY_OF_MONTH, ((Integer)obj).int value());

}

}

}

@SuppressWarnings("deprecation ")

Public static void main(String[] args) {

Marco JFrame = nuevo JFrame ("Aplicación de calendario");

frame .

EXIT _ ON _ CLOSE);

MiCalendario MiCalendar = nuevo MiCalendario();

mi calendario

frame.getContentPane(). Agregar (mi calendario);

frame.setSize(240, 172

frame .

}

; }