JAVA日历代码,怎么做?

作者&投稿:逮习 (若有异议请与网页底部的电邮联系)
活动日历怎么做~


import java.util.Scanner; public class Wan{ public static void main(String[] args){ Scanner name = new Scanner(System.in); System.out.print("请输入要查询的年份:"); int year = name.nextInt(); System.out.print("请输入该年的月份"); int month = name.nextInt(); } //累加 该年至输入的月份 天数 //比如 输入2009年的 3月分 // 那就累加 2009年的1月至 3月1号的总天数 public void sumDay(int year,int month){ int day = 0; int sumDay = 0; for(int i = 1;i<=month;i++){ switch(i){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31; break; case 2: if(year % 4 == 0 || year % 400 == 0 && year %100!=0){ day = 29; }else{ day = 28; } break; default: day = 30; } //最后一个月份不要累加 因为我们只是要算到该月的一号就可以了 if(i < month){ sumDay += day; } } //累加 2000年到该年的一月一号天数 for(int i = 2000;i<year;i++){ if( i % 4 == 0 || i %400== 0 && i % 100 != 0){ sumDay += 366; }else{ sumDay += 365; } } //求该月一号为星期几 int week = sumDay % 7 +1; if(week == 7){ week = 0; } } public void fomatDate(int week,int day){ int g = 0; for(int i = 0;i<week;i++){ System.out.print(""); } for(int i = 1;i<=day;i++){ System.out.print(i+""); g = week + i; if(g % 7 == 0){ System.out.println(); } } } } 给点分哈 写得好累

import java.util.Date;
import java.util.Calendar;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.awt.Color;
import java.awt.Font;
import java.awt.Point;
import java.awt.Dimension;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import javax.swing.SwingUtilities;
import javax.swing.SwingConstants;
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
import javax.swing.border.LineBorder;

/**

* @company:NEUSOFT
* @Title:日期选择控件
* @Description:在原有基础上修改了以下内容:
* 1. 将容器由Frame改为了Dialog,以便在基于对话框的程序中也能够使用
* 2. 将最小日期由1980改为了1950,考虑到目前球员的出生日期可能早于1980年
* 3. 将初始显示格式设置为 yyyy年MM月dd日 格式,原有的小时去掉了,不适合于出生日期字段
*/
public class DateChooserJButton extends JButton {

private DateChooser dateChooser = null;

private String preLabel = "";

public DateChooserJButton() {
this(getNowDate());
}

public DateChooserJButton(SimpleDateFormat df, String dateString) {
this();
setText(df, dateString);
}

public DateChooserJButton(Date date) {
this("", date);
}

public DateChooserJButton(String preLabel, Date date) {
if (preLabel != null)
this.preLabel = preLabel;
setDate(date);
setBorder(null);
setCursor(new Cursor(Cursor.HAND_CURSOR));
addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (dateChooser == null)
dateChooser = new DateChooser();
Point p = getLocationOnScreen();
p.y = p.y + 30;
dateChooser.showDateChooser(p);
}
});
}

private static Date getNowDate() {
return Calendar.getInstance().getTime();
}

private static SimpleDateFormat getDefaultDateFormat() {
return new SimpleDateFormat("yyyy年MM月dd日");
}

// 覆盖父类的方法
public void setText(String s) {
Date date;
try {
date = getDefaultDateFormat().parse(s);
} catch (ParseException e) {
date = getNowDate();
}
setDate(date);
}

public void setText(SimpleDateFormat df, String s) {
Date date;
try {
date = df.parse(s);
} catch (ParseException e) {
date = getNowDate();
}
setDate(date);
}

public void setDate(Date date) {
super.setText(preLabel + getDefaultDateFormat().format(date));
}

public Date getDate() {
String dateString = this.getText().substring(preLabel.length());
try {
return getDefaultDateFormat().parse(dateString);
} catch (ParseException e) {
return getNowDate();
}

}

public String getDateString()
{
Date birth =getDate();
DateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
return formatDate.format(birth).toString();

//return this.getText().substring(preLabel.length());
}

// 覆盖父类的方法使之无效
//public void addActionListener(ActionListener listener) {
//}

private class DateChooser extends JPanel implements ActionListener,
ChangeListener {
int startYear = 1950; // 默认【最小】显示年份

int lastYear = 2050; // 默认【最大】显示年份

int width = 200; // 界面宽度

int height = 200; // 界面高度

Color backGroundColor = Color.gray; // 底色
// 月历表格配色----------------//

Color palletTableColor = Color.white; // 日历表底色

Color todayBackColor = Color.orange; // 今天背景色

Color weekFontColor = Color.blue; // 星期文字色

Color dateFontColor = Color.black; // 日期文字色

Color weekendFontColor = Color.red; // 周末文字色

// 控制条配色------------------//
Color controlLineColor = Color.pink; // 控制条底色

Color controlTextColor = Color.white; // 控制条标签文字色

Color rbFontColor = Color.white; // RoundBox文字色

Color rbBorderColor = Color.red; // RoundBox边框色

Color rbButtonColor = Color.pink; // RoundBox按钮色

Color rbBtFontColor = Color.red; // RoundBox按钮文字色

JDialog dialog;

JSpinner yearSpin;

JSpinner monthSpin;

JSpinner hourSpin;

JButton[][] daysButton = new JButton[6][7];

DateChooser() {

setLayout(new BorderLayout());
setBorder(new LineBorder(backGroundColor, 2));
setBackground(backGroundColor);

JPanel topYearAndMonth = createYearAndMonthPanal();
add(topYearAndMonth, BorderLayout.NORTH);
JPanel centerWeekAndDay = createWeekAndDayPanal();
add(centerWeekAndDay, BorderLayout.CENTER);

}

private JPanel createYearAndMonthPanal() {
Calendar c = getCalendar();
int currentYear = c.get(Calendar.YEAR);
int currentMonth = c.get(Calendar.MONTH) + 1;
int currentHour = c.get(Calendar.HOUR_OF_DAY);

JPanel result = new JPanel();
result.setLayout(new FlowLayout());
result.setBackground(controlLineColor);

yearSpin = new JSpinner(new SpinnerNumberModel(currentYear,
startYear, lastYear, 1));
yearSpin.setPreferredSize(new Dimension(48, 20));
yearSpin.setName("Year");
yearSpin.setEditor(new JSpinner.NumberEditor(yearSpin, "####"));
yearSpin.addChangeListener(this);
result.add(yearSpin);

JLabel yearLabel = new JLabel("年");
yearLabel.setForeground(controlTextColor);
result.add(yearLabel);

monthSpin = new JSpinner(new SpinnerNumberModel(currentMonth, 1,
12, 1));
monthSpin.setPreferredSize(new Dimension(35, 20));
monthSpin.setName("Month");
monthSpin.addChangeListener(this);
result.add(monthSpin);

JLabel monthLabel = new JLabel("月");
monthLabel.setForeground(controlTextColor);
result.add(monthLabel);

hourSpin = new JSpinner(new SpinnerNumberModel(currentHour, 0, 23,
1));
hourSpin.setPreferredSize(new Dimension(35, 20));
hourSpin.setName("Hour");
hourSpin.addChangeListener(this);
result.add(hourSpin);

JLabel hourLabel = new JLabel("时");
hourLabel.setForeground(controlTextColor);
result.add(hourLabel);

return result;
}

private JPanel createWeekAndDayPanal() {
String colname[] = { "日", "一", "二", "三", "四", "五", "六" };
JPanel result = new JPanel();
// 设置固定字体,以免调用环境改变影响界面美观
result.setFont(new Font("宋体", Font.PLAIN, 12));
result.setLayout(new GridLayout(7, 7));
result.setBackground(Color.white);
JLabel cell;

for (int i = 0; i < 7; i++) {
cell = new JLabel(colname[i]);
cell.setHorizontalAlignment(JLabel.RIGHT);
if (i == 0 || i == 6)
cell.setForeground(weekendFontColor);
else
cell.setForeground(weekFontColor);
result.add(cell);
}

int actionCommandId = 0;
for (int i = 0; i < 6; i++)
for (int j = 0; j < 7; j++) {
JButton numberButton = new JButton();
numberButton.setBorder(null);
numberButton.setHorizontalAlignment(SwingConstants.RIGHT);
numberButton.setActionCommand(String
.valueOf(actionCommandId));
numberButton.addActionListener(this);
numberButton.setBackground(palletTableColor);
numberButton.setForeground(dateFontColor);
if (j == 0 || j == 6)
numberButton.setForeground(weekendFontColor);
else
numberButton.setForeground(dateFontColor);
daysButton[i][j] = numberButton;
result.add(numberButton);
actionCommandId++;
}

return result;
}

private JDialog createDialog(JDialog owner) {
JDialog result = new JDialog(owner, "日期时间选择", true);
result.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
result.getContentPane().add(this, BorderLayout.CENTER);
result.pack();
result.setSize(width, height);
return result;
}

void showDateChooser(Point position) {
JDialog owner = (JDialog) SwingUtilities
.getWindowAncestor(DateChooserJButton.this);
if (dialog == null || dialog.getOwner() != owner)
dialog = createDialog(owner);
dialog.setLocation(getAppropriateLocation(owner, position));
flushWeekAndDay();
dialog.setVisible(true);
}

Point getAppropriateLocation(JDialog owner, Point position) {
Point result = new Point(position);
Point p = owner.getLocation();
int offsetX = (position.x + width) - (p.x + owner.getWidth());
int offsetY = (position.y + height) - (p.y + owner.getHeight());

if (offsetX > 0) {
result.x -= offsetX;
}

if (offsetY > 0) {
result.y -= offsetY;
}

return result;

}

private Calendar getCalendar() {
Calendar result = Calendar.getInstance();
result.setTime(getDate());
return result;
}

private int getSelectedYear() {
return ((Integer) yearSpin.getValue()).intValue();
}

private int getSelectedMonth() {
return ((Integer) monthSpin.getValue()).intValue();
}

private int getSelectedHour() {
return ((Integer) hourSpin.getValue()).intValue();
}

private void dayColorUpdate(boolean isOldDay) {
Calendar c = getCalendar();
int day = c.get(Calendar.DAY_OF_MONTH);
c.set(Calendar.DAY_OF_MONTH, 1);
int actionCommandId = day - 2 + c.get(Calendar.DAY_OF_WEEK);
int i = actionCommandId / 7;
int j = actionCommandId % 7;
if (isOldDay)
daysButton[i][j].setForeground(dateFontColor);
else
daysButton[i][j].setForeground(todayBackColor);
}

private void flushWeekAndDay() {
Calendar c = getCalendar();
c.set(Calendar.DAY_OF_MONTH, 1);
int maxDayNo = c.getActualMaximum(Calendar.DAY_OF_MONTH);
int dayNo = 2 - c.get(Calendar.DAY_OF_WEEK);
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 7; j++) {
String s = "";
if (dayNo >= 1 && dayNo <= maxDayNo)
s = String.valueOf(dayNo);
daysButton[i][j].setText(s);
dayNo++;
}
}
dayColorUpdate(false);
}

public void stateChanged(ChangeEvent e) {
JSpinner source = (JSpinner) e.getSource();
Calendar c = getCalendar();
if (source.getName().equals("Hour")) {
c.set(Calendar.HOUR_OF_DAY, getSelectedHour());
setDate(c.getTime());
return;
}

dayColorUpdate(true);

if (source.getName().equals("Year"))
c.set(Calendar.YEAR, getSelectedYear());
else
// (source.getName().equals("Month"))
c.set(Calendar.MONTH, getSelectedMonth() - 1);
setDate(c.getTime());
flushWeekAndDay();
}

public void actionPerformed(ActionEvent e) {
JButton source = (JButton) e.getSource();
if (source.getText().length() == 0)
return;
dayColorUpdate(true);
source.setForeground(todayBackColor);
int newDay = Integer.parseInt(source.getText());
Calendar c = getCalendar();
c.set(Calendar.DAY_OF_MONTH, newDay);
setDate(c.getTime());
}

}

}

这是一个专门的选日期的类 ,你看看完了调用就行了

我推荐第一种方法,用awt或者swing做出来比较好,可以专门开一个线程来监听从界面上发来的消息,在将其载入数据库中,因为你是要能放在桌面的,jsp做出来就不是那么爽那,另外jsp要连接数据库,这个我没做过,就不知道了,呵呵,希望有所帮助。。。

http://code.javaeye.com/blog/283815

有的是日历控件的代码 看看就会用

我发现了 一个问题 那就是你的知识不够用了
还又要继续学习啊

google一下绝对有现成的 不用自己写


AVA软件开发工程师在求职的时候,如何让简历更加出彩?
相关工作经验,至少两年相关工作经验。这个时候我们放弃了吗?还是继续固执地提交简历?没有工作经验怎么写简历?如何让简历闪闪发光?记住,不要在一个日历里扔更多的简历。所有的简历都一样。能放在世界上的东西最大的问题是没有特色。如果你想让你的简历在浩瀚的历史海洋中脱颖而出,你需要一些不同的...

学习java需要什么基础?
最新java学习路线:第一阶段:java专业基础课程阶段目标:1、熟练掌握java的开发环境与编程核心知识;2、熟练运用java面向对象知识进行程序开发;3、对java的核心对象和组件有深入理解;4、熟练运用javaAPI相关知识;5、熟练应用java多线程技术;6、能综合运用所学知识完成一个项目。知识点:1、基本数据类型...

谁知道AVA Player v2.62是什么
V2.62 不用安装,小巧而强大!及少内存占用集合了以下超多功能:万年历、世界时钟、定时运行、定时关机(关机仅需3秒!)、限时用机、休息提醒(可锁定系统)、备忘录、系统热键、世界时间、光驱控制、文件定期清理、网络校时、语音报时等,并支持自定义软件皮肤,能以5种界面同时存在,即:日历、挂历、时钟...

Java培训班一般都教什么内容?
3、掌握使用流行框架SSM\\SSH技术实现企业级项目开发:重点学习MyBatis、Spring、Spring MVC框架的应用,Git、Java设计模式等,重点学习Struts2 、Spring、Hibernate框架的应用,Maven、Oracle数据库应用技术,了解大数据生态体系,Hadoop基础入门。4、JavaWeb框架:Spring体系结构、...

为什么有些人的QQ空间背景QQ商城里没有从哪里来的啊
现在也流行小窝模式 javascript:window.top.space_addItem(1,10251,185,80,0,0,20);蓝色月亮 javascript:window.top.space_addItem(1,10249,185,80,0,0,20); 蓝色杂乱 javascript:window.top.space_addItem(1,10246,185,80,0,0,20); 桔黄色心 javascript:window.top.space_addItem(1,10240,185...

这机子可以玩AVA吗???
楼主你好!硬盘内存小点!其他完全可以!FPS应该在50~60吧!画面不卡!因为你的显卡不错!但是延迟就不好说了!毕竟那是看硬盘的!建议按你的地理位置自己选网通还是电信!最好换个硬盘!主板都是技嘉了!不在乎那点钱吧!

甘特图详细资料大全
甘特图(Gantt chart)又称为横道图、条状图(Bar chart)。其通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况。以提出者亨利·L·甘特(Henrry L. Ganntt)先生的名字命名。基本介绍 中文名 :甘特图 外文名 :Gantt chart 别名 :横道图、条状图 发明...

瓮安县13788649256: 如何用java做日历 -
右滢奥泰: 看看下面代码: import java.awt.*; import java.awt.event.*; import java.util.Calendar;import javax.swing.JOptionPane; class CalendarBean{String day[];int year=2011,month=0;public void setYear(int year){ this.year=year;}public int getYear()...

瓮安县13788649256: 帮忙用JAVA编写一个简单的日历 -
右滢奥泰: import java.util.*; class ViewMonth { int month; int year; ViewMonth(final int displayMonth, final int displayYear) { month = displayMonth; year = displayYear; } private String checkMonth() { String[] months = { "1 月" , "2 月" , "3 月", "4 月...

瓮安县13788649256: 如何用java做万年历 -
右滢奥泰: i++){int j = 0.out;t");}}for(;} public void showCalendar(){System;\t"} /**获取月份中的第一个的星期数*1-7星期日到星期六*@return int*/public int getFistWeek(){int year = calendar.get(Calendar;//return calendar;int maxDate = ...

瓮安县13788649256: 用Java编个日历
右滢奥泰: package gfg; import java.util.*; public class jkfsdkljf { public static void main(String a[]){ Scanner input=new Scanner(System.in); System.out.println("请输入年份:"); int year=input.nextInt(); System.out.println("请输入月份:"); int ...

瓮安县13788649256: JAVA万年历怎样制作?? -
右滢奥泰: 我给出主要代码吧 String Buffer buffer=new StringBuffer(); Calendar rili=Calender.getInstance(); tili.set(year,month-1,1);//将日历翻到year年month月1日(0代表一月) int 星期=rili.get(Calender.DAY_OF_WEEK)-1);//周日是0 int 日=0; if(month==...

瓮安县13788649256: 如何利用java编写小日历 -
右滢奥泰: 我自己写了一个,你自己好好学习学习理解吧 import java.util.Scanner; class CalendarExample { public static void main(String args[]) { Scanner in=new Scanner(System.in); int year,month,day; System.out.print("输入年份:"); year=in....

瓮安县13788649256: 如何用JAVA写日历? -
右滢奥泰: 按照你的要求编写的Java日历验证程序如下 UI.java import java.util.Scanner; public class UI { static Scanner sc=new Scanner(System.in); public static int askInt(String s){ System.out.print(s); return sc.nextInt(); } public static void println(String s){ ...

瓮安县13788649256: 做一个JAVA日历 -
右滢奥泰: 你使用java.util.Calendar吧,可以加减年、月、天等操作,你要连续的几个月,那只要连续加一个月,得到一个新的date.然后用你写好的输出数组的方法运算就可以了.这只是思路,还是需要你调整一下的.

瓮安县13788649256: 急求一个JAVA编写的日历程序! -
右滢奥泰: ­ ­ package mycalendar; import java.util.*; class ViewMonth { int month; int year; ViewMonth(final int displayMonth, final int displayYear) { month = displayMonth; year = displayYear; } private String checkMonth() { String[] months = { "1 月" , "2...

瓮安县13788649256: 用java编写一个日历输入年份和月份 -
右滢奥泰: 1234567891011121314importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;publicclassTest29{publicstaticvoidmain(String[]args)throwsParseException{Stringdate="2015-7-1";SimpleDateFormatsdf=...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网