⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.java

📁 java 行事历 可以对自己的工作进行记录
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		} );		calMenu.add ( item );		item = new JMenuItem ( "Subscribe to Remote..." );		item.setAccelerator ( KeyStroke.getKeyStroke ( 'S', Toolkit		    .getDefaultToolkit ().getMenuShortcutKeyMask () ) );		item.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				new EditRemoteCalendarWindow ( parent, dataRepository, null,				    getDataDirectory () );			}		} );		calMenu.add ( item );		calMenu.addSeparator ();		JMenu sharedCalMenu = new JMenu ( "Find Shared Calendars" );		SharedCalendars.updateSharedCalendars ( sharedCalMenu );		calMenu.add ( sharedCalMenu );		bar.add ( calMenu );		// Add help bar to right end of menubar		bar.add ( Box.createHorizontalGlue () );		JMenu helpMenu = new JMenu ( "Help" );		item = new JMenuItem ( "About..." );		item.setAccelerator ( KeyStroke.getKeyStroke ( 'A', Toolkit		    .getDefaultToolkit ().getMenuShortcutKeyMask () ) );		item.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				showAbout ();			}		} );		helpMenu.add ( item );		item = new JMenuItem ( "View ChangeLog..." );		item.setAccelerator ( KeyStroke.getKeyStroke ( 'C', Toolkit		    .getDefaultToolkit ().getMenuShortcutKeyMask () ) );		item.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				viewChangeLog ();			}		} );		helpMenu.add ( item );		item = new JMenuItem ( "View License..." );		item.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				viewLicense ();			}		} );		helpMenu.add ( item );		item = new JMenuItem ( "Go to k5nCal Home Page..." );		item.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				try {					BrowserLauncher bl = new BrowserLauncher ();					bl.openURLinBrowser ( APP_URL );				} catch ( Exception e1 ) {					System.err.println ( "Error starting web browser" + ": "					    + e1.getMessage () );					e1.printStackTrace ();				}			}		} );		helpMenu.add ( item );		item = new JMenuItem ( "Donate to Support k5nCal..." );		item.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				try {					BrowserLauncher bl = new BrowserLauncher ();					bl.openURLinBrowser ( DONATE_URL );				} catch ( Exception e1 ) {					System.err.println ( "Error starting web browser" + ": "					    + e1.getMessage () );					e1.printStackTrace ();				}			}		} );		helpMenu.add ( item );		item = new JMenuItem ( "Report Bug..." );		item.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				try {					BrowserLauncher bl = new BrowserLauncher ();					bl.openURLinBrowser ( REPORT_BUG_URL );				} catch ( Exception e1 ) {					System.err.println ( "Error starting web browser" + ": "					    + e1.getMessage () );					e1.printStackTrace ();				}			}		} );		helpMenu.add ( item );		item = new JMenuItem ( "Get Support..." );		item.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				try {					BrowserLauncher bl = new BrowserLauncher ();					bl.openURLinBrowser ( SUPPORT_REQUEST_URL );				} catch ( Exception e1 ) {					System.err.println ( "Error starting web browser" + ": "					    + e1.getMessage () );					e1.printStackTrace ();				}			}		} );		helpMenu.add ( item );		item = new JMenuItem ( "Request Feature..." );		item.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				try {					BrowserLauncher bl = new BrowserLauncher ();					bl.openURLinBrowser ( REQUEST_FEATURE_URL );				} catch ( Exception e1 ) {					System.err.println ( "Error starting web browser" + ": "					    + e1.getMessage () );					e1.printStackTrace ();				}			}		} );		helpMenu.add ( item );		helpMenu.addSeparator ();		item = new JMenuItem ( "3rd Party Components..." );		item.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				new ThirdPartyDialog ( parent );			}		} );		helpMenu.add ( item );		bar.add ( helpMenu );		return bar;	}	/**	 * Quit the k5nCal application (and save the current calendar states).	 */	public void quit () {		saveCalendars ( getDataDirectory () );		System.exit ( 0 );	}	/**	 * Show the application preferences dialog window.	 */	public void showPreferences () {		// Note: we can re-use this same JDialog window. However, the hidden window		// will not receive the L&F updates while the app is running. So, we just		// create a new one to avoid this issue.		new PreferencesWindow ( parent, dataRepository );	}	/**	 * Show the k5nCal About dialog.	 */	public void showAbout () {		// Get application icon		URL url = getResource ( APP_ICON );		ImageIcon icon = new ImageIcon ( url, "k5nCal" );		// Get java version		String javaVersion = System.getProperty ( "java.version" );		if ( javaVersion == null )			javaVersion = "Unknown";		JOptionPane.showMessageDialog ( parent, "k5nCal "		    + ( version == null ? "Unknown Version" : version ) + "\n\n"		    + "Java Version" + ": " + javaVersion + "\n\n" + "Developed by k5n.us"		    + "\n\nhttp://www.k5n.us", "About k5nCal",		    JOptionPane.INFORMATION_MESSAGE, icon );	}	JToolBar createToolBar () {		JToolBar toolbar = new JToolBar ();		newButton = makeNavigationButton ( "New24.gif", "new", "Add new event",		    ADD_EVENT_LABEL );		newButton.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				// Make sure there is at least one local calendar.				boolean foundLocal = false;				for ( int i = 0; i < dataRepository.getCalendars ().size (); i++ ) {					Calendar c = dataRepository.getCalendars ().elementAt ( i );					if ( c.getType () == Calendar.LOCAL_CALENDAR )						foundLocal = true;				}				if ( !foundLocal ) {					showError ( "You must create a local\ncalendar to add a\nnew event." );				} else {					// See if they have selected a local calendar from the					// calendar list					Calendar selectedCalendar = null;					int selCalInd = calendarJList.getSelectedIndex ();					if ( selCalInd >= 0 ) {						selectedCalendar = dataRepository.getCalendars ().elementAt (						    selCalInd );						if ( selectedCalendar.getType () != Calendar.LOCAL_CALENDAR )							selectedCalendar = null; // don't allow adding to						// remote cals					}					Date now = Date.getCurrentDateTime ( "DTSTART" );					now.setMinute ( 0 );					new EditEventWindow ( parent, dataRepository, now, selectedCalendar );				}			}		} );		toolbar.add ( newButton );		editButton = makeNavigationButton ( "Edit24.gif", "edit",		    "Edit selected event", EDIT_EVENT_LABEL );		toolbar.add ( editButton );		editButton.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				// Get selected item and open edit window				EventInstance eventInstance = calendarPanel.getSelectedEvent ();				if ( eventInstance != null ) {					// NOTE: edit window does not yet support complicated					// recurrence					// rules.					SingleEvent se = (SingleEvent) eventInstance;					if ( se.getEvent ().getRrule () != null ) {						new EditEventWindow ( parent, dataRepository, se.getEvent (), se						    .getCalendar () );					} else {						new EditEventWindow ( parent, dataRepository, se.getEvent (), se						    .getCalendar () );					}				}			}		} );		deleteButton = makeNavigationButton ( "Delete24.gif", "delete",		    "Delete selected event", DELETE_EVENT_LABEL );		toolbar.add ( deleteButton );		deleteButton.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				// Get selected item and open edit window				EventInstance eventInstance = calendarPanel.getSelectedEvent ();				if ( eventInstance != null ) {					SingleEvent se = (SingleEvent) eventInstance;					if ( se.getEvent ().getRrule () != null ) {						// TODO: support deleting single occurrence, which will						// add an						// exception to the RRULE in the event.						if ( JOptionPane.showConfirmDialog ( parent,						    "Are you sure you want\nto delete all occurreces of the\n"						        + "following repeating event?" + "\n\n" + se.getTitle ()						        + "\n\n" + "This will delete ALL events\nin this series.",						    "Confirm Delete", JOptionPane.YES_NO_OPTION ) == 0 ) {							try {								dataRepository.deleteEvent ( se.getCalendar (), se.getEvent () );							} catch ( IOException e1 ) {								showError ( "Error deleting." );								e1.printStackTrace ();							}						}					} else {						if ( JOptionPane.showConfirmDialog ( parent,						    "Are you sure you want\nto delete the following event?"						        + "\n\n" + se.getTitle (), "Confirm Delete",						    JOptionPane.YES_NO_OPTION ) == 0 ) {							try {								dataRepository.deleteEvent ( se.getCalendar (), se.getEvent () );							} catch ( IOException e1 ) {								showError ( "Error deleting." );								e1.printStackTrace ();							}						}					}				}			}		} );		toolbar.addSeparator ();		largerButton = makeNavigationButton ( "LargerFont24.png",		    "Increase Font Size", "Increase font size", LARGER_FONT_LABEL );		toolbar.add ( largerButton );		largerButton.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				int oldOffset = prefs.getDisplayFontSize ();				if ( oldOffset < 4 )					prefs.setDisplayFontSize ( oldOffset + 2 );				displaySettingsChanged ();			}		} );		smallerButton = makeNavigationButton ( "SmallerFont24.png",		    "Decrease font size", "Decrease font size", SMALLER_FONT_LABEL );		toolbar.add ( smallerButton );		smallerButton.addActionListener ( new ActionListener () {			public void actionPerformed ( ActionEvent event ) {				int oldOffset = prefs.getDisplayFontSize ();				if ( oldOffset > -4 )					prefs.setDisplayFontSize ( oldOffset - 2 );				displaySettingsChanged ();			}		} );		return toolbar;	}	/**	 * Update the toolbar. You can only modify local calendars (for now, at	 * least), so unless an event from a local calendar was selected, the edit and	 * delete buttons should be disabled.	 */	void updateToolbar () {		boolean canEdit = false;		boolean selected = false;		EventInstance eventInstance = calendarPanel.getSelectedEvent ();		selected = ( eventInstance != null );		if ( selected && eventInstance instanceof SingleEvent ) {			SingleEvent se = (SingleEvent) eventInstance;			canEdit = ( se.getCalendar ().getType () == Calendar.LOCAL_CALENDAR )			    || ( se.getCalendar ().getType () == Calendar.REMOTE_ICAL_CALENDAR && se			        .getCalendar ().getCanWrite () );		}		editButton.setEnabled ( selected && canEdit );		deleteButton.setEnabled ( selected && canEdit );		smallerButton.setEnabled ( prefs.getDisplayFontSize () > -4 );		largerButton.setEnabled ( prefs.getDisplayFontSize () < 4 );		// Show text?		if ( prefs.getToolbarIconText () ) {			this.newButton.setText ( ADD_EVENT_LABEL );			this.editButton.setText ( EDIT_EVENT_LABEL );			this.deleteButton.setText ( DELETE_EVENT_LABEL );			this.largerButton.setText ( LARGER_FONT_LABEL );			this.smallerButton.setText ( SMALLER_FONT_LABEL );		} else {			this.newButton.setText ( null );			this.editButton.setText ( null );			this.deleteButton.setText ( null );			this.largerButton.setText ( null );			this.smallerButton.setText ( null );		}	}	/**	 * Create the file selection area on the top side of the window. This will	 * include a split pane where the left will allow navigation and selection of	 * dates and the right will allow the selection of a specific entry.	 * 	 * @return	 */	protected JPanel createCalendarSelectionPanel ( Vector calendars ) {		JPanel topPanel = new JPanel ();		topPanel.setLayout ( new BorderLayout () );		this.calendarJList = new JListWithCheckBoxes ( new Vector<Object> () );		updateCalendarJList ();		this.calendarJList		    .addListItemChangeListener ( new ListItemChangeListener () {			    public void itemSelected ( int ind ) {				    dataRepository.getCalendars ().elementAt ( ind )				        .setSelected ( true );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -