亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? datepopup.java

?? Java寫的日期選擇控件
?? JAVA
字號:
/*
 * DatePopup.java
 *
 */

package dyno.swing.beans;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import javax.swing.BorderFactory;
import javax.swing.DefaultComboBoxModel;
import javax.swing.GroupLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JSpinner;
import javax.swing.LayoutStyle;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.plaf.basic.BasicComboBoxUI;
import javax.swing.plaf.basic.BasicComboPopup;

/**
 *
 * @author  rehte
 */
public class DatePopup extends JPopupMenu{
    static{
        JPopupMenu.setDefaultLightWeightPopupEnabled(false);
    }
    
    static int getMonth(Date d){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(d);
        return calendar.get(Calendar.MONTH)+1;
    }
    static int getYear(Date d){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(d);
        return calendar.get(Calendar.YEAR);
    }
    static int getDate(Date d){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(d);
        return calendar.get(Calendar.DATE);
    }
    static class Month {
        private int month;
        public Month(Date d){
            month=getMonth(d);
        }
        public Month(int m){
            month=m;
        }
        public int month(){
            return month;
        }
        public String toString(){
            return names[month-1];
        }
        public boolean equals(Object o){
            if(o==null)
                return false;
            if(!(o instanceof Month))
                return false;
            Month m=(Month)o;
            return m.month==month;
        }
        private static final String[]names={
            "January",
            "Februray",
            "March",
            "April",
            "May",
            "June",
            "July",
            "August",
            "September",
            "October",
            "November",
            "December",
        };
    }
    
    private static final Month[] MONTHS={
        new Month(1),
        new Month(2),
        new Month(3),
        new Month(4),
        new Month(5),
        new Month(6),
        new Month(7),
        new Month(8),
        new Month(9),
        new Month(10),
        new Month(11),
        new Month(12),
    };
    /** Creates new form DatePopup */
    public DatePopup() {
        initComponents();
        DefaultComboBoxModel model=new DefaultComboBoxModel(MONTHS);
        cbMonth.setModel(model);
        BasicComboPopup bpopup=(BasicComboPopup)((BasicComboBoxUI)cbMonth.getUI()).getAccessibleChild(cbMonth, 0);
        Date today=new Date();
        datePanel.setCalendarDate(today);
        cbMonth.setSelectedItem(new Month(today));
        spYear.setValue(new Integer(getYear(today)));
    }
    
    private ArrayList<ActionListener> listeners=new ArrayList<ActionListener>();
    
    public void addActionListener(ActionListener l){
        if(!listeners.contains(l))
            listeners.add(l);
    }
    public void removeActionListener(ActionListener l){
        if(listeners.contains(l))
            listeners.remove(l);
    }
    protected void fireActionPerformed(ActionEvent e){
        for(ActionListener l:listeners)
            l.actionPerformed(e);
    }
    public void setAnimationEffect(int effect){
        datePanel.setEffect(effect);
    }
    private Date date;
    public Date getDate(){
        return date;
    }
    public void setDate(Date d){
        date=d;
        DateModel m=new DateModel(d);
        datePanel.setModel(m);
        cbMonth.setSelectedItem(new Month(d));
        spYear.setValue(new Integer(m.getYear()));
    }
    private void initComponents() {
        jPanel1 = new JPanel();
        cbMonth = new MonthCombo();
        spYear = new JSpinner();
        btnLeft = new JButton();
        btnRight = new JButton();
        datePanel = new DatePanel();
        jPanel2 = new JPanel();
        btnClear = new JButton();
        btnToday = new JButton();
        setLayout(new BorderLayout());
        
        setBorder(BorderFactory.createLineBorder(new Color(122, 150, 223)));
        jPanel1.setBackground(new Color(122, 150, 223));
        jPanel1.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0));
        cbMonth.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                cbMonthActionPerformed(evt);
            }
        });
        
        spYear.addChangeListener(new ChangeListener() {
            public void stateChanged(ChangeEvent evt) {
                spYearStateChanged(evt);
            }
        });
        
        btnLeft.setIcon(new ImageIcon(getClass().getResource("/dyno/swing/beans/left_arrow.png")));
        btnLeft.setBorder(null);
        btnLeft.setFocusPainted(false);
        btnLeft.setMaximumSize(new Dimension(18, 18));
        btnLeft.setMinimumSize(new Dimension(18, 18));
        btnLeft.setPreferredSize(new Dimension(18, 18));
        btnLeft.setPressedIcon(new ImageIcon(getClass().getResource("/dyno/swing/beans/pressed_left_arrow.png")));
        btnLeft.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                btnLeftActionPerformed(evt);
            }
        });
        
        btnRight.setBackground(new Color(122, 150, 223));
        btnRight.setIcon(new ImageIcon(getClass().getResource("/dyno/swing/beans/right_arrow.png")));
        btnRight.setBorder(null);
        btnRight.setFocusPainted(false);
        btnRight.setMargin(new Insets(0, 0, 0, 0));
        btnRight.setMaximumSize(new Dimension(18, 18));
        btnRight.setMinimumSize(new Dimension(18, 18));
        btnRight.setPreferredSize(new Dimension(18, 18));
        btnRight.setPressedIcon(new ImageIcon(getClass().getResource("/dyno/swing/beans/pressed_right_arrow.png")));
        btnRight.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                btnRightActionPerformed(evt);
            }
        });
        
        GroupLayout jPanel1Layout = new GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(btnLeft, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addGap(36, 36, 36)
                .addComponent(cbMonth, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(spYear, GroupLayout.PREFERRED_SIZE, 80, GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 36, Short.MAX_VALUE)
                .addComponent(btnRight, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
                );
        jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                .addComponent(btnLeft, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addComponent(btnRight, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addComponent(cbMonth, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addComponent(spYear, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                );
        add(jPanel1, BorderLayout.NORTH);
        
        datePanel.setBackground(Color.white);
        datePanel.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                datePanelActionPerformed(evt);
            }
        });
        
        GroupLayout datePanelLayout = new GroupLayout(datePanel);
        datePanel.setLayout(datePanelLayout);
        datePanelLayout.setHorizontalGroup(
                datePanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addGap(0, 261, Short.MAX_VALUE)
                );
        datePanelLayout.setVerticalGroup(
                datePanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addGap(0, 131, Short.MAX_VALUE)
                );
        add(datePanel, BorderLayout.CENTER);
        
        jPanel2.setBackground(new Color(122, 150, 223));
        jPanel2.setPreferredSize(new Dimension(100, 40));
        btnClear.setText("Clear");
        btnClear.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                btnClearActionPerformed(evt);
            }
        });
        
        btnToday.setText("Today");
        btnToday.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                btnTodayActionPerformed(evt);
            }
        });
        
        GroupLayout jPanel2Layout = new GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
                jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addGroup(GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addContainerGap(60, Short.MAX_VALUE)
                .addComponent(btnToday)
                .addGap(44, 44, 44)
                .addComponent(btnClear)
                .addGap(67, 67, 67))
                );
        jPanel2Layout.setVerticalGroup(
                jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addGroup(GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                .addComponent(btnClear)
                .addComponent(btnToday))
                .addContainerGap())
                );
        add(jPanel2, BorderLayout.SOUTH);
        
    }// </editor-fold>
    
    private void datePanelActionPerformed(ActionEvent evt) {
        DateModel m=datePanel.getModel();
        date=new Date(m.getYear()-1900, m.getMonth()-1, m.getDate());
        fireActionPerformed(new ActionEvent(this, 0, "choose"));
    }
    
    private void btnClearActionPerformed(ActionEvent evt) {
        date=null;
        fireActionPerformed(new ActionEvent(this, 0, "choose"));
    }
    
    private void btnTodayActionPerformed(ActionEvent evt) {
        date=new Date();
        DateModel m=new DateModel(date);
        datePanel.setModel(m);
        cbMonth.setSelectedItem(new Month(m.getMonth()));
        spYear.setValue(new Integer(m.getYear()));
        fireActionPerformed(new ActionEvent(this, 0, "choose"));
    }
    
    private void btnLeftActionPerformed(ActionEvent evt) {
        DateModel model=datePanel.getModel();
        int m=model.getMonth();
        int y=model.getYear();
        if(m==1){
            m=12;
            y--;
        }else
            m--;
        DateModel newModel=new DateModel(y, m, model.getDate());
        datePanel.setModel(newModel);
        spYear.setValue(new Integer(y));
        cbMonth.setSelectedItem(new Month(m));
    }
    
    private void btnRightActionPerformed(ActionEvent evt) {
        DateModel model=datePanel.getModel();
        int m=model.getMonth();
        int y=model.getYear();
        if(m==12){
            m=1;
            y++;
        }else
            m++;
        DateModel newModel=new DateModel(y, m, model.getDate());
        datePanel.setModel(newModel);
        spYear.setValue(new Integer(y));
        cbMonth.setSelectedItem(new Month(m));
    }
    
    private void spYearStateChanged(ChangeEvent evt) {
        DateModel model=datePanel.getModel();
        DateModel newModel=new DateModel(((Integer)spYear.getValue()).intValue(), model.getMonth(), model.getDate());
        datePanel.setModel(newModel);
    }
    
    private void cbMonthActionPerformed(ActionEvent evt) {
        Object o=cbMonth.getSelectedItem();
        if(o==null)
            return;
        Month m=(Month)o;
        DateModel model=datePanel.getModel();
        DateModel newModel=new DateModel(model.getYear(), m.month(), model.getDate());
        datePanel.setModel(newModel);
    }
    
    
    
    // Variables declaration - do not modify
    private JButton btnClear;
    private JButton btnLeft;
    private JButton btnRight;
    private JButton btnToday;
    private JComboBox cbMonth;
    private dyno.swing.beans.DatePanel datePanel;
    private JPanel jPanel1;
    private JPanel jPanel2;
    private JSpinner spYear;
    // End of variables declaration
    
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人一区二区三区片免费| 亚洲国产综合91精品麻豆| 日韩亚洲电影在线| 欧美日韩美女一区二区| 91久久精品午夜一区二区| 91丝袜美腿高跟国产极品老师| 波多野结衣中文字幕一区二区三区 | 日韩女优av电影| 欧美一级xxx| 日韩一区二区中文字幕| 日韩一区二区三区高清免费看看| 欧美精品在线观看播放| 日韩午夜av电影| 久久影院午夜片一区| 亚洲国产精品二十页| 成人欧美一区二区三区黑人麻豆| 综合激情成人伊人| 亚洲精品v日韩精品| 亚洲大型综合色站| 日本特黄久久久高潮 | 欧美日韩国产一级| 欧美日韩不卡在线| 日韩精品一区二区在线观看| 国产亚洲欧美日韩日本| 亚洲三级在线免费| 午夜精品久久久久久久久久久| 男人的j进女人的j一区| 国产福利电影一区二区三区| 99久久久无码国产精品| 在线看不卡av| 欧美一级片在线| 国产午夜精品一区二区三区视频| 国产日本亚洲高清| 亚洲综合视频在线观看| 美国三级日本三级久久99| 国产ts人妖一区二区| 日本精品视频一区二区| 日韩一级二级三级| 国产精品乱子久久久久| 亚洲高清视频在线| 91色在线porny| 欧美精品三级在线观看| 久久久久久久久一| ...xxx性欧美| 看国产成人h片视频| av高清久久久| 91麻豆精品国产91久久久久久 | 男女视频一区二区| hitomi一区二区三区精品| 欧美日本韩国一区二区三区视频 | 黄页网站大全一区二区| a4yy欧美一区二区三区| 欧美精品tushy高清| 国产无一区二区| 亚洲第一久久影院| 国产不卡视频一区二区三区| 欧美麻豆精品久久久久久| 国产亚洲一区二区在线观看| 天天影视涩香欲综合网 | 国产精品欧美综合在线| 日韩精品一二三区| 99久久国产综合精品色伊| 日韩一级片网址| 亚洲一区二区欧美日韩| 成人做爰69片免费看网站| 欧美一区二区三级| 一区二区三区蜜桃网| 国产成人精品一区二| 欧美一区午夜视频在线观看 | 狠狠色伊人亚洲综合成人| 色成人在线视频| 亚洲国产精品二十页| 久久精品噜噜噜成人av农村| 欧美日韩一区二区在线观看视频| 中文字幕巨乱亚洲| 麻豆国产91在线播放| 欧美日韩在线不卡| 综合亚洲深深色噜噜狠狠网站| 精品一区二区三区免费| 欧美精品在线视频| 亚洲一卡二卡三卡四卡| 91丝袜美腿高跟国产极品老师| 久久久三级国产网站| 美女视频黄免费的久久 | 亚洲精品欧美综合四区| 国产成人综合在线播放| 日韩精品中文字幕一区| 天天综合日日夜夜精品| 欧美日韩一区二区在线视频| 亚洲自拍都市欧美小说| 91无套直看片红桃| 中文字幕一区av| 成人激情图片网| 国产精品视频麻豆| 高清不卡一区二区| 久久精品人人做人人综合| 国产在线不卡一卡二卡三卡四卡| 日韩无一区二区| 九色综合狠狠综合久久| 精品国产制服丝袜高跟| 国产一区二区三区观看| 久久婷婷综合激情| 国产精品一区二区不卡| 国产婷婷色一区二区三区四区| 国产精品888| 欧美韩国一区二区| av综合在线播放| 亚洲女同一区二区| 在线观看一区日韩| 亚洲午夜电影在线| 欧美日韩精品免费观看视频| 午夜精品久久久久久久蜜桃app| 777午夜精品免费视频| 青娱乐精品视频| 精品国产乱码久久久久久久| 国产精品77777| 亚洲视频网在线直播| 色哟哟一区二区| 石原莉奈在线亚洲二区| 欧美成人性战久久| 国产精品123| 亚洲另类在线一区| 欧美裸体bbwbbwbbw| 久久av资源站| 国产精品乱人伦| 91久久精品一区二区二区| 日韩精品色哟哟| 国产日韩欧美综合在线| 91蜜桃网址入口| 日日摸夜夜添夜夜添亚洲女人| 精品国产乱码久久久久久久| 成人av小说网| 天堂资源在线中文精品| 亚洲精品一区二区三区精华液| 不卡一区在线观看| 丝袜亚洲另类丝袜在线| 久久久久久免费| 91国在线观看| 精品一区中文字幕| 国产精品你懂的在线| 欧美精品在线视频| 国产成人在线色| 亚洲在线观看免费视频| 亚洲精品一区二区三区四区高清| av高清久久久| 麻豆国产精品777777在线| 18欧美乱大交hd1984| 91精品国产高清一区二区三区蜜臀| 国产一区二区三区免费看| 亚洲欧美国产三级| 精品久久久久久久久久久久包黑料| 97久久久精品综合88久久| 亚洲国产精品一区二区尤物区| 久久久精品日韩欧美| 欧美性极品少妇| 国产成人av电影免费在线观看| 亚洲成人黄色小说| 久久精品亚洲一区二区三区浴池| 欧美性大战久久| 国产成人亚洲精品狼色在线| 午夜精品福利视频网站| 国产精品久久毛片a| 日韩欧美视频在线| 日本精品裸体写真集在线观看 | 精品视频全国免费看| 大白屁股一区二区视频| 日本午夜一本久久久综合| 亚洲精品国产无天堂网2021| 精品国产免费人成电影在线观看四季 | 精品在线播放免费| 亚洲午夜免费电影| 中文字幕在线不卡视频| 精品少妇一区二区三区日产乱码 | 中文字幕制服丝袜成人av| 欧美成人vps| 欧美视频日韩视频| av一区二区不卡| 国产一区二区三区| 婷婷综合另类小说色区| 亚洲蜜臀av乱码久久精品蜜桃| 久久久www免费人成精品| 91精品国产综合久久精品app| 色婷婷久久99综合精品jk白丝| 成人美女在线观看| 国产一区二区三区四区在线观看| 奇米影视一区二区三区小说| 亚洲国产综合91精品麻豆| 亚洲精品写真福利| 国产精品久久久久久久久动漫| 久久亚洲二区三区| 欧美videossexotv100| 精品婷婷伊人一区三区三| 色老汉一区二区三区| 91在线小视频| av亚洲精华国产精华| 成人视屏免费看| 国产成人午夜视频| 国产成人h网站| 国产成人午夜电影网| 国产v综合v亚洲欧|