javax.swing.JTable#getModel ( )源码实例Demo

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

@Override
public void mouseClicked(MouseEvent e) {
    JTableHeader header = (JTableHeader) e.getSource();
    JTable table = header.getTable();
    TableColumnModel columnModel = table.getColumnModel();
    int vci = columnModel.getColumnIndexAtX(e.getX());
    int mci = table.convertColumnIndexToModel(vci);
    if (mci == targetColumnIndex) {
        if (SwingUtilities.isLeftMouseButton(e)) {
            TableColumn column = columnModel.getColumn(vci);
            Object v = column.getHeaderValue();
            boolean b = Status.DESELECTED.equals(v);
            TableModel m = table.getModel();
            for (int i = 0; i < m.getRowCount(); i++) {
                m.setValueAt(b, i, mci);
            }
            column.setHeaderValue(b ? Status.SELECTED : Status.DESELECTED);
        } else if (SwingUtilities.isRightMouseButton(e)) {
            if (popupMenu != null) {
                popupMenu.show(table, e.getX(), 0);
            }
        }
    }
}
 
源代码2 项目: constellation   文件: TableViewTopComponent.java
private void setDefaultColumns(final JTable table) {
    final GraphTableModel model = (GraphTableModel) table.getModel();
    final TableColumnModel tcm = table.getColumnModel();

    // A blank graph with no attributes still has dummy attributes in the table model.
    // When new attributes are added, we only only want to add them to the table if the only
    // existing attributes are dummies.
    final boolean addDefaults
            = currentElementType == GraphElementType.VERTEX && tcm.getColumnCount() <= 1
            || currentElementType == GraphElementType.TRANSACTION && tcm.getColumnCount() <= 3;

    if (addDefaults) {
        for (int index = 0; index < model.getColumnCount(); index++) {
            final String name = model.getColumnName(index);
            if (isImportant(name)) {
                final TableColumn tc = new TableColumn(index);
                tc.setHeaderValue(name);
                tcm.addColumn(tc);
            }
        }
    }
}
 
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
		boolean isSelected, boolean hasFocus, int row, int column)
{
	JLabel component = (JLabel) super.getTableCellRendererComponent(table,
			value, isSelected, hasFocus, row, column);

	if (!isSelected)
	{
		int modelRow = table.convertRowIndexToModel(row);
		MessagesTableModel model = (MessagesTableModel) table.getModel();
		MessagesTableModelData data = model.getData(modelRow);

		if (data.getDirection().equals(QFixMessageListener.RECV))
		{
			component.setBackground(Color.ORANGE);
		} else
		{
			component.setBackground(Color.GREEN);
		}
	}

	return component;
}
 
源代码4 项目: ghidra   文件: LabelActionTest.java
@Test
public void testShowLabelHistory() {
	env.open(program);

	cb.goTo(new LabelFieldLocation(program, program.getAddressFactory().getAddress("0x1002d2b"),
		"AnotherLocal", null, 0));
	ProgramLocation loc = cb.getCurrentLocation();
	assertEquals(0x01002d2b, loc.getAddress().getOffset());
	assertTrue(loc instanceof LabelFieldLocation);

	LabelMgrPlugin labelPlugin = getPlugin(tool, LabelMgrPlugin.class);
	DockingActionIf historyAction = getAction(labelPlugin, "Show Label History");
	performAction(historyAction, cb.getProvider(), false);

	DialogComponentProvider provider = waitForDialogComponent(DialogComponentProvider.class);
	JComponent historyPanel = (JComponent) TestUtils.getInstanceField("workPanel", provider);
	JTable table = (JTable) TestUtils.getInstanceField("historyTable", historyPanel);
	TableModel model = table.getModel();
	Object label = model.getValueAt(0, 1);
	assertEquals(label, "AnotherLocal");

	Object author = model.getValueAt(0, 2);
	assertTrue(author.toString().startsWith(System.getProperty("user.name")));
}
 
源代码5 项目: visualvm   文件: ManageCalibration.java
private void refreshTimes(JTable table) {
    final TableModel model = table.getModel();
    for (int row = 0; row < model.getRowCount(); row++) {
        String javaPlatform = javaPlatforms[row];
        Long modified = null;
        String s = CalibrationSupport.getCalibrationDataFileName(javaPlatform);
        if (s != null) {
            File f = new File(s);
            if (f.isFile()) modified = Long.valueOf(f.lastModified());
        }
        final int index = row;
        final Long _modified = modified;
        SwingUtilities.invokeLater(new Runnable() {
            public void run() { model.setValueAt(_modified, index, 1); }
        });
    }
}
 
源代码6 项目: snap-desktop   文件: VariablesTableAdapterTest.java
@Test
public void variablesProperty() {
    final JTable table = new JTable();
    bindingContext.bind("variables", new VariablesTableAdapter(table));
    assertTrue(table.getModel() instanceof DefaultTableModel);

    final DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
    tableModel.addRow(new String[]{"", ""});
    tableModel.addRow(new String[]{"", ""});

    assertEquals(2, table.getRowCount());

    table.setValueAt("a", 0, 0);
    assertEquals("a", table.getValueAt(0, 0));
    table.setValueAt("A", 0, 1);
    assertEquals("A", table.getValueAt(0, 1));

    table.setValueAt("b", 1, 0);
    assertEquals("b", table.getValueAt(1, 0));
    table.setValueAt("B", 1, 1);
    assertEquals("B", table.getValueAt(1, 1));

    bindingContext.getPropertySet().setValue("variables", new MosaicOp.Variable[]{
            new MosaicOp.Variable("d", "D")
    });

    assertEquals(1, table.getRowCount());
    assertEquals("d", table.getValueAt(0, 0));
    assertEquals("D", table.getValueAt(0, 1));
}
 
源代码7 项目: mars-sim   文件: TableRenderDemo.java
private void initColumnSizes(JTable table) {
    MyTableModel model = (MyTableModel)table.getModel();
    TableColumn column = null;
    Component comp = null;
    int headerWidth = 0;
    int cellWidth = 0;
    Object[] longValues = model.longValues;
    TableCellRenderer headerRenderer =
        table.getTableHeader().getDefaultRenderer();

    for (int i = 0; i < 5; i++) {
        column = table.getColumnModel().getColumn(i);

        comp = headerRenderer.getTableCellRendererComponent(
                             null, column.getHeaderValue(),
                             false, false, 0, 0);
        headerWidth = comp.getPreferredSize().width;

        comp = table.getDefaultRenderer(model.getColumnClass(i)).
                         getTableCellRendererComponent(
                             table, longValues[i],
                             false, false, 0, i);
        cellWidth = comp.getPreferredSize().width;

        if (DEBUG) {
            System.out.println("Initializing width of column "
                               + i + ". "
                               + "headerWidth = " + headerWidth
                               + "; cellWidth = " + cellWidth);
        }

        column.setPreferredWidth(Math.max(headerWidth, cellWidth));
    }
}
 
源代码8 项目: swing_library   文件: TableRowUtilities.java
/**
 * Adjusts the column width of the row headers table containg the number
 * column. The font metrics are extracted from the label of the row at the
 * bottom of the viewport and used to determing the appropriate width.
 * 
 * The reason why this method is important, is that when the row number increases by an extra digit
 * the column needs to get wider. It also needs to shrink when scrolling to smaller digit numbers.
 * 
 * @param rowHeadersTable - single column table in the row header
 * @param label - label used to get font metrics
 * @param scrollBarValue - int value for determing point of lowest row
 */
private static void adjustColumnWidth(final JTable rowHeadersTable, final JLabel label, int scrollBarValue) {
	
	label.setFont(rowHeadersTable.getFont());
	label.setOpaque(true);
	label.setHorizontalAlignment(JLabel.CENTER);

	int v = rowHeadersTable.getVisibleRect().height;

	int row = rowHeadersTable.rowAtPoint(new Point(0, v + scrollBarValue));

	Integer modelValue = null;
	if (row != -1) {
		modelValue = (Integer) rowHeadersTable.getModel().getValueAt(row, 0);
	} else {
		RowHeadersTableModel tm = (RowHeadersTableModel) rowHeadersTable.getModel();
		modelValue = new Integer(tm.getMaxIntValue());
	}

	label.setText("" + modelValue);
	FontMetrics fontMetrics = label.getFontMetrics(label.getFont());

	int widthFactor = 0;

	if (fontMetrics != null && label.getText() != null) {
		widthFactor = fontMetrics.stringWidth(label.getText());

		rowHeadersTable.setPreferredScrollableViewportSize(new Dimension(widthFactor + 8, 100)); // height
																									// is
																									// ignored
		rowHeadersTable.repaint();
	}
}
 
源代码9 项目: snap-desktop   文件: SpectrumChooser.java
@Override
public void setReadRasterDataNodeNames(String[] readRasterDataNodeNames) {
    for (JTable bandTable : bandTables) {
        BandTableModel bandTableModel = (BandTableModel) bandTable.getModel();
        for (int j = 0; j < bandTableModel.getRowCount(); j++) {
            String bandName = bandTableModel.getValueAt(j, band_name_index).toString();
            boolean selected = ArrayUtils.isMemberOf(bandName, readRasterDataNodeNames);
            bandTableModel.setValueAt(selected, j, band_selected_index);
        }
    }

}
 
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {

	AttributeTableModel theModel = (AttributeTableModel) table.getModel();
	Attribute<Table> theAttribute = theModel.getRow(row);

	label.setText(theAttribute.getName());
	label.setForeground(Color.black);

	boolean isPrimaryKey = editor.isPrimaryKey(theAttribute);

	if (isPrimaryKey || theAttribute.isForeignKey()) {
		label.setForeground(Color.red);
	}

	keyLabel.setVisible(isPrimaryKey);

	UIInitializer initializer = UIInitializer.getInstance();

	if (isSelected) {
		labelPanel.setBackground(initializer.getConfiguration().getDefaultListSelectionBackground());
		labelPanel.setForeground(initializer.getConfiguration().getDefaultListSelectionForeground());
		keyLabel.setBackground(initializer.getConfiguration().getDefaultListSelectionBackground());
		keyLabel.setForeground(initializer.getConfiguration().getDefaultListSelectionForeground());
	} else {
		labelPanel.setBackground(initializer.getConfiguration().getDefaultListNonSelectionBackground());
		labelPanel.setForeground(initializer.getConfiguration().getDefaultListNonSelectionForeground());
		keyLabel.setBackground(initializer.getConfiguration().getDefaultListNonSelectionBackground());
		keyLabel.setForeground(initializer.getConfiguration().getDefaultListNonSelectionForeground());
	}

	return panel;
}
 
/**
 * Loads the Data Array into the tmodel
 *
 * @param table to be populated
 * @param header column header
 * @param rows nullRoww data
 * @return populated tmodel
 */
public static JTable populatetable(JTable table, String[] header, List<String[]> rows) {
    removeRowSelection(table);
    DefaultTableModel tablemodel = (DefaultTableModel) table.getModel();
    tablemodel.setRowCount(0);
    for (String col : header) {
        tablemodel.addColumn(col);
    }
    for (String[] row : rows) {
        tablemodel.addRow(row);
    }
    table.setModel(tablemodel);
    return table;
}
 
源代码12 项目: ghidra   文件: TableUtils.java
private static SortedTableModel getSortedTableModel(JTable table) {
	TableModel model = table.getModel();
	if (!(model instanceof SortedTableModel)) {
		return null;
	}
	return (SortedTableModel) model;
}
 
源代码13 项目: snap-desktop   文件: PixelInfoView.java
private boolean selectCurrentRaster(String rasterName, JTable table) {
    final TableModel model = table.getModel();
    for (int i = 0; i < model.getRowCount(); i++) {
        final String s = model.getValueAt(i, NAME_COLUMN).toString();
        if (rasterName.equals(s)) {
            table.changeSelection(i, NAME_COLUMN, false, false);
            return true;
        }
    }
    return false;
}
 
源代码14 项目: jeddict   文件: TableUISupport.java
@Override
public Component getTableCellRendererComponent(JTable jTable, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    boolean joinTable = false;
    boolean validClass = true;
    boolean existentUpdate = false;
    String problemDisplayName = null;

    if (jTable.getModel() instanceof TableClassNamesModel) {
        TableClassNamesModel model = (TableClassNamesModel) jTable.getModel();
        Table table = model.getTableAt(row);
        joinTable = table.isJoin();
        if (column == 1) {
            existentUpdate = table.getDisabledReason() instanceof Table.ExistingDisabledReason;
            validClass = model.isValidClass(table);
            if (!validClass) {
                problemDisplayName = model.getProblemDisplayName(table);
            }
        }
    }

    Object realValue = null;
    if (joinTable && column == 1) {
        realValue = NbBundle.getMessage(TableUISupport.class, "LBL_JoinTable");
    } else {
        realValue = value;
    }
    JComponent component = (JComponent) super.getTableCellRendererComponent(jTable, realValue, isSelected, hasFocus, row, column);
    component.setEnabled(!joinTable && !existentUpdate);
    component.setToolTipText(joinTable ? NbBundle.getMessage(TableUISupport.class, "LBL_JoinTableDescription") : problemDisplayName);
    component.setForeground((validClass) ? nonErrorForeground : errorForeground);

    return component;
}
 
源代码15 项目: evosql   文件: GridSwing.java
public static void autoSizeTableColumns(JTable table) {

        TableModel  model        = table.getModel();
        TableColumn column       = null;
        Component   comp         = null;
        int         headerWidth  = 0;
        int         maxCellWidth = Integer.MIN_VALUE;
        int         cellWidth    = 0;
        TableCellRenderer headerRenderer =
            table.getTableHeader().getDefaultRenderer();

        for (int i = 0; i < table.getColumnCount(); i++) {
            column = table.getColumnModel().getColumn(i);
            comp = headerRenderer.getTableCellRendererComponent(table,
                    column.getHeaderValue(), false, false, 0, 0);
            headerWidth  = comp.getPreferredSize().width + 10;
            maxCellWidth = Integer.MIN_VALUE;

            for (int j = 0; j < Math.min(model.getRowCount(), 30); j++) {
                TableCellRenderer r = table.getCellRenderer(j, i);

                comp = r.getTableCellRendererComponent(table,
                                                       model.getValueAt(j, i),
                                                       false, false, j, i);
                cellWidth = comp.getPreferredSize().width;

                if (cellWidth >= maxCellWidth) {
                    maxCellWidth = cellWidth;
                }
            }

            column.setPreferredWidth(Math.max(headerWidth, maxCellWidth)
                                     + 10);
        }
    }
 
源代码16 项目: Repeat   文件: SwingUtil.java
public static void ensureRowNumber(JTable table, int maxSize) {
	// Make sure enough space
	if (maxSize > table.getRowCount()) {
		int rowCount = table.getRowCount();
		// Add more rows
		DefaultTableModel model = (DefaultTableModel) table.getModel();
		for (int i = 0; i < maxSize - rowCount; i++) {
			model.addRow(new Object[model.getColumnCount()]);
		}
	}
}
 
protected TestCase getTestCase(JTable table) {
    if (table.getModel() instanceof TestCase) {
        return (TestCase) table.getModel();
    }
    return null;
}
 
源代码18 项目: ghidra   文件: GTableCellRenderer.java
/**
 * Provide basic cell rendering -- setting foreground and background colors, font, text,
 * alignment, drop color, and border. Additional data that may be of use to the renderer
 * is passed through the {@link docking.widgets.table.GTableCellRenderingData} object.
 * @param data Context data used in the rendering of a data cell.
 * @return The component used for drawing the table cell.
 */
public Component getTableCellRendererComponent(GTableCellRenderingData data) {

	Object value = data.getValue();
	JTable table = data.getTable();
	int row = data.getRowViewIndex();
	int column = data.getColumnViewIndex();
	boolean isSelected = data.isSelected();
	boolean hasFocus = data.hasFocus();
	Settings settings = data.getColumnSettings();

	if (value instanceof Number) {
		setHorizontalAlignment(SwingConstants.RIGHT);
		setText(formatNumber((Number) value, settings));
	}
	else {
		setText(getText(value));
		setHorizontalAlignment(SwingConstants.LEFT);
	}

	TableModel model = table.getModel();
	configureFont(table, model, column);

	if (isSelected) {
		setForeground(table.getSelectionForeground());
		setBackground(table.getSelectionBackground());
		setOpaque(true);
	}
	else {
		setForegroundColor(table, model, value);

		if (row == dropRow) {
			setBackground(Color.CYAN);
		}
		else {
			setBackground(getOSDependentBackgroundColor(table, row));
		}
	}

	setBorder(hasFocus ? focusBorder : noFocusBorder);
	return this;
}
 
源代码19 项目: netbeans   文件: EncapsulateFieldOperator.java
public void setValueAt(int y, int x, String val){
    JTableOperator table = new JTableOperator(this, 0); 
    JTable t = ((JTable)table.getSource());                
    TableModel model = t.getModel();
    model.setValueAt(val, y, x);
}
 
源代码20 项目: NBANDROID-V2   文件: LogTableManager.java
public LogTableManager(JTable table) {
    this.table = table;
    this.model = (LogTableModel) table.getModel();
    this.columnModel = table.getColumnModel();
    initTable();
}
 
 方法所在类
 同类方法