Пример #1
0
  /**
   * Creates a new MappingEditor object.
   *
   * @param mappings DOCUMENT ME!
   */
  public MappingEditor(final List<Mapping> mappings) {
    fldNames = null;
    initComponents();
    setContent(mappings);
    tblMappings.setModel(new MappingModel(mappings));
    // add alphanumeric sorting
    TableSortDecorator.decorate(tblMappings);
    scpMappings.setTransferHandler(tblMappings.getTransferHandler());
    this.tblMappings
        .getSelectionModel()
        .setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

    final TableColumn col = tblMappings.getColumnModel().getColumn(3);
    col.getCellRenderer();
  }
Пример #2
0
  /**
   * Creates new form OutputIntermedTable.
   *
   * @param intermed DOCUMENT ME!
   * @param enclosingChars DOCUMENT ME!
   */
  public OutputIntermedTable(final TableModel intermed, final String[] enclosingChars) {
    initComponents();
    deduplicate = new boolean[intermed.getColumnCount()];
    if ((enclosingChars != null) && (enclosingChars.length == intermed.getColumnCount())) {
      for (int i = 0; i < intermed.getColumnCount(); ++i) {
        deduplicate[i] = "'".equals(enclosingChars[i]);
      }
    } else {
      Arrays.fill(deduplicate, false);
    }
    tblIntermed.setFont(new java.awt.Font("Dialog", 0, 12));
    this.tblIntermed.setModel(intermed);
    this.tblIntermed
        .getSelectionModel()
        .setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    this.tblIntermed.setCellSelectionEnabled(true);
    setName(intermed.toString());
    lblRowCount.setText("Rows: " + intermed.getRowCount());
    TableSortDecorator.decorate(tblIntermed);
    final DefaultTableCellRenderer r =
        new DefaultTableCellRenderer() {

          @Override
          public final Component getTableCellRendererComponent(
              final JTable table,
              final Object value,
              final boolean isSelected,
              final boolean hasFocus,
              final int row,
              final int column) {
            final Component c;
            if (value != null) {
              // hardcoded unescaping for performance
              final char[] chars = value.toString().toCharArray();
              final char[] res;
              if ((chars.length > 1) && deduplicate[column]) {
                res = new char[chars.length];
                int ptr = -1;
                char cur = chars[0];
                char next;
                for (int j = 0; j < (chars.length - 1); ++j) {
                  next = chars[j + 1];
                  if ((cur == '\'') && (next == '\'')) {
                    ++j;
                  }
                  res[++ptr] = cur;
                  cur = next;
                }
                res[++ptr] = chars[chars.length - 1];
                c =
                    super.getTableCellRendererComponent(
                        table, new String(res, 0, ++ptr), isSelected, hasFocus, row, column);
              } else {
                c =
                    super.getTableCellRendererComponent(
                        table,
                        new String(chars, 0, chars.length),
                        isSelected,
                        hasFocus,
                        row,
                        column);
              }
              c.setForeground(Color.BLACK);
            } else {
              c =
                  super.getTableCellRendererComponent(
                      table, NULL, isSelected, hasFocus, row, column);
              //                    c.setBackground(Color.WHITE);
              c.setForeground(Color.LIGHT_GRAY);
            }
            return c;
          }
        };
    //        tblIntermed.setDefaultRenderer(String.class, r);
    tblIntermed.setDefaultRenderer(Object.class, r);
  }