Java - JTable


Klasa JTable je dio Java Swing paketa i uopšteno se koristi za prikaz ili uređivanje dvodimenzionalnih podataka koji imaju i redove i kolone. Slično je proračunskoj tabeli. Klasa JTable raspoređuje podatke u tabelarni oblik.



Najčešće korišteni konstruktori:

Konstruktor Opis
JTable() Kreira tabelu sa praznim ćelijama.
JTable(Object[][] rows, Object[] columns) Kreira tabelu sa navedenim podacima.


Primjer Java JTable

public class Main {    
    JFrame f;    
        Main(){    
        f=new JFrame();    
        String data[][]={ {"101","Miloš","6700"},    
                          {"102","Marija","7800"},    
                          {"101","Marko","7000"}};    
        String column[]={"ID","IME","PLATA"};         
        JTable jt=new JTable(data,column); 
        
        jt.setBounds(30,40,200,400);          
        JScrollPane sp=new JScrollPane(jt);   
        
        f.add(sp);          
        f.setSize(300,400);    
        f.setVisible(true);    
        f.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }     
    public static void main(String[] args) {    
        new Main();    
    }    
}

Prikaz koda iz gornjeg primjera izgledaće ovako:



Primjer Java JTable sa ListSelectionListener

import javax.swing.*;    
import static javax.swing.WindowConstants.EXIT_ON_CLOSE;
import javax.swing.event.*;  


public class Main {    
      public static void main(String[] a) {  
            JFrame f = new JFrame("Primjer Tabele");  
            String data[][]={ {"101","Miloš","670000"},    
                              {"102","Marija","780000"},    
                              {"101","Marko","700000"}};    
            String column[]={"ID","IME","PLATA"};         
            final JTable jt=new JTable(data,column);    
            jt.setCellSelectionEnabled(true);  
            ListSelectionModel select= jt.getSelectionModel();  
            
            select.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);  
            select.addListSelectionListener(new ListSelectionListener() {  
              public void valueChanged(ListSelectionEvent e) {  
                String Data = null;  
                int[] row = jt.getSelectedRows();  
                int[] columns = jt.getSelectedColumns();  
                for (int i = 0; i < row.length; i++) {  
                  for (int j = 0; j < columns.length; j++) {  
                    Data = (String) jt.getValueAt(row[i], columns[j]);  
                  } }  
                System.out.println("Odabrani element tabele je: " + Data);    
              }       
            });
            
        JScrollPane sp=new JScrollPane(jt);    
        f.add(sp);  
        f.setSize(300, 200);  
        f.setVisible(true); 
        f.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }  
}  

Prikaz koda iz gornjeg primjera izgledaće ovako:



Kada kliknete dva puta na bilo koju ćeliju tabele, ponudiće vam da uredite sadržaj ćelije kako vi želite, a progam vam govori koji element ste odabrali u vašoj tabeli. Pogledajmo sljedeću sliku: