62,614
社区成员
发帖
与我相关
我的任务
分享
Calendar c = Calendar.getInstance();
System.out.println(c.get(Calendar.DAY_OF_WEEK));
showCalendar();
controlPanel=new JPanel();
SpinnerNumberModel yearModel=new SpinnerNumberModel();
yearSpinner=new JSpinner(yearModel);
yearSpinner.setValue(year);
yearSpinner.addChangeListener(this);
yearLabel=new JLabel("年");
String[] monthInt={"1","2","3","4","5","6","7","8","9","10","11","12"};
monthBx=new JComboBox(monthInt);
monthBx.setSelectedIndex(month-1);
monthBx.addItemListener(this);
monthLabel=new JLabel("月");
controlPanel.add(yearSpinner);
controlPanel.add(yearLabel);
controlPanel.add(monthBx);
controlPanel.add(monthLabel);
SpinnerNumberModel yearModel = new SpinnerNumberModel();
yearSpinner = new JSpinner(yearModel);
yearSpinner.setValue(year);
yearSpinner.addChangeListener(this);
controlPanel = new JPanel();
yearLabel = new JLabel("年");
String[] monthInt = { "1", "2", "3", "4", "5", "6", "7", "8", "9",
"10", "11", "12" };
monthBx = new JComboBox(monthInt);
monthBx.setSelectedIndex(month - 1);
monthBx.addItemListener(this);
monthLabel = new JLabel("月");
controlPanel.add(yearSpinner);
controlPanel.add(yearLabel);
controlPanel.add(monthBx);
controlPanel.add(monthLabel);
showCalendar();
<script language="javascript">
function getMonthDayAmount(Year,Month) {
var Num=0;
if(Month==2) {
if(Year%4==0&&Year%400==0) {
Num=29;
} else {
Num=28;
}
} else {
if(Month==4||Month==6||Month==9 || Month==11) {
Num=30;
} else {
Num=31;
}
}
return Num;
}
function getRenderedHtml(Year, Month, Day, Now) {
var firstDayOfThisMonth = new Date(Year, Month, 1);
var buffer = "";
buffer += "<table id='calendar' cellSpacing='0' cellPadding='0'>";
//create header
buffer += "<caption>";
buffer += Year + "年" + (Month + 1) + "月";
buffer += "</caption>";
//create week header
buffer += "<tr class='title'><th title=Sunday scope=col abbr=Sunday>日</th><th title=Monday scope=col>一</th><th title=Tuesday scope=col>二</th><th title=Wednesday scope=col>三</th><th title=Thursday scope=col>四</th><th title=Friday scope=col>五</TH><th title=Saturday scope=col>六</th></tr>";
var monthDay = getMonthDayAmount(Year, Month);
//create blank in calendar head
buffer += "<tr class='calendar-body'>";
var firstDayWeek = firstDayOfThisMonth.getDay();
for(var i = 0; i < firstDayWeek; i++) {
buffer += "<td> </td>";
}
//create calender body
var c_i = 0;
for(c_i = 1; c_i < monthDay; c_i++ ) {
var current = new Date(Year, Month, c_i);
if(c_i == Day) {
buffer += "<td class='today'>"+ c_i +"</td>";
} else {
buffer += "<td>"+ c_i +"</td>";
}
if(current.getDay() == 6) {
buffer += "</tr>";
if(c_i < monthDay - 1) {
buffer += "<tr class='calendar-body'>";
}
} else {
if(c_i == monthDay - 1) {
for(var j = current.getDay(); j < 6; j++) {
buffer += "<td> </td>";
}
buffer += "</tr>";
}
}
}
return buffer + "</table>";
}
var ddd = new Date();
document.getElementById('calendar-container').innerHTML = getRenderedHtml(ddd.getFullYear(), ddd.getMonth(), ddd.getDate(), ddd);
//alert(document.getElementById('calendar-container').innerHTML);
</script>
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.event.*;
public class Calendar_year extends JFrame implements ChangeListener,
ItemListener {
JPanel calendarPanel, controlPanel;
JLabel[] title = new JLabel[7];
JLabel[] day = new JLabel[42];
JSpinner yearSpinner;
JComboBox monthBx;
JLabel yearLabel, monthLabel;
int year, month, days;
GregorianCalendar c;
public Calendar_year() {
super("万年历");
setGUIComponent();
getContentPane().add(calendarPanel, BorderLayout.NORTH);
getContentPane().add(controlPanel, BorderLayout.SOUTH);
}
public void setGUIComponent() {
calendarPanel = new JPanel();
c = new GregorianCalendar(TimeZone.getDefault());
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH) + 1;
SpinnerNumberModel yearModel = new SpinnerNumberModel();
yearSpinner = new JSpinner(yearModel);
yearSpinner.setValue(year);
yearSpinner.addChangeListener(this);
controlPanel = new JPanel();
yearLabel = new JLabel("年");
String[] monthInt = { "1", "2", "3", "4", "5", "6", "7", "8", "9",
"10", "11", "12" };
monthBx = new JComboBox(monthInt);
monthBx.setSelectedIndex(month - 1);
monthBx.addItemListener(this);
monthLabel = new JLabel("月");
controlPanel.add(yearSpinner);
controlPanel.add(yearLabel);
controlPanel.add(monthBx);
controlPanel.add(monthLabel);
showCalendar();
}
public void showCalendar() {
title = new JLabel[7];
String[] titleName = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
day = new JLabel[42];
GridLayout layout = new GridLayout(7, 7);
calendarPanel.setLayout(layout);
for (int i = 0; i < title.length; i++) {
title[i] = new JLabel(titleName[i]);
calendarPanel.add(title[i]);
}
for (int i = 0; i < day.length; i++) {
day[i] = new JLabel();
calendarPanel.add(day[i]);
}
c = new GregorianCalendar(year, month, 1);
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
setCalendar(c);
}
public void setCalendar(GregorianCalendar ch) {
int firstday = ch.get(Calendar.DAY_OF_WEEK);
year = ch.get(Calendar.YEAR);
month = ch.get(Calendar.MONTH) + 1;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if (c.isLeapYear(year))
days = 29;
else
days = 28;
break;
}
for (int i = 0; i < day.length; i++)
day[i].setText("");
year = (Integer) yearSpinner.getValue();// 还有这里估计也错了,要设置制定year年,month月份的月历
String sMonth = (String) monthBx.getSelectedItem();
month = Integer.valueOf(sMonth).intValue();//
}
public void stateChanged(ChangeEvent e) {
if (e.getSource() == yearSpinner) {
year = (Integer) yearSpinner.getValue();
c = new GregorianCalendar(year, month, 1);
setCalendar(c);
}
}
public void itemStateChanged(ItemEvent e) {
if (e.getSource() == monthBx) {
String sMonth = (String) monthBx.getSelectedItem();
month = Integer.valueOf(sMonth).intValue();//
}
}
public static void main(String[] args) {
Calendar_year calendar = new Calendar_year();
calendar.pack();
calendar.setVisible(true);
calendar.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}