Regarding adding Rows to a Jtable programmatically

I tried adding rows to a Jtable programmatically.
My Jtable has the Table Model as a class that has been extended from DefaultTAbleModel.
I tried inserting rows using addRow, and setRowCount and set RowNum methods but nothing worked..
and I get the OutOfMemory xecption alawys and my applet hangs...

What's in your addRow method? Are you firing the
inserted event with fireRowsInserted?
My snippet assumes you're storing table data in a
vector of vectors and only want to add the row to the
bottom of the table.
public void addRow(Vector vector)
data.add(vector);
fireTableRowsInserted(data.size(),
size(), data.size());
addRow is a method of the DefaultTableModel class..and so I am not over riding it...
i just use it as defaulttablemodel-object.addRow(Object[] obj);

Similar Messages

  • Query regarding updating rows in JTable

    Query regarding updating rows in JTable
    Hello,
    I have a JTable with 6 columns and 1000s of rows (which are data read from flat files)
    I can select 1 or more rows and change the values of the
    columns. each time I do this I need to update the values
    in the flat file.
    Currently I assign the updated Jtable values to a vector
    Vector rowVector = (Vector)defaultModel.getDataVector();
    then I iterate over the vector and compare the values with the (old) data
    in the JTable.
                for(int rowCount = 0; rowCount<rowVector.size(); rowCount++){
                    Vector v = (Vector)rowVector.elementAt(rowCount);
                        //smsList is the Vector that contains the old JTable values
                        for(int i=0; i<smsList.size(); i++){
                                //If colums values have been changed; add that
                                //vector value to another vector
                                selectedsmsList.add(smsList.get(i));
                for(int i=0; i<selectedsmsList.size(); i++){
                         //Update the values in the flat file
                }This works fine except that it takes ages to iterate over the updated vecor and un-updated,old vector; is there any way to directly get the list of rows that were updated in the jtable; so that I can directly do an I/O operation to update the jtablke values?

    Just a suggestion.
    You could add a listener and use a vector of booleans to keep track of the rows that have been changed. You could then iterate through this boolean vector and update the changed rows.
    See
    http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#modelchange
    Don't know whether this will be helpful.
    Regards, Darryl

  • Directory being added two times in JTable rows.(JTable Incorrect add. Rows)

    hi,
    I have a problem, The scenario is that when I click any folder that is in my JTable's row, the table is update by removing all the rows and showing only the contents of my selected folder. If my selected folder contains sub-folders it is some how showing that sub-folder two time and if there are files too that are shown correctly. e.g. If I have a parent folder FG1 and inside that folder I have one more folder FG12 and two .java files then when I click on FG1 my table should show FG12 and two .java files in separate rows, right now it is showing me the contents of FG1 folder but some how FG12 is shown on two rows i.e. first row shows FG12 second row shows FG12 third row shows my .java file and fourth row shows my .java fil. FG12 should be shown only one time. The code is attached. The methods to look are upDateTabel(...) and clearTableData(....), after clearing all my rows then I proceed on adding my data to the Jtable and inserting rows. May be addRow(... method of DefaultTableModel is called two times if it is a directory I don't know why. Please see the code below what I am doing wrong and how to fix it. Any help is appreciated.
    Thanks
    import javax.swing.*;
    import javax.swing.event.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.table.*;
    import javax.swing.border.*;
    import java.io.*;
    import java.text.SimpleDateFormat;
    import java.util.*;
    public class SimpleTable extends JPanel {
         /** Formats the date */
         protected SimpleDateFormat           formatter;
    /** two-dimensional array to hold the information for each column */
    protected Object                     data[][];
    /** variable to hold the date and time in a raw form for the directory*/
    protected long                          dateDirectory;
    /** holds the readable form converted date for the directories*/
    protected String                     dirDate;
    /** holds the readable form converted date for the files*/
    protected String                     fileDate;
    /** variable to hold the date and time in a raw form for the file*/
    protected long                          dateFile;
    /** holds the length of the file in bytes */
    protected long                         totalLen;
    /** convert the length to the wrapper class */
    protected Long                         longe;
    /** Vector to hold the sub directories */
    protected Vector                     subDir;
    /** holds the name of the selected directory */
    protected String                    dirNameHold;
    /** converting vector to an Array and store the values in this */
    protected File                     directoryArray[];
    /** hashtable to store the key-value pair */
    protected static Hashtable hashTable = new Hashtable();
    /** refer to the TableModel that is the default*/
    protected DefaultTableModel      model;
    /** stores the path of the selected file */
    protected static String               fullPath;
    /** stores the currently selected file */
    protected static File selectedFilename;
    /** stores the extension of the selected file */
    protected static String           extension;
    /** holds the names of the columns */
    protected final String columnNames[] = {"Name", "Size", "Type", "Modified"};
         * Default constructor
         * @param File the list of files and directories to be shown in the JTable.
    public SimpleTable(File directoryArray[])
              this.setLayout(new BorderLayout());
              this.setBorder( BorderFactory.createEmptyBorder( 0, 0, 0, 0 ) );
              (SimpleTable.hashTable).clear();
              data = new Object[this.getRowTotal(directoryArray)][this.getColumnTotal()];
              formatter = new SimpleDateFormat("mm/dd/yyyy hh:mm aaa");
              //this shows the data in the JTable i.e. the primary directory stuff.
              for(int k = 0; k < directoryArray.length; k++)
                   if(directoryArray[k].isDirectory())
                        data[k][0] = directoryArray[k].getName();
                        data[k][2] = "File Folder";
                        dateDirectory = directoryArray[k].lastModified();
                        dirDate = formatter.format(new java.util.Date(dateDirectory));
                        data[k][3] = dirDate;
                        (SimpleTable.hashTable).put(directoryArray[k].getName(), directoryArray[k]);                    
                   else if(directoryArray[k].isFile())
                        data[k][0] = directoryArray[k].getName();
                        totalLen = directoryArray[k].length();
                        longe = new Long(totalLen);
                        data[k][1] = longe + " Bytes";
                        dateFile = directoryArray[k].lastModified();
                        fileDate = formatter.format(new java.util.Date(dateFile));
                        data[k][3] = fileDate;
                        (SimpleTable.hashTable).put(directoryArray[k].getName(), directoryArray[k]);
    model = new DefaultTableModel();
    model.addTableModelListener( new TableModelListener(){
              public void tableChanged( javax.swing.event.TableModelEvent e )
              final JTable table = new JTable(model);
              table.getTableHeader().setReorderingAllowed(false);
              table.setRowSelectionAllowed(false);
              table.setBorder( BorderFactory.createEmptyBorder( 0, 0, 0, 0 ) );
              table.setShowHorizontalLines(false);
              table.setShowVerticalLines(false);
              table.addMouseListener(new MouseAdapter()
    public void mouseReleased(MouseEvent e)
    //TBD:- needs to handle the doubleClick of the mouse.
    System.out.println("The clicked component is " + table.rowAtPoint(e.getPoint()) + "AND the number of clicks is " + e.getClickCount());
    if(e.getClickCount() >= 2 &&
    (table.getSelectedColumn() == 0) &&
    ((table.getColumnName(0)).equals(columnNames[0])))
         System.out.println("The clicked component is " + table.rowAtPoint(e.getPoint()) + "AND the number of clicks is " + e.getClickCount());
         upDateTable(table);
    upDateTable(table);
              /** set the columns */
              for(int c = 0; c < columnNames.length; c++)
                   model.addColumn(columnNames[c]);
              /** set the rows */
              for(int r = 0; r < data.length; r++)
                   model.addRow(data[r]);
              //this sets the tool-tip on the headers.
              DefaultTableCellRenderer D_headerRenderer = (DefaultTableCellRenderer ) table.getTableHeader().getDefaultRenderer();
              table.getColumnModel().getColumn(0).setHeaderRenderer(D_headerRenderer );
              ((DefaultTableCellRenderer)D_headerRenderer).setToolTipText("File and Folder in the Current Folder");
    //Create the scroll pane and add the table to it.
    JScrollPane scrollPane = new JScrollPane(table);
    //Add the scroll pane to this window.
    this.add(scrollPane, BorderLayout.CENTER);
    * Returns the number of columns
    * @return int number of columns
    public int getColumnTotal()
         return columnNames.length;
    * Returns the number of rows
    * @return int number of rows
    public int getRowTotal(Object directoryArray[])
         return directoryArray.length;
    * Update the table according to the selection made if a directory then searches and
    * shows the contents of the directory, if a file fills the appropriate fields.
    * @param JTable table we are working on
    * //TBD: handling of the files.
    private void upDateTable(JTable table)
    if((table.getSelectedColumn() == 0) && ((table.getColumnName(0)).equals(columnNames[0])))
         dirNameHold =(String) table.getValueAt(table.getSelectedRow(),table.getSelectedColumn());
                   File argument = findPath(dirNameHold);
                   if(argument.isFile())
                        CMRDialog.fileNameTextField.setText(argument.getName());
                        try
                             fullPath = argument.getCanonicalPath();                          
                             selectedFilename = argument.getCanonicalFile();                          
    CMRDialog.filtersComboBox.removeAllItems();
                             extension = fullPath.substring(fullPath.lastIndexOf('.'));
                             CMRDialog.filtersComboBox.addItem("( " + extension + " )" + " File");
                        catch(IOException e)
                             System.out.println("THE ERROR IS " + e);
                        return;
                   else if(argument.isDirectory())
                        String path = argument.getName();
                             //find the system dependent file separator
                             //String fileSeparator = System.getProperty("file.separator");
                        CMRDialog.driveComboBox.addItem(" " + path);
              subDir = Search.subDirs(argument);
              /**TBD:- needs a method to convert the vector to an array and return the array */
              directoryArray = new File[subDir.size()];
                   int indexCount = 0;
                   /** TBD:- This is inefficient way of converting a vector to an array */               
                   Iterator e = subDir.iterator();               
                   while( e.hasNext() )
                        directoryArray[indexCount] = (File)e.next();
                        indexCount++;
              /** now calls this method and clears the previous data */
              clearTableData(table);     
                   (SimpleTable.hashTable).clear();
                   data = new Object[this.getRowTotal(directoryArray)][this.getColumnTotal()];
                   formatter = new SimpleDateFormat("mm/dd/yyyy hh:mm aaa");
                   data = null;
                   data = new Object[this.getRowTotal(directoryArray)][this.getColumnTotal()];
                   for(int k = 0; k < directoryArray.length; k++)
                        if(directoryArray[k].isDirectory())
                             data[k][0] = directoryArray[k].getName();
                             data[k][2] = "File Folder";
                             dateDirectory = directoryArray[k].lastModified();
                             dirDate = formatter.format(new java.util.Date(dateDirectory));
                             data[k][3] = dirDate;
                             (SimpleTable.hashTable).put(directoryArray[k].getName(), directoryArray[k]);
                             model.addRow(data[k]);
                             model.fireTableDataChanged();
                        else if(directoryArray[k].isFile())
                             data[k][0] = directoryArray[k].getName();
                             totalLen = directoryArray[k].length();
                             longe = new Long(totalLen);
                             data[k][1] = longe + " Bytes";
                             dateFile = directoryArray[k].lastModified();
                             fileDate = formatter.format(new java.util.Date(dateFile));
                             data[k][3] = fileDate;
                             (SimpleTable.hashTable).put(directoryArray[k].getName(), directoryArray[k]);                    }
                             model.addRow(data[k]);
                             model.fireTableDataChanged();
              table.revalidate();
              table.validate();               
    * Searches the Hashtable and returns the path of the folder or the value.
    * @param String name of the directory or file.
    * @return File     full-path of the selected file or directory.
    public File findPath(String value)
         return (File)((SimpleTable.hashTable).get(value));
    * This clears the previous data in the JTable and removes the rows.
    * @param     JTable table we are updating.
    public void clearTableData(JTable table)
         for(int row = table.getRowCount() - 1; row >= 0; --row)
                   model.removeRow(row);
              model.fireTableStructureChanged();

    java gurus any idea how ti fix this problem.
    thanks

  • Setting corect value in JTable while adding row @ run time

    HI All,
    Iam facing the following problems in Java Swing while using JTable..
    I have a JTable with 11 colums and i add row on run time..
    Since i needed the 11th column of the table to be of type CheckBox i used the follwing object in the DefaultTableModel class..
    Object[][] data =
                   {"1", "", "", "", "", "", new Double(0.0), new Integer(0), new Double(0.0), new Double(0.0),new Boolean(false) }
    When ever i wan't to delete a row i will click the Boolean Object ( which appears as a Check box ) and then delete that row.. For deleteing i am using 1 methods..
    1. By selecting the col by mouse and the click a button to delete the selected rows...
    2. By selecting the col by key board , using a Menu ShortCut key ( CTRL-F ) and then using the space key to on the value , then i use another Menu ShortCut key ( CTRL-D ) to delete all the selected rows..
    The above 2 methods work fine as for as deleting is concerned..
    But the problem starts while adding another row after deleting one or more rows..That 2 happens while the deletion had been done by the KEYBORD only..
    The problem is...
    If there is more than 1 rows and i select some rows of any order..And then delete them with the Keyboard option..and then add a rows , while adding the row @ the postion where the last row was deleted iam getting the 11th col. value ( which apears as a check box ) as selected..For example if there is 4 rows and i delete the 3rd and 4th row and then when i add rows its fine for the 3rd row and for the 4th row ( which was the last one which was slected to be deleted ) i get the option as a selected one..
    But while adding i use the above said Data object only..I then used the the
    JTablename.getValueAt(i,10); to print the value and iam geting false only..
    And more over when i try to focus in the cell in 1st row last column of the table by the setSelection method , the focus goes to the cell which appears to be enbled..
    My friends asked me to use the follwing methods before adding rows ..
    1. clearSelection()
    2. Validate()
    3. repaint()
    But the problem seems not over can anyone help....
    U can mail me to [email protected]
    Love,.
    Siva

    Yes, relatively easily, I think.
    In your end jump script set a second value in a different GPRM that identifies the last film played. This way the play all flag is set and you know which clip has just been seen.
    On resuming the play all you need to reset the play all flag to '1' and then look at the other GPRM to see which clip played last. Use a bunch of jump commands to get back in to the playback at the start of the next logical clip and it should continue through as before.
    The secret here is to clear the play all flag when showing a few clips, but use your 'resume play all' button to reset the flag and see where you were by reading the other GPRM.
    The downside here is that you could be in clip 3 when you exit the play all, but you would have to resume clip 3 from the start when you return as the 'Resume' info will get cleared if you start showing other clips in the mean time.
    Have you also considered setting up a video jukebox? You could then pick a selection of tracks to play in the order they were chosen and leave them to run through. This is a much trickier bit of scripting, but very possible!
    Stories could have made things easier, but given the set-up that you have built you can still get what you need from the scripting

  • How to refresh an existing row of a JTable

    Hi all,
    I have to refresh the data of an existing row of a JTable after some time in thread. The code snippet is
    DefaultTableModel model=new DefaultTableModel(data,columnNames);
    table = new JTable(model)
                   public boolean isCellEditable(int row, int col)
                   return false;
    Now I also add rows to this table within the run() of the thread as
    model.addRow(new Object []{sub1,sub6,sub12,sub3,sub18});
    My problem is that I want to refresh the data of this added row within the thread.
    Any help is highly appreciable. Thanks in advance.
    Regards,
    Har Krishan

    Hmmm. His qhestion does not seem to be with how to change the value of a field, but how to get the table to recognize the change. I thought such things were automatic. The model fires a value changed event and the JTable picks up the event and refreshes. I'm not sure why your table is not refreshing under these circumstances. Perhaps a more complete code snippet. Please use the open and close code tags to format your code if you include it.

  • How to Drag and Drop mutliple rows in the jtable

    hai
    i am having a jtree ,in which i added many nodes,each nodes hav
    corresponding jtable with values. now i need to drag a group of rows from a jtable of particular node in jtree to another node.
    at the same time i am possible to drag and drop the single row in the same sceanrio which i mentioned above.
    how to do this,can anyone pls help me regarding this
    goutham

    The Swing tutorial on [url http://java.sun.com/docs/books/tutorial/uiswing/misc/dnd.html]How to Use Drag and Drop has an example with JTable support.

  • How to clear the rows in a jTable

    Can anyone tell me how to clear the contents of all the rows in a jTable?

    This is how I did. Posting the same.
    jTable1.selectAll();
    int[] array = jTable1.getSelectedRows();
    for(int i=array.length-1;i>=0;i--)
    DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
    model.removeRow(i);
    Regards.

  • How can i add rows to a JTable at run time ??????

    hi there
    how can i add a row to a JTable at run time? and display the table after the change? thank you.

    For adding or removing the rows from the JTable, you have to use the methods on the table model. I would show you a simple implementation of table model.
    public class MyTableModel extends AbstractTableModel {
    private ArrayList rowsList = null;
    private String [] columns = { "Column 1" , "Column 2", "Column 3"};
    public MyTableModel() {
    rowsList = new ArrayList();
    public int getRowCount() {
    return rowsList.size();
    public int getColumnCount() {
    return columns.length;
    public void addRow(MyRow myRow) {
    //MyRow is any of your object.
    rowsList.add(myRow);
    fireTableDataChanged();
    public void removeRow(int rowIndex) {
    rowsList.remove(rowIndex);
    fireTableRowsDeleted(rowIndex, rowIndex);
    public Object getValueAt(int row, in col) {
    MyRow currentRow = (MyRow)rowsList.get(row);
    switch (col) {
    case 0:
    //return the value of first cell
    break;
    case 1 :
    //return the value of second cell
    break;
    case 2 :
    //return the value of third cell
    break;
    }Then create the table using the TableModel using the constructor new JTable(TableModel) and then when you want to add/remove a row from the table, call myTableModel.addRow(MyRow) or myTableModel.removeRow(rowIndex)....I hope that this solves your problem.

  • How to see Added Row in a table

    Hi
    i have taken atable with visible row count 5 and ihave taken a button to add new row for that i have written code in action of that button,when ever a new row is added  that added row below the 5th row, to see that added row ishould click on UP button of table,*what i want i as soon as new row added 1st row of table should go up and remaing 5 rows should appear(2,3,4,5,6 rows)  ,suppose if i click on add row 2nd row should go up and remaingrows should appear(3,4,5,6 rows).please help me out of this problem
    Thanks
    Kishore

    Hi Kishore,
    Try this.
    public void onActionAddRow(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionAddRow(ServerEvent)
        int row = wdContext.nodeCustomer().size();
        IPrivateTestCompView.ICustomerElement custElm = wdContext.createCustomerElement();
         custElm.setCname("");
         custElm.setCno("");
         custElm.setCsal("");
         wdContext.nodeCustomer().addElement(custElm);
         //for swap the rows
         for(int i=1;i<=row;i++)
              wdContext.nodeCustomer().swapElements( 0, i );     
        //@@end
    Regards,
    Mithu

  • How to increase the number of rows in a jTable dynamically?

    Can anyone help me in increasing the number of rows in a jTable dynamically without using DefaultTableModel?
    I don't want to use DefaultTableModel because my program is about to finish except this problem.
    Thanks in advance.

    Presumably you're using your own custom table model class. Modify that so that it returns the number of rows you want. Though presumably it would do this anyway so I've no idea what the problem is.
    Do you mean you've added rows to the table model but they're not being reflected in the table itself? You need to fire events - AbstractTableModel provides simple methods to fire them, but if you're not using that then you'll have to fire them manually.

  • How do you set the font color for a specific entire row inside a JTable?

    How do you set the font color for a specific entire row inside a JTable?
    I want to change the font color for only a couple of rows inside a JTable.
    I've seen some ways to possibly do this with an individual cell.
    Clarification on changing the font color in an individual cell would be helpful too if
    there is no easy way to do this for a row.

    hai,
    Try out with this piece of code.Create your table and assign the renderer to each column in the table.
    CellColorRenderer m_CellColorRenderer = new CellColorRenderer();
    for(int i=0;i<your_JTable.getColumnCount();i++)
    your_JTable.getColumnModel().getColumn(i).setCellRenderer(m_CellColorRenderer);
    class CellColorRenderer extends JLabel implements TableCellRenderer
    CellColorRenderer()     
    setOpaque(true);     
    setHorizontalAlignment(LEFT);
    setVerticalAlignment(CENTER);
    setBackground(Color.white);
    setForeground(Color.black);
    protected void setValue(Object value)
         setText((value == null) ? "" : value.toString());
    public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected, boolean hasFocus, int row,int column)
         if(isSelected == true)
              setForeground(Color.red);
         else
              setForeground(Color.black);
         setValue(value);
         return this;
    regards,
    bala

  • Adding rows in web dynpro ABAP Dynamic Interactive form.

    Hi Experts,
              I am having problem in web dynpro ABAP Dynamic Interactive form.
    This is my scenario....
    I have a dynamic interactive form that has buttons to add and remove rows in a table. It works fine when I preview it , but when I render, view or save it using ADS, it no longer works. The "add" button actually does instantiate more repeating rows, because I put some trace messages in to count them, but the added rows are not displayed. How do I make them visible?
    In web dynpro java we write some coding in modify view to set the pdf form as dynamic
    IWDInteractiveForm iForm =
    (IWDInteractiveForm)view.getElement("<ID>");
    iForm.setDynamicPDF(true);
    simillarly what we need to write in web dynpro ABAP.
    Please give me solution for the same.
    Thanks,
    Sathish

    hi all,
             expecting reply from u all. pls help me and give some sugesstion.
    regards,
    vinoth.

  • JTable help - trying to copy/paste a row in a JTable

    Hello,
    Geez, JTable is such a pain..... I am trying copy a range of rows within a JTable using an Abstract Table Model). I need to use this Abstract model as I have a custom String Tokenizing routine which accesses a flat text file which is my "table" so-to-speak.....
    The sequence of events are:
    1. Highlight the selected rows via the Mouse
    2. Select "Copy" from a menu pull down which then runs
    my copy method which resides in my abstract table model,which properly figures out which cells I need to copy (see below code), and opens up new rows at the bottom
    of the JTable.
    I am trying to automatically take those selected cells and then paste them into the opened up rows at the end of the table when choosing "Paste" from the menu.
    Here is the copy method, and the code that calls it from my main application. I am having a bit of trouble trying to figure out the Paste routine which is where I need help.
    Sorry if this is a bit redundant, but I've been struggling with it...... I know that the System Clipboard is available, but I just cant get that to work for me...
    Does 1.4.1 have an "easy" way to do this so I don't have to re-invent the wheel ????
    Thanks in advance
    From my main app:
    private void updateTheFiles(String updateType)
    // Determine which model we are working with //
    currmodel = (DataFileTableModel)vec.elementAt(tabnum) ;
    System.out.println("File = " + fileNameArray[tabnum] );
    if (updateType == "Save") {     
    System.out.println("updateType = " + updateType );
    Object tfs = new TextFileSaver(currmodel,fileNameArray[tabnum],"Pipe",true) ;}
    if (updateType == "Insert") {
    System.out.println("updateType = " + updateType );
    int a = currmodel.getColumnCount() ;
    Object [] aRow = new Object [a];
    currmodel.addRow(aRow); }
    if (updateType == "Delete") {
    System.out.println("updateType = " + updateType );
    currmodel.deleteRows(startRowToBeDeleted, endRowToBeDeleted); }
    if (updateType == "Copy") {
    System.out.println("updateType = " + updateType );
    ----> currmodel.copyRows(startRowToBeDeleted, endRowToBeDeleted);
    // if (updateType == "Paste") {
    // System.out.println("updateType = " + updateType );
    // TablePaste tp = new TablePaste(userTable) ;
    // if (updateType == "Find") {
    // System.out.println("updateType = " + updateType );
    // Object fnd = new FindReplace() ; }
    // currmodel.copyRows(startRowToBeDeleted, endRowToBeDeleted); }
    Table Model:
    import javax.swing.*;
    import javax.swing.table.*;
    import javax.swing.event.*;
    import java.io.* ;
    import java.util.* ;
    import java.lang.* ;
    public class DataFileTableModel extends AbstractTableModel {
    //public class DataFileTableModel extends DefaultTableModel {
    protected Vector data;
    protected Vector columnNames ;
    protected Vector copyVec ;
    protected String datafile;
    public DataFileTableModel(String f){
    datafile = f;
    initVectors();
    public void initVectors() {
    String aLine ;
    data = new Vector();
    columnNames = new Vector();
    try {
    FileInputStream fin = new FileInputStream(datafile);
    BufferedReader br = new BufferedReader(new InputStreamReader(fin));
    // extract column names
    StringTokenizer st1 =
    new StringTokenizer(br.readLine(), "|");
    while(st1.hasMoreTokens())
    columnNames.addElement(st1.nextToken());
    // extract data
    while ((aLine = br.readLine()) != null) {
    StringTokenizer st2 =
    new StringTokenizer(aLine, "|");
    while(st2.hasMoreTokens())
    data.addElement(st2.nextToken());
    br.close();
    catch (Exception e) {
    e.printStackTrace();
    public int getRowCount() {
    return data.size() / getColumnCount();
    public int getColumnCount(){
    return columnNames.size();
    public String getColumnName(int columnIndex) {
    String colName = "";
    if (columnIndex <= getColumnCount())
    colName = (String)columnNames.elementAt(columnIndex);
    return colName;
    public Class getColumnClass(int columnIndex){
    return String.class;
    public boolean isCellEditable(int rowIndex, int columnIndex) {
    return true;
    public Object getValueAt(int rowIndex, int columnIndex) {
    return (String)data.elementAt( (rowIndex * getColumnCount()) + columnIndex);
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
    data.setElementAt(aValue, (rowIndex * getColumnCount())+columnIndex) ;
    fireTableCellUpdated(rowIndex, columnIndex);
    public void addRow(Object[] aRow) {
    for (int i=0; i < aRow.length; i++)
    data.add(aRow);
    int size = getRowCount();
    fireTableRowsInserted(size-1,size-1);
    public void deleteRows(int startRow, int endRow)
    int tempRow = 0;
    int actualRows = 0;
    if (endRow < startRow)
    tempRow = endRow ;
    endRow = startRow ;
    startRow = tempRow ; }
         if (startRow < 0 || endRow > getRowCount())
         return;
         actualRows = (endRow - startRow) + 1 ;
         // determine the starting point (cell) to start deleting at //
         int colCount = getColumnCount() ;
         int cell = startRow * colCount ;
         // determine the total number of cells to delete //
         int totColCount = (getColumnCount() * actualRows) ;
         for (int d = 0; d < totColCount; d++)
         data.remove(cell) ;
    fireTableRowsDeleted(startRow,endRow) ;
    public void copyRows(int cStartRow, int cEndRow)
    System.out.println("Startrow = " + cStartRow) ;
    System.out.println("Endrow = " + cEndRow) ;
    int cTempRow = 0;
    int cActualRows = 0;
    if (cEndRow < cStartRow)
    cTempRow = cEndRow ;
    cEndRow = cStartRow ;
    cStartRow = cTempRow ; }
         if (cStartRow < 0 || cEndRow > getRowCount())
         return;
         cActualRows = (cEndRow - cStartRow) + 1 ;
         // determine the starting (cell) to start copying from //
         int cStartCell = cStartRow * getColumnCount() ;
         // determine the total number of cells to copy //
         int cTotCells = (getColumnCount() * cActualRows) ;
         // determine the ending cell //
         int cEndCell = (cStartCell + cTotCells) - 1 ;
         System.out.println("Start Cell = " + cStartCell) ;
         System.out.println("End Cell = " + cEndCell) ;
         System.out.println("Total Cells = " + cTotCells) ;     
         // Now we have to load the empty rows with the copied data //
         System.out.println("getrowcount = " + getRowCount()) ;
         // Open up empty rows where the copied data will reside //
         for (int ci = 0 ; ci < cActualRows ; ci++ )
         Object [] cRow = new Object [getColumnCount()] ;
         addRow(cRow) ;
         int newRowStart = (getRowCount() - cActualRows) ;
         int newRowEnd = getRowCount() - 1 ;
         System.out.println("new row start = " + newRowStart) ;
         System.out.println("new row end = " + newRowEnd ) ;

    Hi Veeru,
    I like to copy and paste in Excel too, so just do it!
    This forum is intended to help on specific problems. As you only told us what you like we can offer no help.
    But you may search the forum for all those other Excel related threads to find hints/examples/thoughts on this...
    Message Edited by GerdW on 01-12-2010 01:06 PM
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Moving rows in a JTable

    Hello to everybody. I would like to ask you if there is a way to change the order of the rows in a JTable by selecting them and dragging with the mouse just as you can do with columns.
    Best regards.
    Alessandro

    Cheers Richard,
    I'm using TableSorter which is part of the TableSorterDemo in How To Use Tables in the Sun Java tutorial if you want to look - it works fine within the demo. I'm afraid I'm fairly new to java so I'm not sure where to look for the problem. I think I'll try using the default tablemodel, see if that works and then add stuff until it all goes wrong again! Is this sensible? Any more ideas?
    Thomas

  • Numbers 09 continuing formulas when adding rows

    Numbers 09 - I have a checkbook template but when adding rows at the bottom the formulas do not continue. I have tried adding rows from the last row "Add row below" and also while in the last cell hitting return. Neither of these work. Any suggestions?

    Hi jc,
    The rule is quite explicit: "If all the body cells in a column above the new row contain the same formula or cell
    control, the formula or cell control is repeated in the new row."
    So far there's been some information necessary to solving the problem missing from your posts. Please do the following, and supply the requested information:
    Unhide ALL rows. There are two ways to do this, depending on what was done to hid them.
    a. Click on the Reorganize button. If the checkbox beside "Show rows that match..." is checked, uncheck it.
    b. If the checkbox is unchecked, or if there are still rows hidden after unchecking it, go to the Table menu and choose Unhide all Rows.
    Click on any cell on the table to activate the table and show the Column and Row reference tabs. Hover the mouse over the tab for Row 1, then click the triangle that appears to open the local row menu. Repeat with rows 2, 3, 4, 5 and 6 until you find the first row whose menu starts with the item shown below. Which row has this menu item on your table?:
    Now click on cell G2 (the first cell containing a balance).
    Select and Copy the whole formula from this cell. Paste it into your reply to this message.
    Repeat step 3 with the formula from cell G3. Paste it directly below the formula from G2, using the example below as a guide:
    G2: (paste formula)
    G3: (paste formula)
    Regards,
    Barry

Maybe you are looking for

  • Substituting a set of AD groups in NTFS permissions for another across multiple folders

    Okay, here's a good one. On a file server at one of our branch offices we have a set of folders that have permissions set for a particular set of groups in AD. For the purposes of this question the name of that office is "Sparta." We are setting up a

  • Macbook doesn't see my network connection

    My Macbook Pro (bought July 2012) doesn't see my wifi network at home but see others available. When I join other networks in different country (I travel a lot) and come home I can see it but when the mac goes to sleep I cannot connect again. Tried t

  • PHP crashing Apache process on 10.6.x

    I have the stock Snow Leopard versions of Apache and PHP enabled on my iMac (a 2006 running the current 10.6.8).  It is set up for local development testing only (host entries like mysite.local 127.0.0.1 and Apache config entries), and things general

  • KM Management in Portal

    Hi, I have a Query Help documents (Custom) which provides information about queries. Every query in our system will be accompanied by a Help Document. How can I upload those documents to BI Meta Data repository and access them in Portal Thanks

  • Internet browser stops

    I have an iMac with Mavericks 10.9.2 and the internet browser regularly stops working and the only way to reset it is to turn the iMac off and restart. This does not seem to be linked only to Safari but also Firefox, This issue has only resulted afte