最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

日歷顯示讀出輸入的年月的java代碼

 更新時(shí)間:2013年12月04日 17:48:08   作者:  
這篇文章主要介紹了日歷顯示讀出輸入的年月的java代碼,有需要的朋友可以參考一下

復(fù)制代碼 代碼如下:

import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;

import javax.swing.JOptionPane;

class CalendarBean {  //定義一個(gè)日歷類
 String day[]; //天數(shù)數(shù)組
 int year = 2011, month = 9; //給定一個(gè)初始年月

 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]; //定義一個(gè)以字符串?dāng)?shù)組
  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;
 }
}

class CalendarFrame extends Frame implements ActionListener {
 Label labelDay[] = new Label[42]; //用來(lái)輸出日歷的天的數(shù)組
 Button titleName[] = new Button[7]; //周一到周天的按鍵
 String name[] = { "日", "一", "二", "三", "四", "五", "六" };
 TextField text1, text2; //定義輸入的年份和月份
 Button nextMonth, previousMonth, Enter; //下個(gè)月,上個(gè)月,確定
 Label lab1, lab2, lab3; //幾個(gè)文本類型的字符串
 int year = 2012, month = 9;
 CalendarBean calendar; //頂一個(gè)量
 Label showMessage = new Label("", Label.CENTER); //   定義一個(gè)用于顯示 當(dāng)前年月的label 表明,標(biāo)簽上應(yīng)為中心。

 public CalendarFrame() {    //窗體類
  Panel pCenter = new Panel();  //鑲嵌
  pCenter.setLayout(new GridLayout(7, 7));
  for (int i = 0; i < 7; i++) {      //給周日到周六的button添加顯示文本
   titleName[i] = new Button(name[i]);
   pCenter.add(titleName[i]);
  }
  for (int i = 0; i < 42; i++) {     
   labelDay[i] = new Label("", Label.CENTER);
   pCenter.add(labelDay[i]);
  }
  calendar = new CalendarBean();
  calendar.setYear(year);     //設(shè)定年
  calendar.setMonth(month);
  String day[] = calendar.getCalendar();  //設(shè)定天
  for (int i = 0; i < 42; i++) {     //給日歷位置循環(huán)添加顯示日歷天
   labelDay[i].setText(day[i]);
  }
  lab1 = new Label("請(qǐng)輸入日期");  //調(diào)用一個(gè)方法    new一個(gè)對(duì)象
  lab2 = new Label("年份");
  lab3 = new Label("月份");
  Enter = new Button("確定");
  text1 = new TextField(10);
  text2 = new TextField(5);
  nextMonth = new Button("下月");
  previousMonth = new Button("上月");
  Enter.addActionListener(this);  //添加指定的動(dòng)作偵聽器
  nextMonth.addActionListener(this);
  previousMonth.addActionListener(this);
  Panel pNorth = new Panel(), pSouth = new Panel();
  pNorth.add(lab1);
  pNorth.add(lab2);
  pNorth.add(text1);
  pNorth.add(lab3);
  pNorth.add(text2);
  pNorth.add(Enter);
  pNorth.add(previousMonth);
  pNorth.add(nextMonth);
  pSouth.add(showMessage);
  showMessage.setText("日歷:" + calendar.getYear() + "年" + calendar.getMonth() + "月");
  ScrollPane scrollPane = new ScrollPane();  //實(shí)現(xiàn)單個(gè)子組件的自動(dòng)水平和/或垂直滾動(dòng)的容器類
  scrollPane.add(pCenter);
  add(scrollPane, BorderLayout.CENTER);
  add(pNorth, BorderLayout.NORTH);
  add(pSouth, BorderLayout.SOUTH);
 }

 public void actionPerformed(ActionEvent e) {
  if (e.getSource() == nextMonth) { //如果獲得的操作時(shí)下個(gè)月的
   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 {
   String yea = text1.getText();
   String mon = text2.getText();
   try {
    year = Integer.parseInt(yea); //把string轉(zhuǎn)成int類型
    month = Integer.parseInt(mon);
    if (month > 12 || month < 1 || year < 1) {  //錯(cuò)誤輸入的處理
     JOptionPane.showMessageDialog(null, "請(qǐng)輸入正確月份或月份");
     return;
    } else {
     calendar.setYear(year);
     calendar.setMonth(month);
    }
    String day[] = calendar.getCalendar();
    for (int i = 0; i < 42; i++) {
     labelDay[i].setText(day[i]);
    }
   } catch (NumberFormatException ee) {
    JOptionPane.showMessageDialog(null, "請(qǐng)輸入正確的年份及月份");
   }
  }
  showMessage.setText("日歷:" + calendar.getYear() + "年" + calendar.getMonth() + "月");
 }

}

public class CalendarMainClass {
 public static void main(String args[]) {
  CalendarFrame frame = new CalendarFrame();
  frame.setTitle("日歷");
  frame.setBounds(300, 200, 500, 300);
  frame.setVisible(true);  //顯示窗口
  frame.validate(); //使生效
  frame.addWindowListener(new java.awt.event.WindowAdapter() {  //點(diǎn)擊叉號(hào)關(guān)閉frame程序
   public void windowClosing(java.awt.event.WindowEvent e) {
    System.exit(0);
   }
  });
 }
}

相關(guān)文章

  • Spring Boot實(shí)現(xiàn)圖片上傳/加水印一把梭操作實(shí)例代碼

    Spring Boot實(shí)現(xiàn)圖片上傳/加水印一把梭操作實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于Spring Boot實(shí)現(xiàn)圖片上傳/加水印一把梭操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Java多例設(shè)計(jì)模式實(shí)例詳解

    Java多例設(shè)計(jì)模式實(shí)例詳解

    這篇文章主要介紹了Java多例設(shè)計(jì)模式,結(jié)合實(shí)例形式分析了基于Java的多例模式概念、原理、定義與使用方法,需要的朋友可以參考下
    2018-05-05
  • Spring Boot和Hazelcast使用詳解

    Spring Boot和Hazelcast使用詳解

    這篇文章主要介紹了Spring Boot和Hazelcast使用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-09-09
  • mybatis多層嵌套resultMap及返回自定義參數(shù)詳解

    mybatis多層嵌套resultMap及返回自定義參數(shù)詳解

    這篇文章主要介紹了mybatis多層嵌套resultMap及返回自定義參數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-12-12
  • 部署Nacos的源碼環(huán)境搭建過程

    部署Nacos的源碼環(huán)境搭建過程

    這篇文章主要為大家介紹了部署Nacos的源碼環(huán)境搭建過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Java中的可重入鎖ReentrantLock簡(jiǎn)析

    Java中的可重入鎖ReentrantLock簡(jiǎn)析

    這篇文章主要介紹了Java中的可重入鎖ReentrantLock簡(jiǎn)析,可重入是指同一個(gè)線程如果首次獲得了這把鎖,那么因?yàn)樗沁@把鎖的擁有者,因此有權(quán)利再次獲取這把鎖如果是不可重入鎖,那么第二次獲得鎖時(shí),自己也會(huì)被鎖擋住,需要的朋友可以參考下
    2023-12-12
  • SpringData JPA Mongodb查詢部分字段問題

    SpringData JPA Mongodb查詢部分字段問題

    這篇文章主要介紹了SpringData JPA Mongodb查詢部分字段問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java常用集合與映射的線程安全問題小結(jié)

    Java常用集合與映射的線程安全問題小結(jié)

    本文給大家介紹Java常用集合與映射的線程安全問題小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2025-04-04
  • 使用注解@Validated效驗(yàn)VO參數(shù)是否合規(guī)

    使用注解@Validated效驗(yàn)VO參數(shù)是否合規(guī)

    這篇文章主要為大家介紹了使用注解@Validated效驗(yàn)VO參數(shù)是否合規(guī)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 在IDEA里gradle配置和使用的方法步驟

    在IDEA里gradle配置和使用的方法步驟

    這篇文章主要介紹了在IDEA里gradle配置和使用的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評(píng)論

汽车| 宜宾市| 洛浦县| 广西| 日照市| 察雅县| 泾川县| 陆良县| 德安县| 宁波市| 黎城县| 静乐县| 青川县| 泰和县| 密云县| 乌兰察布市| 安新县| 平利县| 汽车| 兴安县| 茶陵县| 旌德县| 嘉鱼县| 桑日县| 开远市| 大名县| 高台县| 枝江市| 嘉黎县| 黄梅县| 木兰县| 安新县| 陕西省| 赣榆县| 玉溪市| 登封市| 泸溪县| 文成县| 宁陕县| 开封县| 洛南县|