首页 > 技术文章 > 类图

liuxiaoling 2015-06-06 21:48 原文

该万年历设计的类如下:

主类MillionYear:设计了该万年历的图形界面,用JPanel类创建了一个比较简单的布局。其中用两个JComboBox组件形成了年和月的下拉列表,可以显示从1800年到2100年的所有日期;用JTable组件把日期按照平常的月历显示出来。

类Solar:该类处理了公历。在其中判断了这一年是否是闰年,月份的天数,指定月份的一号对应的星期等。

类Lunar:处理农历的类。该类能把对应日期的阴历显示出来。

类Clock:显示了系统的时间。该类调用线程取得系统时间并显示。

对应的UML类图:

类MillionYear

         MillionYear

- solar:Solar

- selectedYear:int

- selectedMonth:int

- daysOfMonth:int

-weekOfFirstDay:int    

- lunar:Lunar

- top:JPanel

- jcb1:JComboBox

- jcb2:JComboBox

- table:JTable

 -showNew():void

 +update(g:Graphics):void

 +itemStateChanged(e:ItemEvent):void

 +main(args:String[] ):void

类Sorlar

               Sorlar

 #todayYear:int

 #todayMonth:int

 #todayDay:int

 #todayWeek:int

 #getDaysOfMonth(year:int,month:int):int

 #getWeekOfFirstDay(year:int,month:int ):int

 -prt(k:int):void

类Lunar

               Lunar

-temp_total_day:int

-gc_solar_calendar_year:int

- gc_solar_calendar_month:int

- gc_solar_calendar_dateint:

- gc_lunar_calendar_year:int

gc_lunar_calendar_month:int

gc_lunar_calendar_date:int

- start_day_of_week:int

 +get_solar_day_date():void

 +calendar_calculate_lunar_month_total_day():int

 +get_lunar_day():void

类Clock

                Clock

-serialVersionUID:final long= 3660124045489727166L

my:MillionYear

t:Thread

time:String

+Clock(my:MillionYear)

+run():void

+paint(g:Graphics ):void

推荐阅读