Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableModel;

public class Main extends JPanel {

    public static void main(String[] args) {
        JFrame f = new JFrame("JTable");
        f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        f.add(new Main());
        f.pack();
        f.setVisible(true);
    }

    public Main() {
        TableModel dataModel = new MyTableModel();
        JTable table = new JTable(dataModel);
        table.setAutoCreateRowSorter(true);
        table.getColumnModel().getColumn(0).setPreferredWidth(100);
        table.getColumnModel().getColumn(1).setPreferredWidth(150);
        table.getColumnModel().getColumn(2).setPreferredWidth(200);
        JScrollPane jsp = new JScrollPane(table);
        this.add(jsp);
    }

}

class MyTableModel extends AbstractTableModel {

    @Override
    public int getRowCount() {
        return 30;
    }

    @Override
    public int getColumnCount() {
        return 3;
    }

    @Override
    public Object getValueAt(int row, int col) {
        return Math.pow(row, col + 1);
    }

    @Override
    public Class<?> getColumnClass(int col) {
        return getValueAt(0, col).getClass();
    }
}