java日历源码

用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;iyear;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;iweek;i++){ System.out.print(“\t”); } for(int i = 1;i=day;i++){ System.out.print(i+”\t”); g = week + i; if(g % 7 == 0){ System.out.println(); } } } } 给点分哈 写得好累

求Java 日历的小程序的源代码

也不知道你具体需求是什么,以前改过一个日历程序,一共四个java类,放在同一个包里。经测试可以运行。

//Start.java

import java.awt.*;

import javax.swing.*;

class Start{

public static void main(String [] args){

DateFrame frame=new DateFrame();

frame.setLocationRelativeTo(frame);

frame.setResizable(false);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

//DateInfo.java

import java.util.*;

public class DateInfo{

private int mYear, mMonth;

private int mDayOfMonth, mFristWeek;

public DateInfo(int year, int month) throws DateException{

mYear = year;

if (month 0 || month 12){

throw (new DateException());

}

mMonth = month;

mDayOfMonth = getDayOfMonth(mYear, mMonth);

mFristWeek = getFristWeek(mYear, mMonth);

}

private int getDayOfMonth(int year, int month){

int[][] ary = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},

{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};

return (ary[isLeapYear(year)][month]);

}

private int isLeapYear(int year){

if (year % 4 == 0 year % 100 != 0 ||year % 400 == 0){

return (1);

}

else{

return (0);

}

}

private int getFristWeek(int year, int month){

java.util.Calendar cal = Calendar.getInstance();

cal.set(year, month – 1, 1);

return (cal.get(Calendar.DAY_OF_WEEK) – 1);

}

public String toString(){

String str;

str = “\t\t” + mYear + “年” + mMonth + “月\n”;

str += “日\t一\t二\t三\t四\t五\t六\n”;

int i;

for (i = 1; i = mFristWeek; i++){

str += ” \t”;

}

for (int j = 1; j = mDayOfMonth; j++, i++){

str +=j+”\t” ;

if (i % 7 == 0){

str += “\n”;

}

}

return (str);

}

}

//DateFrame.java

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.Calendar;

class DateFrame extends JFrame implements Runnable{

Calendar date=Calendar.getInstance();

String[] str={“1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″,”10″,”11″,”12”};

JLabel lblYear=new JLabel(“年 “);

JLabel lblMonth=new JLabel(“月 “);

JLabel lblDate=new JLabel(“现在的时间是:”);

JLabel lblShowDate=new JLabel();

//javax.swing.JTextField trxt =new JTextField(10);

//trxt.setHorizontalAlignment(JTextField.RIGHT); //设置文本从右边输入

JComboBox cboMonth=new JComboBox(str);

JComboBox cboYear=new JComboBox();

JTextArea txaShow=new JTextArea();

JPanel pnlNorth=new JPanel();

JPanel pnlSOUTH=new JPanel();

JButton btnShow=new JButton(“显示”);

JButton btnClose=new JButton(“关闭”);

JScrollPane jsp=new JScrollPane(txaShow);

Container c=this.getContentPane();

public DateFrame(){

Thread thread=new Thread(this);

thread.start();

this.setTitle(“玩玩日历拉!!!”);

this.setSize(300,260);

for (int i = 1990; i=2025; i++) {

cboYear.addItem(“”+i);

}

cboYear.setSelectedItem(“”+(date.get(Calendar.YEAR)));

cboMonth.setSelectedItem(“”+(date.get(Calendar.MONTH)+1));

pnlNorth.add(cboYear);

txaShow.setTabSize(4); //设置tab键的距离

txaShow.setForeground(Color.GREEN);

pnlNorth.add(lblYear);

pnlNorth.add(cboMonth);

pnlNorth.add(lblMonth);

pnlNorth.add(lblDate);

pnlNorth.add(lblShowDate);

c.add(pnlNorth,BorderLayout.NORTH);

c.add(jsp);

pnlSOUTH.add(btnShow);

pnlSOUTH.add(btnClose);

c.add(pnlSOUTH,BorderLayout.SOUTH);

btnShow.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

int year=Integer.parseInt((String)cboYear.getSelectedItem());

int month=Integer.parseInt((String)cboMonth.getSelectedItem());

try {

DateInfo date=new DateInfo(year,month);

txaShow.setText(“”+date);

}

catch (DateException ex) {

ex.printStackTrace();

}

}

});

btnClose.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

System.exit(0);

}

});

}

public void run(){

try {

while(true){

Thread.sleep(1000);

int hour=date.get(Calendar.HOUR);

int minute=date.get(Calendar.MINUTE);

int second=date.get(Calendar.SECOND);

String str=hour+”:”+minute+”:”+second;

lblShowDate.setText(str);

//this.repaint();

}

}

catch (Exception ex) {

ex.printStackTrace();

}

}

}

//DateException.java

public class DateException extends Exception{

public DateException(){

super(“日期数据不合法.”);

}

}

java日历源码

java swing 日历控件怎么实现 最好是源码

源代码:

//DatePicker.java

package com.kxsoft.component;

import java.awt.*;

import java.awt.event.*;

import java.util.GregorianCalendar;

import java.util.Date;

import java.util.Calendar;

import java.text.DateFormat;

import java.text.FieldPosition;

import javax.swing.*;

import javax.swing.plaf.BorderUIResource;

public final class DatePicker extends JPanel {

private static final long serialVersionUID = 1L;

private static final int startX = 10;

private static final int startY = 60;

private static final Font smallFont = new Font(“Dialog”, Font.PLAIN, 10);

private static final Font largeFont = new Font(“Dialog”, Font.PLAIN, 12);

private static final Insets insets = new Insets(2, 2, 2, 2);

private static final Color highlight = new Color(255, 255, 204);

private static final Color white = new Color(255, 255, 255);

private static final Color gray = new Color(204, 204, 204);

private Component selectedDay = null;

private GregorianCalendar selectedDate = null;

private GregorianCalendar originalDate = null;

private boolean hideOnSelect = true;

private final JButton backButton = new JButton();

private final JLabel monthAndYear = new JLabel();

private final JButton forwardButton = new JButton();

private final JLabel[] dayHeadings = new JLabel[]{

new JLabel(“日”),

new JLabel(“一”),

new JLabel(“二”),

new JLabel(“三”),

new JLabel(“四”),

new JLabel(“五”),

new JLabel(“六”)};

private final JLabel[][] daysInMonth = new JLabel[][]{

{new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel()},

{new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel()},

{new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel()},

{new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel()},

{new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel()},

{new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel(),

new JLabel()}

};

private final JButton todayButton = new JButton();

private final JButton cancelButton = new JButton();

public DatePicker() {

super();

selectedDate = getToday();

init();

}

public DatePicker(final Date initialDate) {

super();

if (null == initialDate)

selectedDate = getToday();

else

(selectedDate = new GregorianCalendar()).setTime(initialDate);

originalDate = new GregorianCalendar(

selectedDate.get(Calendar.YEAR),

selectedDate.get(Calendar.MONTH),

selectedDate.get(Calendar.DATE));

init();

}

public boolean isHideOnSelect() {

return hideOnSelect;

}

public void setHideOnSelect(final boolean hideOnSelect) {

if (this.hideOnSelect != hideOnSelect) {

this.hideOnSelect = hideOnSelect;

initButtons(false);

}

}

public Date getDate() {

if (null != selectedDate)

return selectedDate.getTime();

return null;

}

private void init() {

setLayout(new AbsoluteLayout());

this.setMinimumSize(new Dimension(161, 226));

this.setMaximumSize(getMinimumSize());

this.setPreferredSize(getMinimumSize());

this.setBorder(new BorderUIResource.EtchedBorderUIResource());

backButton.setFont(smallFont);

backButton.setText(“”);

backButton.setMargin(insets);

backButton.setDefaultCapable(false);

backButton.addActionListener(new ActionListener() {

public void actionPerformed(final ActionEvent evt) {

onBackClicked(evt);

}

});

add(backButton, new AbsoluteConstraints(10, 10, 20, 20));

monthAndYear.setFont(largeFont);

monthAndYear.setHorizontalAlignment(JTextField.CENTER);

monthAndYear.setText(formatDateText(selectedDate.getTime()));

add(monthAndYear, new AbsoluteConstraints(30, 10, 100, 20));

forwardButton.setFont(smallFont);

forwardButton.setText(“”);

forwardButton.setMargin(insets);

forwardButton.setDefaultCapable(false);

forwardButton.addActionListener(new ActionListener() {

public void actionPerformed(final ActionEvent evt) {

onForwardClicked(evt);

}

});

add(forwardButton, new AbsoluteConstraints(130, 10, 20, 20));

int x = startX;

for (int ii = 0; ii  dayHeadings.length; ii++) {

dayHeadings[ii].setOpaque(true);

dayHeadings[ii].setBackground(Color.LIGHT_GRAY);

dayHeadings[ii].setForeground(Color.WHITE);

dayHeadings[ii].setHorizontalAlignment(JLabel.CENTER);

add(dayHeadings[ii], new AbsoluteConstraints(x, 40, 21, 21));

x += 20;

}

x = startX;

int y = startY;

for (int ii = 0; ii  daysInMonth.length; ii++) {

for (int jj = 0; jj  daysInMonth[ii].length; jj++) {

daysInMonth[ii][jj].setOpaque(true);

daysInMonth[ii][jj].setBackground(white);

daysInMonth[ii][jj].setFont(smallFont);

daysInMonth[ii][jj].setHorizontalAlignment(JLabel.CENTER);

daysInMonth[ii][jj].setText(“”);

daysInMonth[ii][jj].addMouseListener(new MouseAdapter() {

public void mouseClicked(final MouseEvent evt) {

onDayClicked(evt);

}

});

add(daysInMonth[ii][jj], new AbsoluteConstraints(x, y, 21, 21));

x += 20;

}

x = startX;

y += 20;

}

initButtons(true);

calculateCalendar();

}

private void initButtons(final boolean firstTime) {

if (firstTime) {

final Dimension buttonSize = new Dimension(68, 24);

todayButton.setText(“今天”);

todayButton.setMargin(insets);

todayButton.setMaximumSize(buttonSize);

todayButton.setMinimumSize(buttonSize);

todayButton.setPreferredSize(buttonSize);

todayButton.setDefaultCapable(true);

todayButton.setSelected(true);

todayButton.addActionListener(new ActionListener() {

public void actionPerformed(final ActionEvent evt) {

onToday(evt);

}

});

cancelButton.setText(“取消”);

cancelButton.setMargin(insets);

cancelButton.setMaximumSize(buttonSize);

cancelButton.setMinimumSize(buttonSize);

cancelButton.setPreferredSize(buttonSize);

cancelButton.addActionListener(new ActionListener() {

public void actionPerformed(final ActionEvent evt) {

onCancel(evt);

}

});

} else {

this.remove(todayButton);

this.remove(cancelButton);

}

高分求Java编写的万年历源代码,能够显示当前系统时间和日期查询。

import java.text.SimpleDateFormat;

import java.util.Calendar;

public class TestDate {

public static final String[] weeks = { “日”, “一”, “二”, “三”, “四”, “五”, “六” };

public static void main(String[] args) {

Calendar c = Calendar.getInstance();

c.set(Calendar.YEAR,2011);//2011年

c.set(Calendar.MONTH,0);//java中Calendar类,月从0开始, 0代表一月

c.set(Calendar.DATE,1);//1号

int day = c.get(Calendar.DAY_OF_WEEK);//获致是本周的第几天地, 1代表星期天…7代表星期六

System.out.println(new SimpleDateFormat( “yyyy-MM-dd “).format(c.getTime()));

System.out.println(“星期” + weeks[day-1]);

}

}

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月25日 07:17:46
下一篇 2024年3月25日 07:25:09

相关推荐

  • 深入java虚拟机pdf,深入java虚拟机 中村成洋 pdf

    在linux环境下,java怎么实现从word格式转换为pdf格式 //设置当前使用的打印机,我的Adobe Distiller打印机名字为 Adobe PDF wordCom.setProperty( ActivePrinter , new Variant( Adobe PDF ));//设置printout的参数,将word文档打印为postscript…

    2024年5月23日
    4400
  • java截取指定长度字符串,java截取指定字符串之后的

    java中如何截取字符串中的指定一部分 第一个参数是开始截取的字符位置。(从0开始)第二个参数是结束字符的位置+1。(从0开始)indexof函数的作用是查找该字符串中的某个字的位置,并且返回。 int end);截取s中从begin开始至end结束时的字符串,并将其赋值给s;split讲解:java.lang.string.split split 方法 将…

    2024年5月23日
    4200
  • java绑定一个端口,java使用端口

    java如何多个service共用一个端口 你如果有多个项目的话,你可以把多个项目放到一个tomcat里面,这样端口相同使用项目名称来进行区分项目。你如果非要使用同一个,你也可以配置不同的域名导向不同的项目。就是访问的域名不同转接到的项目不同。 如果需要同时启动多个程序,要么修改tomcat的配置文件中的监听端口。要么修改jar包程序的监听端口。不能在一台服…

    2024年5月23日
    3400
  • java多线程并发编程基础,Java多线程并发执行返回

    电脑培训分享Java并发编程:核心理论 电脑培训发现本系列会从线程间协调的方式(wait、notify、notifyAll)、Synchronized及Volatile的本质入手,详细解释JDK为我们提供的每种并发工具和底层实现机制。 人们开始意识到了继承的众多缺点,开始努力用聚合代替继承。软件工程解决扩展性的重要原则就是抽象描述,直接使用的工具就是接口。接…

    2024年5月23日
    4700
  • 自学java找工作,自学java找工作需要包装简历吗

    自学java学多久可以找到工作 1、自学Java至少需要一年以上的时间才能达到找工作的水平。报班培训四到六个月的时间就可以找到一份不错的工作。 2、自学Java至少需要一年以上的时间才能达到找工作的水平。 3、如果要想找到一份Java相关的工作,需要至少学习5-6个月时间才能就业。Java开发需要掌握一些基础的编程语言知识,比如掌握面向对象的编程思想、基本的…

    2024年5月23日
    4300
  • java左移右移,java 左移

    java位移问题 1、思路:直接用Integer类的bit运算操作。 2、移位操作:左移:向左移位,符号后面的数字是移了多少位,移的位用0补齐,例如2进制数01111111左移一位后变为11111110,移位是字节操作。 3、Java 位运算 Java 位运算[转]一,Java 位运算表示方法: 在Java语言中,二进制数使用补码表示,最高位为符号位,正数的…

    2024年5月23日
    4200
  • java技术规范,java规范性要求

    现在主流的JAVA技术是什么? java最流行开发技术程序员必看 1 、Git Git一直是世界上最受欢迎的Java工具之一,也是Java开发人员最杰出的工具之一。Git是一个开源工具,是-种出色的分布式版本控制解决方案。 (1).Java基础语法、数组、类与对象、继承与多态、异常、范型、集合、流与文件、反射、枚举、自动装箱和注解。(2).Java面向对象编…

    2024年5月23日
    4000
  • javasocket编程,Java socket编程中,禁用nagle算法的参数

    Java进行并发多连接socket编程 1、Java可利用ServerSocket类对外部客户端提供多个socket接口。基本的做法是先创建一个ServerSocket实例,并绑定一个指定的端口,然后在这个实例上调用accept()方法等待客户端的连接请求。 2、Socket socket=server.accept(0;Thread handleThrea…

    2024年5月23日
    4600
  • java死亡,java死代码是什么意思

    我的世界传送回死亡点指令是什么? 1、下面就让我们一起来了解一下吧:我的世界回到死的地方的指令是输入/back,就可以回到死亡地点了,当然也可以看信标,因为死亡后会有一道光集中在死亡点,只要循着光就可以找到目的地了。 2、在服务器中的指令 首先打开指令台,在指令行输入“/back”就可以回到自己的死亡地点了。在单人游戏中的指令 在单人游戏中,您无法直接返回到…

    2024年5月23日
    4800
  • myeclipse能部署java工程么,myeclipse支持jdk18

    myeclipse如何建java文件 1、点击【File】—【New】–【Class】在如下界面,输入Class的名字,如Test,点击【Finish】。Test.java文件创建成功。 2、点击【File】—【New】–【Class】 在如下界面,输入Class的名字,如Test,点击【Finish】。 Te…

    2024年5月23日
    3900

发表回复

登录后才能评论



关注微信