jtable problem

please,somebody help debug this code for me,i have everything i could

and am not gettin it right.thanks in advance.

code.

....

'\n'

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

import java.util.Date.*;

import java.text.*;

import javax.swing.*;

import javax.swing.event.*;

import javax.swing.border.*;

import javax.swing.table.*;

publicclass IndividualTransactionextends JFrame{

private JTable m_table;

private JLabel m_title;

private IndividualTransactionData m_data;

public IndividualTransaction(){

setSize(600,300);

setDefaultCloseOperation(EXIT_ON_CLOSE);

//UIManager.put("Table.focusCellHighlightBorder",new LineBorder(Color.black),0);

m_title =new JLabel(m_data.getTitle(),SwingConstants.CENTER);

m_title.setFont(new Font("Helvetica",Font.PLAIN,20));

getContentPane().add(m_title,BorderLayout.NORTH);

m_table =new JTable();

m_table.setAutoCreateColumnsFromModel(false);

m_table.setModel(m_data);

for(int k=0;k<m_data.getColumnCount();k++){

DefaultTableCellRenderer renderer =new DefaultTableCellRenderer();

renderer.setHorizontalAlignment(IndividualTransactionData.m_columns[k].m_alignment);

TableColumn column =new TableColumn(k,IndividualTransactionData.m_columns[k].m_width,renderer,null);;

m_table.addColumn(column);

}

JTableHeader header =m_table.getTableHeader();

header.setUpdateTableInRealTime(false);

JScrollPane ps =new JScrollPane();

ps.getViewport().setBackground(m_table.getBackground());

ps.getViewport().add(m_table);

getContentPane().add(ps,BorderLayout.CENTER);

}

publicstaticvoid main(String[] arg){

new IndividualTransaction().setVisible(true);

}

}

class InsertData{

//public String transactionDate;

public String firstName;

public String otherNames;

public String phone;

public String addres;

public Double deposit;

public Double balance;

public InsertData(String first,String other,String ph,String addr,double dep,double bal){

firstName=first;

otherNames=other;

phone=ph;

address=addr;

deposit=new Double(dep);

balance=new Double(bal);

}

//public InsertData(){

//}

}

class ColumnData{

public String m_title;

publicint m_width;

publicint m_alignment;

public ColumnData(String title,int width,int alignment){

m_title=title;

m_width=width;

m_alignment=alignment;

}

}

class IndividualTransactionDataextends AbstractTableModel{

staticfinal ColumnData m_columns[]={

new ColumnData("First Name",50,JLabel.LEFT),

new ColumnData("Other Names",100,JLabel.LEFT),

new ColumnData("Phone Number",50,JLabel.CENTER),

new ColumnData("Address",100,JLabel.LEFT),

new ColumnData("Deposit",50,JLabel.RIGHT),

new ColumnData("Balance",50,JLabel.RIGHT)

};

private SimpleDateFormat m_frm;

private Vector m_vector;

private Date m_date;

public IndividualTransactionData(){

m_frm=new SimpleDateFormat("mm/dd/yy");

m_vector=new Vector();

setDefaultData();

}

publicvoid setDefaultData(){

try{

m_date=m_frm.parse("06/23/2007");

}

catch(Exception e){

m_date=null;

}

m_vector.removeAllElement();

m_vector.addElement(new InsertData("Efekodo","Efekodo","08020533574","Chanchanga",50000,10000));

m_vector.addElement(new InsertData("Mathew","Lucky","08073204099","Tunga",5000,10000));

}

publicint getRowCount(){

return m_vector==null ? 0 : m_vector.size();

}

publicint getColumnCount(){

return m_columns.length;

}

public String getColumnName(int column){

return m_columns[column].m_title;

}

publicboolean getValueAt(int nRow,int nCol){

if(nRow><0||nRow>=getRowCount())

return"";

InsertData row=(InsertData)m_vector.elementAt(nRow);

switch(nCol){

case 0:return row.firstName;

case 1:return row.otherNames;

case 2:return row.phone;

case 3:return row.address;

case 4:return row.deposit;

case 5:return row.balance;

}

return"";

}

public String getTitle(){

if(m_date==null)

return"Today is Saturday";

return"Today is Saturday at "+m_frm.format(m_date);

}

}

[10024 byte] By [kc81a] at [2007-11-27 8:42:43]
# 1

Hope this can help you...

import java.awt.*;

import java.util.*;

import java.text.*;

import javax.swing.*;

import javax.swing.table.*;

public class IndividualTransaction extends JFrame{

/**

*

*/

private static final long serialVersionUID = 1L;

private JTable m_table;

private JLabel m_title;

private IndividualTransactionData m_data = new IndividualTransactionData();

public IndividualTransaction(){

setSize(600,300);

setDefaultCloseOperation(EXIT_ON_CLOSE);

//UIManager.put("Table.focusCellHighlightBorder",new LineBorder(Color.black),0);

m_title = new JLabel(m_data.getTitle(),SwingConstants.CENTER);

m_title.setFont(new Font("Helvetica",Font.PLAIN,20));

getContentPane().add(m_title,BorderLayout.NORTH);

m_table = new JTable();

m_table.setAutoCreateColumnsFromModel(false);

m_table.setModel(m_data);

for(int k=0;k<m_data.getColumnCount();k++){

DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();

renderer.setHorizontalAlignment(IndividualTransactionData.m_columns[k].m_alignment);

TableColumn column = new TableColumn(k,IndividualTransactionData.m_columns[k].m_width,renderer,null);;

m_table.addColumn(column);

}

JTableHeader header =m_table.getTableHeader();

header.setUpdateTableInRealTime(false);

JScrollPane ps = new JScrollPane();

ps.getViewport().setBackground(m_table.getBackground());

ps.getViewport().add(m_table);

getContentPane().add(ps,BorderLayout.CENTER);

}

public static void main(String[] arg){

new IndividualTransaction().setVisible(true);

}

}

class InsertData{

//public String transactionDate;

public String firstName;

public String otherNames;

public String phone;

public String address;

public Double deposit;

public Double balance;

public InsertData(String first,String other,String ph,String addr,double dep,double bal){

firstName=first;

otherNames=other;

phone=ph;

address=addr;

deposit=new Double(dep);

balance=new Double(bal);

}

//public InsertData(){

//}

}

class ColumnData{

public String m_title;

public int m_width;

public int m_alignment;

public ColumnData(String title,int width,int alignment){

m_title=title;

m_width=width;

m_alignment=alignment;

}

}

class IndividualTransactionData extends AbstractTableModel{

/**

*

*/

private static final long serialVersionUID = 1L;

static final ColumnData m_columns[]={

new ColumnData("First Name",50,JLabel.LEFT),

new ColumnData("Other Names",100,JLabel.LEFT),

new ColumnData("Phone Number",50,JLabel.CENTER),

new ColumnData("Address",100,JLabel.LEFT),

new ColumnData("Deposit",50,JLabel.RIGHT),

new ColumnData("Balance",50,JLabel.RIGHT)

};

private SimpleDateFormat m_frm;

private Vector m_vector;

private Date m_date;

public IndividualTransactionData(){

m_frm= new SimpleDateFormat("mm/dd/yy");

m_vector= new Vector();

setDefaultData();

}

public void setDefaultData(){

try{

m_date=m_frm.parse("06/23/2007");

}

catch(Exception e){

m_date=null;

}

m_vector.removeAllElements();

m_vector.addElement(new InsertData("Efekodo","Efekodo","08020533574","Chanchanga",50000,10000));

m_vector.addElement(new InsertData("Mathew","Lucky","08073204099","Tunga",5000,10000));

}

public int getRowCount(){

return m_vector==null ? 0 : m_vector.size();

}

public int getColumnCount(){

return m_columns.length;

}

public String getColumnName(int column){

return m_columns[column].m_title;

}

public Object getValueAt(int nRow,int nCol){

if(nRow><0||nRow>=getRowCount())

return "";

InsertData row=(InsertData)m_vector.elementAt(nRow);

switch(nCol){

case 0: return row.firstName;

case 1: return row.otherNames;

case 2: return row.phone;

case 3: return row.address;

case 4: return row.deposit;

case 5: return row.balance;

}

return "";

}

public String getTitle(){

if(m_date==null)

return "Today is Saturday";

return "Today is Saturday at "+m_frm.format(m_date);

}

}

-

Maybe you can use Ecplise IDE for futire debugging and development. It is easy to use and great debugging feature

money_0422a at 2007-7-12 20:42:07 > top of Java-index,Desktop,Core GUI APIs...