展开全部

||

按照你的要求编写的Java swing 带界面的万年历代码如下//日历

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Font;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Calendar;

import javax.swing.BorderFactory;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class CCI extends JFrame implements ActionListener{

JButton jb1=new JButton("<

JButton jb2=new JButton("

JButton jb3=new JButton(">");

JButton jb4=new JButton(">>");

JPanel jp1=new JPanel();

JPanel jp2=new JPanel();

JPanel jp3=new JPanel();

JPanel jp4=new JPanel();

JLabel jl1=new JLabel();

JLabel jl2=new JLabel();

JLabel[]jl=new JLabel[49];

String []week={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};

Calendar c=Calendar.getInstance();

int year,month,day;

int nowyear,nowmonth,nowday;

CCI(){

super("简单日历");

nowyear=c.get(Calendar.YEAR);

nowmonth=c.get(Calendar.MONTH)+1;

nowday=c.get(Calendar.DAY_OF_MONTH);

year=nowyear;

month=nowmonth;

day=nowday;

String s=year+"年"+month+"月";

jl1.setForeground(Color.RED);

jl1.setFont(new Font(null,Font.BOLD,20));

jl1.setText(s);

jb1.addActionListener(this);

jb2.addActionListener(this);

jb3.addActionListener(this);

jb4.addActionListener(this);

jp1.add(jb1);jp1.add(jb2);jp1.add(jl1);jp1.add(jb3);jp1.add(jb4);

jp2.setLayout(null);

createMonthPanel();

jp2.add(jp3);

jl2.setFont(new Font(null,Font.BOLD,20));

jl2.setText("今天是32313133353236313431303231363533e58685e5aeb931333363393030"+nowyear+"年"+nowmonth+"月"+nowday+"日");

jp4.add(jl2);

add(jp1,BorderLayout.NORTH);

add(jp2,BorderLayout.CENTER);

add(jp4,BorderLayout.SOUTH);

setSize(500,500);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLocationRelativeTo(null);

setVisible(true);

}

@Override

public void actionPerformed(ActionEvent ae) {

if(ae.getSource()==jb1){

year=year-1;

String s=year+"年"+month+"月";

jl1.setText(s);

jp3.removeAll();

createMonthPanel();

jp3.validate();

}

if(ae.getSource()==jb2){

if(month==1){

year=year-1;

month=12;

}else{

month=month-1;

}

String s=year+"年"+month+"月";

jl1.setText(s);

jp3.removeAll();

createMonthPanel();

jp3.validate();

}

if(ae.getSource()==jb3){

if(month==12){

year=year+1;

month=1;

}else{

month=month+1;

}

String s=year+"年"+month+"月";

jl1.setText(s);

jp3.removeAll();

createMonthPanel();

jp3.validate();

}

if(ae.getSource()==jb4){

year=year+1;

String s=year+"年"+month+"月";

jl1.setText(s);

jp3.removeAll();

createMonthPanel();

jp3.validate();

}

}

public static void main(String[] args) {

new CCI();

}

public int getMonthDays(int year, int month) {

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

return 31;

case 2:

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

return 29;

} else {

return 28;

}

default:

return 30;

}

}

public void createMonthPanel(){

c.set(year, month-1, getMonthDays(year,month));

int weekOfMonth=c.get(Calendar.WEEK_OF_MONTH);

if(weekOfMonth==6){

jp3.setLayout(new GridLayout(7,7));

jp3.setBounds(50, 20, 420, 350);

}else{

jp3.setLayout(new GridLayout(6,7));

jp3.setBounds(50, 20, 420, 300);

}

jp3.setBorder(BorderFactory.createEtchedBorder());

for(int i=0;i<7;i++){

jl[i]=new JLabel(week[i],JLabel.CENTER);

jl[i].setFont(new Font(null,Font.BOLD,20));

jl[i].setBorder(BorderFactory.createEtchedBorder());

jp3.add(jl[i]);

}

c.set(year, month-1, 1);

int emptyFirst=c.get(Calendar.DAY_OF_WEEK)-1;

int daysOfMonth=getMonthDays(year,month);

for(int i=6+emptyFirst;i>=7;i--){

int intyear=year;

int intmonth=month;

if(intmonth==1){

intyear=intyear-1;

intmonth=12;

}else{

intmonth=intmonth-1;

}

int intdays=getMonthDays(intyear,intmonth);

jl[i]=new JLabel((intdays+7-i)+"",JLabel.CENTER);

jl[i].setFont(new Font(null,Font.BOLD,20));

jl[i].setForeground(Color.GRAY);

jl[i].setBorder(BorderFactory.createEtchedBorder());

jp3.add(jl[i]);

}

for(int i=7+emptyFirst;i

jl[i]=new JLabel((i-7-emptyFirst+1)+"",JLabel.CENTER);

jl[i].setFont(new Font(null,Font.BOLD,20));

if((i+1)%7==0 || (i+1)%7==1){

jl[i].setForeground(Color.RED);

}else if((i-7-emptyFirst+1)==nowday&&month==nowmonth&&year==nowyear)

jl[i].setForeground(Color.BLUE);

else

jl[i].setForeground(Color.BLACK);

jl[i].setBorder(BorderFactory.createEtchedBorder());

jp3.add(jl[i]);

}

if(weekOfMonth==6)

for(int i=48;i>=daysOfMonth+emptyFirst+7;i--){

jl[i]=new JLabel((49-i)+"",JLabel.CENTER);

jl[i].setFont(new Font(null,Font.BOLD,20));

jl[i].setForeground(Color.GRAY);

jl[i].setBorder(BorderFactory.createEtchedBorder());

jp3.add(jl[i]);

}

else

for(int i=41;i>=daysOfMonth+emptyFirst+7;i--){

jl[i]=new JLabel((42-i)+"",JLabel.CENTER);

jl[i].setFont(new Font(null,Font.BOLD,20));

jl[i].setForeground(Color.GRAY);

jl[i].setBorder(BorderFactory.createEtchedBorder());

jp3.add(jl[i]);

}

}

}

java带界面的代码_求一个java swing带界面的万年历代码相关推荐

  1. 有哪些小游戏的java代码_求一个Java小游戏代码(鼠标点击类小游戏)最好代码里面不要有中文...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 } else{ black_count=0; } if(chess[i][j]==2) { white_count++; if(white_count== ...

  2. java的应用程序开发_开发一个Java应用程序(1)

    开发一个Java应用程序(1) App Engine上的Java Web应用程序通过Java Servlet标准接口与应用程序服务器交互.一个应用程序由一个或多个类组成,这些类都扩展自一个servle ...

  3. 简单的五子棋java代码_求一个最简单的JAVA五子棋程序。。

    展开全部 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt ...

  4. java写一个简单的浪漫代码_求一个简单但是浪漫的表白方法!!

    鲜花表白 只要和爱情沾边儿那都离不开玫瑰花,所以最简单的方式就是用玫瑰花表白,玫瑰花表白可以体现在数量上,有送一朵的,有送十一朵的,又送三十三朵,还有送九十九朵的.除此之外,还可以摆鲜花阵表白,一般情 ...

  5. java写一个音乐播放器源码_求一个JAVA音乐播放器的源代码

    展开全部 import javax.media.ControllerEvent; import javax.media.ControllerListener; import javax.media.E ...

  6. java正则不能输入汉字_求一个正则表达式只输入字母或数字或汉字,要过滤特殊字符...

    正则表达式:只能有数字或中文或字母组成 chenzhe_n16292018-09-06 一个正则表达式测试(只可输入中文.字母和数字) u0129242379192015-10-05 js正则表达式限 ...

  7. java猜拳_求一个java猜拳游戏程序

    展开全部 package test; import java.util.Random; import java.util.Scanner; /** * 猜拳游戏思路 * 1.定义输入函数 * 2.提示 ...

  8. java火柴游戏_求一个“JAVA拿火柴小游戏”的程序要求如下!!!!!!!跪求!!!!!...

    展开全部 按照题目要求,人拿完火柴后计62616964757a686964616fe58685e5aeb931333332643930算机自动拿火柴,判断胜利者.鼠标点击ok或者键盘按enter键即可 ...

  9. 100行左右的java动物类型大作业_求一个100行左右的java编程

    展开全部 import java.awt.*; import javax.swing.*; @SuppressWarnings("serial") public class Mai ...

  10. java做的桌面应用_把一个java web应用包装成桌面应用的简单做法

    昨天玩h2的时候想起来的, 这年头把在线应用报装成桌面应用是越来越流行了,几年前做过类似的事情,简单介绍一下. 1. 选择一个嵌入的web 服务器和 数据库. web服务器我选择的是jetty,虽然t ...

最新文章

  1. 简介SharePoint 2010 14 Hive文件夹
  2. MS SQL入门基础:启动与关闭服务器
  3. Request请求总结
  4. OpenGL中的Uniform block size 的大小限制
  5. Python的小宇宙,怎么样才能发挥出来?
  6. php访问网页post获取源码,第一次抓别人网站数据,用postman直接请求可以获取到返回数据,通过代码的方式就一直报错,php...
  7. gulp-sass的有关问题
  8. 阿里云构建千万级别架构演变之路
  9. SecureCRT 远程端中文乱码问题处理
  10. docker构建自己的镜像
  11. 通过Windows制作安装U盘安装Chromium os
  12. java写安卓脚本,一文全懂
  13. 计算机经常自动关机怎么回事,教你电脑总是自动关机怎么办
  14. layui form.js select的扩展插件(转自Author:@贤心)
  15. python 妹子图抓取
  16. 微信小程序-房屋设施图标
  17. 基于区块链的去中心化抗量子密钥管理系统
  18. UEFI开发与调试---edk2中的Package
  19. 2016计算机二级ps试题,2016下半年计算机二级ps试题及答案
  20. 用Java计算二月份有多少天

热门文章

  1. 科普:不给手游平台源码的公司能不能选?
  2. SQL增删改查基本语法整理
  3. 机器学习之MCMC算法(转载)
  4. 视频教程-Xamarin技术讲座——初级篇-其他
  5. colorui 使用iconfont图标
  6. 《Java核心技术 卷12》读书笔记
  7. Execl导出大量数据出现内存溢出的bug,解决方法
  8. PostSql创建用户
  9. 数字电路技术可能出现的简答题_数字电子技术基础期末考试题
  10. LAMMPS安装全套解决方案