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

📄 reminderviewpanel.java

📁 发泄网! 发泄网! 发泄网! 发泄网! 发泄网! 发泄网! 发泄网! 发泄网!
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			buttonPanel.add(buttonAddReminder);			buttonPanel.add(editButton);			buttonPanel.add(exportButton);			//buttonPanel.add(backButton);		}			add(bodyPanel, BorderLayout.CENTER);		add(buttonPanel, BorderLayout.SOUTH);				//refreshData();				CRMSUtil.resizeTable(reminderTable);				setCurrentPanel(this);	}		public void processSelectedReminder() {		int selected = reminderTable.getSelectedRow();		if (selected < 0) {			JOptionPane.showMessageDialog(this, "Please select a reminder to edit.", "Reminder List", JOptionPane.WARNING_MESSAGE);			return;		}		Reminder r = (Reminder) reminderModel.reminders.get(reminderTable.getSelectedRow());		r.setOwnerHasRead(true);		updateList();		System.out.println("Calling reminder edit for: " + r.getReminderID());		//PanelManager.getInstance().activatePanel(new ReminderEditPanel(r.getReminderID()));		ReminderEditWindow window = new ReminderEditWindow();		window.setDestination(this);		window.setReminder(r);		window.display();	}	public void processExport() {		PanelManager manager = PanelManager.getInstance();		AppletContext context = manager.getAppletContext();		if (context == null) {			JOptionPane.showMessageDialog(this, "This function requires the system to be running in an applet context.", "Expore List", JOptionPane.ERROR_MESSAGE);			return;		}		URL url = manager.getCodeBase();		URL toURL = null;		FileAttachment attach = new FileAttachment();		try {   				StringBuffer urlString = new StringBuffer();				urlString.append("http://");				urlString.append(url.getHost());				urlString.append(":");				urlString.append(url.getPort());				urlString.append("/crms/export");				urlString.append("?user=" + ServerFactory.getInstance().getUser());				urlString.append("&type=" + EntityType.REMINDER_EXPORT.getCode());				toURL = new URL(urlString.toString());		}		catch (MalformedURLException ex) {				ex.printStackTrace();		}		context.showDocument(toURL);	}	void refreshData() {		reminderModel.clear();				Server server = ServerFactory.getInstance().getServer();				ServerCommand command = new ServerCommand();				if (restrictReminderCount) {			command.setKey(ReminderModule.REMINDERS_SHOW_LIMITED);		} else {			command.setKey(ReminderModule.REMINDERS_SHOW);					}				ServerResponse result = server.sendCommand(command);		ArrayList reminderList = (ArrayList) result.getPart("reminders");		System.out.println("Got " + reminderList.size() + " reminders...");		reminderModel.clear();						if (reminderList.size() == 0) {			lblMessage.setText("There are no reminders for you");			return;		}				int max = reminderList.size();		if (restrictReminderCount) {			max = Math.min(max,5);		}		for (int i=0; i < max; i++) {			Reminder reminder = (Reminder) reminderList.get(i);			if (reminder != null) {				reminderModel.addReminder(reminder);			}		}				// swap to the table when ready		updateList();	}	public void updateList() {		if (lblMessage != null) {			bodyPanel.remove(lblMessage);			bodyPanel.add(scrollPane, BorderLayout.CENTER);			lblMessage = null;			bodyPanel.revalidate();		}		reminderTable.tableChanged(new TableModelEvent(reminderModel));	}		public Class getPanel(int i) {		return null;	}	class ReminderTableModel implements TableModel {				ArrayList reminders = new ArrayList();		ArrayList listeners = new ArrayList();				String headers[] = {			"Priority",			"Date",			"Time",			"From",			"To",			//"Number",			"Reminder"		};				/** Adds a listener to the list that is notified each time a change		 * to the data model occurs.		 *		 * @param	l		the TableModelListener		 *		 */		public void addTableModelListener(TableModelListener l) {			listeners.add(l);		}				/** Returns the most specific superclass for all the cell values		 * in the column.  This is used by the <code>JTable</code> to set up a		 * default renderer and editor for the column.		 *		 * @param columnIndex  the index of the column		 * @return the common ancestor class of the object values in the model.		 *		 */		public Class getColumnClass(int columnIndex) {			return String.class;		}				/** Returns the number of columns in the model. A		 * <code>JTable</code> uses this method to determine how many columns it		 * should create and display by default.		 *		 * @return the number of columns in the model		 * @see #getRowCount		 *		 */		public int getColumnCount() {			return headers.length;		}				/** Returns the name of the column at <code>columnIndex</code>.  This is used		 * to initialize the table's column header name.  Note: this name does		 * not need to be unique; two columns in a table can have the same name.		 *		 * @param	columnIndex	the index of the column		 * @return  the name of the column		 *		 */		public String getColumnName(int columnIndex) {			return headers[columnIndex];		}				/** Returns the number of rows in the model. A		 * <code>JTable</code> uses this method to determine how many rows it		 * should display.  This method should be quick, as it		 * is called frequently during rendering.		 *		 * @return the number of rows in the model		 * @see #getColumnCount		 *		 */		public int getRowCount() {			return reminders.size();		}				/** Returns the value for the cell at <code>columnIndex</code> and		 * <code>rowIndex</code>.		 *		 * @param	rowIndex	the row whose value is to be queried		 * @param	columnIndex 	the column whose value is to be queried		 * @return	the value Object at the specified cell		 *		 */		public Object getValueAt(int rowIndex, int columnIndex) {						Reminder reminder = (Reminder) reminders.get(rowIndex);			switch(columnIndex) {				case 0:					return Integer.toString(reminder.getReminderRate());				case 1:					return df.format(reminder.getReminderDate());				case 2:					return tf.format(reminder.getReminderDate());				case 3:					return reminder.getCreator();				case 4:					return reminder.getOwner();				case 5:					String msg = reminder.getReminderMessage();					return msg.trim().length() == 0 ? "(No message entered)" : msg;				default:					break;			}			return null;		}				/** Returns true if the cell at <code>rowIndex</code> and		 * <code>columnIndex</code>		 * is editable.  Otherwise, <code>setValueAt</code> on the cell will not		 * change the value of that cell.		 *		 * @param	rowIndex	the row whose value to be queried		 * @param	columnIndex	the column whose value to be queried		 * @return	true if the cell is editable		 * @see #setValueAt		 *		 */		public boolean isCellEditable(int rowIndex, int columnIndex) {			return false;		}				/** Removes a listener from the list that is notified each time a		 * change to the data model occurs.		 *		 * @param	l		the TableModelListener		 *		 */		public void removeTableModelListener(TableModelListener l) {			listeners.remove(l);		}				/** Sets the value in the cell at <code>columnIndex</code> and		 * <code>rowIndex</code> to <code>aValue</code>.		 *		 * @param	aValue		 the new value		 * @param	rowIndex	 the row whose value is to be changed		 * @param	columnIndex 	 the column whose value is to be changed		 * @see #getValueAt		 * @see #isCellEditable		 *		 */		public void setValueAt(Object aValue, int rowIndex, int columnIndex) {			// Read Only		}				public void addReminder(Reminder reminder) {			reminders.add(reminder);		}				public void clear() {			reminders.clear();		}				public Reminder getReminder(int i) {			return (Reminder) reminders.get(i);		}			}	}

⌨️ 快捷键说明

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