swing日历小程序
来源:互联网 发布:网游加速器mac 版 编辑:程序博客网 时间:2024/05/16 01:23
/*
* RILI.java
*
* Created on 2007年12月25日, 上午1:25
*/
package rili;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.swing.JTable;
import javax.swing.JTextField;
/**
*
* @author Anthony'Wanted
*/
public class RILI extends javax.swing.JFrame {
Calendar calendar;
private String[] head = {"日", "一", "二", "三", "四", "五", "六"};
/** Creates new form RILI */
public RILI() {
initComponents();
calendar = new GregorianCalendar();
setTable(0);
}
public void setTable(int month)
{
calendar.add(Calendar.MONTH, month);
this.jLabel1.setText(Integer.toString(calendar.get(calendar.YEAR))
+ "年" + Integer.toString(calendar.get(calendar.MONTH) + 1)
+ "月");
calendar.add(Calendar.DAY_OF_MONTH, -1 * calendar.get(calendar.DAY_OF_MONTH) + 1);
int dow = calendar.get(calendar.DAY_OF_WEEK);
int dom = calendar.get(calendar.DAY_OF_MONTH);
int days = daysOfMonth(calendar.get(calendar.MONTH) + 1, calendar.get(calendar.YEAR));
int tds = days + dow - 1;
int nulback = 7 - ((days - (7 - dow + 1)) % 7);
String[] date = new String[tds + nulback];
for (int i = 0; i < dow - 1; i++)
{
date[i] = null;
}
int temp = 1;
for (int i = dow - 1; i < tds; i++)
{
date[i] = Integer.toString(temp);
temp++;
}
for (int i = tds + nulback - dow + 1; i < nulback; i++)
{
date[i] = null;
}
int rows = date.length / 7;
String[][] dateMatrix = new String [rows][7];
temp = 0;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < 7; j++)
{
dateMatrix[i][j] = date[temp];
temp++;
}
}
jTable1.setModel(new javax.swing.table.DefaultTableModel(dateMatrix, head));
}
public boolean isLeapYear(int year)
{
if ((year % 400) == 0)
return true;
else if ((year % 4) == 0)
{
if ((year % 100) == 0)
return false;
else
return true;
}
else
return false;
}
public int daysOfMonth(int mon, int year)
{
int ld;
if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12)
{
ld = 31;
}
else if (mon == 4 || mon == 6 || mon == 9 || mon == 11)
{
ld = 30;
}
else
{
if (isLeapYear(year))
{
ld = 29;
}
else
{
ld = 28;
}
}
return ld;
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("/u65e5/u5386");
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null}
},
new String [] {
"日", "一", "二", "三", "四", "五", "六"
}
) {
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
};
boolean[] canEdit = new boolean [] {
false, false, false, false, false, false, false
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
jScrollPane1.setViewportView(jTable1);
jButton1.setText("PreviousMonth");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("NextMonth");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jLabel1.setText("lable");
jLabel1.getAccessibleContext().setAccessibleName("label");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(62, 62, 62)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 77, Short.MAX_VALUE)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(64, 64, 64))
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 441, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(184, 184, 184)
.addComponent(jLabel1)
.addContainerGap(227, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, 31, Short.MAX_VALUE))
.addGap(21, 21, 21)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 119, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(12, 12, 12))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
setTable(1);
}//GEN-LAST:event_jButton2ActionPerformed
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
setTable(-1);
}//GEN-LAST:event_jButton1ActionPerformed
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new RILI().setVisible(true);
}
});
}
// 变量声明 - 不进行修改//GEN-BEGIN:variables
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// 变量声明结束//GEN-END:variables
}
- swing日历小程序
- 下一天(Java swing写的一个日历小程序)
- 小程序--打印日历
- 一个日历小程序.
- 日历小程序
- JAVA日历小程序
- 日历小程序
- java日历小程序
- 日历打印小程序
- java日历小程序
- 小程序做日历
- java swing组件实现gui 日历程序
- 一个小日历程序(js)
- Ubuntu 10.10 日历小程序
- 日历小程序(java)
- Java日历的小程序
- Android小程序-日历选择器
- java 日历窗口小程序
- 判断文件是复制还是剪切
- 工厂模式
- A Taste of AOP from Solving Problems with OOP and Design Patterns (Part I) zz
- JSP
- 用Telnet连接到远程服务器执行命令的C#程序
- swing日历小程序
- Finding Initialized or Uninitialised static data in a DLL
- A Taste of AOP from Solving Problems with OOP and Design Patterns (Part II) zz
- 驳斥来自MS的feimingbiao的错误言论
- 屏蔽系统热键的方法总结
- 数据库中的命名规则
- Nc单据制作单据步骤
- LDAP 示例
- MS AJAX Extensions 12030异常