久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Java如何實現桌面日歷

170次閱讀
沒有評論

共計 3773 個字符,預計需要花費 10 分鐘才能閱讀完成。

本篇內容介紹了“Java 如何實現桌面日歷”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

問題描述:

編寫一個程序,有一個窗口,該窗口為 BorderLayout 布局。窗口的中心添加一個 Panel 容器:pCenter,pCenter 的布局是 7 行 7 列的 GridLayout 布局,pCenter 的中放置 49 個標簽,用來顯示日歷。窗口北面添加一個 Panel 容器 pNorth,其布局是 FlowLayout 布局,pNorth 放置兩個按鈕:nextMonth 和 previousMonth 按鈕,單擊 nextMonth, 可以顯示當前月的下一個月的日歷;單擊 previousMonth 按鈕,可以顯示當前月的上一個月的日歷。窗口的南面添加一個 Panel 容器 pSouth,其布局是 FlowLayout 布局,pSouth 中放置一個標簽用來顯示一些信息。請完成界面設計和相關功能。運行結果如下圖所示。

問題解決:

新建 Java 項目,在項目下新建 package,命名為 Calendar。

CalendarBean.java

package Calendar;
 
import java.util.Calendar;
public class CalendarBean
{ 
 String day[];
 int year=2018,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;
 }
 public String[] getCalendar()
 { String a[]=new String[42]; 
 Calendar  日歷 =Calendar.getInstance();
  日歷.set(year,month-1,1); 
 int  星期幾 = 日歷.get(Calendar.DAY_OF_WEEK)-1;
 int day=0;
 if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
 { 
 day=31;
 }
 if(month==4||month==6||month==9||month==11)
 { 
 day=30;
 }
 if(month==2)
 { if(((year%4==0) (year%100!=0))||(year%400==0))
 { 
 day=29;
 }
 else
 { 
 day=28;
 }
 }
 for(int i= 星期幾,n=1;i 星期幾 +day;i++)
 { a[i]=String.valueOf(n) ;
 n++;
 } 
 return a;
 }
}

CalendarFrame.java

package Calendar;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class CalendarFrame extends Frame implements ActionListener
{ 
 Label labelDay[]=new Label[42];
 Button titleName[]=new Button[7];
 String name[]={ 日 , 一 , 二 , 三 ,  四 , 五 , 六 
 Button nextMonth,previousMonth;
 int year=2020,month=5;
 CalendarBean calendar;
 Label showMessage=new Label(,Label.CENTER);
 public CalendarFrame()
 { Panel pCenter=new Panel();
 pCenter.setLayout(new GridLayout(7,7)); // 將 pCenter 的布局設置為 7 行 7 列的 GridLayout  布局。 for(int i=0;i i++)
 { 
 titleName[i]=new Button(name[i]);
 pCenter.add(titleName[i]);//pCenter 添加組件 titleName[i]。 }
 for(int i=0;i i++)
 { labelDay[i]=new Label(,Label.CENTER);
 pCenter.add(labelDay[i]);//pCenter 添加組件 labelDay[i]。 }
 calendar=new CalendarBean();
 calendar.setYear(year);
 calendar.setMonth(month);
 String day[]=calendar.getCalendar();
 for(int i=0;i i++)
 { 
 labelDay[i].setText(day[i]);
 }
 nextMonth=new Button( 下月 
 previousMonth=new Button( 上月 
 nextMonth.addActionListener(this);
 previousMonth.addActionListener(this);
 Panel pNorth=new Panel(),
 pSouth=new Panel();
 pNorth.add(previousMonth);
 pNorth.add(nextMonth);
 pSouth.add(showMessage);
 showMessage.setText(日歷:+calendar.getYear()+ 年 + calendar.getMonth()+ 月  );
 ScrollPane scrollPane=new ScrollPane();
 scrollPane.add(pCenter);
 add(scrollPane,BorderLayout.CENTER);//  窗口添加 scrollPane 在中心區域
 add(pNorth,BorderLayout.NORTH);//  窗口添加 pNorth  在北面區域
 add(pSouth,BorderLayout.SOUTH);//  窗口添加 pSouth  在南區域。 }
 public void actionPerformed(ActionEvent e)
 { if(e.getSource()==nextMonth)
 { month=month+1;
 if(month 12) {
 month=1;
 year++;
 }
 calendar.setYear(year);
 calendar.setMonth(month);
 String day[]=calendar.getCalendar();
 for(int i=0;i i++)
 { 
 labelDay[i].setText(day[i]);
 }
 }
 else if(e.getSource()==previousMonth)
 { month=month-1;
 if(month 1) {
 month=12;
 year--;
 }
 calendar.setYear(year);
 calendar.setMonth(month);
 String day[]=calendar.getCalendar();
 for(int i=0;i i++)
 { 
 labelDay[i].setText(day[i]);
 }
 }
 showMessage.setText(日歷:+calendar.getYear()+ 年 +calendar.getMonth()+ 月  );
 }
}

CalendarMainClass.java

package Calendar;
public class CalendarMainClass
{ 
 public static void main(String args[])
 { 
 CalendarFrame frame=new CalendarFrame();
 frame.setBounds(100,100,360,300);
 frame.setVisible(true);
 frame.validate();
 frame.addWindowListener(new java.awt.event.WindowAdapter()
 { public void windowClosing(java.awt.event.WindowEvent e)
 { System.exit(0);
 }
 }
 );
 }
}

運行結果:

“Java 如何實現桌面日歷”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-01發表,共計3773字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 平山县| 邳州市| 读书| 金湖县| 泰宁县| 宝兴县| 郸城县| 利川市| 巴林左旗| 安吉县| 温宿县| 咸宁市| 建瓯市| 汕尾市| 犍为县| 黔西县| 兴文县| 蓬溪县| 虹口区| 五峰| 石城县| 锦屏县| 阳曲县| 聊城市| 金寨县| 汾阳市| 正安县| 洱源县| 扎赉特旗| 马边| 汨罗市| 肇东市| 大丰市| 溧水县| 松原市| 裕民县| 宜宾市| 南京市| 海原县| 报价| 湾仔区|