from javax.swing import JFrame, JTable, JScrollPane from javax.swing.table import DefaultTableModel from datetime import date class TableViewer(JFrame): def __init__(self): data = [[1, date(2015, 12, 31)], [2, date(2016, 1, 1)]] columnNames = ['Number', 'Date'] table = JTable() table.setModel(DefaultTableModel(data, columnNames)) self.add(JScrollPane(table)) self.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE) self.pack() self.visible = True viewer = TableViewer()