「java日历图形界面」java设计日历窗口源代码
本篇文章给大家谈谈java日历图形界面,以及java设计日历窗口源代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、我要设计一个日历控件 用 java开发的我的软件是eclipse我该怎么操作呢 求大神指导
- 2、用java图形用户界面实现: 编写一个日历程序,能实现显示日历等简单功能。
- 3、java如何在窗口中显示日历
- 4、用java图形用户界面实现: 编写一个日历程序,能实现显示日历等简单功能。 (运行后有窗体出现的那
- 5、怎么用java编写日历动态时钟的界面
- 6、使用JAVA编程万年历要求:使用图形用户界面;实现日期与星期的查询。
我要设计一个日历控件 用 java开发的我的软件是eclipse我该怎么操作呢 求大神指导
这是我以前制作的日历控件,根据网友的代码改写的,自己用着感觉还行。现在没有时间根据你的条件再改写了,如果你觉得合用,就自己再改吧。
用java图形用户界面实现: 编写一个日历程序,能实现显示日历等简单功能。
import javax.swing.JOptionPane;
public class NewClass{
public static void main(String[] args){
int year,month;
Calender cal=new Calender(2008,10);
cal.showCalender();
year=Integer.parseInt(JOptionPane.showInputDialog("Year:"));
month=Integer.parseInt(JOptionPane.showInputDialog("Month:"));
cal.setYear(year);
cal.setMonth(month);
cal.showCalender();
}
}
class Calender{
private int year,month;
public Calender(){
year=0;
month=1;
}
public Calender(int year){
this.year=year;
month=1;
}
public Calender(int year,int month){
this.year=year;
if(month12)
this.month=month%12;
else
this.month=month;
}
public void setYear(int year){
this.year=year;
}
public void setMonth(int month){
if(month12)
this.month=month%12;
else
this.month=month;
}
private int dayOfMonth(){
int days=0;
switch(month){
case 1:days=31;break;
case 2:{
if(((year%4==0)(year%100!=0))||(year%400==0))
days=29;
else
days=28;
break;
}
case 3:days=31;break;
case 4:days=30;break;
case 5:days=31;break;
case 6:days=30;break;
case 7:days=31;break;
case 8:days=31;break;
case 9:days=30;break;
case 10:days=31;break;
case 11:days=30;break;
case 12:days=31;break;
default:
days=0;
}
return days;
}
private int dayOfWeek(){
int Y=year;
int M=month;
int D=1;
int A;
A = Y0?(5+(Y+1)+(Y-1)/4-(Y-1)/100+(Y-1)/400)%7:(5+Y+Y/4-Y/100+Y/400)%7;
A = M2?(A+2*(M+1)+3*(M+1)/5)%7:(A+2*(M+2)+3*(M+2)/5)%7;
if (((Y%4 == 0 Y%100 != 0)|| Y%400 == 0) M2) A =(A+1)%7;
A=(A+D)%7;
return A;
}
public void showCalender(){
String str=new String();
str=" ";
str+=year+"年"+month+"月";
str+="\n\n";
str+="日 一 二 三 四 五 六\n";
int week=this.dayOfWeek();
for(int i=0,j=1;i7;i++){
if(iweek)
str+=" ";
else{
str+=" "+j+" ";
j++;
}
}
str+="\n";
end:
for(int i=7-week+1;i=this.dayOfMonth();){
for(int j=0;j7;j++){
if(i10)
str+=" "+i+" ";
else
str+=i+" ";
i++;
if(ithis.dayOfMonth())
break end;
}
str+="\n";
}
JOptionPane.showMessageDialog(null,str);
}
}
java如何在窗口中显示日历
MainFrame.java是显示日历程序,Clock.java是日历计算程序(可以不要)。
编译后运行MainFrame这个类即可。
swing窗口显示万年历,jdk1.4以上环境编译运行。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 package org.test;import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Date;import java.util.Calendar;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class MainFrame extends JFrame { private static final long serialVersionUID = -306484324260972141L; JPanel panel = new JPanel(new BorderLayout()); JPanel panel1 = new JPanel(); JPanel panel2 = new JPanel(new GridLayout(7, 7)); JPanel panel3 = new JPanel(); JLabel[] label = new JLabel[49]; JLabel y_label = new JLabel("年份"); JLabel m_label = new JLabel("月份"); JComboBox com1 = new JComboBox(); JComboBox com2 = new JComboBox(); int re_year, re_month, x_size, y_size; String year_num; Calendar now = Calendar.getInstance(); // 实例化Calendar MainFrame() { super("万年历"); setSize(300, 350); x_size = (int) (Toolkit.getDefaultToolkit().getScreenSize().getWidth()); y_size = (int) (Toolkit.getDefaultToolkit().getScreenSize().getHeight()); setLocation((x_size - 300) / 2, (y_size - 350) / 2); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel1.add(y_label); panel1.add(com1); panel1.add(m_label); panel1.add(com2); for (int i = 0; i 49; i++) { label[i] = new JLabel("", JLabel.CENTER);// 将显示的字符设置为居中 panel2.add(label[i]); } panel3.add(new Clock(this)); panel.add(panel1, BorderLayout.NORTH); panel.add(panel2, BorderLayout.CENTER); panel.add(panel3, BorderLayout.SOUTH); panel.setBackground(Color.white); panel1.setBackground(Color.white); panel2.setBackground(Color.white); panel3.setBackground(Color.white); Init(); com1.addActionListener(new ClockAction()); com2.addActionListener(new ClockAction()); setContentPane(panel); setVisible(true); setResizable(false); } class ClockAction implements ActionListener { public void actionPerformed(ActionEvent arg0) { int c_year, c_month, c_week; c_year = Integer.parseInt(com1.getSelectedItem().toString()); // 得到当前所选年份 c_month = Integer.parseInt(com2.getSelectedItem().toString()) - 1; // 得到当前月份,并减1,计算机中的月为0-11 c_week = use(c_year, c_month); // 调用函数use,得到星期几 Resetday(c_week, c_year, c_month); // 调用函数Resetday } } public void Init() { int year, month_num, first_day_num; String log[] = { "日", "一", "二", "三", "四", "五", "六" }; for (int i = 0; i 7; i++) { label[i].setText(log[i]); } for (int i = 0; i 49; i = i + 7) { label[i].setForeground(Color.red); // 将星期日的日期设置为红色 } for (int i = 6; i 49; i = i + 7) { label[i].setForeground(Color.green);// 将星期六的日期设置为绿色 } for (int i = 1; i 10000; i++) { com1.addItem("" + i); } for (int i = 1; i 13; i++) { com2.addItem("" + i); } month_num = (int) (now.get(Calendar.MONTH)); // 得到当前时间的月份 year = (int) (now.get(Calendar.YEAR)); // 得到当前时间的年份 com1.setSelectedIndex(year - 1); // 设置下拉列表显示为当前年 com2.setSelectedIndex(month_num); // 设置下拉列表显示为当前月 first_day_num = use(year, month_num); Resetday(first_day_num, year, month_num); } public int use(int reyear, int remonth) { int week_num; now.set(reyear, remonth, 1); // 设置时间为所要查询的年月的第一天 week_num = (int) (now.get(Calendar.DAY_OF_WEEK));// 得到第一天的星期 return week_num; } @SuppressWarnings("deprecation") public void Resetday(int week_log, int year_log, int month_log) { int month_day_score; // 存储月份的天数 int count; month_day_score = 0; count = 1; Date date = new Date(year_log, month_log + 1, 1); // now Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MONTH, -1); // 前个月 month_day_score = cal.getActualMaximum(Calendar.DAY_OF_MONTH);// 最后一天 for (int i = 7; i 49; i++) { // 初始化标签 label[i].setText(""); } week_log = week_log + 6; // 将星期数加6,使显示正确 month_day_score = month_day_score + week_log; for (int i = week_log; i month_day_score; i++, count++) { label[i].setText(count + ""); } } public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); new MainFrame(); }}
12345678910111213141516171819202122232425262728293031323334353637383940414243 package org.test;import java.awt.Color;import java.util.Calendar;import java.awt.Canvas;import java.awt.Font;import java.awt.Graphics;import java.text.SimpleDateFormat;public class Clock extends Canvas implements Runnable{ private static final long serialVersionUID = 3660124045489727166L; MainFrame mf; Thread t; String time; public Clock(MainFrame mf){ this.mf=mf; setSize(280,40); setBackground(Color.white); t=new Thread(this);//实例化线程 t.start(); //调用线程 } public void run(){ while(true){ try{ Thread.sleep(1000);//休眠1秒钟 }catch(InterruptedException e){ System.out.println("异常"); } this.repaint(100); } } public void paint(Graphics g){ Font f=new Font("宋体",Font.BOLD,16); SimpleDateFormat SDF=new SimpleDateFormat("yyyy'年'MM'月'dd'日'HH:mm:ss");//格式化时间显示类型 Calendar now=Calendar.getInstance(); time=SDF.format(now.getTime()); //得到当前日期和时间 g.setFont(f); g.setColor(Color.orange); g.drawString(time,45,25); }}
用java图形用户界面实现: 编写一个日历程序,能实现显示日历等简单功能。 (运行后有窗体出现的那
import javax.swing.JOptionPane;
public class NewClass{
public static void main(String[] args){
int year,month;
Calender cal=new Calender(2008,10);
cal.showCalender();
year=Integer.parseInt(JOptionPane.showInputDialog("Year:"));
month=Integer.parseInt(JOptionPane.showInputDialog("Month:"));
cal.setYear(year);
cal.setMonth(month);
cal.showCalender();
}
}
class Calender{
private int year,month;
public Calender(){
year=0;
month=1;
}
public Calender(int year){
this.year=year;
month=1;
}
public Calender(int year,int month){
this.year=year;
if(month12)
this.month=month%12;
else
this.month=month;
}
public void setYear(int year){
this.year=year;
}
public void setMonth(int month){
if(month12)
this.month=month%12;
else
this.month=month;
}
private int dayOfMonth(){
int days=0;
switch(month){
case 1:days=31;break;
case 2:{
if(((year%4==0)(year%100!=0))||(year%400==0))
days=29;
else
days=28;
break;
}
case 3:days=31;break;
case 4:days=30;break;
case 5:days=31;break;
case 6:days=30;break;
case 7:days=31;break;
case 8:days=31;break;
case 9:days=30;break;
case 10:days=31;break;
case 11:days=30;break;
case 12:days=31;break;
default:
days=0;
}
return days;
}
private int dayOfWeek(){
int Y=year;
int M=month;
int D=1;
int A;
A = Y0?(5+(Y+1)+(Y-1)/4-(Y-1)/100+(Y-1)/400)%7:(5+Y+Y/4-Y/100+Y/400)%7;
A = M2?(A+2*(M+1)+3*(M+1)/5)%7:(A+2*(M+2)+3*(M+2)/5)%7;
if (((Y%4 == 0 Y%100 != 0)|| Y%400 == 0) M2) A =(A+1)%7;
A=(A+D)%7;
return A;
}
public void showCalender(){
String str=new String();
str=" ";
str+=year+"年"+month+"月";
str+="\n\n";
str+="日 一 二 三 四 五 六\n";
int week=this.dayOfWeek();
for(int i=0,j=1;i7;i++){
if(iweek)
str+=" ";
else{
str+=" "+j+" ";
j++;
}
}
str+="\n";
end:
for(int i=7-week+1;i=this.dayOfMonth();){
for(int j=0;j7;j++){
if(i10)
str+=" "+i+" ";
else
str+=i+" ";
i++;
if(ithis.dayOfMonth())
break end;
}
str+="\n";
}
JOptionPane.showMessageDialog(null,str);
}
}
怎么用java编写日历动态时钟的界面
import java.lang.Carlendar;
import java.util.Date;
class Mytime extends Thread{ //继承 Thread 类,实现多线程
Thread thread = new Thread();
thread.Start();
public void fun()
{
while(true)
{
Date date = new Date();
thread.Sleep(1000); //设置一秒钟提取一次
txtTime.setText(date) //将时间显示到文本框里,还要提取一下,你自己搞了
}
}
}
日历不写了,
这是动态时间,
你有电脑就要自己调试一下,
我敢肯定是这样做的,
我现在忘记了一些,
这样不行你把thread.Start();
放到while里面去,
但是你改一改绝对会成功,
因为我做了
祝你成功
使用JAVA编程万年历要求:使用图形用户界面;实现日期与星期的查询。
这是我刚做出来的,时间紧迫,做得有些粗糙,但是你要的功能基本实现了!import java.awt.*;
import java.text.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
//import java.util.Timer;
public class DataSimple implements ItemListener
{
JFrame mainFrame;
JLabel yearLabel,monthLabel,showTextLabel,timeLabel;
JTextArea showArea;
JComboBox yearBox,monthBox;
JPanel panel_top,panel_down;
Container con;
//JTable myTable;
//JScrollPane JSpane;
String year[]=new String[9000];
String month[]=new String[12];
Date today;
GregorianCalendar cal;
//Timer myTimer;
//TimerTask myTask;
int totalDays,startDay,i;
String selectYear,selectMonth;
Object [][] day=new Object[4][6];
static final String head[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
SimpleDateFormat timeFormat=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
public DataSimple()
{
mainFrame=new JFrame("模拟万年日历");
con=mainFrame.getContentPane();
yearLabel=new JLabel("选择年份:");
monthLabel=new JLabel("选择月份:");
for(int i=1900;i10000;i++)
{
try
{
//year[i-1900]=(new Integer(i)).toString();
year[i-1900]=String.valueOf(i);
}
catch(Exception e)
{
JOptionPane.showMessageDialog(mainFrame,"出现异常");
}
}
yearBox=new JComboBox(year);
yearBox.setSelectedItem("2010");
yearBox.addItemListener(this);
for(int i=0;i12;i++)
{
month[i]=(new Integer(i)).toString();
}
monthBox=new JComboBox(month);
monthBox.setSelectedItem("1");
monthBox.addItemListener(this);
panel_top=new JPanel();
panel_top.setLayout(new FlowLayout());
panel_top.add(yearLabel);
panel_top.add(yearBox);
panel_top.add(monthLabel);
panel_top.add(monthBox);
con.add(panel_top,BorderLayout.NORTH);
showArea=new JTextArea();
showArea.setEditable(false);
showDate(2010,1);
//myTable=new JTable(day,head);
con.add(showArea,BorderLayout.CENTER);
showTextLabel=new JLabel("现在时间是:");
today=new Date();
timeLabel=new JLabel(timeFormat.format(today));
panel_down=new JPanel();
panel_down.setLayout(new FlowLayout());
panel_down.add(showTextLabel);
panel_down.add(timeLabel);
con.add(panel_down,BorderLayout.SOUTH);
//con.add(showArea,BorderLayout.CENTER);
mainFrame.setSize(400,300);
mainFrame.setVisible(true);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void showDate(int year,int month)
{
showArea.setText("");
cal=new GregorianCalendar(year,month-1,1);
totalDays=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
startDay=cal.get(Calendar.DAY_OF_WEEK)-1;
for(i=0;ihead.length;i++)
showArea.append(head[i]+" ");
showArea.append("\n");
//输出第一天之前的空格,每个输出项8个空格
for(i=0;istartDay;i++)
{
//day[0][i]=new Integer(0);
showArea.append(" ");
}
//依次输出每一天,每一个输出项占8个字符宽度
for(int days=1;days=totalDays;days++)
{ /*for(int j=0;j5;j++)
{
for(int z=0;z7;z++)
{
if(!day[j][z].equals(0))
{
day[j][z]=new Integer(days);
}*/
if(days10)
{
showArea.append(" "+days+" ");
}
else if(days=10)
{
showArea.append(" "+days+" ");
}
i++;
if(i==7)
{
showArea.append("\n");
i=0;
}
/*}
}*/
}
}
public void itemStateChanged(ItemEvent e)
{
if(e.getStateChange()==ItemEvent.SELECTED)
{
selectYear=(String)(yearBox.getSelectedItem());
selectMonth=(String)(monthBox.getSelectedItem());
showDate(Integer.parseInt(selectYear),Integer.parseInt(selectMonth));
}
}
public static void main(String argv[])
{
new DataSimple();
}
}运行截图:
关于java日历图形界面和java设计日历窗口源代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。