日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java小日历

發布時間:2025/3/20 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java小日历 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自己寫的一個小小日歷,運行程序是柯自動定位到當前年月日,當點擊下個月按鈕是會定位到下個月的這一天,就是說天數不會變。當在一個月中點擊某一天時,下面的時間也會隨時變化。

import java.util.Calendar; public class CalendarMainClass {public static void main(String args[]) {CalendarFrame frame=new CalendarFrame();frame.setBounds(100,100,360,300);frame.setVisible(true);frame. setYearAndMonth((Calendar.getInstance()).get(Calendar.YEAR),(Calendar.getInstance()).get(Calendar.MONTH)+1);} }import java.util.*; import java.awt.*; import java.awt.event.*;import javax.swing.*; import javax.swing.border.*; public class CalendarFrame extends JFrame implements ActionListener, MouseListener{/*** */private static final long serialVersionUID = 1L;JLabel labelDay[]=new JLabel[42];JButton titleName[]=new JButton[7];JLabel labelCom=new JLabel();//跟蹤選中的日期String name[]={"日","一","二","三", "四","五","六"};JButton nextMonth,previousMonth;CalendarBean calendar;JLabel showMessage=new JLabel("",JLabel.CENTER); int year=2011,month=2;public CalendarFrame() {JPanel pCenter=new JPanel();pCenter.setBackground(Color.white);pCenter.setLayout(new GridLayout(7,7)); //將pCenter的布局設置為7行7列的GridLayout 布局。for(int i=0;i<7;i++) {titleName[i]=new JButton(name[i]); titleName[i].setBorder(new SoftBevelBorder(BevelBorder.RAISED));pCenter.add(titleName[i]);}for(int i=0;i<42;i++) {labelDay[i]=new JLabel("",JLabel.CENTER);//labelDay[i].setBorder(new EtchedBorder(EtchedBorder.RAISED));labelDay[i].setBorder(BorderFactory.createLineBorder (Color.orange, 1));pCenter.add(labelDay[i]);//pCenter添加組件labelDay[i]。}calendar=new CalendarBean();nextMonth=new JButton("下月");previousMonth=new JButton("上月");nextMonth.addActionListener(this);previousMonth.addActionListener(this);JPanel pNorth=new JPanel(),pSouth=new JPanel();pCenter.setBackground(Color.white);pNorth.setBackground(Color.white);pSouth.setBackground(Color.white);pNorth.add(previousMonth);pNorth.add(nextMonth);pSouth.add(showMessage);add(pCenter,BorderLayout.CENTER); add(pNorth,BorderLayout.NORTH); // 窗口添加pNorth 在北面區域add(pSouth ,BorderLayout.SOUTH); // 窗口添加pSouth 在南區域。//setYearAndMonth(year,month);setDefaultCloseOperation(DISPOSE_ON_CLOSE);}public void setYearAndMonth(int y,int m) {year=y;month=m;calendar.setYear(y);calendar.setMonth(m); calendar.setDay((Calendar.getInstance()).get(Calendar.DAY_OF_MONTH));String day[]=calendar.getCalendar();for(int i=0;i<42;i++) {labelDay[i].setText(day[i]); labelDay[i].addMouseListener(this);//對每個標簽監聽if(day[i]!=null&&day[i].equals(String.valueOf(calendar.getDay())))//系統日期為黃色{labelDay[i].setOpaque(true); // 標簽設置不透明才能設置顏色 labelDay[i].setBackground(Color.orange);labelCom= labelDay[i];//點亮的標簽}}showMessage.setText("日歷:"+calendar.getYear()+"年"+ calendar.getMonth()+"月"+ calendar.getDay()+"日");}public void actionPerformed(ActionEvent e) {if(e.getSource()==nextMonth) {month=month+1;if(month>12){month=1;year=year+1;} calendar.setMonth(month);calendar.setYear(year);String day[]=calendar.getCalendar();for(int i=0;i<42;i++) {labelDay[i].setOpaque(false); }for(int i=0;i<42;i++) {labelDay[i].setText(day[i]); labelDay[i].addMouseListener(this);if(day[i]!=null&&day[i].equals(String.valueOf(calendar.getDay()))){ labelDay[i].setOpaque(true); labelDay[i].setBackground(Color.orange);labelCom= labelDay[i];}}}else if(e.getSource()==previousMonth) {month=month-1;if(month<1){month=12;year=year-1;}calendar.setMonth(month);calendar.setYear(year);String day[]=calendar.getCalendar();for(int i=0;i<42;i++) {labelDay[i].setOpaque(false); }for(int i=0;i<42;i++){labelDay[i].setText(day[i]); labelDay[i].addMouseListener(this);if(day[i]!=null&&day[i].equals(String.valueOf(calendar.getDay()))){labelDay[i].setOpaque(true); labelDay[i].setBackground(Color.orange);labelCom= labelDay[i];}} }showMessage.setText("日歷:"+calendar.getYear()+"年"+ calendar.getMonth()+"月"+ calendar.getDay()+"日");}@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mousePressed(MouseEvent e) {JLabel i=(JLabel)e.getSource();if(i.getText()!=null){labelCom.setOpaque(false);i.setOpaque(true); i.setBackground(Color.orange); showMessage.setText("日歷:"+calendar.getYear()+"年"+ calendar.getMonth()+"月"+Integer.parseInt(i.getText())+"日");labelCom=i;//刷新界面for(int j=0;j<42;j++){labelDay[j].repaint();}} }@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stub} }import java.util.Calendar;public class CalendarBean {String day[];int year=2005,month=0;int DDay=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 void setDay(int DDay) {this.DDay=DDay;}public int getDay() {return DDay; }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;elseday=28;}for(int i=星期幾,n=1;i<星期幾+day;i++) {a[i]=String.valueOf(n) ;n++;} return a;} }


總結

以上是生活随笔為你收集整理的Java小日历的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。