Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / GUI / February 2008

Tip: Looking for answers? Try searching our database.

hi friends.please help

Thread view: 
mamta81 - 14 Feb 2008 09:07 GMT
I am trying t make a jTable Using Abstract TableModel. But my JTable
doesnot appear on the frame.I have written two classes  myTable and
jTable2 .My code is given below:

import javax.swing.*;
import java.awt.*;

public class myTable {
    public static void main(String args[]){
        JTable2 tbl2=new JTable2();
        JTable  aTbl=new JTable(tbl2);
        aTbl.updateUI();
        aTbl.setVisible(true);
        JFrame frame=new JFrame("Jtable using AbstractTableModel");
        JPanel pan=new JPanel();
        JScrollPane scp=new JScrollPane();
        scp.add(aTbl);
        pan.add(scp);
        frame.getContentPane().add(pan);
        frame.setVisible(true);
        frame.pack();
    }

}

import javax.swing.*;
import java.sql.*;
import java.util.*;
import javax.swing.table.*;

public class JTable2 extends AbstractTableModel{
    Connection con;
    Statement stmt;
    ResultSet rs;
    int columns;
    Vector allRows;
    Vector row=new Vector();
    String [] columnNames={"ID_CODE","NAME","SECTION"};

    public JTable2(){
        // connect to database
        try{
        db_connect();
        getData();
        }catch(Exception ex){
            ex.printStackTrace();
        }

    }
    void db_connect() throws SQLException{
        try{
            Class.forName("oracle.jdbc.driver.OracleDriver");
   
con=DriverManager.getConnection("jdbc:oracle:thin:@158.144.71.242:1521:dbadp","payroll","sush");
            System.out.println("Connected");
        }catch(Exception ex){
            ex.printStackTrace();
        }
    }
    void getData() throws SQLException {
        try{
            stmt=con.createStatement();
            rs=stmt.executeQuery("select idcode,id_name,sec_code from
employee");
            ResultSetMetaData rsMetaData=rs.getMetaData();
            columns=rsMetaData.getColumnCount();
            allRows=new Vector();
            while(rs.next()){
                Vector newRow=new Vector();
                for(int i=1;i<=columns;i++){
                    newRow.addElement(rs.getObject(i));
                    }
                allRows.addElement(newRow);
                    }

        }catch (Exception ex){
            ex.printStackTrace();
        }
    }
    public int getRowCount(){
        return allRows.size();
    }
    public int getColumnCount(){
        return columns;
    }
    public Object getValueAt(int aRow,int aColumn){
        row=(Vector) allRows.elementAt(aRow);
        return row.elementAt(aColumn);
    }
     public boolean isCellEditable(int row, int col){
           return false;
         }

}
lemmi - 15 Feb 2008 09:50 GMT
Two mistakes:
  - the table needs to be passed to the constructor of the
JScrollPane
  - at least one column needs to be added to the table

Fixed code:

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableColumn;

public class myTable {
   public static void main(String args[]) {
       JTable2 tbl2 = new JTable2();
       JTable aTbl = new JTable(tbl2);
       aTbl.addColumn(new TableColumn());
       aTbl.updateUI();
       aTbl.setVisible(true);
       JFrame frame = new JFrame("Jtable using AbstractTableModel");
       JPanel pan = new JPanel();
       JScrollPane scp = new JScrollPane(aTbl);
       pan.add(scp);
       frame.getContentPane().add(pan);
       frame.setVisible(true);
       frame.pack();
   }
}

--Dirk

> I am trying t make a jTable Using Abstract TableModel. But my JTable
> doesnot appear on the frame.I have written two classes  myTable and
[quoted text clipped - 90 lines]
>
> }


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.