오늘은 Java Swing을 사용하여 간단한 작은 캘린더를 개발하는 방법을 소개합니다. 아래 코드를 살펴 보겠습니다.
먼저 기본 날짜 계산을 위해 Calendarbean 클래스를 만듭니다.
패키지 기타 1; java.util.calendar 가져 오기; 공개 수업 calendarbean {문자열 day []; int 년 = 2005, 월 = 0; public void setyear (int 년) {this.year = 년; } public int getyear () {return Year; } public void setMonth (int month) {this.month = month; } public int getmonth () {return month; } public String [] getCalendar () {문자열 a [] = 새 문자열 [42]; 캘린더 날짜 = calendar.getInstance (); 날짜. 세트 (연도, 1,1); int week = date.get (calendar.day_of_week) -1; int day = 0; // 큰 달을 판단합니다 (Month == 1 || Month == 3 || Month == 5 || Month == 7 || Month == 8 || Month == 10 || Month == 12) {day = 31; } // 작은 달을 판단합니다. } // If (Month == 2) {if (((년%4 == 0) && (Year%100! = 0)) || (Year%400 == 0)) {day = 29; } else {day = 28; }} for (int i = week, n = 1; i <주+일; i ++) {a [i] = string.valueof (n); n ++; } 반환 a; }} 그런 다음 인터페이스 구현을위한 기본 인터페이스 클래스를 만듭니다.
패키지 기타 1; java.awt.*; import java.awt.event.*; javax.swing을 가져옵니다.*; 공개 클래스 CalendarFrame은 JFrame 구현 ActionListener {Jlabel LabelDay [] = New Jlabel [42]; jtextfield text = New Jtextfield (10); JBUTTON TITLENAME [] = NEW JBUTTON [7]; JBUTTON 버튼 = 새로운 JBUTTON (); 문자열 이름 [] = { "Day", "One", "Two", "Three", "Four", "Five", "Six"}; JBUTTON NEXTMONTH, Previous Month; int 년 = 1996, 월 = 1; // 시작 프로그램에 의해 표시되는 날짜 정보 Calendarbean Calendar; jlabel showmessage = new Jlabel ( "", jlabel.center); jlabel lbl1 = new Jlabel ( "연도를 입력하십시오 :"); Jlabel lbl2 = New Jlabel ( ""); public calendarframe () {셋백 그라운드 (새로운 색상 (0, 128, 128)); JPANEL PCENTER = NEW JPANEL (); pcenter.setbackground (새로운 색상 (0, 139, 139)); // pcenter의 레이아웃을 7 행과 7 개의 열로 GridLayout 레이아웃으로 설정합니다. PCENTER.SETLAYOUT (New GridLayout (7,7)); // pcenter는 (int i = 0; i <7; i ++)에 대한 구성 요소 titlename [i]를 추가합니다 {titlename [i] = new Jbutton (이름 [i]); pcenter.add (titlename [i]); } // pcenter는 (int i = 0; i <42; i ++)에 대한 구성 요소 labelday [i]를 추가합니다. pcenter.add (labelday [i]); } text.addactionListener (this); Calendar = New CalendarBean (); Calendar.Setyear (연도); Calendar.Setmonth (월); 문자열 day [] = calendar.getCalendar (); for (int i = 0; i <42; i ++) {labelday [i] .settext (day [i]); } NextMonth = New JButton ( "다음 달"); previousmonth = new Jbutton ( "마지막 달"); 버튼 = 새로운 JBUTTON ( "물론"); // 레지스터 리스너 NextMonth.AdDactionListener (this); previousmonth.addactionListener (this); button.addactionListener (this); JPANEL PNORTH = NEW JPANEL (), PSOUTH = NEW JPANEL (); pnorth.add (showmessage); pnorth.add (lbl2); pnorth.add (previousmonth); pnorth.add (Nextmonth); psouth.add (lbl1); psouth.add (텍스트); psouth.add (버튼); showmessage.settext ( "캘린더 :"+calendar.getyear ()+"year"+calendar.getmonth ()+"month"); ScrollPane ScrollPane = New ScrollPane (); scrollpane.add (pcenter); getContentPane (). Add (ScrollPane, BorderLayout.Center); // 중앙 영역에 스크롤 페인 추가 getContentPane (). Add (pnorth, borderlayout.north); // 북쪽 지역의 Pnorth 추가 getContentPane (). 남쪽 지역의 Psouth 추가. } public void ActionPerformed (ActionEvent e) {if (e.getSource () == NextMonth) {Month = Month+1; if (Month> 12) Month = 1; Calendar.Setmonth (월); 문자열 day [] = calendar.getCalendar (); for (int i = 0; i <42; i ++) {labelday [i] .settext (day [i]); }} else if (e.getSource () == preverymonth) {month = month-1; if (Month <1) Month = 12; Calendar.Setmonth (월); 문자열 day [] = calendar.getCalendar (); for (int i = 0; i <42; i ++) {labelday [i] .settext (day [i]); }} else if (e.getSource () == 버튼) {month = month+1; if (Month> 12) Month = 1; calendar.setyear (integer.parseint (text.getText ()); 문자열 day [] = calendar.getCalendar (); for (int i = 0; i <42; i ++) {labelday [i] .settext (day [i]); }} showmessage.settext ( "캘린더 :"+calendar.getyear ()+"year"+calendar.getmonth ()+"month"); }} 마지막으로 클래스를 사용하여 호출하십시오.
패키지 기타 1; import javax.swing.jframe; import javax.swing.uimanager; public class calendarmainclass {public static void main (String args []) {try {uimanager.setlookandfeel ( "com.sun.java.swing.windows.windowslookandfeel"); // Windows 인터페이스 스타일} catch (예외 e) {e.printstacktrace (); } CalendarFrame 프레임 = 새로운 CalendarFrame (); frame.setBounds (100,100,360,300); frame.settitle ( "캘린더 애플릿"); frame.setLocationRelativeTo (null); // 양식은 frame.setVisible (true)을 표시하도록 중앙에 있습니다. frame.setDefaultCloseOperation (jframe.exit_on_close); }}작업 결과는 다음과 같습니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.