@Override public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { boldFont = getFont().deriveFont(Font.BOLD); AssertionListEntry entry = (AssertionListEntry) value; String type = TestAssertionRegistry.getInstance().getAssertionTypeForName(entry.getName()); boolean canAssert = false; boolean disable = true; JLabel label; JTextArea descText; JLabel disabledInfo; if (type != null && assertable != null && assertable.getModelItem() != null) { canAssert = isAssertionApplicable(type, assertable.getModelItem(), getSelectedPropertyName()); disable = !categoriesListTable.isEnabled() || !canAssert; } String str = entry.getName(); label = new JLabel(str); label.setFont(boldFont); descText = new JTextArea(((AssertionListEntry) value).getDescription()); descText.setSize(new Dimension(80, 20)); descText.setLineWrap(true); descText.setWrapStyleWord(true); disabledInfo = new JLabel("Not applicable with selected Source and Property"); descText.setFont(disabledInfo.getFont()); if (disable) { label.setForeground(Color.LIGHT_GRAY); descText.setForeground(Color.LIGHT_GRAY); disabledInfo.setForeground(Color.LIGHT_GRAY); } SimpleForm form = new SimpleForm(); form.addComponent(label); if (!isHideDescriptionSelected()) { form.addComponent(descText); // if( disable ) // { // form.addComponent( disabledInfo ); // } getAssertionsTable().setRowHeight(70); } else { if (disable) { form.addComponent(disabledInfo); } getAssertionsTable().setRowHeight(40); } if (isSelected) { descText.setBackground(Color.LIGHT_GRAY); form.getPanel().setBackground(Color.LIGHT_GRAY); } else { descText.setBackground(Color.WHITE); form.getPanel().setBackground(Color.WHITE); } return form.getPanel(); }
@Override public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { String categoryName = (String) value; boolean disabled = true; Font boldFont = getFont().deriveFont(Font.BOLD); SortedSet<AssertionListEntry> assertions = categoriesAssertionsMap.get(categoryName); for (AssertionListEntry assertionListEntry : assertions) { if (isAssertionApplicable(assertionListEntry.getTypeId())) { disabled = false; break; } } JLabel label = new JLabel(categoryName); SimpleForm form = new SimpleForm(); form.addComponent(label); label.setFont(boldFont); if (disabled || !((CategoriesListTable) table).isSelectable(row)) { label.setForeground(Color.GRAY); } if (isSelected) { form.getPanel().setBackground(Color.LIGHT_GRAY); } else { form.getPanel().setBackground(Color.WHITE); } return form.getPanel(); }
protected Component buildAssertionsList() { assertionsForm = new SimpleForm(); assertionsListTableModel = new AssertionsListTableModel(); assertionsTable = new AssertionsListTable(assertionsListTableModel); int selectedRow = categoriesListTable.getSelectedRow(); String category = (String) categoriesListTable.getModel().getValueAt(selectedRow, 0); if (category != null && categoriesAssertionsMap.containsKey(category)) { assertions = categoriesAssertionsMap.get(category); assertionsListTableModel.setListEntriesSet(assertions); } assertionsTable.setTableHeader(null); assertionsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); assertionsTable.getSelectionModel().addListSelectionListener(selectionListener); assertionsTable.setEditable(false); assertionsTable.setGridColor(Color.BLACK); assertionsTable.addMouseListener(mouseAdapter); assertionsTable.getColumnModel().getColumn(0).setCellRenderer(assertionEntryRenderer); assertionsForm.addComponent(assertionsTable); return new JScrollPane(assertionsForm.getPanel()); }