วันนี้ฉันจะแนะนำวิธีใช้ Java Swing เพื่อพัฒนาปฏิทินขนาดเล็กที่เรียบง่าย มาดูรหัสด้านล่าง:
ก่อนอื่นสร้างคลาสปฏิทินสำหรับการคำนวณวันที่พื้นฐาน:
แพคเกจอื่น ๆ 1; นำเข้า Java.util.Calendar; ปฏิทินชั้นเรียนสาธารณะ {วันสตริง []; int ปี = 2005, เดือน = 0; โมฆะสาธารณะ setyear (int ปี) {this.year = ปี; } public int getYear () {ปีกลับ; } โมฆะสาธารณะ setMonth (เดือน int) {this.month = เดือน; } สาธารณะ int getMonth () {เดือนกลับ; } สตริงสาธารณะ [] getCalendar () {สตริง a [] = สตริงใหม่ [42]; วันที่ปฏิทิน = Calendar.getInstance (); Date.set (ปี, เดือนที่ 1,1); int Week = date.get (calendar.day_of_week) -1; int day = 0; // ตัดสินเดือนใหญ่ถ้า (เดือน == 1 || เดือน == 3 || เดือน == 5 || เดือน == 7 || เดือน == 8 || เดือน == 10 || เดือน == 12) {วัน = 31; } // ตัดสินเดือนเล็ก ๆ ถ้า (เดือน == 4 || เดือน == 6 || เดือน == 9 || เดือน == 11) {วัน = 30; } // ผู้พิพากษาปีปกติและปีกระโดดถ้า (เดือน == 2) {ถ้า (((ปี%4 == 0) && (ปี%100! = 0)) || (ปี 400 == 0)) {วัน = 29; } else {day = 28; }} สำหรับ (int i = สัปดาห์, n = 1; i <สัปดาห์+วัน; i ++) {a [i] = string.valueof (n); n ++; } return a; - จากนั้นสร้างคลาสอินเตอร์เฟสหลักสำหรับการใช้งานอินเตอร์เฟส:
แพคเกจอื่น ๆ 1; นำเข้า Java.awt.*; นำเข้า java.awt.event.*; นำเข้า Javax.swing.*; ปฏิทินคลาสสาธารณะขยาย JFrame ใช้ ActionListener {JLabel labelday [] = new JLabel [42]; ข้อความ jtextfield = new Jtextfield (10); Jbutton Titlename [] = new Jbutton [7]; ปุ่ม jbutton = new JButton (); ชื่อสตริง [] = {"วัน", "หนึ่ง", "สอง", "สาม", "สี่", "ห้า", "หก"}; Jbutton Nextmonth, ก่อนหน้านี้; int ปี = 1996, เดือน = 1; // ข้อมูลวันที่แสดงโดยปฏิทินโปรแกรมเริ่มต้นปฏิทิน; JLabel ShowMessage = new JLabel ("", Jlabel.Center); JLabel LBL1 = new JLabel ("โปรดป้อนปี:"); JLabel LBL2 = new JLabel (""); ปฏิทินสาธารณะ () {setBackground (สีใหม่ (0, 128, 128)); JPanel pCenter = new JPanel (); pCenter.SetBackground (สีใหม่ (0, 139, 139)); // ตั้งค่าเค้าโครงของ pCenter เป็นเค้าโครง gridlayout ด้วย 7 แถวและ 7 คอลัมน์ pCenter.SetLayout (ใหม่ gridlayout (7,7)); // pCenter เพิ่ม titlename ส่วนประกอบ [i] สำหรับ (int i = 0; i <7; i ++) {titlename [i] = new JButton (ชื่อ [i]); pCenter.add (titlename [i]); } // pCenter เพิ่มส่วนประกอบ labelday [i] สำหรับ (int i = 0; i <42; i ++) {labelday [i] = new Jlabel ("", jlabel.center); pCenter.add (labelday [i]); } text.addactionListener (นี่); ปฏิทิน = ใหม่ปฏิทิน (); Calendar.setyear (ปี); ปฏิทิน SetMonth (เดือน); สตริงวัน [] = calendar.getCalendar (); สำหรับ (int i = 0; i <42; i ++) {labelday [i] .settext (วัน [i]); } nextmonth = new JButton ("เดือนหน้า"); ก่อนหน้าเดือน = new JButton ("เดือนที่แล้ว"); ปุ่ม = new JButton ("แน่นอน"); // ลงทะเบียนผู้ฟัง nextmonth.addactionListener (นี่); ก่อนหน้านี้ AddActionListener (นี้); button.addactionListener (นี่); 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.getyear ()+"ปี"+calendar.getMonth ()+"เดือน"); scrollpane scrollpane = new scrollpane (); scrollpane.add (pcenter); getContentPane (). เพิ่ม (scrollpane, borderlayout.center); // เพิ่ม scrollpane ในพื้นที่ศูนย์กลาง getContentpane (). เพิ่ม (pnorth, borderlayout.north); // เพิ่ม pnorth ในพื้นที่ทางทิศเหนือ getContentpane () } โมฆะสาธารณะ ActionPerformed (ActionEvent E) {ถ้า (e.getSource () == NextMonth) {เดือน = เดือน+1; ถ้า (เดือน> 12) เดือน = 1; ปฏิทิน SetMonth (เดือน); สตริงวัน [] = calendar.getCalendar (); สำหรับ (int i = 0; i <42; i ++) {labelday [i] .settext (วัน [i]); }} อื่นถ้า (e.getSource () == ก่อนหน้าเดือน) {เดือน = เดือน -1; ถ้า (เดือน <1) เดือน = 12; ปฏิทิน SetMonth (เดือน); สตริงวัน [] = calendar.getCalendar (); สำหรับ (int i = 0; i <42; i ++) {labelday [i] .settext (วัน [i]); }} อื่นถ้า (e.getSource () == ปุ่ม) {เดือน = เดือน+1; ถ้า (เดือน> 12) เดือน = 1; Calendar.setyear (integer.parseint (text.getText ())); สตริงวัน [] = calendar.getCalendar (); สำหรับ (int i = 0; i <42; i ++) {labelday [i] .settext (วัน [i]); }} showMessage.settext ("ปฏิทิน:"+calendar.getYear ()+"ปี"+calendar.getMonth ()+"เดือน"); - สุดท้ายใช้คลาสเพื่อเรียกมันว่า:
แพคเกจอื่น ๆ 1; นำเข้า Javax.swing.jframe; นำเข้า Javax.swing.uimanager; ปฏิทินคลาสสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง args []) {ลอง {uimanager.setlookandfeel ("com.sun.java.swing.plaf.windows.windowslookandfeel"); // สไตล์อินเตอร์เฟส windows} catch (Exception e) {E.printStackTrace (); } calendarFrame frame = new calendarFrame (); frame.setbounds (100,100,360,300); frame.settitle ("Applet ปฏิทิน"); frame.setLocationRelativeto (NULL); // ฟอร์มมีศูนย์กลางที่จะแสดงเฟรมที่มีความสามารถ (จริง); frame.setDefaultCloseoperation (jframe.exit_on_close); -ผลการดำเนินการมีดังนี้:
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น