اليوم سأقدم لك كيفية استخدام جافا سوينغ لتطوير تقويم صغير بسيط. دعونا نلقي نظرة على الكود أدناه:
قم أولاً بإنشاء فئة تقويمية لحساب التاريخ الأساسي:
حزمة أخرى 1 ؛ استيراد java.util.calendar ؛ تقويم الطبقة العامة {string day [] ؛ int year = 2005 ، month = 0 ؛ public void setyear (int year) {this.year = year ؛ } public int getyear () {return year ؛ } public void setMonth (int month) {this.month = month ؛ } public int getMonth () {return month ؛ } السلسلة العامة [] getCalendar () {String a [] = سلسلة جديدة [42] ؛ تاريخ التقويم = calendar.getInstance () ؛ Date.set (السنة ، الشهر 1،1) ؛ int week = date.get (calendar.day_of_week) -1 ؛ int day = 0 ؛ . }. }. } آخر {day = 28 ؛ }} لـ (int i = week ، n = 1 ؛ i <week+day ؛ i ++) {a [i] = string.valueof (n) ؛ n ++ ؛ } إرجاع أ ؛ }} ثم قم بإنشاء فئة واجهة رئيسية لتنفيذ الواجهة:
حزمة أخرى 1 ؛ استيراد java.awt.*؛ استيراد java.awt.event.*؛ استيراد javax.swing.*؛ يمتد التقويم العام للطبقة العامة JFrame تنفذ ActionListener {JLabel Labelday [] = New JLabel [42] ؛ JTextField Text = New JTextfield (10) ؛ jbutton titlename [] = new jbutton [7] ؛ button jbutton = new jbutton () ؛ اسم السلسلة [] = {"Day" ، "One" ، "Two" ، "Three" ، "Four" ، "Five" ، "Six"} ؛ Jbutton NextMonth ، Previourmonth ؛ int year = 1996 ، month = 1 ؛ // معلومات التاريخ المعروضة بواسطة تقويم برنامج بدء التشغيل ؛ Jlabel ShowMessage = New Jlabel ("" ، Jlabel.Center) ؛ JLabel LBL1 = New JLabel ("الرجاء إدخال السنة:") ؛ JLabel LBL2 = New JLabel ("") ؛ التقويم العام () {الانتكاس (لون جديد (0 ، 128 ، 128)) ؛ jpanel pcenter = new jpanel () ؛ Pcenter.setbackground (لون جديد (0 ، 139 ، 139)) ؛ // اضبط تخطيط PCenter على تخطيط GridLayout مع 7 صفوف و 7 أعمدة. pCenter.setLayout (New GridLayout (7،7)) ؛ // Pcenter يضيف titlename مكون [i] لـ (int i = 0 ؛ i <7 ؛ i ++) {titlename [i] = new jbutton (name [i]) ؛ pCenter.add (titlename [i]) ؛ }. pcenter.add (labelday [i]) ؛ } text.addActionListener (this) ؛ التقويم = تقويم جديد () ؛ Calendar.setyear (سنة) ؛ Calendar.SetMonth (شهر) ؛ يوم السلسلة [] = calendar.getCalendar () ؛ لـ (int i = 0 ؛ i <42 ؛ i ++) {labelday [i] .settext (day [i]) ؛ } nextMonth = New JButton ("الشهر التالي") ؛ السابق mond = new jbutton ("الشهر الماضي") ؛ Button = New JButton ("بالطبع") ؛ // سجل المستمع NextMonth.AddActionListener (هذا) ؛ Previourmonth.addActionListener (هذا) ؛ button.addActionListener (this) ؛ jpanel pnorth = new jpanel () ، psouth = new jpanel () ؛ pnorth.add (showmessage) ؛ pnorth.add (lbl2) ؛ pnorth.add (السابقون) ؛ pnorth.add (nextMonth) ؛ psouth.add (LBL1) ؛ psouth.add (نص) ؛ psouth.add (زر) ؛ ShowMessage.settext ("Calendar:"+Calendar.getyear ()+"Year"+Calendar.getMonth ()+"month") ؛ scrollpane scrollpane = new scrollpane () ؛ scrollpane.add (pcenter) ؛ getContentPane (). add (scrollpane ، borderlayout.center) ؛ // إضافة scrollpane في منطقة الوسط getContentPane (). add (pnorth ، borderlayout.north) ؛ } public void actionperformed (ActionEvent e) {if ( إذا (الشهر> 12) الشهر = 1 ؛ Calendar.SetMonth (شهر) ؛ يوم السلسلة [] = calendar.getCalendar () ؛ لـ (int i = 0 ؛ i <42 ؛ i ++) {labelday [i] .settext (day [i]) ؛ }} آخر if ( إذا (الشهر <1) الشهر = 12 ؛ Calendar.SetMonth (شهر) ؛ يوم السلسلة [] = calendar.getCalendar () ؛ لـ (int i = 0 ؛ i <42 ؛ i ++) {labelday [i] .settext (day [i]) ؛ }} آخر إذا (e.getSource () == button) {month = month+1 ؛ إذا (الشهر> 12) الشهر = 1 ؛ calendar.setyear (integer.parseint (text.getText ())) ؛ يوم السلسلة [] = calendar.getCalendar () ؛ لـ (int i = 0 ؛ i <42 ؛ i ++) {labelday [i] .settext (day [i]) ؛ }} showmessage.settext ("Calendar:"+calendar.getyear ()+"year"+calendar.getMonth ()+"month") ؛ }} أخيرًا ، استخدم فصلًا للاتصال به:
حزمة أخرى 1 ؛ استيراد javax.swing.jframe ؛ استيراد javax.swing.uimanager ؛ الفئة العامة CalendArmainClass {public static void main (String args []) {try {uimanager.setlookandfeel ("com.sun.java.swing.plaf.windows.windowslookandfeel") ؛ // windows interface style} catch (استثناء e) {E.PrintStackTrace () ؛ } إطار التقويم = تقويم جديد () ؛ Frame.SetBounds (100،100،360،300) ؛ Frame.Settitle ("Applet التقويم") ؛ frame.setlocationRelativeto (null) ؛ // يتمركز النموذج لعرض الإطار. frame.setDefaultCloseOperation (jframe.exit_on_close) ؛ }}نتائج التشغيل كما يلي:
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.