package com.gxaedu.jms.util;
import java.awt.Color;
import https://www.doczj.com/doc/7d761163.html,ponent;
import java.awt.Font;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.text.DateFormatSymbols;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
/**
* 一个小的日历
* 用于输入合法时间
* @author 王琛
*
*/
public class SelfCalendar extends JDialog{
private static JPanel mainPanel; ///主面板,用来放置
各个组件
private static JTextField textYear; //文本框,显示输入年
份
private static JComboBox comboMonth; //下拉框,显示输入月份private JButton btnYearUp; ///按钮,年份加一
private JButton btnYearDown; //按钮,年份减一
private JPanel topPanel; ///顶部面板,放置
textYear,comboMonth,btnYearUp,btnYearDown
private JScrollPane scrollPane;
private static JTable tbCalendar; //放置日历主体
private JLabel nowDate; //显示当前年月日
private JPanel nowDatePanel=new JPanel();
private String[] strMonth=
{"1","2","3","4","5","6","7","8","9","10","11","12"};
private Object[] col; ////表列名,星期几private Object [][] data;//
private TableModel tableModel;
private static GregorianCalendar gc=new GregorianCalendar();
private int selfYear;
private int selfMonth;
private static String selfDate;
private int k=0;
private boolean flag;
private JTextField txtTime;
/**
* 自定义日历的构造方法
*/
public SelfCalendar(JTextField txtTime)
{
//super(frame,true);
this.txtTime=txtTime;
this.setSize(190, 200);
this.setModal(true); ///设置为模式窗口
this.setFocusable(true); ///
// this.setUndecorated(true); ///去掉修饰
this.setLocationRelativeTo(null); ///简单的居中
this.init();
this.addListener();
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setLayout(null);
this.setVisible(true);
this.setResizable(false);
}
private void init(){
mainPanel=new JPanel();
mainPanel.setBounds(0,0,180, 170);
mainPanel.setLayout(null);
mainPanel.setBackground(Color.BLACK);
topPanel=new JPanel();
topPanel.setBounds(2,2,176,35);
topPanel.setBackground(new Color(255,255,225));
topPanel.setLayout(null);
textYear=new JTextField();
textYear.setBounds(6, 6, 34,20);
selfYear=gc.get(Calendar.YEAR);
selfMonth=gc.get(Calendar.MONTH);
textYear.setText(selfYear+"");
textYear.setEditable(false);
Font font=new Font("宋体",Font.BOLD,8);
btnYearUp=new JButton("▲");
//年份加按钮,
btnYearUp.setMargin(new Insets(0,0,0,0));
btnYearUp.setFont(font);
btnYearDown=new JButton("▼");
// 年份减按钮
btnYearDown.setFont(font);
btnYearDown.setMargin(new Insets(0,0,0,0));
btnYearUp.setBounds(40, 6, 20, 10);
//按钮定位
btnYearDown.setBounds(40, 16, 20, 10);
comboMonth=new JComboBox(strMonth); ///月份选择
comboMonth.setMaximumRowCount(4);
comboMonth.setSelectedIndex(selfMonth);
comboMonth.setBounds(65, 6, 65, 20);
data=getdata(selfYear,selfMonth); ///
设置默认显示时间
col=new Object[7];
for(int i=0;i<7;i++)
{
col[i]=getWeek()[i+1].substring(2);
}
tableModel=new DefaultTableModel(data, col);
tbCalendar=new JTable(tableModel){///日历显示部分
@Override
public boolean isCellEditable(int row, int
column) {
return false;
}
};
tbCalendar.setRowSelectionAllowed(false);
DefaultTableCellRenderer todayrender=new
DefaultTableCellRenderer(){ ///设置背景色
@Override
public Component
getTableCellRendererComponent(JTable table,
Object value, boolean
isSelected, boolean hasFocus,
int row, int column) {
Object o=tbCalendar.getValueAt(row,
column);
if(o!=null && o.equals(gc.get
(Calendar.DATE)+""))
{
setBackground(new Color
(179,144,82));
}
else setBackground(new Color
(255,255,225));
return
super.getTableCellRendererComponent(table, value, isSelected,
hasFocus,
row, column);
}
};
tbCalendar.setDefaultRenderer(Object.class, todayrender);
tbCalendar.setColumnSelectionAllowed(false);
tbCalendar .getTableHeader().setReorderingAllowed(false);
//设置列顺序不可改变
tbCalendar .getTableHeader().setResizingAllowed(false);
/////设置列大小不可改变
nowDate=new JLabel();
nowDate.setT ext("今天是:"+gc.get(Calendar.YEAR)+"年"+
( gc.get
(Calendar.MONTH)+1)+"月"+gc.get(Calendar.DATE)+"日");
nowDate.setHorizontalAlignment(JLabel.CENTER);
nowDate.setBounds(0, 0, 176, 20);
nowDatePanel.setBounds(2, 148, 176, 20);
nowDatePanel.setLayout(null);
nowDatePanel.setBackground(new Color(255,255,225));
nowDatePanel.add(nowDate);
/////////////////////////////////传来的文本框设置为默认的今天
txtTime.setText(gc.get(Calendar.YEAR)+"-"+
( gc.get
(Calendar.MONTH)+1)+"-"+gc.get(Calendar.DA TE));
topPanel.add(textYear);
topPanel.add(btnYearUp);
topPanel.add(btnYearDown);
topPanel.add(comboMonth);
scrollPane=new JScrollPane(tbCalendar);
scrollPane.setBounds(2, 32, 176, 120);
mainPanel.add(topPanel);
mainPanel.add(scrollPane);
mainPanel.add(nowDatePanel);
this.add(mainPanel);
}
private void addListener()
{
/*
* 事件监听,在点击年份的文本域时,允许编辑
*/
textYear.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
super.mouseClicked(e);
textYear.setEditable(true);
}
});
/*
* 回车时,更新
*/
textYear.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
super.keyReleased(e);
if(e.getKeyCode()==KeyEvent.VK_ENTER)
{ selfYear=Integer.parseInt
(textYear.getT ext());
setCalendar( );
textYear.setEditable(false);
int
row=tbCalendar.getSelectedRow();
int
column=tbCalendar.getSelectedColumn();
setSelfDate(row,column);
}
}
});
/*
* 按钮年份加一,更新
*/
btnYearUp.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
selfYear+=1;
textYear.setText(selfYear+"");
setCalendar();
int row=tbCalendar.getSelectedRow();
int column=tbCalendar.getSelectedColumn();
setSelfDate(row,column);
}
}) ;
/*
* 按钮年份减一,更新
*/
btnYearDown.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
selfYear-=1;
textYear.setText(selfYear+"");
setCalendar();
int row=tbCalendar.getSelectedRow();
int column=tbCalendar.getSelectedColumn();
setSelfDate(row,column);
}
});
/*
* 月份选择,更新
*/
comboMonth.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
selfMonth=comboMonth.getSelectedIndex();
setCalendar();
int row=tbCalendar.getSelectedRow();
int column=tbCalendar.getSelectedColumn();
setSelfDate(row,column);
}
});
tbCalendar.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
super.mouseClicked(e);
getSelfCalendar();
SelfCalendar.this.dispose();
}
});
}
/**
* 得到日历的JTable,对其点击事件重写
* @return tbCalendar
*/
public JTable getTable()
{
return tbCalendar;
}
/**
* 得到选择的事件
* @return String date
*/
public String getSelfCalendar()
{
int row=tbCalendar.getSelectedRow();
int column=tbCalendar.getSelectedColumn();
setSelfDate(row,column);
//txtTime.setText(selfDate);
return selfDate;
}
/**
* 将选择的单元格的时间设置为selfDate
* @param row
* @param column
*/
private void setSelfDate(int row,int column)
{ String date;
if(row==-1||column==-1||tbCalendar.getValueAt(row,
column).equals(" "))
date=textYear.getT ext
()+"-"+comboMonth.getSelectedItem()+"-"+gc.get(Calendar.DA TE);
else
{
date=textYear.getT ext
()+"-"+comboMonth.getSelectedItem()+"-"+tbCalendar.getValueAt(row,
column);
}
selfDate=date;
txtTime.setText(selfDate); ////文本框设置时间}
/**
* 日历的Table显示部分
*/
private void setCalendar()
{
DefaultTableModel dtm=(DefaultTableModel)
tbCalendar.getModel();
data=getdata(selfYear,selfMonth); ///
设置默认显示时间
for(int i=0;i<7;i++)
{
col[i]=getWeek()[i+1].substring(2);
}
dtm.setDataVector(data, col);
}
/**
* 得到日历的标头(星期几)
* @return
*/
private String[] getWeek()
{GregorianCalendar d=new GregorianCalendar();
String [] weekdayNames=new DateFormatSymbols
().getShortWeekdays();
return weekdayNames;
}
/**
* 得到日历的主体显示部分
* @param selfyear
* @param selfmonth
* @return
*/
private String[][] getdata(int selfyear,int selfmonth)
{
GregorianCalendar d=new GregorianCalendar();
d.set(Calendar.YEAR,selfyear );d.set(Calendar.MONTH,
selfmonth);
int today=d.get(Calendar.DAY_OF_MONTH);
int month=d.get(Calendar.MONTH);
d.set(Calendar.DAY_OF_MONTH,1);
int weekday=d.get(Calendar.DAY_OF_WEEK);
int firstDayOfWeek=d.getFirstDayOfWeek();
int indent =0;
String[][] data=new String[6][7];
while(weekday!=firstDayOfWeek)
{
indent++;
d.add(Calendar.DAY_OF_MONTH, -1);
weekday=d.get(Calendar.DA Y_OF_WEEK);
}
do
{
d.add(Calendar.DAY_OF_MONTH,1);
weekday=d.get(Calendar.DA Y_OF_WEEK);
}while (weekday!=firstDayOfWeek);
d.set(Calendar.DAY_OF_MONTH, 1);
int i=0;
do
{ int j=0;
for(j=0;j<7;j++)
{ if(i==0&&j { data[0][j]=" "; } else if(d.get(Calendar.MONTH)==month){ int day=d.get(Calendar.DAY_OF_MONTH); data[i][j]=day+""; d.add(Calendar.DAY_OF_MONTH, 1); } else if(d.get(Calendar.MONTH)>month) { data[i][j]=" "; } } i++; }while (i<6); return data; } public static void main(String[] args) { new SelfCalendar(new JTextField()); } } 课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报 时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片): 1、选择excel的常规里选择显示开发工具 图表1 选择自定义工具栏 选择开发工具 图表2选择开发工具 2、选择插入-〉表单控件-〉其它 选择其它 图表3选择其它控件 图表4选择日历控件 3、双击界面控件,在‘通用’加入如下代码(注意:Target.Column = 4里的是指D列就是固 定的4列,G列是7列,而不是sheet里D,G列真实对应的第几列): Private Sub Calendar1_Click() ActiveCell = Format(Calendar1.Value, "yyyy-mm-dd") '设置日期格式,此工作可以直接通过设置某列单元格格式一次性完成 Calendar1.Visible = False '单击日历控件后隐藏之 End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 4 Then 'D列为日期输入列,只对应excel的字母列,例如D对应4, 'G对应7,不是实际的显示列对应的数字 Calendar1.Left = Target.Left + Target.Width '设置日历控件弹出后的位置 Calendar1.Top = Target.Top + Target.Height '同上 Calendar1.Value = Date '设置默认日期为系统日期 Calendar1.Visible = True '使日历控件可见 ElseIf Target.Column = 5 Then 'E列为日期输入列 Calendar1.Left = Target.Left + Target.Width Calendar1.Top = Target.Top + Target.Height Calendar1.Value = Date Calendar1.Visible = True ElseIf Target.Column = 6 Then 'F列为日期输入列 Calendar1.Left = Target.Left + Target.Width Calendar1.Top = Target.Top + Target.Height Calendar1.Value = Date Calendar1.Visible = True Else 课程设计说明书 课程: Java程序设计 院系:计算机科学学院 专业班级:计算机科学与技术(2)班 组员:张少华、张天阳 2010年6月 26 日 《Java程序设计》课程设计 ——日历记事本 我们开发了一个实现有日历标记的记事本软件,日历记事本面板由日历和和记事本两部分组成。日历部分可以调节年份,月份,日期,星期。记事本可以实行查看,保存,删除等操作,并且每一步操作都有相应提示。本软件是一个实用性很强,简洁,方便的功能软件。 引言 Java是一种纯面向对象的、网络编程首选的语言。Java技术作为软件开的一种革命性技术,已被列为当今世界信息技术的主流之一。为了适应时代潮流,我们应该加强对Java的学习,更好的掌握这门课程。为此,我们成了一个课程小组,经过小组成的商讨之后,我们决定以“日历记事本”为设题材,借此巩固加深我们对Java 的了解。 本次课程设计的实例虽然比较简单,程序设计也不是很复杂,但在此程序的设计过程也是一个学习过程,更是对复杂程序的一个学习过程,还能培养我们的数抽象能力。因此,我们觉得这次课程设计是非常有意义的,能为我们今后学习面向过程的程序设计作一些铺垫。 1、设计的目的与要求; (1)为用户提供一个简便的日历记事本; (2)对java技术的进一步了解和简单的运用; (3)初步的接触软件工程; 2.设计目的与任务 本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“日历记事本”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。 3.设计方案 3.1 总体设计 华北科技学院 课程设计报告 面向对象程序设计(Java) 班级: 电商B09-3 姓名: 周婷玉 设计题目:__________万年历________________ 设计时间: 2011-12-28 至2012-01-06 指导教师:_______ 郭慧____________ _____ 评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:___________评阅教师:_____________ 课程设计说明书 1、课程设计的目的 a)掌握面向对象程序设计基本要素(封装、继承、多态) b)掌握JA VA语言常用类包及其常用方法和JA VA语言基本语法 c)掌握基于AWT的图形用户界面设计 i.常用标准控件的使用,如标签、按钮、菜单、文本框、单选按钮、 滚动条等。 ii.事件处理机制 d)掌握布局、对话框的使用 e)掌握发布JA VA应用程序 2、功能模块简介和系统结构图 需求分析:本程序的要求为: 1.使用图形用户界面 2.能够实现日期与星期的查询 3.实现当日的时间备忘 功能设计: 1.能以月历形式显示日期与星期 2.支持用户自己输入年份,并提供月份的下拉形式来选择查询 3.添加当日行事历,储存与清除功能 excel中实现日期选择输入(日历控件)推荐 第一种方法: 首先这个控件需要一个名为MSCOMCT2.OCX的控件文件,这个文件大家先在电脑里搜索一下,如果没有的话就求助baidu 喽. 下载下来后把它复制到c:\windows\system32里. 最后就在开始->运行里注册MSCOMCT2.OCX控件. 那么如何注册呢,方法很简单输入regsvr32 MSCOMCT2.OCX就ok拉 这时打开excel控件工具箱点击其它控件找到Microsoft Date and Time Picker Control 6.0,这个东东就是我们要的日期控件拉 第二种方法:MSCAL.OCX Private Sub Calendar1_Click() ActiveCell = Calendar1.Value Me.Calendar1.Visible = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) '此处的6和7为你要显示日历的列序号 If Target.Column = 6 Or Target.Column = 7 Then Me.Calendar1.Left = Target.Left Me.Calendar1.Top = Target.Top If Target.Value <> "" Then Me.Calendar1.Value = Target.Value Else Me.Calendar1.Value = Now() End If Me.Calendar1.Visible = True Else Me.Calendar1.Visible = False End If End Sub 1.Alt+F11 按下显示代码窗口后,再松开Alt+F11. 2.然后按F7 ,调出VBA 窗口。 3.粘贴以下代码. Private Sub Calendar1_Click() Dim MyDay As Date ActiveCell = Calendar1.Value Mydate = Calendar1.Value 'MsgBox Mydate Calendar1.Visible = 0 End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 Or Target.Column = 1 And Target.Row > 0 Then If IsDate(Target) Then Calendar1.Value = Target Else Calendar1.Today End If Calendar1.Visible = -1 Calendar1.Top = ActiveCell.Top + ActiveCell.Height Else Calendar1.Visible = 0 End If End Sub 4.打开文件→保存book1(S) 5.打开视图→对象窗口 6.打开插入→对象窗口 7.找到日历控件11.0或9.0,按确定退出。 8.单击第一列(A列)中的任一单元格,选择日历中的需要的日期即可。备注: 要改变日期输入位置,可按以下方法调整代码,找到下面的代码行(此代码行的意思是在A列(第1列)中添加日历。 If Target.Column = 1 Or Target.Column = 1 And Target.Row > 0 Then 然后根据以下的方法覆盖粘贴此行代码 import java.util.Scanner; public class rili{ public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println("请输入年份,并回车:"); int year=in.nextInt(); System.out.println("请输入月份,并回车:"); int month=in.nextInt(); int sum=0; for(int i=1900;i Java日历记事本课程设计报告 在设计日历记事本时,需要编写6个JA V A源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java、Clock.java和CalendarMesssage.java 效果图如下 . CalendarWindow类 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.io.*; public class CalendarWindow extends JFrame implements ActionListener,MouseListener,FocusListener{ int year,month,day; CalendarMessage calendarMessage; CalendarPad calendarPad; NotePad notePad; JTextField showYear,showMonth; JTextField[] showDay; CalendarImage calendarImage; String picturename; Clock clock; JButton nextYear,previousYear,nextMonth,previousMonth; JButton saveDailyRecord,deleteDailyRecord,readDailyRecord; JButton getPicture; File dir; Color backColor=Color.white ; public CalendarWindow(){ dir=new File("./dailyRecord"); dir.mkdir(); showDay=new JTextField[42]; for(int i=0;i 日历源代码——java //import java.sql.Date; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; public class GregorianCalendar日历 { public static void main(String[] args) { //设置不同地区 Locale.setDefault(https://www.doczj.com/doc/7d761163.html,); //创建当前日历对象 GregorianCalendar now = new GregorianCalendar(); //从当前时期对象是取出时间日期对象 //编辑错误:Type mismatch: cannot convert from java.util.Date to java.sql.Date Date date = now.getTime(); //将时间日期对象按字符形式打印 System.out.println(date.toString()); //重新将时间对象设置到日期对象中 now.setTime(date); //从当前日期对象是取出当前月份、日期 int today = now.get(Calendar.DAY_OF_MONTH); int month = now.get(Calendar.MONTH); //获取本月开始日期 now.set(Calendar.DAY_OF_MONTH, 1); //获取本月开始日期在一周中的编号 int week = now.get(Calendar.DAY_OF_WEEK); //打印日历头并换行设置当前月中第一天的开始位置 Calendar控件 Calendar控件功能: 显示一个日历,该日历会显示一个月份 允许用户选择日期、周、月 允许用户选择一定范围内的日期 允许用户移到下一月或上一月 以编程方式控件选定日期的显示 Calendar最重要的属性 名称说明 Caption 显示在日历上方的文本(标题) CaptionAlign 指定标题的垂直和水平对齐方式 CellPadding 边框和单元格之间的以像素为单位的间距。默认为2(注意不要加单位)CellSpacing 单元格间以像素为单位的间距。默认值为0 DayNameFormat 一周中每一天的格式。默认为Short FirstDayOfWeek 在第一列显示的一周的某一天,默认值由系统设置指定 NextMonthText 下一月份的导航按钮的文本。默认为大于号(>) NextPrevFormat 在NextMont-hText和PrevMonth-Text中指定使用的文本 PrevMonthText 上一月份的导航按钮的文本。默认为小于号(<)。 SelectedDate 一个选定的日期。只保留日期,时间为空 SelectedDates 选择多个日期后的DateTime对象的集合。只保存日期,时间为空SelectedDates.Count 选择了选择了日期的数量 SelectionMode 在本节的后面描述 SelectMonthText 选择器列中月份选择元素显示的文本。默认为两个大于号(>>)。ShowDayHeader 是否在日历标题中显示一周中每一天的名称。默认为true ShowGridLines 如果为true,显示单元格之间的网格线。默认为false ShowNextPrevMonth 指定是否显示上个月和下个月导航元素。默认为true ShowTitle 指定是否显示标题(上个月和下个月导航元素)。 TitleFormat 指定标题是显示为月份,还是同时显示月份和年份.默认为MonthYear另一属性为month TodaysDate 今天的日期 UseAccessibleHeader 指示是否使用可通过辅助技术访问的标题 VisibleDate 显示月份的任意日期 在Calendar中选择日期 如果需要让用户可以选择一天、一周或一个月,则必须设置SelectionMode属性。 课程设计题目 2. 题目说明 通过编写一个基于JAVA的应用系统综合实例,自定义一个日历组件显示日期和时间并进行适当的功能扩充,实践Java语言编程技术。 3. 系统设计 2.1 设计目标 一个完整的程序应具有以下功能: 1)显示当月日历、当前日期、当前时间; 2)可查寻任意月以及任意年的日历; 3)使用图形化界面能够弹出对话框; 5)正常退出程序。 2.2 设计思想 设计一个类用来构成日历系统的主窗口,然后编写一个框架类显示时间和提示信息。在设计中应用了多种容器和控件。 2.3 系统模块划分 图1:简易日历的程序结构图 2.3.1初始化: public void init()完成界面初始化,形成一个以挂历形式显示当前日期的窗口。 2.3.2 日历描述: (1)public void updateView()改变日期后完成更新界面; (2)抽象类java.util.Calendar获取系统日期并传递日期数据而且在人工改变日期后得出当天是周几; (3)public static void main(String[] args) 主函数完成系统各算法的调用并对主窗口的一些属性进行设置; 2.3.3 滚动时间: 将时间以文本的形式在文本框中滚动播出,并能改变滚动的速度。 4. 使用类及接口 仅仅简单说明类的功能,详细资料请参看《JavaTM 2 Platform Standard Ed. 6》的电子文档,常规的接口与包则省略不屑。 //以下是日历程序块中使用的类 package fancy; import java.awt.*; import java.awt.event.*; import java.util.*; //主要用此包中的日期和时间类 import javax.swing.*; import javax.swing.event.*; import javax.swing.table.*; //以下是对滚动时间程序块所使用的类和接口, 用到定时器类Timer 源码如下: 1. 2. 3. Java课程设计实验报告及全部源码流程图
EXCEL添加日历控件
java课程设计策画日历记事本
java课程设计 万年历 源代码
excel中实现日期选择输入(日历控件)
Excel日历控件教程 详细
java日历制作源代码
JAVA日历记事本课程设计报告
日历源代码——java
Calendar(日历控件)
java课程设计_简单日历程序
easyui控件实例之Calendar日历
Basic Calendar
14. Click to select date. 15. 16. 17. 18. 19. 源码如下: 1. 2. 3. 4. 5. First Day of Week
14. Choose the first day of the week. 15. 16.