急求一份用JAVA编写的日历记事本,用Eclipse实现,包括日历,记事本,时钟啊

就是用Java编写一个日历的程序,要可视化的,可以实现日历、记事本、时钟等功能!

第1个回答  2013-05-26
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.Date;
import java.util.GregorianCalendar;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class CalenderTrain extends JFrame implements ActionListener {
private static final long serialVersionUID=1L;
private static final int new_year = 0;
private JComboBox MonthBox =new JComboBox();
private JComboBox YearBox=new JComboBox();//月份和年份的下拉列表框
private JLabel YearLabel=new JLabel("年份");
private JLabel MonthLabel=new JLabel("月份");//月份和年份的标签
private JButton button_ok=new JButton("查看");
private JButton button_today=new JButton("今天");// “查看”和“今天”两个按钮
private Date now_date=new Date();
@SuppressWarnings("deprecation")
private int now_year=now_date.getYear()+1900;
@SuppressWarnings("deprecation")
private int now_month=now_date.getMonth();// 获取今天的日期,年份,月份
@SuppressWarnings("unused")
private boolean tidayFlag=false;//是否显示今天的日期
private JButton [] button_day=new JButton[42];
private final String[] week={"日","一","二","三","四","五","六"};
private JButton[] button_week=new JButton[7];//用一组按钮显示日期,一行7行7列,第一行为星期的名字
private String year_int=null;//保存用户选择的年份
private int month_int;//保存用户选择的月份
private boolean todayFlag;
/**
**构造函数
*/
public CalenderTrain(){
super();
System.out.print(now_month);
this.setTitle("日历");//设置标题
this.init();
this.setLocation(500,300);
this.setResizable(true);//设置面板的大小不能变化
pack();
}
/**
*
* 初始化日历
*/
private void init() {
Font font=new Font("Dialog",Font.BOLD,14);
YearLabel.setFont(font);
MonthLabel.setFont(font);
button_ok.setFont(font);
button_today.setFont(font);
for(int i=new_year-10;i<=now_year+20;i++){
YearBox.addItem(i+"");
}//设定年份区间,为当前年份的过去10年到当前年份的未来20 年
YearBox.setSelectedIndex(10);//设定年份下拉列表为当前年份,当前年份处于第10项
for(int i=1;i<12;i++){
MonthBox.addItem(i+"");
}//设定月份区间,12个月
MonthBox.setSelectedIndex(now_month);//设定月份下拉表框为当前月份
JPanel panel_ym=new JPanel();//放置下拉列表框和控制按钮的面板
panel_ym.add(YearLabel);
panel_ym.add(YearBox);
panel_ym.add(MonthLabel);
panel_ym.add(MonthBox);
panel_ym.add(button_ok);
panel_ym.add(button_today);
button_ok.addActionListener(this);
button_today.addActionListener(this);// 为两个按钮添加事件监听器
JPanel panel_day=new JPanel();//放置日期面板
panel_day.setLayout(new GridLayout(7,7,3,3));//网格布局管理器,7行7列,网格之间水平和垂直方向间均为5
for(int i=0;i<7;i++){
button_week[i]=new JButton("");
button_week[i].setText(week[i]);
button_week[i].setForeground(Color.red);
panel_day.add(button_week[i]);
}//添加星期的名字,并放到面板里面
button_week[0].setForeground(Color.red);
button_week[6].setForeground(Color.red);
for(int i=0;i<42;i++){
button_day[i]=new JButton("");
panel_day.add(button_day[i]);
}//添加日期,放到面板里面
this.paintDay();//显示当前年月的日期
JPanel panel_main=new JPanel();//放置以上两个面板
panel_main.setLayout(new BorderLayout());//边界布局管理器
panel_main.add(panel_day,BorderLayout.SOUTH);
panel_main.add(panel_ym,BorderLayout.NORTH);
getContentPane().add(panel_main);
}
/**显示当前年月的日期*/
@SuppressWarnings("deprecation")
private void paintDay() {
if(this.todayFlag){
year_int=now_year+"";
month_int=now_month;//要求显示今天的日期
}else{
year_int=YearBox.getSelectedItem().toString();//否则,从下拉框中获取用户的年月
month_int=MonthBox.getSelectedIndex();//被选的序号
}
int year_sel=Integer.parseInt(year_int)-1900;//获得年份置
@SuppressWarnings({ })
Date firstDay=new Date(year_sel,month_int,1);//构造该余额的第一天
GregorianCalendar cal=new GregorianCalendar();//创建一个Calendar的实例
cal.setTime(firstDay);
int days=0;//存放某个月份的天数
int day_week=0;//存放某个月份的第一天使星期几色数值
if(month_int==0||month_int==2||month_int==4||month_int==6||month_int==7||month_int==9||month_int==11){
days=31;
}else if(month_int==3||month_int==5||month_int==8||month_int==10){
days=30;
}else{
if(cal.isLeapYear(year_sel)){
days=29;
}else{
days=28;
}//二月,如果闰年,则有29天,否则有28他
}//判断是几月份,根据它来设定day的值,其中二月份要判断是否闰年
day_week=firstDay.getDay();
int count=1;
/**
* 绘制按钮。在这里首先要根据选定的月份的第一天是星期几来确定绘制按钮的起始位置
* 其中day_week就是我们要绘制的起始位置,对于那些没有数值可以显示的按钮要置空
*/
for(int i=day_week;i<day_week+days;count++,i++){
if(i%7==0||i==6||i==13||i==20||i==27||i==34||i==41){
//如果是边界上的按钮,文字用红色,以来标示周末
if(i==day_week+now_date.getDate()-1){
button_day[i].setForeground(Color.blue);//将与今天一样的日期用蓝色标示
button_day[i].setText(count+"");
}else{
button_day[i].setForeground(Color.red);//其它边界上的按钮中的文字用红色
button_day[i].setText(count+"");
}
}else{
if(i==day_week+now_date.getDate()-1){
button_day[i].setForeground(Color.blue);//将与今天一样的日期用蓝色标示
button_day[i].setText(count+"");
}else{
button_day[i].setForeground(Color.black);//一般位置的按钮上的文字用黑色标示
button_day[i].setText(count+"");
}
}
}
if(day_week==0){
//对于没有日期数值显示的按钮进行置空处理
for(int i=days;i<42;i++){
button_day[i].setText("");//如果第一天是周日,则将第一天前面的按钮置空
}
} else{
for(int i=0;i<day_week;i++){
button_day[i].setText("");//如果第一天不是周日,则将第一天前面的按钮置空
}
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==button_ok){
//如果单击“查看”按钮就调用setDay()重新方法绘制按钮
this.todayFlag=false;
this.paintDay();
}else if(e.getSource()==button_today){
//如果单击“今天”按钮,得到今天的日期
todayFlag=true;
YearBox.setSelectedIndex(10);
MonthBox.setSelectedIndex(now_month);
this.paintDay();
}
}
/**
* @param args
*/
public static void main(String[] args){
CalenderTrain ct=new CalenderTrain();
ct.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ct.setVisible(true);
}
}本回答被提问者采纳
第2个回答  2011-12-07
???????没看懂你的问题。追问

额。。。问题补充一下吧!

第3个回答  2011-12-06
。。。。。。。。。。。。

简单电子记事本的java实现,用eclipse运行
package com.happy.file.notbook;import java.awt.*;import java.awt.event.*;import java.io.*;import java.awt.datatransfer.*;class MyMenuBar extends MenuBar{ public MyMenuBar(Frame parent){ parent.setMenuBar(this);} public void addMenus(String [] menus){ for(int i=0;i<menus.len...

用eclipse编写一个简单的日历输出,谁会?
static String[] WEEK = { "SUN", "MON", "TUS", "WEN", "THU", "FRI", "SAT" };static String[] MONTH = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul","Aug", "Sep", "Oct", "Nov", "Dec" };\/ Title: main Description: 2011-10-14 qzt:打印出一个...

我用eclipse做了个小日历软件,但老师要求是用web的形式,那我怎么把这...
用javasript完全可以,因为是客服端的就不用了JSP,还不是表格吗,里面嵌文本,里面加点1,2,3日期,当然会有按钮,下拉框,加点好的javascript来实现业务逻辑,自己多找找吧

用Java语言,用Eclipse等工具设计Windows记事本程序,软件须满足记事本程...
有点难度,不过花点时间还是能够做出来的,可惜最近忙着考试。对不住了,等考完试,在考虑一下。

用Eclipse运行记事本编写的Java程序时出现no console display at this...
Run->Open Run Dialog -> 在左边的Java Application,选择一个(如果没有按右键新建一个)然后在右边选择Common tab选项,在Standard Input and Output中选中 Allocate Console

本人JAVA新人,在安装好JKD后,用记事本写东西时,发现不是光盘里的那种...
在文件夹选项里,勾选“显示文件后缀名”,你会发现记事本名字后面还个 .txt,吧这个删掉

用记事本制作网页打不开图片 但是用eclipse就能打开
你的路径有问题! 图片是否在你的项目中? HTML ? JSP?HTML 静态 没有用 容器直接访问 则需要写成 文件硬盘位置 如JSP 容器启动访问 需要写成相对路径 或者 绝对路径 以工程跟目录为根!

在eclipse里编写的JAVA程序怎么脱离eclipse运行(直接打开)?
使用eclipse中export键将工程打jar包,本把工程引用的其他源码包放在同一目录下,同时在此目录新建.bat文件,可用记事本打开,内容如:java -Xss512K(内存占用不大也可不写) -Xmx1024M -cp 所有引用的jar包名 com.test.Test(你需要运行的类完整名称) 。接着,到DOS里面敲入这个目录运行bat文件即可...

如何把记事本文件变成JAVA源文件
1、打开电脑,首先点击开始按钮选择打开记事本选项按钮。2、记事本页面后写好代码之后,点击左上角的文件选项按钮。3、写好之后点击文件下的保存选项按钮 4、这时候就要文件名的后缀改成java 5、改好之后点击保存,之后就可以变成JAVA源文件了。

用JAVA做记事本怎么做工具栏图标??
用swing实现 import javax.swing.*;JMenuBar jmb = new JMenuBar(); \/\/工具栏 JMenu jm = new JMenu("文件"); \/\/主菜单 JMenuItem jmi = new JMenuItem("新建"); \/\/子菜单,多个 jm.add(jmi);\/\/将子菜单加到主 jmb.add(jm);\/\/...调用面板的setJMenuBar()方法.....

相似回答