中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java如何實現簡單日歷小程序

發布時間:2021-04-17 14:10:28 來源:億速云 閱讀:206 作者:小新 欄目:編程語言

小編給大家分享一下Java如何實現簡單日歷小程序,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

如何用Java swing開發一款簡單的小日歷,下面我們來看代碼:首先創建一個CalendarBean類,用于基本的日期計算:

package other1; 
 
import java.util.Calendar;   
  
public class CalendarBean   
{   
    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;   
    }   
      
    public String[] getCalendar()   
    {   
      String a[]=new String[42];   
      Calendar date=Calendar.getInstance();   
      date.set(year,month-1,1);   
      int week=date.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=week,n=1;i<week+day;i++)   
      {   
          a[i]=String.valueOf(n) ;   
          n++;   
      }        
      return a;   
    }   
}

然后再創建一個主界面類,用于界面的實現:

package other1; 
 
import java.awt.*;   
import java.awt.event.*;   
import javax.swing.*;  
  
public class CalendarFrame extends JFrame implements ActionListener   
{   
    JLabel labelDay[]=new JLabel[42];   
    JTextField text=new JTextField(10);  
    JButton titleName[]=new JButton[7];   
    JButton button = new JButton();  
    String name[]={"日","一","二","三", "四","五","六"};   
    JButton nextMonth,previousMonth;   
    int year=1996,month=1; //啟動程序顯示的日期信息  
    CalendarBean calendar;   
    JLabel showMessage=new JLabel("",JLabel.CENTER);   
    JLabel lbl1 = new JLabel("請輸入年份:");  
    JLabel lbl2=new JLabel("   ");  
  
    public CalendarFrame()   
    { 
    setBackground(new Color(0, 128, 128));   
      JPanel pCenter=new JPanel();   
      pCenter.setBackground(new Color(0, 139, 139)); 
        
     //將pCenter的布局設置為7行7列的GridLayout 布局。   
      pCenter.setLayout(new GridLayout(7,7));   
        
     //pCenter添加組件titleName[i]  
      for(int i=0;i<7;i++)   
      {   
        titleName[i]=new JButton(name[i]);   
        pCenter.add(titleName[i]);   
      }   
  
     //pCenter添加組件labelDay[i]  
      for(int i=0;i<42;i++)   
      {   
        labelDay[i]=new JLabel("",JLabel.CENTER);   
        pCenter.add(labelDay[i]);  
      }   
        
      text.addActionListener(this);  
      calendar=new CalendarBean();   
      calendar.setYear(year);   
      calendar.setMonth(month);   
      String day[]=calendar.getCalendar();   
  
      for(int i=0;i<42;i++)   
      {   
        labelDay[i].setText(day[i]);   
      }   
  
      nextMonth=new JButton("下月");   
      previousMonth=new JButton("上月");   
      button=new 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(text);  
      pSouth.add(button);  
      showMessage.setText("日歷:"+calendar.getYear()+"年"+ calendar.getMonth()+"月" );  
      ScrollPane scrollPane=new ScrollPane();   
      scrollPane.add(pCenter);   
      getContentPane().add(scrollPane,BorderLayout.CENTER);// 窗口添加scrollPane在中心區域   
      getContentPane().add(pNorth,BorderLayout.NORTH);// 窗口添加pNorth 在北面區域   
      getContentPane().add(pSouth,BorderLayout.SOUTH);// 窗口添加pSouth 在南區域。  
  
    }   
     
    public void actionPerformed(ActionEvent e)   
    {   
      if(e.getSource()==nextMonth)   
      {   
        month=month+1;   
        if(month>12)   
        month=1;   
        calendar.setMonth(month);   
        String day[]=calendar.getCalendar();   
  
        for(int i=0;i<42;i++)   
        {  
          labelDay[i].setText(day[i]);   
        }   
       }   
      else if(e.getSource()==previousMonth)   
      {   
        month=month-1;         
        if(month<1)   
        month=12;   
        calendar.setMonth(month);   
        String day[]=calendar.getCalendar();   
  
        for(int i=0;i<42;i++)   
        {   
          labelDay[i].setText(day[i]);   
        }   
       }   
      else if(e.getSource()==button)  
      {  
        month=month+1;         
        if(month>12)          
           month=1;         
        calendar.setYear(Integer.parseInt(text.getText()));         
        String day[]=calendar.getCalendar();          
        for(int i=0;i<42;i++)  
        {  
          labelDay[i].setText(day[i]);  
        }  
      }  
     showMessage.setText("日歷:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );   
    }   
}

最后用一個類調用即可:

package other1; 
 
import 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界面風格  
       }catch (Exception e) {  
        e.printStackTrace();  
       }  
       CalendarFrame frame=new CalendarFrame();   
       frame.setBounds(100,100,360,300);   
       frame.setTitle("日歷小程序");  
       frame.setLocationRelativeTo(null);//窗體居中顯示  
       frame.setVisible(true);   
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
    }   
}

運行結果如下:

Java如何實現簡單日歷小程序

以上是“Java如何實現簡單日歷小程序”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

军事| 乌兰浩特市| 孟津县| 西盟| 横山县| 乌鲁木齐县| 金塔县| 永泰县| 玉环县| 丹寨县| 运城市| 鹤庆县| 邢台市| 揭西县| 石河子市| 汾西县| 县级市| 西丰县| 济源市| 丁青县| 太白县| 宁强县| 呼图壁县| 青海省| 马边| 伊宁县| 临潭县| 海原县| 贵定县| 德昌县| 汤阴县| 林州市| 历史| 京山县| 建湖县| 牡丹江市| 五常市| 曲松县| 梅河口市| 漾濞| 辽阳县|