⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cal.java

📁 Vehicle Maintenance Tracker (VMT) 可以对多个车辆的维护进行跟踪。项目类似于Auto-Do-It
💻 JAVA
字号:
package jMaint;import java.awt.*;import java.io.*;import javax.swing.*;import javax.swing.table.*;import javax.swing.text.*;import java.util.*;import java.util.Calendar.*;public class Cal extends javax.swing.JFrame {        GregorianCalendar CurCal = new GregorianCalendar();    String Months[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};    String CalDate = null;    public Cal() {        initComponents();    }        private void initComponents() {//GEN-BEGIN:initComponents        PanelCal = new javax.swing.JPanel();        CalRow0 = new javax.swing.JPanel();        CalLeft = new javax.swing.JButton();        CalMonth = new javax.swing.JLabel();        CalRight = new javax.swing.JButton();        CalRow1 = new javax.swing.JPanel();        Cal1A = new javax.swing.JLabel();        Cal1B = new javax.swing.JLabel();        Cal1C = new javax.swing.JLabel();        Cal1D = new javax.swing.JLabel();        Cal1E = new javax.swing.JLabel();        Cal1F = new javax.swing.JLabel();        Cal1G = new javax.swing.JLabel();        TableCal = new javax.swing.JTable();        CalButtons = new javax.swing.JPanel();        ButtonSave = new javax.swing.JButton();        ButtonToday = new javax.swing.JButton();        ButtonCancel = new javax.swing.JButton();        getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.X_AXIS));        setTitle("Calendar");        setName("Calendar");        setResizable(false);        PanelCal.setLayout(new javax.swing.BoxLayout(PanelCal, javax.swing.BoxLayout.Y_AXIS));        PanelCal.setAlignmentX(0.0F);        PanelCal.setAlignmentY(0.0F);        PanelCal.setMaximumSize(new java.awt.Dimension(210, 280));        PanelCal.setMinimumSize(new java.awt.Dimension(210, 280));        PanelCal.setPreferredSize(new java.awt.Dimension(210, 280));        CalRow0.setLayout(new javax.swing.BoxLayout(CalRow0, javax.swing.BoxLayout.X_AXIS));        CalLeft.setText("\u25c4");        CalLeft.setMargin(new java.awt.Insets(2, 2, 2, 2));        CalLeft.setMaximumSize(new java.awt.Dimension(30, 30));        CalLeft.setMinimumSize(new java.awt.Dimension(30, 30));        CalLeft.setPreferredSize(new java.awt.Dimension(30, 30));        CalLeft.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                CalLeftActionPerformed(evt);            }        });        CalRow0.add(CalLeft);        CalMonth.setFont(new java.awt.Font("Dialog", 1, 14));        CalMonth.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);        CalMonth.setMaximumSize(new java.awt.Dimension(150, 30));        CalMonth.setMinimumSize(new java.awt.Dimension(150, 30));        CalMonth.setPreferredSize(new java.awt.Dimension(150, 30));        CalRow0.add(CalMonth);        CalRight.setText("\u25ba");        CalRight.setMargin(new java.awt.Insets(2, 2, 2, 2));        CalRight.setMaximumSize(new java.awt.Dimension(30, 30));        CalRight.setMinimumSize(new java.awt.Dimension(30, 30));        CalRight.setPreferredSize(new java.awt.Dimension(30, 30));        CalRight.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                CalRightActionPerformed(evt);            }        });        CalRow0.add(CalRight);        PanelCal.add(CalRow0);        CalRow1.setLayout(new javax.swing.BoxLayout(CalRow1, javax.swing.BoxLayout.X_AXIS));        Cal1A.setFont(new java.awt.Font("Dialog", 1, 10));        Cal1A.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);        Cal1A.setText("Sun");        Cal1A.setMaximumSize(new java.awt.Dimension(30, 30));        Cal1A.setMinimumSize(new java.awt.Dimension(30, 30));        Cal1A.setPreferredSize(new java.awt.Dimension(30, 30));        CalRow1.add(Cal1A);        Cal1B.setFont(new java.awt.Font("Dialog", 1, 10));        Cal1B.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);        Cal1B.setText("Mon");        Cal1B.setMaximumSize(new java.awt.Dimension(30, 30));        Cal1B.setMinimumSize(new java.awt.Dimension(30, 30));        Cal1B.setPreferredSize(new java.awt.Dimension(30, 30));        CalRow1.add(Cal1B);        Cal1C.setFont(new java.awt.Font("Dialog", 1, 10));        Cal1C.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);        Cal1C.setText("Tue");        Cal1C.setMaximumSize(new java.awt.Dimension(30, 30));        Cal1C.setMinimumSize(new java.awt.Dimension(30, 30));        Cal1C.setPreferredSize(new java.awt.Dimension(30, 30));        CalRow1.add(Cal1C);        Cal1D.setFont(new java.awt.Font("Dialog", 1, 10));        Cal1D.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);        Cal1D.setText("Wed");        Cal1D.setMaximumSize(new java.awt.Dimension(30, 30));        Cal1D.setMinimumSize(new java.awt.Dimension(30, 30));        Cal1D.setPreferredSize(new java.awt.Dimension(30, 30));        CalRow1.add(Cal1D);        Cal1E.setFont(new java.awt.Font("Dialog", 1, 10));        Cal1E.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);        Cal1E.setText("Thu");        Cal1E.setMaximumSize(new java.awt.Dimension(30, 30));        Cal1E.setMinimumSize(new java.awt.Dimension(30, 30));        Cal1E.setPreferredSize(new java.awt.Dimension(30, 30));        CalRow1.add(Cal1E);        Cal1F.setFont(new java.awt.Font("Dialog", 1, 10));        Cal1F.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);        Cal1F.setText("Fri");        Cal1F.setMaximumSize(new java.awt.Dimension(30, 30));        Cal1F.setMinimumSize(new java.awt.Dimension(30, 30));        Cal1F.setPreferredSize(new java.awt.Dimension(30, 30));        CalRow1.add(Cal1F);        Cal1G.setFont(new java.awt.Font("Dialog", 1, 10));        Cal1G.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);        Cal1G.setText("Sat");        Cal1G.setMaximumSize(new java.awt.Dimension(30, 30));        Cal1G.setMinimumSize(new java.awt.Dimension(30, 30));        Cal1G.setPreferredSize(new java.awt.Dimension(30, 30));        CalRow1.add(Cal1G);        PanelCal.add(CalRow1);        TableCal.setBackground(new java.awt.Color(204, 204, 204));        TableCal.setFont(new java.awt.Font("Dialog", 1, 14));        TableCal.setPreferredScrollableViewportSize(new java.awt.Dimension(210, 210));        TableCal.setRowSelectionAllowed(false);        TableCal.setSelectionBackground(java.awt.Color.red);        TableCal.setTableHeader(null);        TableCalModel();        TableCal.addMouseListener(new java.awt.event.MouseAdapter() {            public void mouseReleased(java.awt.event.MouseEvent evt) {                TableCalMouseReleased(evt);            }        });        PanelCal.add(TableCal);        CalButtons.setLayout(null);        CalButtons.setMaximumSize(new java.awt.Dimension(210, 40));        ButtonSave.setText("Save");        ButtonSave.setMargin(new java.awt.Insets(2, 2, 2, 2));        ButtonSave.setMaximumSize(new java.awt.Dimension(55, 25));        ButtonSave.setMinimumSize(new java.awt.Dimension(55, 25));        ButtonSave.setPreferredSize(new java.awt.Dimension(55, 25));        ButtonSave.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                ButtonSaveActionPerformed(evt);            }        });        CalButtons.add(ButtonSave);        ButtonSave.setBounds(10, 10, 55, 25);        ButtonToday.setForeground(new java.awt.Color(255, 0, 0));        ButtonToday.setText("Today");        ButtonToday.setMargin(new java.awt.Insets(2, 2, 2, 2));        ButtonToday.setMaximumSize(new java.awt.Dimension(55, 25));        ButtonToday.setMinimumSize(new java.awt.Dimension(55, 25));        ButtonToday.setPreferredSize(new java.awt.Dimension(55, 25));        ButtonToday.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                ButtonTodayActionPerformed(evt);            }        });        CalButtons.add(ButtonToday);        ButtonToday.setBounds(80, 10, 55, 25);        ButtonCancel.setText("Cancel");        ButtonCancel.setMargin(new java.awt.Insets(2, 2, 2, 2));        ButtonCancel.setMaximumSize(new java.awt.Dimension(55, 25));        ButtonCancel.setMinimumSize(new java.awt.Dimension(55, 25));        ButtonCancel.setPreferredSize(new java.awt.Dimension(55, 25));        ButtonCancel.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                ButtonCancelActionPerformed(evt);            }        });        CalButtons.add(ButtonCancel);        ButtonCancel.setBounds(150, 10, 55, 25);        PanelCal.add(CalButtons);        getContentPane().add(PanelCal);        pack();    }//GEN-END:initComponents    private void ButtonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSaveActionPerformed        int m = CurCal.get(CurCal.MONTH)+1;        int d = CurCal.get(CurCal.DATE);        String m1 = null;        String d1 = null;        if (m<10) m1 = "0"+Integer.toString(m);        else m1=Integer.toString(m);        if (d<10) d1 = "0"+Integer.toString(d);        else d1=Integer.toString(d);        CalDate = m1+"/"+d1+"/"+Integer.toString(CurCal.get(CurCal.YEAR));        this.dispose();    }//GEN-LAST:event_ButtonSaveActionPerformed    private void ButtonTodayActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonTodayActionPerformed        CurCal = new GregorianCalendar();        TableCalModel();    }//GEN-LAST:event_ButtonTodayActionPerformed    private void ButtonCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonCancelActionPerformed        this.dispose();    }//GEN-LAST:event_ButtonCancelActionPerformed    private void TableCalMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_TableCalMouseReleased        ChangeDate(Integer.parseInt(TableCal.getValueAt(TableCal.getSelectedRow(),TableCal.getSelectedColumn()).toString()),TableCal.getSelectedRow());    }//GEN-LAST:event_TableCalMouseReleased    private void CalLeftActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CalLeftActionPerformed        CurCal.add(CurCal.MONTH, -1);        TableCalModel();    }//GEN-LAST:event_CalLeftActionPerformed    private void CalRightActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CalRightActionPerformed        CurCal.add(CurCal.MONTH, 1);        TableCalModel();    }//GEN-LAST:event_CalRightActionPerformed        public static void main(String args[]) {        new Cal().show();    }        public void activate(String date) {        this.show();        String[] d = date.split("/");        CurCal.set(Integer.parseInt(d[2]),Integer.parseInt(d[0])-1,Integer.parseInt(d[1]));        TableCalModel();    }        public void TableCalModel() {        DefaultTableModel model = new DefaultTableModel();        TableCellRenderer renderer = new CalTableCellRenderer();        Integer[][] data = new Integer[6][7];        CalMonth.setText(Months[CurCal.get(CurCal.MONTH)] + " " + Integer.toString(CurCal.get(CurCal.YEAR)));        GregorianCalendar CalX = new GregorianCalendar();        CalX.set(CurCal.get(CurCal.YEAR),CurCal.get(CurCal.MONTH),1);        CalX.add(CalX.MONTH, 1);        CalX.add(CalX.DATE, -1);        if (CalX.get(CalX.DAY_OF_WEEK)==7) CalX.add(CalX.DATE, 7);        CalX.add(CalX.DATE, 7-CalX.get(CalX.DAY_OF_WEEK));        for (int i=5; i>-1; i--)            for (int j=6; j>-1; j--) {                data[i][j]= new Integer(CalX.get(CalX.DATE));                CalX.add(CalX.DATE, -1);            }        model.setRowCount(6);        model.setColumnCount(7);        String[] s = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};        model.setColumnIdentifiers(s);        model.setDataVector(data,s);        TableCal.setModel(model);        TableCal.setDefaultRenderer(Object.class, renderer);        TableCal.setShowGrid(false);        TableCal.setRowSelectionAllowed(false);        TableCal.setColumnSelectionAllowed(false);        TableCal.setCellSelectionEnabled(true);        TableCal.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);        TableCal.setPreferredSize(new java.awt.Dimension(210,210));        TableCal.changeSelection(0,0, false,false);        for (int i=0; i<7; i++) TableCal.getColumnModel().getColumn(i).setPreferredWidth(30);        for (int i=0; i<6; i++) TableCal.setRowHeight(i,30);    }        public class CalTableCellRenderer extends DefaultTableCellRenderer {        public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column) {            this.setForeground(Color.black);            this.setVisible(true);            this.setFocusable(true);            this.setBackground(new java.awt.Color(204, 204, 204));            this.setText(value !=null ? value.toString() : "");            this.setHorizontalAlignment(CENTER);            this.setVerticalAlignment(CENTER);            this.setFont(new java.awt.Font("Dialog", 1, 14));            if (((Integer.parseInt(value.toString()) < 15) && (row == 5)) || ((Integer.parseInt(value.toString()) > 15) && (row < 2))) {                this.setForeground(Color.gray);            } else {                if (Integer.parseInt(value.toString()) == CurCal.get(CurCal.DATE)) this.setBackground(Color.red);            }            return this;        }    }        public void ChangeDate(int n, int r) {        if ((r<2) && (n>15)) CurCal.add(CurCal.MONTH, -1);        if ((r==5) && (n<15)) CurCal.add(CurCal.MONTH, 1);        CurCal.set(CurCal.DATE, n);        TableCalModel();    }        // Variables declaration - do not modify//GEN-BEGIN:variables    private javax.swing.JButton ButtonCancel;    private javax.swing.JButton ButtonSave;    private javax.swing.JButton ButtonToday;    private javax.swing.JLabel Cal1A;    private javax.swing.JLabel Cal1B;    private javax.swing.JLabel Cal1C;    private javax.swing.JLabel Cal1D;    private javax.swing.JLabel Cal1E;    private javax.swing.JLabel Cal1F;    private javax.swing.JLabel Cal1G;    private javax.swing.JPanel CalButtons;    private javax.swing.JButton CalLeft;    private javax.swing.JLabel CalMonth;    private javax.swing.JButton CalRight;    private javax.swing.JPanel CalRow0;    private javax.swing.JPanel CalRow1;    private javax.swing.JPanel PanelCal;    private javax.swing.JTable TableCal;    // End of variables declaration//GEN-END:variables}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -