「java万年历下载」用java写万年历
今天给各位分享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写万年历的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-24,除非注明,否则均为
原创文章,转载请注明出处。