下面列出了javax.swing.table.TableColumnModel#addColumn ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static void initializeTable(JTable table)
{
table.setAutoCreateColumnsFromModel(false);
JTableHeader header = table.getTableHeader();
TableColumnModel columns = new DefaultTableColumnModel();
TableCellRenderer headerRenderer = header.getDefaultRenderer();
columns.addColumn(Utilities.createTableColumn(0, "in_level", headerRenderer, false));
columns.addColumn(Utilities.createTableColumn(1, "in_class", headerRenderer, true));
TableColumn remainCol = Utilities.createTableColumn(2, "in_iskRemain", headerRenderer, false);
remainCol.setCellRenderer(new BoldNumberRenderer());
columns.addColumn(remainCol);
columns.addColumn(Utilities.createTableColumn(3, "in_gained", headerRenderer, false));
table.setDefaultRenderer(Integer.class, new TableCellUtilities.AlignRenderer(SwingConstants.CENTER));
table.setColumnModel(columns);
table.setFocusable(false);
header.setReorderingAllowed(false);
header.setResizingAllowed(false);
}
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);
}
}
}
}
protected void recreateTableColumn(TableColumnModel columnModel) {
int n = columnModel.getColumnCount();
EditableHeaderTableColumn[] newCols = new EditableHeaderTableColumn[n];
TableColumn[] oldCols = new TableColumn[n];
for (int i=0;i<n;i++) {
oldCols[i] = columnModel.getColumn(i);
newCols[i] = new EditableHeaderTableColumn();
newCols[i].copyValues(oldCols[i]);
}
for (int i=0;i<n;i++) {
columnModel.removeColumn(oldCols[i]);
}
for (int i=0;i<n;i++) {
columnModel.addColumn(newCols[i]);
}
}
protected void recreateTableColumn(TableColumnModel columnModel) {
int n = columnModel.getColumnCount();
EditableTableHeaderColumn[] newCols = new EditableTableHeaderColumn[n];
TableColumn[] oldCols = new TableColumn[n];
for (int i = 0; i < n; i++) {
oldCols[i] = columnModel.getColumn(i);
newCols[i] = new EditableTableHeaderColumn(i);
newCols[i].copyValues(oldCols[i]);
}
for (int i = 0; i < n; i++) {
columnModel.removeColumn(oldCols[i]);
}
for (int i = 0; i < n; i++) {
columnModel.addColumn(newCols[i]);
}
}
public void setView(List columns) {
TableColumnModel model = getColumnModel();
// Remove all the columns:
for (int f = 0; f < _numCols; f++) {
model.removeColumn(_tableColumns[f]);
}
Iterator selectedColumns = columns.iterator();
Vector columnNameAndNumber = getColumnNameAndNumber();
while (selectedColumns.hasNext()) {
// add the column to the view
model.addColumn(_tableColumns[columnNameAndNumber.indexOf(selectedColumns.next())]);
}
//SWING BUG:
sizeColumnsToFit(-1);
}
public final void setView(final List columns) {
final TableColumnModel model = getColumnModel();
// Remove all the columns:
for (int f = 0; f < _numCols; f++) {
model.removeColumn(_tableColumns[f]);
}
final Iterator selectedColumns = columns.iterator();
final Vector columnNameAndNumber = getColumnNameAndNumber();
while (selectedColumns.hasNext()) {
// add the column to the view
model.addColumn(_tableColumns[columnNameAndNumber.indexOf(selectedColumns.next())]);
}
//SWING BUG:
sizeColumnsToFit(-1);
}
public PluginSummaryTable(PluginInfo[] pluginInfo, PluginStatus[] pluginStatus)
{
super(new MyTableModel(pluginInfo, pluginStatus));
setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
getTableHeader().setResizingAllowed(true);
getTableHeader().setReorderingAllowed(true);
setAutoCreateColumnsFromModel(false);
setAutoResizeMode(AUTO_RESIZE_LAST_COLUMN);
final TableColumnModel tcm = new DefaultTableColumnModel();
for (int i = 0; i < s_columnWidths.length; ++i)
{
final TableColumn col = new TableColumn(i, s_columnWidths[i]);
col.setHeaderValue(s_hdgs[i]);
tcm.addColumn(col);
}
setColumnModel(tcm);
}
public UpdateSummaryTable(List<ArtifactStatus> artifactStatus,
UpdateSummaryTableModel model) {
super(model);
_model = model;
_artifacts = artifactStatus;
setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
getTableHeader().setResizingAllowed(true);
getTableHeader().setReorderingAllowed(true);
setAutoCreateColumnsFromModel(false);
setAutoResizeMode(AUTO_RESIZE_LAST_COLUMN);
final TableColumnModel tcm = new DefaultTableColumnModel();
JComboBox _actionComboBox = new JComboBox();
for (int i = 0; i < model.getColumnCount(); ++i) {
final TableColumn col = new TableColumn(i, model.getColumnWidth(i));
col.setHeaderValue(model.getColumnName(i));
if (i == 3) {
col.setCellEditor(new DefaultCellEditor(initCbo(_actionComboBox)));
}
tcm.addColumn(col);
}
setColumnModel(tcm);
initPopup();
}
public static void initializeTable(JTable table)
{
table.setAutoCreateColumnsFromModel(false);
JTableHeader header = table.getTableHeader();
TableColumnModel columns = new DefaultTableColumnModel();
TableCellRenderer headerRenderer = header.getDefaultRenderer();
columns.addColumn(Utilities.createTableColumn(0, "in_level", headerRenderer, false));
columns.addColumn(Utilities.createTableColumn(1, "in_class", headerRenderer, true));
TableColumn remainCol = Utilities.createTableColumn(2, "in_iskRemain", headerRenderer, false);
remainCol.setCellRenderer(new BoldNumberRenderer());
columns.addColumn(remainCol);
columns.addColumn(Utilities.createTableColumn(3, "in_gained", headerRenderer, false));
table.setDefaultRenderer(Integer.class, new TableCellUtilities.AlignRenderer(SwingConstants.CENTER));
table.setColumnModel(columns);
table.setFocusable(false);
header.setReorderingAllowed(false);
header.setResizingAllowed(false);
}
public static void initializeTable(JTable classLevelTable)
{
JTableHeader tableHeader = classLevelTable.getTableHeader();
tableHeader.setResizingAllowed(false);
tableHeader.setReorderingAllowed(false);
TableColumnModel columnModel = new DefaultTableColumnModel();
TableCellRenderer headerRenderer = tableHeader.getDefaultRenderer();
columnModel.addColumn(Utilities.createTableColumn(0, "Level", headerRenderer, false));
columnModel.addColumn(Utilities.createTableColumn(1, "HP", headerRenderer, false));
columnModel.addColumn(Utilities.createTableColumn(2, "Class (All Levels In Class)", headerRenderer, true));
classLevelTable.setColumnModel(columnModel);
classLevelTable.setAutoCreateColumnsFromModel(false);
classLevelTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
classLevelTable.setFocusable(false);
classLevelTable.setCellSelectionEnabled(false);
classLevelTable.setRowHeight(20);
}
public void setDetailedView() {
//TODO: Defineable Views.
TableColumnModel model = getColumnModel();
// Remove all the columns:
for (int f = 0; f < _numCols; f++) {
model.removeColumn(_tableColumns[f]);
}
// Add them back in the correct order:
for (int i = 0; i < _numCols; i++) {
model.addColumn(_tableColumns[i]);
}
//SWING BUG:
sizeColumnsToFit(-1);
}
public final void setDetailedView() {
//TODO: Definable Views.
final TableColumnModel model = getColumnModel();
// Remove all the columns:
for (int f = 0; f < _numCols; f++) {
model.removeColumn(_tableColumns[f]);
}
// Add them back in the correct order:
for (int i = 0; i < _numCols; i++) {
model.addColumn(_tableColumns[i]);
}
//SWING BUG:
sizeColumnsToFit(-1);
}
public TableColumnModel getColumnModel() {
final TableColumnModel columnModel = new DefaultTableColumnModel();
for (TableColumn aColumnList : columnList) {
columnModel.addColumn(aColumnList);
}
return columnModel;
}
private void initScaleTable(DataScale[] scales, List<Object[]> rows, ColumnDisplayDefinition[] columnDefinitions, boolean keepFormerParent, CallDepthComboModel callDepth)
{
DataScaleTableModel dataScaleTableModel = new DataScaleTableModel(scales, callDepth);
DataScaleTable dataScaleTable = new DataScaleTable(dataScaleTableModel, rows, columnDefinitions);
TableColumnModel tcm = new DefaultTableColumnModel();
dataScaleTable.setColumnModel(tcm);
for (int i = 0; i < DataScaleTableModel.getColumnNames().length; i++)
{
TableColumn col = new TableColumn(i);
col.setHeaderValue(DataScaleTableModel.getColumnNames()[i]);
if (DataScaleTableModel.COL_NAME_COLUMN.equals(DataScaleTableModel.getColumnNames()[i]))
{
col.setPreferredWidth(DataScaleTableColumnWidthsPersister.getColumnWidthForColName(DataScaleTableModel.COL_NAME_COLUMN));
}
else if (DataScaleTableModel.COL_NAME_DATA.equals(DataScaleTableModel.getColumnNames()[i]))
{
col.setPreferredWidth(DataScaleTableColumnWidthsPersister.getColumnWidthForColName(DataScaleTableModel.COL_NAME_DATA));
}
tcm.addColumn(col);
}
_overviewHolder.setOverview(dataScaleTable, keepFormerParent);
initGui();
}
public TableColumnModel getColumnModel() {
final TableColumnModel columnModel = new DefaultTableColumnModel();
for (TableColumn aColumnList : columnList) {
columnModel.addColumn(aColumnList);
}
return columnModel;
}
public static void getJTableOptions(final String name, final JTable table,
final Properties properties) {
final Integer colCount = getObjectInteger(name + "_col_count",
properties);
if (colCount == null || colCount.intValue() != table.getColumnCount())
return;
final Object cols[] = new Object[table.getColumnCount()];
for (int i = 0; i < colCount.intValue(); i++) {
cols[i] = table.getColumnModel().getColumn(
table.convertColumnIndexToView(i));
}
for (int i = 0; i < colCount.intValue(); i++) {
try {
int index = table.convertColumnIndexToView(i);
final int width = getInteger(name + "_col_" + i + "_width",
table.getColumnModel().getColumn(index).getWidth(),
properties);
table.getColumnModel().getColumn(index)
.setPreferredWidth(width);
} catch (Exception e) {
}
}
final TableColumnModel cm = table.getColumnModel();
final int tci[] = new int[colCount.intValue()];
for (int i = 0; i < colCount.intValue(); i++)
cm.removeColumn((TableColumn) cols[i]);
for (int i = 0; i < colCount.intValue(); i++) {
tci[i] = getInteger(name + "_col_" + i + "_index", i, properties);
}
for (int i = 0; i < colCount.intValue(); i++)
for (int j = 0; j < colCount.intValue(); j++)
if (tci[j] == i)
cm.addColumn((TableColumn) cols[j]);
}
@Override
protected TableColumnModel getTableColumnModel() {
TableColumnModel tableColumnModel = new DefaultTableColumnModel();
for (int i = 0; i < getColumnCount(); i++) {
TableColumn tableColumn = new TableColumn(i);
String text = getColumnName(i);
tableColumn.setHeaderValue(text);
TraceTableModelColumn ttmc = getColumn(i);
TraceTableCellRenderer ttcr = new TraceTableCellRenderer();
ttcr.setBorder(new EmptyBorder(1, 3, 1, 1));
ttcr.setHorizontalAlignment(ttmc.getHorizontalAlignment());
tableColumn.setCellRenderer(ttcr);
int colWidth = ttmc.getPrefColumnWidth();
tableColumn.setPreferredWidth(colWidth);
// tableColumn.setMinWidth(colWidth);
tableColumn.setWidth(colWidth);
tableColumn.setResizable(true);
tableColumnModel.addColumn(tableColumn);
}
return tableColumnModel;
}
@Override
protected void setTreeTableColumnModel() {
TreeTableModelAdapter model = (TreeTableModelAdapter) getModel();
TableColumnModel tableColumnModel = new DefaultTableColumnModel();
for (int i = 0; i < model.getColumnCount(); i++) {
TableColumn tableColumn = new TableColumn(i);
TreeTableColumn treeTableColumn = model.getColumn(i);
String text = treeTableColumn.getDisplayName();
Class<?> columnClass = treeTableColumn.getColumnClass();
int preferredWidth = treeTableColumn.getPrefColumnWidth();
tableColumn.setHeaderValue(text);
tableColumn.setPreferredWidth(preferredWidth);
TableCellRenderer tcr = null;
if (TreeTableColumn.TREE_COLUMN_CLASS.equals(columnClass)) {
DefaultTreeTableTree treeTableTree = getTree();
tcr = treeTableTree;
tableColumn.setCellEditor(new TreeTableCellEditor(treeTableTree));
} else {
TraceTreeTableCombinedCellRenderer ltcr = new TraceTreeTableCombinedCellRenderer();
ltcr.setBorder(new EmptyBorder(1, 3, 1, 1));
ltcr.setHorizontalAlignment(treeTableColumn.getHorizontalAlignment());
tableColumn.setCellEditor(new TreeTableCellEditor(ltcr));
tcr = ltcr;
}
tableColumn.setCellRenderer(tcr);
tableColumn.setResizable(true);
tableColumnModel.addColumn(tableColumn);
}
setColumnModel(tableColumnModel);
}
@Override
protected void setTreeTableColumnModel() {
TreeTableModelAdapter model = (TreeTableModelAdapter) getModel();
TableColumnModel tableColumnModel = new DefaultTableColumnModel();
for (int i = 0; i < model.getColumnCount(); i++) {
TableColumn tableColumn = new TableColumn(i);
TreeTableColumn treeTableColumn = model.getColumn(i);
String text = treeTableColumn.getDisplayName();
Class<?> columnClass = treeTableColumn.getColumnClass();
int preferredWidth = treeTableColumn.getPrefColumnWidth();
tableColumn.setHeaderValue(text);
tableColumn.setPreferredWidth(preferredWidth);
TableCellRenderer tcr = null;
if (TreeTableColumn.TREE_COLUMN_CLASS.equals(columnClass)) {
DefaultTreeTableTree treeTableTree = getTree();
tcr = treeTableTree;
tableColumn.setCellEditor(new TreeTableCellEditor(treeTableTree));
} else {
TraceTreeTableCellRenderer ltcr = new TraceTreeTableCellRenderer();
ltcr.setBorder(new EmptyBorder(1, 3, 1, 1));
ltcr.setHorizontalAlignment(treeTableColumn.getHorizontalAlignment());
tableColumn.setCellEditor(new TreeTableCellEditor(ltcr));
tcr = ltcr;
}
tableColumn.setCellRenderer(tcr);
tableColumn.setResizable(true);
tableColumnModel.addColumn(tableColumn);
}
setColumnModel(tableColumnModel);
}
/**
* Overloads the left shift operator to provide an easy way to add
* columns to a TableColumnModel.
*
* @param self a TableColumnModel
* @param column a TableColumn to be added to the model.
* @return same model, after the value was added to it.
* @since 1.6.4
*/
public static TableColumnModel leftShift(TableColumnModel self, TableColumn column) {
self.addColumn(column);
return self;
}