Hoy te presentaré cómo usar Java Swing para desarrollar un calendario pequeño simple. Veamos el código a continuación:
Primero cree una clase Calendarbean para el cálculo de la fecha básica:
paquete otro1; import java.util.calendar; clase pública calendarbean {string day []; int año = 2005, mes = 0; public void setyear (int año) {this.year = año; } public int getyear () {retorno año; } public void setMonth (int mes) {this.month = mes; } public int getMonth () {Mes de retorno; } public String [] getCalendar () {String a [] = new String [42]; Calendario fecha = calendar.getInstance (); fecha.set (año, mes-1,1); int Week = date.get (calendar.day_of_week) -1; int día = 0; // juzga el mes grande if (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) {día = 31; } // juzgar mes pequeño if (mes == 4 || mes == 6 || mes == 9 || mes == 11) {day = 30; } // juzga el año normal y el año salto if (mes == 2) {if (((año%4 == 0) && (año%100! = 0)) || (año%400 == 0)) {day = 29; } else {day = 28; }} para (int i = week, n = 1; i <week+day; i ++) {a [i] = string.ValueOf (n); n ++; } return a; }} Luego cree una clase de interfaz principal para la implementación de la interfaz:
paquete otro1; import java.awt.*; import java.awt.event.*; import javax.swing.*; Public Class CalendarFrame extiende Jframe implementos ActionListener {JLabel Labelday [] = new JLabel [42]; JTextfield Text = new JTextField (10); JButton Titlename [] = new JButton [7]; JButton Button = new JButton (); Nombre de cadena [] = {"día", "one", "dos", "tres", "cuatro", "cinco", "seis"}; JButton Next Month, anterior Month; int año = 1996, mes = 1; // Fecha de información mostrada por el calendario de calendario del programa de inicio; Jlabel showMessage = new JLabel ("", jlabel.center); Jlabel lbl1 = new JLabel ("Por favor ingrese el año:"); Jlabel lbl2 = new JLabel (""); public calendarFrame () {Segetbackground (nuevo color (0, 128, 128)); Jpanel pCenter = new JPanel (); pcenter.setbackground (nuevo color (0, 139, 139)); // Establezca el diseño de PCenter en el diseño de GridLayout con 7 filas y 7 columnas. pcenter.setLayout (nuevo GridLayout (7,7)); // PCenter agrega componente TitLename [i] para (int i = 0; i <7; i ++) {titLename [i] = new JButton (nombre [i]); pcenter.add (Titlename [i]); } // pcenter agrega componente etiqueta día [i] para (int i = 0; i <42; i ++) {Labelday [i] = new JLabel ("" ", jlabel.center); pcenter.add (Labelday [i]); } text.AddactionListener (this); calendario = nuevo calendarbean (); calendario.setyear (año); calendario.setmonth (mes); Día de cadena [] = calendar.getCalendar (); para (int i = 0; i <42; i ++) {Labelday [i] .settext (día [i]); } nextMonth = new JButton ("Next Mes"); anteriorMonth = new JButton ("el mes pasado"); botón = nuevo JButton ("Por supuesto"); // registrar el oyente NextMonth.AddactionListener (esto); anterior Month.AddactionListener (esto); botón.AddactionListener (esto); Jpanel pnorth = new jpanel (), psouth = new JPanel (); pnorth.add (showMessage); pnorth.add (lbl2); pnorth.add (anterior Month); pnorth.add (NextMonth); PSOUTH.Add (LBL1); psoth.add (texto); psoth.add (botón); showMessage.setText ("Calendar:"+calendar.getyear ()+"año"+calendar.getmonth ()+"mes"); ScrollPane scrollPane = new ScrollPane (); scrollpane.add (pCenter); getContentPane (). ADD (ScrollPane, BorderLayout.Center); // Agregar ScrollPane en el área central GetContentPane (). Agregar (Pnorth, BorderLayout.north); // Agregar Pnorth en el área norte GetContentPane (). Añadir (PSouth, BorderLayout.South); // Agregar PSouth en el área sur en el área sur. } public void ActionPerformed (ActionEvent E) {if (e.getSource () == NextMonth) {mes = mes+1; if (mes> 12) mes = 1; calendario.setmonth (mes); Día de cadena [] = calendar.getCalendar (); para (int i = 0; i <42; i ++) {Labelday [i] .settext (día [i]); }} else if (e.getSource () == Anterior Month) {mes = mes-1; if (mes <1) mes = 12; calendario.setmonth (mes); Día de cadena [] = calendar.getCalendar (); para (int i = 0; i <42; i ++) {Labelday [i] .settext (día [i]); }} else if (e.getSource () == botón) {mes = mes+1; if (mes> 12) mes = 1; calendar.setyear (integer.parseInt (text.gettext ())); Día de cadena [] = calendar.getCalendar (); para (int i = 0; i <42; i ++) {Labelday [i] .settext (día [i]); }} showMessage.settext ("Calendar:"+calendar.getyear ()+"año"+calendar.getmonth ()+"mes"); }} Finalmente, use una clase para llamarlo:
paquete otro1; import javax.swing.jframe; import javax.swing.uimanager; public class calendarmainClass {public static void main (string args []) {try {uiManager.setlookandFeel ("com.sun.java.swing.plaf.windows.windowslookandfeel"); // Windows Interface Style} Catch (Exception E) {E.PrintStackTrace (); } CalendarFrame frame = new CalendarFrame (); Frame.setBounds (100,100,360,300); Frame.settitle ("Applet de calendario"); Frame.SetLocationRelativeto (nulo); // El formulario está centrado para mostrar Frame.SetVisible (verdadero); Frame.setDefaultCloseOperation (jframe.exit_on_close); }}Los resultados de la operación son los siguientes:
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.