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

📄 titlelist.java

📁 这是我们学校教的j2me程序开发实例从入门到精通自带关盘的源代码
💻 JAVA
字号:
/*
 * TitleList.java
 *
 * Created on 2006年12月20日, 上午2:25
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package cn.edu.uestc.pandarss;
import java.util.*;
import javax.microedition.lcdui.*;
/**
 *
 * @author pandaxiaoxi
 */
/*--------------------------------------------------
 * TitleList.java
 *
 * 保存RSS Feed源中的所有文章的标题和摘要
 *
 * 本类中用到了两个项目来保存文章标题和摘要
 *-------------------------------------------------*/

public class TitleList extends List implements CommandListener {
    private Command cmBack;
    private RSSReader midlet;
    private Vector vecTitle, vecDescription;

    public TitleList(RSSReader midlet) {
        
        super("文章标题", List.IMPLICIT);
        // 保存主类RSSReader对象的引用,以便回调它提供的方法
        this.midlet = midlet;
        
        cmBack = new Command("Back", Command.BACK, 1);
        
        // 添加命令和监听器到Form中
        addCommand(cmBack);
        setCommandListener(this);
        vecTitle = new Vector();
        vecDescription = new Vector();
    }
/*--------------------------------------------------
 * 清空vecTitle和vecDescription两个向量,
 * 同时,也删除当前List中已显示的内容
 *-------------------------------------------------*/
    protected void clearTitle() {
        vecTitle.removeAllElements() ;
        vecDescription.removeAllElements();

        while (this.size() > 0)
            this.delete(0);
    }
/*--------------------------------------------------
 * 取得参数指定的RSS Feed源的所有文章标题和摘要
 * 内部创建新线程调用Parser代码完成获取文章标题和摘要的任务.
 *-------------------------------------------------*/
    protected void getTitles(String source) {

        vecTitle.removeAllElements();
        vecDescription.removeAllElements();

        while (this.size() > 0) {
            this.delete(0);
        }
        /* 创建并启动新的RSSParser线程*/
        RSSParser tmp = new RSSParser(midlet, source, midlet.fmInfo, this);
        tmp.start();
    }
/*--------------------------------------------------
 * 该方法由RSSParser类调用,添加新获取的文章标题和摘要
 *-------------------------------------------------*/
    public void newTitle(String title, String description) {

        vecTitle.addElement(title);
        vecDescription.addElement(description);
        this.append(title, null);
        
    }
/*--------------------------------------------------
 * 事件处理
 *-------------------------------------------------*/
    public void commandAction(Command c, Displayable s) {
	// 按下'select'键
        if (c == List.SELECT_COMMAND) {
	    //设置Form的标题为选中的文章标题
            String item = (String) vecTitle.elementAt(getSelectedIndex());
            midlet.fmArticle.setArticleTitle(item);
	    //设置Form内容为选中的文章摘要
            item = (String) vecDescription.elementAt(getSelectedIndex());
            midlet.fmArticle.setArticle(item);
	    //显示fmArticle
            midlet.display.setCurrent(midlet.fmArticle);
        } else {
	    // 按下除了'select'以外的任意键, 都回到主RSS Feed源列表界面            	    
            midlet.display.setCurrent(midlet.lsRSSSources);
        }
    }
}

⌨️ 快捷键说明

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