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

📄 rssfeeddata.java

📁 RssFeed阅读器,可以任意加入删除管理任何RSS FEED,采用多性程打开你所关注的新闻内容。
💻 JAVA
字号:
/**
 * 
 */
package RssFeeds;

import javax.swing.DefaultListModel;
import javax.swing.JOptionPane;

/**
 * @author Jack
 *
 */
public class RssFeedData {

	DefaultListModel listFeedNameModel;
	DefaultListModel listFeedItemModel;
	
	RssFeedDataSource feedData;
	RssFeedXMLDataSource xmlData;
	
	/**
	 * constructor
	 */
	public RssFeedData() {

		listFeedNameModel = new DefaultListModel();
		listFeedItemModel = new DefaultListModel();
		
		xmlData = new RssFeedXMLDataSource();
	    // add the retrieved data to the list model
	    for (String feed : xmlData.feedSet()) {
	    	listFeedNameModel.addElement(feed);
	    }
	}
	
	/**
	 * @return the listFeedNameModel
	 */
	public DefaultListModel getListFeedNameModel() {
		return listFeedNameModel;
	}
	
	/**
	 * @return the listFeedItemModel
	 */
	public DefaultListModel getListFeedItemModel() {
		return listFeedItemModel;
	}
	
	/**
	 * Adds a feed to the application.
	 * 
	 * @param f 
	 * 		A feed to add to the application.
	 */
	public void add(RssFeedXMLDataSource f) {
		String feedTitle = f.getChanTitle();
		
		/**
		 * check to see if the feed is already in the application
		 * if not add the feed to the application and the list model
		 */
	    if (!listFeedNameModel.contains(feedTitle)) {
	    	listFeedNameModel.addElement(feedTitle);
	    	f.addFeed(f);
	    }
	    else {
	    	JOptionPane.showMessageDialog(null,
                 "The feed name already exits !",
                 "Add new feed",
                 JOptionPane.INFORMATION_MESSAGE);
	    }
	}

	/**
	 * delete feed name
	 * @param f
	 * 		XML data source
	 * @param sel
	 * 		the selected feed name
	 */
	public void delFeed(RssFeedXMLDataSource f, String sel) {
		listFeedNameModel.removeElement(sel);
		f.deletFeedName(f, sel);
		//clear all feed items list belong to the feed name
		listFeedItemModel.removeAllElements();
	}
	
	/**
	 * delete the selected feed item
	 * @param f
	 * 		XML data source
	 * @param feedsel
	 * 		the selected feed name
	 * @param itemsel
	 * 		the selected feed item
	 */
	public void delItem(RssFeedXMLDataSource f, String feedsel, String itemsel) {
		listFeedItemModel.removeElement(itemsel);
		f.deletFeedItem(f, feedsel, itemsel);	
	}

	/**
	 * obtain and show the feed item 
	 * @param f
	 * 		XML data source
	 * @param sel
	 * 		the selected feed item
	 */
	public void get(RssFeedXMLDataSource f, String sel) {
		f.searchAndShowItemList(sel);
	    // add the retrieved data to the list model
    	listFeedItemModel.clear();
	    for (String item : f.itemSet(sel)) {
	    	listFeedItemModel.addElement(item);
	    }
	}
	
	/**
	 * get the selected feed item and return the item object
	 * @param f
	 * 		XML data source
	 * @param feedsel
	 * 		the selected feed name
	 * @param itemsel
	 * 		the selected feed item
	 * @return
	 * 		the item object
	 */
	public RssFeedItem getItem(RssFeedXMLDataSource f, String feedsel, String itemsel) {
		RssFeedItem feedItem;
		
		feedItem = f.searchAndShowOneItem(feedsel, itemsel);
		
		return feedItem;
	}
	
	/**
	 * Saves the data  to a file using a persistence mechanism.
	 */
	public void persist() {
		xmlData.close();
	}
}

⌨️ 快捷键说明

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