翻譯|使用教程|編輯:楊鵬連|2020-07-28 10:45:32.287|閱讀 336 次
概述:在此博客文章中,我們將使用調(diào)度程序庫在Java Swing中構(gòu)建每月日歷。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
MindFusion.Diagramming for WinForms是一個(gè)能幫助你創(chuàng)建工作流和進(jìn)程圖表的.NET控件;數(shù)據(jù)庫實(shí)體關(guān)系圖表;組織圖表;對象層次和關(guān)系圖表;圖表和樹。它是基于對象-圖表框,表格和箭頭類型,將其歸類分派給其他并結(jié)合成復(fù)雜的結(jié)構(gòu)。該控件提供超過預(yù)先定義的50多種圖表框,如自定義設(shè)計(jì)樣式和對圖表框著色等。MindFusion.Diagramming for WinForms現(xiàn)已加入在線訂購,現(xiàn)在搶購立享優(yōu)惠,查看詳情>>
點(diǎn)擊下載MindFusion.Diagramming for WinForms最新試用版
在此博客文章中,我們將使用調(diào)度程序庫在Java Swing中構(gòu)建每月日歷。我們將使用日歷的每月視圖,但將使其僅在當(dāng)前月份之后的3個(gè)月呈現(xiàn)。默認(rèn)情況下,沒有限制,用戶可以在“單月”視圖中前后滾動(dòng)月份。我們將讓我們的用戶滾動(dòng)過去想要的任意數(shù)量的月,但僅向前滾動(dòng)3個(gè)月。
I.常規(guī)設(shè)置
我們在Eclipse中創(chuàng)建一個(gè)空項(xiàng)目,并將JPlanner.jar添加為外部Jar庫,如下圖所示:
calendar = new Calendar(); getContentPane()。add(calendar,BorderLayout.CENTER);然后,使用setCurrentView方法將當(dāng)前視圖設(shè)置為SingleMonth,并使用setTheme將主題設(shè)置為SilverTheme日歷支持各種ot視圖和主題,它們是CalendarView和ThemeType枚舉的成員。
二。處理事件
我們將使用addCalendarListener方法添加CalendarAdapter類的實(shí)例,該實(shí)例用于處理Calendar中的事件。
calendar.addCalendarListener(new CalendarAdapter(){ @Override() public void visibleDateChanged(DateChangedEvent e) { onVisibleDateChanged(e); } });我們將處理visibleDateChanged事件,并檢查用戶何時(shí)滾動(dòng)到不想顯示的月份。在我們的示例中,我們希望用戶只能提前三個(gè)月滾動(dòng)。
該日歷默認(rèn)為當(dāng)前日期可見初始化。對于CalendarView,這意味著將顯示當(dāng)前月份。我們將這個(gè)日期保留在該類的全局變量中,因?yàn)槲覀兿M軌蛟谑录幚沓绦蚍椒ㄖ惺褂盟?/span>
protected MainWindow() { setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(400, 400); setTitle("Tutorial 1"); initialDate = DateTime.now(); ........................... ........................... } private Calendar calendar; private DateTime initialDate;我們將使用initialDate變量將日歷重置為三個(gè)月后的數(shù)據(jù)。每當(dāng)我們檢測到用戶即將滾動(dòng)到第4個(gè)月時(shí),就會(huì)將日期重置為initialDate月份之后的3個(gè)月。方法如下:
//確保將日期渲染到5月底為止 public void onVisibleDateChanged(DateChangedEvent e) { if(e.getNewDate()。getMonth()== initialDate.getMonth()+ 4) { calendar.setDate(new DateTime( initialDate.getYear(), initialDate.getMonth()+ 3,initialDate.getDay())); } }現(xiàn)在,如果用戶想轉(zhuǎn)到第4個(gè)月,則視圖將始終顯示第3個(gè)月,并且不允許切換至前一個(gè)月
這樣我們的教程就結(jié)束了。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: