Heute werde ich Ihnen vorstellen, wie Sie Java Swing verwenden, um einen einfachen kleinen Kalender zu entwickeln. Schauen wir uns den folgenden Code an:
Erstellen Sie zunächst eine Kalenderklasse für die grundlegende Datumsberechnung:
paket other1; import Java.util.calendar; öffentliche Klasse Kalender {String Day []; int Jahr = 2005, Monat = 0; public void setyear (int Jahr) {this.year = Jahr; } public int getyear () {Rückgabejahr; } public void setmonth (int monat) {this.month = Monat; } public int getMonth () {Return Month; } public String [] getCalendar () {String a [] = new String [42]; Kalenderdatum = calendar.getInstance (); Datum.Set (Jahr, Monat-1,1); int week = date.get (Calendar.day_of_week) -1; int tag = 0; // Richter großer Monat if (Monat == 1 || monat == 3 || monat == 5 || monat == 7 || monat == 8 || monat == 10 || monat == 12) {Tag = 31; } // Richter kleiner Monat if (Monat == 4 || monat == 6 || monat == 9 || monat == 11) {Tag = 30; } // Richter normales Jahr und Schaltjahr if (Monat == 2) {if ((Jahr%4 == 0) && (Jahr%100! = 0)) || (Jahr%400 == 0)) {Day = 29; } else {Tag = 28; }} für (int i = woche, n = 1; i <woche+tag; i ++) {a [i] = string.valueof (n); n ++; } return a; }} Erstellen Sie dann eine Hauptschnittstellenklasse für die Schnittstellenimplementierung:
paket other1; import Java.awt.*; import Java.awt.event.*; Javax.swing importieren.*; Public Class CalenderFrame erweitert JFrame implementiert ActionListener {JLabel Labelday [] = new JLabel [42]; JTextField text = new JTextField (10); Jbutton Titlename [] = new Jbutton [7]; Jbutton Button = new Jbutton (); String name [] = {"Tag", "eins", "zwei", "drei", "vier", "fünf", "sechs"}; Jbutton Nextmonth, vorheriger Month; int Jahr = 1996, Monat = 1; // Datumsinformationen, die vom Kalenderkalender des Startprogramms angezeigt werden; JLabel ShowMessage = new Jlabel ("", Jlabel.Center); JLabel LBL1 = New JLabel ("Bitte ein Jahr eingeben:"); JLabel lbl2 = new JLabel (""); public calendarbrame () {retbackground (neue Farbe (0, 128, 128)); Jpanel pcenter = new Jpanel (); Pcenter.Setbackground (neue Farbe (0, 139, 139)); // Stellen Sie das Layout von PCenter mit 7 Zeilen und 7 Spalten auf das GridLayout -Layout ein. pcenter.setLayout (neuer GridLayout (7,7)); // PCenter fügt Komponenten Titlename [i] für (int i = 0; i <7; i ++) {Titlename [i] = new Jbutton (Name [i]) hinzu; pcenter.add (Titlename [i]); } // pCenter fügt Komponenten -Labelday [i] für (int i = 0; i <42; i ++) {Labelday [i] = new JLabel ("", jLabel.Center) hinzu; pcenter.add (Labelday [i]); } text.addactionListener (this); Calendar = neuer Kalender (); Kalender.Setyear (Jahr); Calendar.Setmonth (Monat); String Day [] = calendar.getCalendar (); für (int i = 0; i <42; i ++) {labelday [i] .setText (Tag [i]); } nextMonth = new Jbutton ("nächster Monat"); Vorhermonth = neuer Jbutton ("letzten Monat"); Button = neuer Jbutton ("natürlich"); // Listener NextMonth.AddactionListener (this) registrieren; Vorhermonth.AddactionListener (dies); button.addactionListener (this); Jpanel pnorth = new jpanel (), psouth = new jpanel (); Pnorth.Add (ShowMessage); pnorth.add (lbl2); Pnorth.Add (vorheriger Month); pnorth.add (NextMonth); psouth.add (lbl1); psouth.add (Text); psouth.add (button); showMessage.setText ("Kalender:"+calendar.getyear ()+"Jahr"+calendar.getMonth ()+"Monat"); Scrollpane scrollpane = new scrollpane (); scrollpane.add (pCenter); GetContentPane (). Add (Scrollpane, BorderLayout.Center); // Fügen Sie Scrollpane in der Mittelfläche GetContentPane () hinzu (Pnorth, BorderLayout.North); // Pnorth in der Nordfläche GetContentPane (). } public void actionperformed (actionEvent e) {if (e.getSource () == NextMonth) {monat = Monat+1; if (Monat> 12) Monat = 1; Calendar.Setmonth (Monat); String Day [] = calendar.getCalendar (); für (int i = 0; i <42; i ++) {labelday [i] .setText (Tag [i]); }} else if (e.getSource () == vorhermonth) {monatmonat-1; if (Monat <1) Monat = 12; Calendar.Setmonth (Monat); String Day [] = calendar.getCalendar (); für (int i = 0; i <42; i ++) {labelday [i] .setText (Tag [i]); }} else if (e.getSource () == Taste) {Monat = Monat+1; if (Monat> 12) Monat = 1; Calendar.Setyear (Integer.ParseInt (text.Getext ())); String Day [] = calendar.getCalendar (); für (int i = 0; i <42; i ++) {labelday [i] .setText (Tag [i]); }} showMessage.setText ("Kalender:"+calendar.getyear ()+"Jahr"+calendar.getMonth ()+"Monat"); }} Verwenden Sie schließlich eine Klasse, um es zu nennen:
paket other1; importieren 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 (Ausnahme e) {e.printstacktrace (); } Kalendarbrame Fram = neuer Kalendererrame (); Frame.Setbounds (100.100.360.300); Frame.Settitle ("Kalender -Applet"); Frame.SetLocationRelativeto (NULL); // Das Formular ist zentriert, um Frame zu zeigen. Frame.SetDefaultCloseOperation (jframe.exit_on_close); }}Die Betriebsergebnisse sind wie folgt:
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.