「java万年历下载」用java写万年历

博主:adminadmin 2022-11-24 11:23:08 43

今天给各位分享java万年历下载的知识,其中也会对用java写万年历进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA万年历代码

/*

题目:输出任意年份任意月份的日历表(公元后)

思路:

    1.已知1年1月1日是星期日,1 % 7 = 1 对应的是星期日,2 % 7 = 2 对应的是星期一,以此类推;

    2.计算当年以前所有天数+当年当月1号之前所有天数;

      a.年份分平年闰年,平年365天,闰年366天;

      b.闰年的判断方法year % 400 == 0 || (year % 100 != 0  year % 4 == 0)若为真,则为闰年否则为平年;

      c.定义平年/闰年数组,包含各月天数;

      d.遍历数组求和,计算当年当月前总天数;

      e.当年以前所有天数+当年当月前总天数+1即为1年1月1日到当年当月1日的总天数;

    3.总天数对7取模,根据结果判断当月1号是星期几,输出空白区域;

    4.输出当月日历表,逢星期六换行

*/

import java.util.Scanner;

class FindMonthList {

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        System.out.println("请输入年份:");

        int year = sc.nextInt();            //年份

        if (year  1) {                        //判断非法输入年份

            System.out.println("输入错误!");

            return;

        }

        System.out.println("请输入月份:");

        int month = sc.nextInt();            //月份

        if (month  1 || month  12) {        //判断非法输入月份

            System.out.println("输入错误!");

            return;

        }

        //输出表头

        System.out.println("-------" + year + " 年 " + month + " 月 " + "-------");

        System.out.println();

        System.out.println("日  一  二  三  四  五  六");

        //计算当前年份以前所有天数beforeYearTotalDay;每4年一个闰年,闰年366天,平年365天

        int beforeYearTotalDay = ((year - 1) / 4 * 366) + (year-1 - ((year - 1) / 4)) * 365;

        int[] arrLeapYear = {0,31,29,31,30,31,30,31,31,30,31,30,31};    //闰年各月天数    int数组

        int[] arrNormalYear = {0,31,28,31,30,31,30,31,31,30,31,30,31};    //平年各月天数    int数组

        int beforeMonthTotalDay = 0;                                    //定义本年当月之前月份的总天数

        if (year % 400 == 0 || (year % 100 != 0  year % 4 == 0)) {    //判断当前年份是否是闰年

            for (int i = 0 ; i  month ; i ++ ) {    //for循环计算当月之前总天数

                //计算当前月份之前的所有天数

                beforeMonthTotalDay = beforeMonthTotalDay + arrLeapYear[i];

            }

            //判断当月1日是星期几

            int totalDay = beforeYearTotalDay + beforeMonthTotalDay + 1;

            int week = totalDay % 7;//已知1年1月1日是星期日,即模7得1对应的是星期日

            for (int i = 0 ; i  (week - 1 + 7) % 7 ; i ++) {    //如果写成i  (week-1)会出现i-1的情况

                System.out.print("    ");//输出开头空白

            }

            for (int i = 1 ;i = arrLeapYear[month] ;i ++ ) {    //for循环输出各月天数

                System.out.print(i + "  ");

                if (i  10 ) {        //小于10的数补一个空格,以便打印整齐

                    System.out.print(" ");

                }

                if (i % 7 == ((7-(week - 1)) % 7 ) || i == arrLeapYear[month]) {//每逢星期六/尾数换行

                    System.out.println();

                }

            }

        } else {        //不是闰年就是平年

            for (int i = 0 ; i  month ; i ++ ) {    //for循环计算出当月之前月份总天数

                beforeMonthTotalDay = beforeMonthTotalDay + arrNormalYear[i];

            }

            //判断当月1日是星期几

            int totalDay = beforeYearTotalDay + beforeMonthTotalDay + 1;

            int week = totalDay % 7;//已知1年1月1日是星期日,即模7得1对应的是星期日

            for (int i = 0 ; i  (week - 1 + 7) % 7 ; i ++) {    //如果写成i  (week-1)会出现i-1的情况

                System.out.print("    ");//输出开头空白

            }

            for (int i = 1 ;i = arrNormalYear[month] ;i ++ ) {//for循环输出各月天数

                System.out.print(i + "  ");

                if (i  10 ) {            //小于10的数补一个空格,以便打印整齐

                    System.out.print(" ");

                }

                if (i % 7 == ((7-(week - 1)) % 7 ) || i == arrNormalYear[month]) {//每逢星期六/尾数换行

                    System.out.println();

                }

            }

        }

    }

}

显示效果:

万年历官方下载,万年历下载

提起万年历,大家都知道,有人问万年历,另外,还有人想问万年历APP哪个好一点?你知道这是怎么回事?其实万年历APP哪个好用?有没有靠谱的?下面就一起来看看万年历,希望能够帮助到大家!

万年历

1、万年历:万年历

威望万年历,是一款非常实用的时间日历软件,记录了从年开始到年长达年之间的日期情况。体积极小,使用完全不占用内存。界面的简洁明了,让你一眼就能直观的了解到你想要直到的日历情况。威望万年历,详细的显示了阳历、农历所有节假日,以及所有的节气,用不同的颜色分隔开,让你一眼就能寻找到想要查询的日期情况。

威望万年历:

2、万年历:万年历APP哪个好一点?

现在万年历的应用还是比较多的

3、万年历:万年历APP哪个好用?有没有靠谱的?

正常的APP都是在手机的应用商店里面就可以。一般第三方的不是太推荐

4、万年历:万年历怎么?

手机都是自带了,当你去商店里也是有更多功能的万年历的。望采纳谢谢最准确的老黄历看日子。

直接使用豌豆荚中华万年历,求采纳,谢谢,最准确万年历。

机峰市场进手机助手或碗豆荚里就有望采纳,谢谢!!!

5、万年历:万年历

手机应用市场一搜就是了,选择太多可以根据评分和评论来斟酌选择,我目前在用的是“万年历”APP,评分有5颗星,踩雷的,没想到这么好用。正版中华万年历版2021。

6、万年历:手机怎样万年历

手机万年历的操作方法如下(以红米手机、中华万年历为例):无万年历。

万年历APP哪个好用?有没有靠谱的?

一、首先打开红米1s手机“应用商店”;

二、其次在“应用商店”搜索窗口搜索“中华万年历”;中华万年历28版。

三、然后选择您所要选择的软件,如下图所示:

四、点击“安装”即可,如下图所示:

7、万年历:如何万年历?

如何万年历?不建议,那个软件,会自动安装别的垃垃软件,在说我们手机上都有,不需要。

8、万年历:万年历?

手机用户可以进入手机自带的应用市场,一搜索万年历会出来很多老黄历中华万年历旧版。

我自己在用的就是中间的这个“万年历”,试了很多,还是觉得“万年历”用~

也可以进入手机的网页当中搜索万年历软件最准确的万年历老黄历。

点击就OK了。中华万年历版。

如果是电脑,可以进入万年历的中国万年历正版。

万年历右上角有个的选项,就能快速了~中华万年历日历安装到手机。

9、万年历:怎样最准确的万年历

现在网络上的万年历都很了。

而且还有实时校准功能。黄历天气预报。

可以去授时中心相应的万年历。中华万年历2017版本。

以上就是与万年历相关内容,是关于万年历的分享。看完万年历后,希望这对大家有所帮助!

急求一个JAVA的万年历程序

import java.awt.*;

import java.awt.event.*;

import java.util.*;

public class CalenderCreator extends Frame

{

Button days[]=new Button[49]; /////////////////////////////////////49的意思是一个7*7的button矩阵

Choice Month=new Choice();

Choice Year=new Choice();

Label lmonth=new Label("月份");

Label lyear=new Label("年份");

Label ltext=new Label("要查询的年份1900年以后:::");/////////////////输入要查询的年份

Panel p1,p2; ///////////////////////////定义面板p1,p2

GregorianCalendar gc=new GregorianCalendar(); /////////////////////对GregorianCalendar类进行实例化名字为gc

int totdays;

TextField textfield=new TextField(2);

public CalenderCreator()

{

setTitle("万年历");

setSize(550,450); //////////////////////////////////////////////////定义万年历方框的大小为550*450

setResizable(false);

setLocation(20,20);

p1=new Panel(new FlowLayout()); ////////////////////////////////////调用FlowLayout方法

p2=new Panel(new GridLayout(7,7,9,8)); /////////////////////////////调用GridLayout方法,7行7个button , 左间隔9,上下间隔8

p1.setBackground(Color.white); /////////////////////////////////////背景色为白色

p2.setBackground(Color.white); /////////////////////////////////////背景色为白色

add(p1,BorderLayout.WEST); ////////////////////////////////////////把p1放在边框布局的北方,即上方

add(p2);

p1.add(ltext); /////////////////////////////////////////////////////调用ltext

p1.add(textfield); /////////////////////////////////////////////////输入年份

p1.add(lmonth);

p1.add(Month);

Month.add("一月");

Month.add("二月");

Month.add("三月");

Month.add("四月");

Month.add("五月");

Month.add("六月");

Month.add("七月");

Month.add("八月");

Month.add("九月");

Month.add("十月");

Month.add("十一月");

Month.add("十二月");

Month.addItemListener(new myLis(this));

textfield.addActionListener(new myAction(this)); ////////////////////设置一个监听器

p1.add(lyear);

p1.add(Year);

Year.add("2007"); ////////////////////////////////////////////////////从2007开始

Year.add("2008");

Year.add("2009");

Year.add("2010");

Year.add("2011");

Year.add("2012");/////////////////////////////////////////////////////到2012结束

Year.addItemListener(new myLis(this));

for(int i=0;i49;i++)

{

days[i]=new Button("");

}

for(int c=0;c49;c++)

{

p2.add(days[c]);

}

setVisible(true); ////////////////////////////////////////////////////使这个组件可见

}

void setYear(String mynewyear)

{

int h=Integer.parseInt(mynewyear);

for(int adder=1900;adder=h;adder++) /////////////////////////////////当输入查询的年份的时候从1900年开始

{

Year.add(""+adder);

}

}

void setButtons(int myday,int mytotdays)

{

int count=7;

days[0].setLabel("日");

days[1].setLabel("一");

days[2].setLabel("二");

days[3].setLabel("三");

days[4].setLabel("四");

days[5].setLabel("五");

days[6].setLabel("六");

if ( myday0)

{

int blank= myday;

for( ;blank0;blank--,count++)

{

days[count].setLabel("");

}

}

for(int i=1;i=mytotdays; i++,count++)

{

days[count].setLabel(""+i); ////////////////////////////////////////////日期加1

}

for(int j = 1;count 49; j++,count++)

{

days[count].setLabel("");

}

}

void setVal(Date date,int iday,int iselMonth,int iselYear)

{

gc.setTime(date); ///////////////////////////////////////////////////////设置date 对象的日期和时间值

if(iselMonth==0 || iselMonth==2 || iselMonth==4 || iselMonth==6 || iselMonth== 7 ||iselMonth==9 || iselMonth==11)

/////////////////////////////每月31天的月

{

totdays=31;

setButtons(iday,totdays);

}

if(iselMonth==3 || iselMonth==5 || iselMonth==8 || iselMonth==10) ///////每月30天的月

{

totdays=30;

setButtons(iday,totdays);

}

if(gc.isLeapYear(iselYear) iselMonth==1) /////////////////////////////判断是否闰年从而决定2月的天数

{

totdays=29;

setButtons(iday,totdays);

}

if( !gc.isLeapYear(iselYear) iselMonth==1) ///////////////////////////判断是否闰年从而决定2月的天数

{

totdays=28;

setButtons(iday,totdays);

}

}

static public void main(String args[])

{

CalenderCreator c=new CalenderCreator(); ////////////////////////////////把CalenderCreator类实例化

}

}

class myLis implements ItemListener

{

CalenderCreator calLis; /////////////////////////////////////////////////calLis 是对CalenderCreator的引用

public myLis(CalenderCreator c)

{

calLis=c; ///////////////////////////////////////////////////////////////把c的值给calLis

}

public void itemStateChanged(ItemEvent i)

{

int selMonth=calLis.Month.getSelectedIndex(); ///////////////////////////做翻月用

int selYear1=Integer.parseInt(calLis.Year.getSelectedItem()); ///////////把整形对象Integer转换成int

int selYear = selYear1- 1900;

Date d1 = new Date(selYear,selMonth,1);

int day = d1.getDay();

calLis.setVal(d1,day,selMonth,selYear);

}

}

class myAction implements ActionListener

{

CalenderCreator calAc; //////////////////////////////////////////////////calAc 是对CalenderCreator的引用

int newyear;

public myAction(CalenderCreator ca)

{

calAc=ca;

}

public void actionPerformed(ActionEvent e)

{

String s=calAc.textfield.getText();

System.out.println("要查询的年份::::::::"+s);

calAc.setYear(s);

TextField tf = (TextField)e.getSource(); /////////////////////////////////返回事件

tf.removeActionListener(this); ///////////////////////////////////////////移除监听

}

}

基于命令行的Java万年历程序并且带事件查询功能

package verystupid;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Calendar;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Scanner;

public class MyCalendar {

private static MapDate,ListString hasEvent = new HashMapDate, ListString();

private static String year;

private static String month;

public static void main(String[] args){

try {

instanceEvent();//初始化日程数据

} catch (ParseException e1) {

e1.printStackTrace();

}

while(true){

System.out.println("日历系统");

System.out.println("选择操作:");

System.out.println("q:退出系统");

System.out.println("1:输入时间");

Scanner scan =new Scanner(System.in);

String str = scan.next();

if(str!=null!"".equals(str)){

if(str.equals("q")){

System.exit(0);

}else if(str.equals("1")){

System.out.print("请输入年份:");

year= scan.next();

System.out.print("\n请输入月份:");

month = scan.next();

if(year==null||"".equals(year)||month==null||"".equals(month)){

System.out.println("不可输入空数据");

continue;

}

try {

showCalendar(Integer.parseInt(year),Integer.parseInt(month));

while(true){

System.out.println("选择日期查看日程(b返回上级菜单,q退出):");

String date = scan.next();

if(date!=null!"".equals(date)){

if(date.equals("b")){break;}

else if(date.equals("q")){System.exit(0);}

else{

try{

int i = Integer.parseInt(date);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date d= sdf.parse(year+"-"+month+"-"+i);

if(hasEvent.containsKey(d)){

for(String s:hasEvent.get(d)){

System.out

.println(s+"\r\n");

}

}else{

System.out.println("改日无日程");

continue;

}

}catch(Exception e){

System.out.println("输入日期不为数字!");

}

}

}

}

} catch (Exception e) {

System.out.println("输入时间有误,请重新选择");

System.out.println("q:退出系统");

System.out.println("1:输入时间");

continue;

}

}

}

}

}

private static void instanceEvent() throws ParseException{

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

ListString events = new ArrayListString();

events.add("7:30 起床");

events.add("8:00 吃饭");

events.add("8:30 上课");

events.add("9:30 锻炼");

hasEvent.put(sdf.parse("2015-1-5"),events);

hasEvent.put(sdf.parse("2015-1-6"),events);

hasEvent.put(sdf.parse("2015-1-7"),events);

}

private static void showCalendar(int year,int month){

ListInteger str = getMonthData(year, month);

System.out.println("当月日历如下:");

System.out.println("日 一 二 三 四 五 六 ");

String s;

try {

s = format(str);

System.out.println(s);

} catch (ParseException e) {

e.printStackTrace();

}

}

private static ListInteger getMonthData(int year,int month){

ListInteger result = new ArrayListInteger();

SimpleDateFormat data = new SimpleDateFormat("yyyy-MM");

try {

Date date = data.parse(year+"-"+month);

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

int day_of_week = calendar.get(Calendar.DAY_OF_WEEK);//得到该月1号为星期几

calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH)+1);

calendar.set(Calendar.DATE, calendar.get(Calendar.DATE)-1);

int dayCount = calendar.get(Calendar.DATE);//得到该月共多少天

calendar.setTime(date);

calendar.set(Calendar.DATE, calendar.get(Calendar.DATE)-1);

int dayCount_last = calendar.get(Calendar.DATE);//得到上个月共多少天

for(int i = 1;idayCount+day_of_week;i++){

if(iday_of_week){

result.add(dayCount_last-day_of_week+i+1);

}else{

result.add(i-day_of_week+1);

}

}

} catch (ParseException e) {

e.printStackTrace();

}

return result;

}

private static String format(ListInteger data) throws ParseException{

StringBuffer sb = new StringBuffer();

int weekDay = 0;

for(Integer str:data){

if(weekDay==7){

sb.append("\n");

weekDay=0;

}

if(str10){

sb.append(" ");

}

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date = sdf.parse(year+"-"+month+"-"+str);

if(hasEvent.keySet().contains(date)){

sb.append(str+"* ");

}else{

sb.append(str+" ");

}

weekDay++;

}

return sb.toString();

}

}

JAVA万年历

//日历使用的类

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Component;

import java.awt.Container;

import java.awt.FlowLayout;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.FocusEvent;

import java.awt.event.FocusListener;

import java.util.Calendar;

import javax.swing.JApplet;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JSpinner;

import javax.swing.JTable;

import javax.swing.JTextField;

import javax.swing.ListSelectionModel;

import javax.swing.Timer;

import javax.swing.event.ChangeEvent;

import javax.swing.event.ChangeListener;

import javax.swing.table.AbstractTableModel;

import javax.swing.table.TableCellRenderer;

import javax.swing.table.TableModel;

//日历

public class MyCalendar extends JApplet {

public static final String WEEK_SUN = "SUN";

public static final String WEEK_MON = "MON";

public static final String WEEK_TUE = "TUE";

public static final String WEEK_WED = "WED";

public static final String WEEK_THU = "THU";

public static final String WEEK_FRI = "FRI";

public static final String WEEK_SAT = "SAT";

public static final Color background = Color.yellow;

public static final Color foreground = Color.black;

public static final Color headerBackground = Color.blue;

public static final Color headerForeground = Color.white;

public static final Color selectedBackground = Color.blue;

public static final Color selectedForeground = Color.white;

private JPanel cPane;

private JLabel yearsLabel;

private JSpinner yearsSpinner;

private JLabel monthsLabel;

private JComboBox monthsComboBox;

private JTable daysTable;

private AbstractTableModel daysModel;

private Calendar calendar;

int delay = 1000;

public MyCalendar() {

cPane = (JPanel) getContentPane();

}

public void init() {

setSize(350, 300);

cPane.setLayout(new BorderLayout());

calendar = Calendar.getInstance();

yearsLabel = new JLabel("Year: ");

yearsSpinner = new JSpinner();

yearsSpinner.setEditor(new JSpinner.NumberEditor(yearsSpinner, "0000"));

yearsSpinner.setValue(new Integer(calendar.get(Calendar.YEAR)));

yearsSpinner.addChangeListener(new ChangeListener() {

public void stateChanged(ChangeEvent changeEvent) {

int day = calendar.get(Calendar.DAY_OF_MONTH);

calendar.set(Calendar.DAY_OF_MONTH, 1);

calendar.set(Calendar.YEAR, ((Integer) yearsSpinner.getValue())

.intValue());

int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

calendar

.set(Calendar.DAY_OF_MONTH, day maxDay ? maxDay : day);

updateView();

}

});

JPanel yearMonthPanel = new JPanel();

cPane.add(yearMonthPanel, BorderLayout.NORTH);

yearMonthPanel.setLayout(new BorderLayout());

yearMonthPanel.add(new JPanel(), BorderLayout.CENTER);

JPanel yearPanel = new JPanel();

yearMonthPanel.add(yearPanel, BorderLayout.WEST);

yearPanel.setLayout(new BorderLayout());

yearPanel.add(yearsLabel, BorderLayout.WEST);

yearPanel.add(yearsSpinner, BorderLayout.CENTER);

monthsLabel = new JLabel("Month: ");

monthsComboBox = new JComboBox();

for (int i = 1; i = 12; i++) {

monthsComboBox.addItem(new Integer(i));

}

monthsComboBox.setSelectedIndex(calendar.get(Calendar.MONTH));

monthsComboBox.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent actionEvent) {

int day = calendar.get(Calendar.DAY_OF_MONTH);

calendar.set(Calendar.DAY_OF_MONTH, 1);

calendar.set(Calendar.MONTH, monthsComboBox.getSelectedIndex());

int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

calendar

.set(Calendar.DAY_OF_MONTH, day maxDay ? maxDay : day);

updateView();

}

});

JPanel monthPanel = new JPanel();

yearMonthPanel.add(monthPanel, BorderLayout.EAST);

monthPanel.setLayout(new BorderLayout());

monthPanel.add(monthsLabel, BorderLayout.WEST);

monthPanel.add(monthsComboBox, BorderLayout.CENTER);

daysModel = new AbstractTableModel() {

public int getRowCount() {

return 9;

}

public int getColumnCount() {

return 7;

}

public Object getValueAt(int row, int column) {

if (row == 0) {

return getHeader(column);

}

row--;

Calendar calendar = (Calendar) MyCalendar.this.calendar.clone();

calendar.set(Calendar.DAY_OF_MONTH, 1);

int dayCount = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

int moreDayCount = calendar.get(Calendar.DAY_OF_WEEK) - 1;

int index = row * 7 + column;

int dayIndex = index - moreDayCount + 1;

if (index moreDayCount || dayIndex dayCount) {

return null;

} else {

return new Integer(dayIndex);

}

}

};

daysTable = new CalendarTable(daysModel, calendar);

daysTable.setCellSelectionEnabled(true);

daysTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

daysTable.setDefaultRenderer(daysTable.getColumnClass(0),

new TableCellRenderer() {

public Component getTableCellRendererComponent(

JTable table, Object value, boolean isSelected,

boolean hasFocus, int row, int column) {

String text = (value == null) ? "" : value.toString();

JLabel cell = new JLabel(text);

cell.setOpaque(true);

if (row == 0) {

cell.setForeground(headerForeground);

cell.setBackground(headerBackground);

} else {

if (isSelected) {

cell.setForeground(selectedForeground);

cell.setBackground(selectedBackground);

} else {

cell.setForeground(foreground);

cell.setBackground(background);

}

}

return cell;

}

});

updateView();

cPane.add(daysTable, BorderLayout.CENTER);

// 窗体添加事件监听,监听秒表的触发

ActionListener taskPerformer = new ActionListener() {

public void actionPerformed(ActionEvent evt) {

repaint();

}

};

new Timer(delay, taskPerformer).start();

}

public void paint(Graphics g) {

int hh, mm, ss;

Calendar now;

String st;

// 获取时间

now = Calendar.getInstance();

hh = now.get(Calendar.HOUR_OF_DAY);// 小时

mm = now.get(Calendar.MINUTE);// 分钟

ss = now.get(Calendar.SECOND);// 秒

g.setColor(Color.WHITE);

g.fillRect(5, 250, 150, 30);// 填充的矩形

g.setColor(Color.BLACK);

if (hh 10)

st = "0" + hh;

else

st = "" + hh;

if (mm 10)

st = st + ":0" + mm;

else

st = st + ":" + mm;

if (ss 10)

st = st + ":0" + ss;

else

st = st + ":" + ss;

{

g.setFont(new Font("华文楷体", Font.BOLD, 16));

g.drawString("系统时间:" + st, 10, 270);

}

}

public static String getHeader(int index) {

switch (index) {

case 0:

return WEEK_SUN;

case 1:

return WEEK_MON;

case 2:

return WEEK_TUE;

case 3:

return WEEK_WED;

case 4:

return WEEK_THU;

case 5:

return WEEK_FRI;

case 6:

return WEEK_SAT;

default:

return null;

}

}

public void updateView() {

daysModel.fireTableDataChanged();

daysTable.setRowSelectionInterval(calendar.get(Calendar.WEEK_OF_MONTH),

calendar.get(Calendar.WEEK_OF_MONTH));

daysTable.setColumnSelectionInterval(

calendar.get(Calendar.DAY_OF_WEEK) - 1, calendar

.get(Calendar.DAY_OF_WEEK) - 1);

daysTable.setColumnSelectionInterval(0,0);

}

public static class CalendarTable extends JTable {

private Calendar calendar;

public CalendarTable(TableModel model, Calendar calendar) {

super(model);

this.calendar = calendar;

}

public void changeSelection(int row, int column, boolean toggle,

boolean extend) {

super.changeSelection(row, column, toggle, extend);

if (row == 0) {

return;

}

Object obj = getValueAt(row, column);

if (obj != null) {

calendar.set(Calendar.DAY_OF_MONTH, ((Integer) obj).intValue());

}

}

}

public static void main(String[] args) {

JFrame frame = new JFrame("简易时间日历");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

MyCalendar myCalendar = new MyCalendar();

myCalendar.init();

frame.getContentPane().add(myCalendar);

frame.setLocation(330, 80);

frame.setSize(360, 212);

frame.setVisible(true);

}

// 滚动字

public static class RollbyJFrame extends JFrame implements ActionListener,

FocusListener, javax.swing.event.ChangeListener {

private JTextField text;

private JSpinner spinner;

private Timer timer;

private JButton button;

public void focusGained(FocusEvent e) // 获得焦点时

{

if (e.getSource() == text) {

timer.stop();

}

}

public void focusLost(FocusEvent e) // 失去焦点时

{

if (e.getSource() == text) {

timer.restart();

}

}

public void stateChanged(ChangeEvent e) {

if (e.getSource() == spinner) {

timer.setDelay(new Integer("" + spinner.getValue())); // 设置延时的时间间隔

}

}

public void actionPerformed(ActionEvent e) // 定时器定时执行事件

{

if (e.getSource() == button)

;

else {

String temp = text.getText();

temp = temp.substring(1) + temp.substring(0, 1);

text.setText(temp);

}

}

public void buttondown(ActionEvent e) // 单击事件

{

if (e.getSource() == button) {

}

;

}

}

}

关于java万年历下载和用java写万年历的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。