javax.swing.table.TableModel#getColumnCount ( )源码实例Demo

下面列出了javax.swing.table.TableModel#getColumnCount ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: pentaho-reporting   文件: AbstractDemoFrame.java
protected JComponent createDefaultTable(final TableModel data)
{
  final JTable table = new JTable(data);
  table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

  for (int columnIndex = 0; columnIndex < data
      .getColumnCount(); columnIndex++)
  {
    final TableColumn column = table.getColumnModel().getColumn(columnIndex);
    column.setMinWidth(50);
    final Class c = data.getColumnClass(columnIndex);
    if (c.equals(Number.class))
    {
      column.setCellRenderer(new NumberCellRenderer());
    }
  }

  return new JScrollPane
      (table, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
          JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
}
 
源代码2 项目: ApkToolPlus   文件: ListDetailPane.java
public void show(TreePath treePath) {
    CodeGenerator cg = new CodeGenerator();
    currentMethodIndex = cg.getMethodIndex(treePath);
    
    TableModel tableModel = getTableModel(treePath);
 
      table.setModel(tableModel);
   

   createTableColumnModel(table, tableModel);
    ((JLabel) table.getDefaultRenderer(Number.class))
            .setVerticalAlignment(JLabel.TOP);
    ((JLabel) table.getDefaultRenderer(String.class))
            .setVerticalAlignment(JLabel.TOP);
    table.setDefaultRenderer(Link.class, new LinkRenderer());
    if (tableModel.getColumnCount() > 6) {
        ButtonColumn bc = new ButtonColumn(table, 6);
     }
    
}
 
源代码3 项目: pentaho-reporting   文件: AddDataFactoryAction.java
private static boolean isLegacyDefaultDataFactory( final DataFactory dataFactory ) {
  final String[] queryNames = dataFactory.getQueryNames();
  if ( queryNames.length == 0 ) {
    return true;
  }

  if ( queryNames.length != 1 ) {
    return false;
  }
  if ( "default".equals( queryNames[ 0 ] ) ) {
    try {
      // check for legacy-built-in defaults and selectively ignore them ..
      final TableModel tableModel = dataFactory.queryData( "default", null );
      if ( tableModel.getRowCount() == 0 && tableModel.getColumnCount() == 0 ) {
        return true;
      }
    } catch ( final Exception e ) {
      return false;
    }
  }
  return false;
}
 
private TableDataRow( final TableModel data, final String valueColumn ) {
  if ( data == null ) {
    throw new NullPointerException();
  }
  this.data = data;
  this.columnNames = new String[data.getColumnCount()];
  this.nameindex = new HashMap<String, Integer>();
  this.valueColumn = valueColumn;
  for ( int i = 0; i < columnNames.length; i++ ) {
    final String name = data.getColumnName( i );
    columnNames[i] = name;
    nameindex.put( name, IntegerCache.getInteger( i ) );
  }

  this.currentRow = -1;
}
 
源代码5 项目: consulo   文件: TableExpandableItemsHandler.java
public Pair<Component, Rectangle> getCellRendererAndBounds(TableCell key) {
  Rectangle cellRect = getCellRect(key);

  int modelColumnIndex = myComponent.convertColumnIndexToModel(key.column);
  final int modelRowIndex = myComponent.convertRowIndexToModel(key.row);
  TableModel model = myComponent.getModel();
  if (key.row < 0 || key.row >= model.getRowCount() || key.column < 0 || key.column >= model.getColumnCount()) {
    return null;
  }

  Component renderer = myComponent
    .getCellRenderer(key.row, key.column)
    .getTableCellRendererComponent(myComponent,
                                   model.getValueAt(modelRowIndex, modelColumnIndex),
                                   myComponent.getSelectionModel().isSelectedIndex(key.row),
                                   myComponent.hasFocus(),
                                   key.row, key.column);
  cellRect.width = renderer.getPreferredSize().width;

  return Pair.create(renderer, cellRect);
}
 
源代码6 项目: groovy   文件: SwingExtensions.java
/**
 * Support the subscript operator for TableModel.
 *
 * @param self  a TableModel
 * @param index the index of the row to get
 * @return the row at the given index
 * @since 1.6.4
 */
public static Object[] getAt(TableModel self, int index) {
    int cols = self.getColumnCount();
    Object[] rowData = new Object[cols];
    for (int col = 0; col < cols; col++) {
        rowData[col] = self.getValueAt(index, col);
    }
    return rowData;
}
 
源代码7 项目: netcdf-java   文件: StructureTable.java
private void export() {
  String filename = fileChooser.chooseFilename();
  if (filename == null)
    return;
  try {
    PrintWriter pw = new PrintWriter(new File(filename), StandardCharsets.UTF_8.name());

    TableModel model = jtable.getModel();
    for (int col = 0; col < model.getColumnCount(); col++) {
      if (col > 0)
        pw.print(",");
      pw.print(model.getColumnName(col));
    }
    pw.println();

    for (int row = 0; row < model.getRowCount(); row++) {
      for (int col = 0; col < model.getColumnCount(); col++) {
        if (col > 0)
          pw.print(",");
        pw.print(model.getValueAt(row, col));
      }
      pw.println();
    }
    pw.close();
    JOptionPane.showMessageDialog(this, "File successfully written");
  } catch (IOException ioe) {
    JOptionPane.showMessageDialog(this, "ERROR: " + ioe.getMessage());
    ioe.printStackTrace();
  }

}
 
源代码8 项目: pentaho-reporting   文件: CachableTableModel.java
protected void initData( final TableModel model ) {
  cellValues =
    new GenericObjectTable<Object>( Math.max( 1, model.getRowCount() ), Math.max( 1, model.getColumnCount() ) );
  for ( int row = 0; row < model.getRowCount(); row += 1 ) {
    for ( int columns = 0; columns < model.getColumnCount(); columns += 1 ) {
      cellValues.setObject( row, columns, model.getValueAt( row, columns ) );
    }
  }
}
 
源代码9 项目: openjdk-8-source   文件: TableModelComparator.java
public TableModelComparator(TableModel model) {
    this.model = model;

    // XXX - Should actually listen for column changes and resize
    columns = new int[model.getColumnCount()];
    columns[0] = -1;
}
 
源代码10 项目: pentaho-reporting   文件: TableModelInfo.java
public static void printTableCellAttributes( final TableModel mod, final PrintStream out ) {
  if ( mod instanceof MetaTableModel == false ) {
    out.println( "TableModel has no meta-data." );
    return;
  }

  final MetaTableModel metaTableModel = (MetaTableModel) mod;
  if ( metaTableModel.isCellDataAttributesSupported() == false ) {
    out.println( "TableModel has no cell-meta-data." );
    return;
  }

  final DataAttributeContext attributeContext =
      new DefaultDataAttributeContext( new GenericOutputProcessorMetaData(), Locale.US );

  out.println( "Tablemodel contains " + mod.getRowCount() + " rows." ); //$NON-NLS-1$ //$NON-NLS-2$
  out.println( "Checking the attributes inside" ); //$NON-NLS-1$
  for ( int rows = 0; rows < mod.getRowCount(); rows++ ) {
    for ( int i = 0; i < mod.getColumnCount(); i++ ) {
      final DataAttributes cellAttributes = metaTableModel.getCellDataAttributes( rows, i );
      final String[] columnAttributeDomains = cellAttributes.getMetaAttributeDomains();
      Arrays.sort( columnAttributeDomains );
      for ( int attrDomainIdx = 0; attrDomainIdx < columnAttributeDomains.length; attrDomainIdx++ ) {
        final String colAttrDomain = columnAttributeDomains[attrDomainIdx];
        final String[] attributeNames = cellAttributes.getMetaAttributeNames( colAttrDomain );
        Arrays.sort( attributeNames );
        for ( int j = 0; j < attributeNames.length; j++ ) {
          final String attributeName = attributeNames[j];
          final Object o =
              cellAttributes.getMetaAttribute( colAttrDomain, attributeName, Object.class, attributeContext );

          out.println( "CellAttribute(" + rows + ", " + i + ") [" + colAttrDomain + ':' + attributeName + "]="
              + format( o ) );
        }
      }
    }
  }
}
 
源代码11 项目: pentaho-reporting   文件: CachableTableModel.java
protected void initDefaultMetaData( final TableModel model ) {
  for ( int i = 0; i < model.getColumnCount(); i++ ) {
    final String columnName = model.getColumnName( i );
    final Class columnType = model.getColumnClass( i );
    final DefaultDataAttributes attributes = new DefaultDataAttributes();
    attributes.setMetaAttribute( MetaAttributeNames.Core.NAMESPACE, MetaAttributeNames.Core.NAME,
                                 DefaultConceptQueryMapper.INSTANCE, columnName );
    attributes.setMetaAttribute( MetaAttributeNames.Core.NAMESPACE, MetaAttributeNames.Core.TYPE,
                                 DefaultConceptQueryMapper.INSTANCE, columnType );
    columnAttributes.add( attributes );
  }
  tableAttributes = EmptyDataAttributes.INSTANCE;
}
 
源代码12 项目: jdk8u60   文件: TableModelComparator.java
public TableModelComparator(TableModel model) {
    this.model = model;

    // XXX - Should actually listen for column changes and resize
    columns = new int[model.getColumnCount()];
    columns[0] = -1;
}
 
源代码13 项目: hortonmachine   文件: Util.java
static int findColumn(TableModel model, String name) {
    for (int i = 0; i<model.getColumnCount(); i++) {
        if (name.equals(model.getColumnName(i))) {
            return i;
        }
    }
    return -1;
}
 
源代码14 项目: marathonv5   文件: JTableCellJavaElement.java
private void validateRowCol() {
    JTable table = (JTable) parent.getComponent();
    try {
        int row = table.convertRowIndexToModel(viewRow);
        int col = table.convertColumnIndexToModel(viewCol);
        TableModel model = table.getModel();
        if (row >= 0 && row < model.getRowCount() && col >= 0 && col < model.getColumnCount()) {
            return;
        }
    } catch (IndexOutOfBoundsException e) {
    }
    throw new NoSuchElementException("Invalid row/col for JTable: (" + viewRow + ", " + viewCol + ")", null);
}
 
源代码15 项目: java-swing-tips   文件: MainPanel.java
private static JTable makeTable(TableModel model) {
  return new JTable(model) {
    @Override public void updateUI() {
      // [JDK-6788475] Changing to Nimbus LAF and back doesn't reset look and feel of JTable completely - Java Bug System
      // https://bugs.openjdk.java.net/browse/JDK-6788475
      // XXX: set dummy ColorUIResource
      setSelectionForeground(new ColorUIResource(Color.RED));
      setSelectionBackground(new ColorUIResource(Color.RED));
      super.updateUI();
      updateRenderer();
      JCheckBox checkBox = makeBooleanEditor(this);
      setDefaultEditor(Boolean.class, new DefaultCellEditor(checkBox));
    }

    private void updateRenderer() {
      TableModel m = getModel();
      for (int i = 0; i < m.getColumnCount(); i++) {
        TableCellRenderer r = getDefaultRenderer(m.getColumnClass(i));
        if (r instanceof Component) {
          SwingUtilities.updateComponentTreeUI((Component) r);
        }
      }
    }

    @Override public Component prepareEditor(TableCellEditor editor, int row, int column) {
      Component c = super.prepareEditor(editor, row, column);
      if (c instanceof JCheckBox) {
        JCheckBox b = (JCheckBox) c;
        b.setBackground(getSelectionBackground());
        b.setBorderPainted(true);
      }
      return c;
    }
  };
}
 
源代码16 项目: rapidminer-studio   文件: ExtendedJTable.java
@Override
public void setModel(final TableModel model) {
	boolean shouldSort = this.sortable && checkIfSortable(model);

	if (shouldSort) {
		this.tableSorter = new ExtendedJTableSorterModel(model);
		this.tableSorter.setTableHeader(getTableHeader());
		super.setModel(this.tableSorter);
	} else {
		super.setModel(model);
		this.tableSorter = null;
	}

	originalOrder = new String[model.getColumnCount()];
	for (int c = 0; c < model.getColumnCount(); c++) {
		originalOrder[c] = model.getColumnName(c);
	}

	// initializing arrays for cell renderer settings
	cutOnLineBreaks = new boolean[model.getColumnCount()];
	maximalTextLengths = new int[model.getColumnCount()];
	Arrays.fill(maximalTextLengths, Integer.MAX_VALUE);

	model.addTableModelListener(new TableModelListener() {

		@Override
		public void tableChanged(final TableModelEvent e) {
			int oldLength = cutOnLineBreaks.length;
			if (oldLength != model.getColumnCount()) {
				cutOnLineBreaks = Arrays.copyOf(cutOnLineBreaks, model.getColumnCount());
				maximalTextLengths = Arrays.copyOf(maximalTextLengths, model.getColumnCount());
				if (oldLength < cutOnLineBreaks.length) {
					Arrays.fill(cutOnLineBreaks, oldLength, cutOnLineBreaks.length, false);
					Arrays.fill(maximalTextLengths, oldLength, cutOnLineBreaks.length, Integer.MAX_VALUE);
				}
			}
		}
	});
}
 
源代码17 项目: openjdk-8   文件: TableModelComparator.java
public TableModelComparator(TableModel model) {
    this.model = model;

    // XXX - Should actually listen for column changes and resize
    columns = new int[model.getColumnCount()];
    columns[0] = -1;
}
 
源代码18 项目: netbeans   文件: ProfilerTable.java
public void createDefaultColumnsFromModel() {
    TableModel m = getModel();
    if (m != null) {
        // Remove any current columns
        ProfilerColumnModel cm = _getColumnModel();
        while (cm.getColumnCount() > 0)
            cm.removeColumn(cm.getColumn(0));

        // Create new columns from the data model info
        for (int i = 0; i < m.getColumnCount(); i++)
            addColumn(cm.createTableColumn(i));
    }
}
 
源代码19 项目: netbeans   文件: CreateTableDialog.java
public DataTable(TableModel model) {
    super(model);
    setSurrendersFocusOnKeystroke(true);
    TableColumnModel cmodel = getColumnModel();
    int i;
    int ccount = model.getColumnCount();
    int columnWidth;
    int preferredWidth;
    String columnName;
    int width = 0;
    for (i = 0; i < ccount; i++) {
        TableColumn col = cmodel.getColumn(i);
        Map cmap = ColumnItem.getColumnProperty(i);
        col.setIdentifier(cmap.get("name")); //NOI18N
        columnName = NbBundle.getMessage (CreateTableDialog.class, "CreateTable_" + i); //NOI18N
        columnWidth = (new Double(getFontMetrics(getFont()).getStringBounds(columnName, getGraphics()).getWidth())).intValue() + 20;
        if (cmap.containsKey("width")) { // NOI18N
            if (((Integer)cmap.get("width")).intValue() < columnWidth)
                col.setPreferredWidth(columnWidth);
            else
                col.setPreferredWidth(((Integer)cmap.get("width")).intValue()); // NOI18N
            preferredWidth = col.getPreferredWidth();
        }
        if (cmap.containsKey("minwidth")) // NOI18N
            if (((Integer)cmap.get("minwidth")).intValue() < columnWidth)
                col.setMinWidth(columnWidth);
            else
                col.setMinWidth(((Integer)cmap.get("minwidth")).intValue()); // NOI18N
        //				if (cmap.containsKey("alignment")) {}
        //				if (cmap.containsKey("tip")) ((JComponent)col.getCellRenderer()).setToolTipText((String)cmap.get("tip"));
        if (i < 7) { // the first 7 columns should be visible
            width += col.getPreferredWidth();
        }
    }
    width = Math.min(Math.max(width, 380), Toolkit.getDefaultToolkit().getScreenSize().width - 100);
    setPreferredScrollableViewportSize(new Dimension(width, 150));
}
 
源代码20 项目: mars-sim   文件: TableProperties.java
/**
     * Constructs a MonitorPropsDialog class.
     * @param title The name of the specified model
     * @param table the table to configure
     * @param desktop the main desktop.
     */
    public TableProperties(String title, JTable table,
                              MainDesktopPane desktop) {

        // Use JInternalFrame constructor
        super(title + " Properties", false, true);

        // Initialize data members
        this.model = table.getColumnModel();

        // Prepare content pane
        JPanel mainPane = new JPanel();
        mainPane.setLayout(new BorderLayout());
        mainPane.setBorder(MainDesktopPane.newEmptyBorder());
        setContentPane(mainPane);

        // Create column pane
        JPanel columnPane = new JPanel(new GridLayout(0, 1));
        columnPane.setBorder(new MarsPanelBorder());

        // Create a checkbox for each column in the model
        TableModel dataModel = table.getModel();
        for(int i = 0; i < dataModel.getColumnCount(); i++) {
            String name = dataModel.getColumnName(i);
            JCheckBox column = new JCheckBox(name);
            column.setSelected(false);

            column.addActionListener(
            	new ActionListener() {
                    public void actionPerformed(ActionEvent event) {
                        columnSelected(event);
                    }
                }
            );
            columnButtons.add(column);
            columnPane.add(column);
        }

        // Selected if column is visible
        Enumeration<?> en = model.getColumns();
        while(en.hasMoreElements()) {
            int selected = ((TableColumn)en.nextElement()).getModelIndex();
            JCheckBox columnButton = columnButtons.get(selected);
            columnButton.setSelected(true);
        }

        mainPane.add(columnPane, BorderLayout.CENTER);
        
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        
        pack();
        
        desktop.add(this);
        
//        // Add to its own tab pane
//        if (desktop.getMainScene() != null)
//        	desktop.add(this);
//        	//desktop.getMainScene().getDesktops().get(0).add(this);
//        else 
//        	desktop.add(this);
    }