Source Code : extends FlexTable implements TableListener

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

extends FlexTable implements TableListener

 



package com.java2s.gwt.client;

import java.util.*;
import java.util.Set;

import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.SourcesTableEvents;
import com.google.gwt.user.client.ui.TableListener;


import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.HistoryListener;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.ServiceDefTarget;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.SourcesTableEvents;
import com.google.gwt.user.client.ui.TableListener;


public class GWTClient implements EntryPoint, HistoryListener {

    private Table table;
    
    private void getData(){
        ArrayList values = new ArrayList();
        
        values.add( new Person ("A", "H", "E", "6" ));
        values.add( new Person("B", "G",  "E", "19" ));
        values.add( new Person("C", "F", "A", "17" ));
        values.add( new Person( "D", "E", "A" , "17"));
        
        table.setSource( new SimpleDataSource( (Person[]) values.toArray( new Person[values.size()]) ) );
    }
    
    public void onModuleLoad() {
        table = new Table( null, "myTable" );
        table.setStyleName("myTable");
        RootPanel.get().add(table);
        getData();
        
        table.addTableListener( new TableListener(){
            public void onCellClicked(SourcesTableEvents sender, 
                int row, int cell) {
                History.newItem( ""+row );
            }
        });
        History.addHistoryListener( this );
    }
    
    public void onHistoryChanged(String historyToken){
        table.onCellClicked( table, Integer.parseInt( historyToken ), 0);
    }
    
}
 class Person {
    
    public String firstName;
    public String lastName;
    public String company;
    public String counts;
    
    public Person() {
    }
    
    public Person( String firstName, String lastName, String company, String counts ){
        this.firstName = firstName;
        this.lastName = lastName;
        this.company = company;
        this.counts = counts;
    }
    
}

class Table extends FlexTable implements TableListener {
    private String headerStyle;
    private String selectedStyle;
    private TableDataSource source;
    private int selectedRow;
    
    public Table(TableDataSource source, String stylePrefix) {
        super();
        this.setCellPadding(1);
        this.setCellSpacing(0);
        this.setWidth("100%");
        this.selectedStyle = stylePrefix + "-selected";
        this.headerStyle = stylePrefix + "-header";
        this.addTableListener(this);
        this.setSource( source );
    }

    public void onCellClicked(SourcesTableEvents sender, 
                int row, int cell) {
        this.getRowFormatter()
                .removeStyleName(selectedRow, selectedStyle);
        if ((source.getHeaderRow() == null) || (row > 0)) {
            this.getRowFormatter()
                .addStyleName(row, selectedStyle);
            selectedRow = row;
        }
    }
    
    public void setSource( TableDataSource source ){
        for( int i = this.getRowCount(); i > 0; i-- ){
            this.removeRow( 0 );
        }
        if( source == null ){
            return;
        }
        
        int row = 0;
        String[] headers = source.getHeaderRow();
        if( headers != null ){
            for( int i=0; i < headers.length; i++ ){
                this.setText( row, i , headers[i] );
            }
            this.getRowFormatter().addStyleName( row, headerStyle );
            row++;
        }
        int rows = source.getRowCount();
        for( int i=0 ; i <rows; i++ ){
            String[] values = source.getRow(i);
            for( int col=0; col < values.length; col++ ){
                this.setText( row, col, values[col] );
            }
            row++;
        }
        this.selectedRow = 0;
        this.source = source;
    }
}

 class SimpleDataSource implements TableDataSource {
    
    private String[] headers; 
    private String[][] data;
    
    public SimpleDataSource(Person[] people) {
        super();
        String[] headers = { "First Name", "Last Name", "Company", "Counts" };
        this.headers = headers;
        this.data = new String[people.length][4];
        for( int i=0; i < people.length ; i++ ){
            Person p = people[i];
            this.data[i][0] = p.firstName;
            this.data[i][1] = p.lastName;
            this.data[i][2] = p.company;
            this.data[i][3] = p.counts;
        }
    }

    public int getRowCount() {
        return data.length;
    }

    public String[] getRow(int i) {
        return data[i];
    }

    public String[] getHeaderRow() {
        return headers;
    }
   
}


interface TableDataSource {
    
    public String[] getHeaderRow();
    
    public int getRowCount();
    
    public String[] getRow(int row);
    
}


           
         
  

Thank with us