private void refreshTable() {
        tblSchedule.setModel(new javax.swing.table.DefaultTableModel(
                new Object[][]{},
                new String[]{}) {

            @Override
            public Class<?> getColumnClass(int columnIndex) {
                if (columnIndex == 0 || columnIndex == 2) {
                    return Integer.class;
                }
                return String.class;
            }

            @Override
            public boolean isCellEditable(int rowIndex, int colIndex) {
                return colIndex > 2;
            }

            @Override
            public void fireTableCellUpdated(int row, int column) {
                Object tmpValue = model.getValueAt(row, column);
                if (tmpValue != null) {
                    String value = tmpValue.toString();
                    if (value.equalsIgnoreCase("x1")) {
                        model.setValueAt(RoosterProgramma.getInstance().getSettings().getX1(), row, column);
                    } else if (value.equalsIgnoreCase("x2")) {
                        model.setValueAt(RoosterProgramma.getInstance().getSettings().getX2(), row, column);
                    } else if (value.equalsIgnoreCase("x3")) {
                        model.setValueAt(RoosterProgramma.getInstance().getSettings().getX3(), row, column);
                    }
                }
                super.fireTableCellUpdated(row, column);
            }
        });
    }