ClauseOrder(QueryClauses clauses) { super(new GridLayout(1, 2)); this.clauses = clauses; DefaultPanel pnl; JToolBar bar; JScrollPane scroll; DefaultTableModel model = new DefaultTableModel(0, 2) { public boolean isCellEditable(int row, int column) { return column == 0; } }; this.add(pnl = new DefaultPanel()); pnl.setCenterComponent( scroll = new JScrollPane(availableExpressions = new JList(new DefaultListModel()))); pnl.setEastComponent(bar = new JToolBar(JToolBar.VERTICAL)); bar.add(createButton("put >", PUT)); bar.add(createButton("< push", PUSH)); bar.setFloatable(false); this.add(pnl = new DefaultPanel()); pnl.setCenterComponent(scroll = new JScrollPane(selectedExpressions = new JTable(model))); pnl.setEastComponent(bar = new JToolBar(JToolBar.VERTICAL)); bar.add(createButton("up", UP)); bar.add(createButton("down", DOWN)); bar.setFloatable(false); scroll.getViewport().setBackground(selectedExpressions.getBackground()); TableColumn tableColumn = selectedExpressions.getColumn(selectedExpressions.getColumnName(0)); tableColumn.setCellEditor(new CheckBoxCellRenderer()); tableColumn.setCellRenderer(new CheckBoxCellRenderer()); tableColumn.setPreferredWidth(15); tableColumn.setMaxWidth(15); tableColumn.setResizable(false); selectedExpressions.setIntercellSpacing(new Dimension(0, 0)); selectedExpressions.setShowGrid(false); selectedExpressions.setColumnSelectionAllowed(false); selectedExpressions.setDefaultRenderer(Boolean.class, new CheckBoxCellRenderer()); selectedExpressions.getTableHeader().setPreferredSize(new Dimension(0, 0)); selectedExpressions.getTableHeader().setVisible(false); }