1 19 20 package org.lucane.applications.calendar.widget; 21 22 import java.awt.Cursor ; 23 import java.text.DateFormat ; 24 25 import javax.swing.*; 26 27 28 31 public class EventLabel extends JLabel 32 { 33 private BasicEvent event; 34 35 40 public EventLabel(BasicEvent event) 41 { 42 super(event.getTitle()); 43 this.event = event; 44 this.setBackground(event.getColor()); 45 this.setOpaque(true); 46 this.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); 47 48 this.setIcon(event.getIcon()); 49 50 String start = event.getStartHour() + ":" + event.getStartMinute(); 51 if(start.length() < 5) 52 start += "0"; 53 String end = event.getEndHour() + ":" + event.getEndMinute(); 54 if(end.length() < 5) 55 end += "0"; 56 57 String tooltip = null; 58 if(event.isMultiDay()) 59 { 60 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); 61 start = df.format(event.getStartDate()) + " (" + start + ")"; 62 end = df.format(event.getEndDate()) + " (" + end + ")"; 63 tooltip = "<b>" + start + " - " + end + "<br>" + event.getTitle() + "</b>"; 64 } 65 else 66 tooltip = "<b>[" + start + "-" + end + "] " + event.getTitle() + "</b>"; 67 68 tooltip += event.getDescription(); 69 this.setToolTipText("<html>" + tooltip + "</html>"); 70 71 this.setHorizontalAlignment(SwingConstants.LEFT); 72 this.setVerticalAlignment(SwingConstants.TOP); 73 } 74 75 80 public BasicEvent getEvent() 81 { 82 return this.event; 83 } 84 } | Popular Tags |