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);
}
}

