Advertisement
sedran

JTable and DefaultTableModel

Jan 25th, 2012
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.42 KB | None | 0 0
  1. import java.awt.FlowLayout;
  2. import java.util.Random;
  3.  
  4. import javax.swing.JFrame;
  5. import javax.swing.JTable;
  6. import javax.swing.event.TableModelEvent;
  7. import javax.swing.event.TableModelListener;
  8. import javax.swing.table.DefaultTableModel;
  9.  
  10. public class Serdar {
  11.     public static void main(String args[]) {
  12.         Random r = new Random();
  13.         JFrame frame = new JFrame("serdar");
  14.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  15.         frame.getContentPane().setLayout(new FlowLayout());
  16.        
  17.         final DefaultTableModel model = new DefaultTableModel();
  18.         JTable table = new JTable(model);
  19.         model.addColumn("ders1");
  20.         model.addColumn("ders2");
  21.         model.addColumn("ders3");
  22.         model.addColumn("ortalama");
  23.         for(int i=0; i<20; i++) {
  24.             Integer[] not = new Integer[4];
  25.             not[0] = r.nextInt(101);
  26.             not[1] = r.nextInt(101);
  27.             not[2] = r.nextInt(101);
  28.             not[3] = (not[0] + not[1] + not[2])/3;
  29.             model.addRow(not);
  30.         }
  31.        
  32.         model.addTableModelListener(new TableModelListener() {
  33.             public void tableChanged(TableModelEvent e) {
  34.                 if(e.getColumn() != 3) {
  35.                     System.out.println(model.getValueAt(e.getFirstRow(), e.getColumn()));
  36.                     int total = 0;
  37.                     for(int i=0; i<3; i++) {
  38.                         total += Integer.parseInt(("" + (model.getValueAt(e.getFirstRow(), i))));
  39.                     }
  40.                     model.setValueAt(total/3, e.getFirstRow(), 3);
  41.                 }
  42.             }
  43.         });
  44.        
  45.         frame.add(table);
  46.        
  47.         frame.pack();
  48.         frame.setVisible(true);
  49.     }
  50.    
  51.    
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement