Java tutorial
import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; public class GetValueAtLogic extends JFrame { public GetValueAtLogic() { JTable table = new JTable(new CoordinateTableModel()); getContentPane().add(new JScrollPane(table), BorderLayout.CENTER); pack(); } public static void main(String arg[]) { GetValueAtLogic ex1 = new GetValueAtLogic(); ex1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ex1.setVisible(true); } } class CoordinateTableModel extends AbstractTableModel { private int[] x = { 2, 3, 5, 7, 11, 13, 17, 19 }; // x is prime < 20 public int getColumnCount() { return 2; } public int getRowCount() { return x.length; } public Object getValueAt(int r, int c) { return (c == 0) ? new Integer(x[r]) : new Integer(2 * x[r] + 1); } public String getColumnName(int c) { return (c == 0) ? "x" : "2x+1"; } }