Ajuda para pegar string em uma classe ja pronta

Bom dia

estou utilizando a classe abaixo (encontrada pronta num outro tópico)
essa classe faz uma tabela com uma listagem de informações

problema:
eu preciso pegar a string do item selecionado na listagem e gravar em uma variavel
só que eu não sei onde ta apontando esse item selecionado

agradeço mto se alguém se dispor a ajudar!!

[code]import java.util.Vector;
import javax.microedition.lcdui.*;

class Relatorio extends CustomItem {

private int minContentWidth;
private int minContentHeight;
private int prefContentHeight;
private int prefContentWidth;
private String title = "";
private boolean titleBorder;
private boolean titleFillColor;
private int[] titleColorText;
private int[] titleColorBack;
private int[] titleColorBorder;
private Font titleFont;
private Font titleHeader;
private short titleAlignment;
public static final short LEFT = 0;
public static final short CENTER = 1;
public static final short RIGHT = 2;
public String[] columnsText;
public int[] columnsPercents;
private boolean columnsBorder;
private boolean columnsFillColor;
private int[] columnsColorText;
private int[] columnsColorBack;
private int[] columnsColorBorder;
private Font columnsFont;
private short columnsAlignment;
private Font textFont;
private int[] textColor;
private boolean textGridH;
private boolean textGridV;
private int[] textLinesColor;
private Vector[] textData;
private short textAlignment;
private int[] posYInicial;
private int[] posYFinal;
private int indice;
private Image imgBrasao;
private int[] tamColunas;

public Relatorio(int width, int height) {
   super("");

   titleFont = Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_BOLD, Font.SIZE_LARGE);
   titleColorText = new int[]{230, 230, 230};
   columnsColorText = new int[]{40, 40, 40};
   columnsFont = Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_PLAIN, Font.SIZE_MEDIUM);
   textFont = Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_PLAIN, Font.SIZE_SMALL);
   textColor = new int[]{0, 0, 0};
   titleAlignment = CENTER;
   titleBorder = true;
   titleColorBorder = new int[]{0, 0, 0};
   titleFillColor = true;
   titleColorBack = new int[]{50, 50, 50};
   prefContentHeight = height;
   prefContentWidth = width;
   minContentHeight = height;
   minContentWidth = width;

}

public void setImgBrasao(Image imgBrasao) {
this.imgBrasao = imgBrasao;
}

public void setTitle(String title) {
this.title = title;
}

public void setTitleAlignment(short alignment) {
this.titleAlignment = alignment;
}

public void setTitleFont(Font titleFont) {
this.titleFont = titleFont;
}

public void setTitleFontHeader(Font titleFont) {
    this.titleHeader = titleFont;
}

public void setTitleBorder(boolean titleBorder) {
    this.titleBorder = titleBorder;
}

public void setTitleFillColor(boolean titleFillColor) {
    this.titleFillColor = titleFillColor;
}

public void setTitleColorText(int[] color) {
    this.titleColorText = color;
}

public void setTitleColorBack(int[] color) {
    this.titleColorBack = color;
}

public void setTitleColorBorder(int[] color) {
    this.titleColorBorder = color;
}

public void setColumns(String[] columns) {
    this.columnsText = columns;
}

public void setColumnsPercents(int[] percents) {
    this.columnsPercents = percents;
    tamColunas = new int[columnsPercents.length];
    int total = 0;
    for (int i = percents.length-1; i >= 0; i--) {
        tamColunas[i] = ((prefContentWidth) / 100) * percents[i];
        total += tamColunas[i];
    }
    int sobra = ((prefContentWidth) - total) / 3;
    for (int i = percents.length-1; i >= 0; i--) {
        tamColunas[i] += sobra;
    }
}

public void setColumnsBorder(boolean columnsBorder) {
    this.columnsBorder = columnsBorder;
}

public void setColumnsFillColor(boolean fillColor) {
    this.columnsFillColor = fillColor;
}

public void setColumnsColorText(int[] color) {
    this.columnsColorText = color;
}

public void setColumnsColorBack(int[] color) {
    this.columnsColorBack = color;
}

public void setColumnsColorBorder(int[] color) {
    this.columnsColorBorder = color;
}

public void setColumnsFont(Font fontColumns) {
    this.columnsFont = fontColumns;
}

public void setColumnsAlignment(short alignment) {
    this.columnsAlignment = alignment;
}

public void setTextFont(Font font) {
    this.textFont = font;
}

public void setTextData(Vector[] data) {
    this.textData = data;
}

public void setTextAlignment(short alignment) {
    this.textAlignment = alignment;
}

public void setTextColor(int[] color) {
    this.textColor = color;
}

public void setTextLineColor(int[] color) {
    this.textLinesColor = color;
}

public void setTextGridH(boolean grid) {
    this.textGridH = grid;
}

public void setTextGridV(boolean grid) {
    this.textGridV = grid;
}

protected int getMinContentWidth() {
    return minContentWidth;
}

protected int getMinContentHeight() {
    return minContentHeight;
}

protected int getPrefContentWidth(int arg0) {
    return prefContentWidth;
}

protected int getPrefContentHeight(int arg0) {
    return prefContentHeight;
}

protected void paint(Graphics g, int largura, int altura) {
    int aux = 0;
    g.setColor(255, 255, 255);
    g.fillRect(0, 0, largura, altura);
    int tamTitulo = Math.max( (titleFont.getHeight() + 2), (imgBrasao == null?0:imgBrasao.getHeight()));
    if (titleFillColor) {
        g.setColor(titleColorBack[0], titleColorBack[1], titleColorBack[2]);
        g.fillRect(0, 0, largura, tamTitulo);
        if (imgBrasao != null) {
            g.drawImage(imgBrasao, 0, 0, Graphics.LEFT|Graphics.TOP);
        }
    }
    g.setColor(titleColorText[0], titleColorText[1], titleColorText[2]);
    g.setFont(titleFont);
    if (titleAlignment == LEFT)
        g.drawString(title, largura/2, tamTitulo/2 - titleFont.getHeight()/2, Graphics.LEFT|Graphics.TOP);
    else if (titleAlignment == CENTER)
        g.drawString(title, largura/2, tamTitulo/2 - titleFont.getHeight()/2, Graphics.HCENTER|Graphics.TOP);
    else
        g.drawString(title, largura/2, tamTitulo/2 - titleFont.getHeight()/26, Graphics.RIGHT|Graphics.TOP);
    if (titleBorder) {
        g.setColor(titleColorBorder[0], titleColorBorder[1], titleColorBorder[2]);
        g.drawRect(0, 0, largura, tamTitulo);
    }
    aux = tamTitulo + 4;
    if (columnsFillColor) {
        int auxW = 0;
        g.setColor(columnsColorBack[0], columnsColorBack[1], columnsColorBack[2]);
        for (int i = 0; i < columnsText.length; i++) {
            g.fillRect(auxW - 1, aux, tamColunas[i]-1, titleHeader.getHeight() + 2);
            auxW += tamColunas[i];
        }
    }
    int auxW = 0;
    if (columnsBorder) {
        g.setColor(columnsColorBorder[0], columnsColorBorder[1], columnsColorBorder[2]);
        for (int i = 0; i < columnsText.length; i++) {
            g.drawRect(auxW - 1, aux, tamColunas[i]-1, titleHeader.getHeight() + 2);
            auxW += tamColunas[i];
        }
    }
    g.setColor(columnsColorText[0], columnsColorText[1], columnsColorText[2]);
    g.setFont(titleHeader);
    auxW = 0;
    for (int i = 0; i < columnsText.length; i++) {
        if (columnsAlignment == LEFT)
            g.drawString(columnsText[i], auxW, aux, Graphics.LEFT|Graphics.TOP);
        else if (columnsAlignment == RIGHT)
            g.drawString(columnsText[i], auxW + tamColunas[i] - 1, aux, Graphics.RIGHT|Graphics.TOP);
        else
            g.drawString(columnsText[i], (auxW + tamColunas[i]/2), aux, Graphics.HCENTER|Graphics.TOP);
        auxW += tamColunas[i];
    }
    aux += columnsFont.getHeight() + 8;
    g.setColor(0, 0, 0);
    g.drawLine(0, aux, largura, aux);
    if (textGridV) {
        g.setColor(textLinesColor[0], textLinesColor[1], textLinesColor[2]);
        auxW = 0;
        for (int i = 0; i < tamColunas.length-1; i++) {
            auxW += tamColunas[i];
            g.drawLine(auxW, aux, auxW, aux + (textFont.getHeight() * textData.length));
        }
    }
    if (textGridH) {
        g.setColor(textLinesColor[0], textLinesColor[1], textLinesColor[2]);
        int aux2 = aux;
        for (int i = 0; i < textData.length; i++) {
            aux2 += textFont.getHeight();
            g.drawLine(0, aux2, largura, aux2);
        }
    }
    posYInicial = new int[textData.length];
    posYFinal = new int[textData.length];
    g.setFont(textFont);
    for (int i = 0; i < textData.length; i++) {
        Vector dados = textData[i];
        auxW = 0;
        posYInicial[i] = aux;
        if (indice == i) {
            g.setColor(230, 230, 230);
            g.fillRect(0, aux+1, largura, textFont.getHeight()-1);
        }
        aux += textFont.getHeight();
        posYFinal[i] = aux;
        for (int j = 0; j < tamColunas.length; j++) {
            g.setColor(textColor[0], textColor[1], textColor[2]);
            if (textAlignment == LEFT) {
                g.drawString(dados.elementAt(j).toString(), auxW + 2, aux, Graphics.LEFT|Graphics.BOTTOM);
            }
            auxW += tamColunas[j];
        }
    }
}

protected void pointerPressed(int x, int y) {
    for (int i = 0; i < posYFinal.length; i++) {
        if (y >= posYInicial[i] && y <= posYFinal[i]) {
            indice = i;
            repaint();
            return;
        }
    }
}

protected void pointerDragged(int x, int y) {}

protected void pointerReleased(int x, int y) {}

protected boolean traverse(int dir, int viewportWidth, int viewportHeight, int[] visRect_inout) {
    if (dir == 6) {
        if (indice < textData.length) {
            indice++;
            repaint();
            return true;
        } else {
            return false;
        }
    } else if (dir == 1) {
        if (indice > 0) {
            indice--;
            repaint();
            return true;
        } else {
            return false;
        }
    } else {
        return true;
    }
}

protected void traverseOut() {
    indice  = 0;
    repaint();
}

}[/code]

pessoal,

eu sei que é nessa linha que ele adiciona o valor na tela:

mas como eu faço para descobrir que essa linha foi selecionada e vincular com o valor??

continuo aguardando sugestões!!

obrigado

Bom dia pessoal, aparentemente ninguem se interessou mto por esse tópico, mas como eu consegui encontrar a solução, vou posta-la aqui, pois se algum dia alguém precisar a solução vai estar disponível.

Eu fiz seguinte: na linha abaixo (que define o item selecionado) eu defino que autoriza para armazenar string na variavel

Aí na linha abaixo (que printa na tela) eu verifico se autoriza armazenar