HTML Code:
hello,
I have a JTable component and im using JTextPane as Renderer Compoenent as well as Editor Compoent. When i click on table row , that row does not show in table it goes.
here is my renderer code and editor code for jtable.
	   TableRenderer rend = new TableRenderer();
        jtRepTable.getColumnModel().getColumn(0).setCellRenderer(rend);
 
       TableEditor editor = new TableEditor();
        editor.setTableRenderer(rend);
        jtRepTable.getColumnModel().getColumn(0).setCellEditor(editor);
 
 
public class TableRenderer extends JTextPane implements TableCellRenderer {
    public TableRenderer() {
        //public RepViewTableRenderer(boolean flag) {
        //this.isDisplayWithAuthor = flag;
        this.setEditable(false);
    }
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
            boolean hasFocus, int row, int column) {
        setEditable(false);
 
        JScrollPane jsp = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_NEVER, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        jsp.setViewportView(this);
        jsp.setBorder(BorderFactory.createEmptyBorder());
 
        AttributeSet attr = new SimpleAttributeSet();
        BatchDocument bDoc = new BatchDocument();
        bDoc.appendBatchString("string", attr);
		bDoc.processBatchUpdates(0);
		setDocument(bDoc);
 
        if (getPreferredSize().height != table.getRowHeight(row)) {
            table.setRowHeight(row, jsp.getPreferredSize().height);
        }
 
        return jsp;
    }
}
 
 
public class TableEditor extends AbstractCellEditor implements TableCellEditor{
    JTextPane pane;
    TableCellRenderer renderer;
    public TableEditor(){
        pane = new JTextPane();
    }
    public void setTableRenderer(TableCellRenderer re){
        this.renderer=re;
    }
    @Override
    public Component getTableCellEditorComponent(JTable table,Object value,boolean isSelected,int row,int col){
        pane.setEditable(false);
        JScrollPane scrollpane = (JScrollPane)renderer.getTableCellRendererComponent(table, value, isSelected, isSelected, row, col);
        pane = (JTextPane)scrollpane.getViewport().getView();
        pane.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent me){
                if(me.getClickCount()==2){
					opennewpopupdialog();
                }
            }
        });
        return pane;
    }
 
    public Object getCellEditorValue(){
        return pane.getSelectedText();
    }
}