📄 rssfeeddata.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 + -