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