javax.swing.table.TableColumnModel类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(14.4k)|赞(0)|评价(0)|浏览(112)

本文整理了Java中javax.swing.table.TableColumnModel类的一些代码示例,展示了TableColumnModel类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TableColumnModel类的具体详情如下:
包路径:javax.swing.table.TableColumnModel
类名称:TableColumnModel

TableColumnModel介绍

暂无

代码示例

代码示例来源:origin: stackoverflow.com

private JTable table = new JTable(model);
      });
  table.setAutoCreateRowSorter(true);
  table.setPreferredScrollableViewportSize(new Dimension(320, 160));
  TableColumn tc = table.getColumnModel().getColumn(BOOLEAN_COL);
  tc.setHeaderRenderer(new SelectAllHeader(table, BOOLEAN_COL));
  JFrame f = new JFrame();
  f.add(new JScrollPane(table));
  f.pack();
  f.setLocationRelativeTo(null);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  f.setVisible(true);
  public void mouseClicked(MouseEvent e) {
    viewColumn = header.columnAtPoint(e.getPoint());
    int modelColumn = tcm.getColumn(viewColumn).getModelIndex();
    if (modelColumn == targetColumn) {
      doClick();

代码示例来源:origin: RipMeApp/ripme

logText = new JTextPane();
logText.setEditable(false);
JScrollPane logTextScroll = new JScrollPane(logText);
logTextScroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
logPanel.setVisible(false);
logPanel.setPreferredSize(new Dimension(300, 250));
historyTable = new JTable(historyTableModel);
historyTable.addMouseListener(new HistoryMenuMouseListener());
historyTable.setAutoCreateRowSorter(true);
for (int i = 0; i < historyTable.getColumnModel().getColumnCount(); i++) {
  int width = 130; // Default
  switch (i) {
    break;
  historyTable.getColumnModel().getColumn(i).setPreferredWidth(width);
JScrollPane historyTableScrollPane = new JScrollPane(historyTable);
historyButtonRemove = new JButton(rb.getString("remove"));
historyButtonClear  = new JButton(rb.getString("clear"));
gbc.gridy = 0; pane.add(ripPanel, gbc);
gbc.gridy = 1; pane.add(statusPanel, gbc);
gbc.gridy = 2; pane.add(progressPanel, gbc);
gbc.gridy = 3; pane.add(optionsPanel, gbc);
gbc.weighty = 1;

代码示例来源:origin: groovy/groovy-core

public void mouseClicked(MouseEvent e) {
    TableColumnModel columnModel = tableView.getColumnModel();
    int viewColumn = columnModel.getColumnIndexAtX(e.getX());
    int column = tableView.convertColumnIndexToModel(viewColumn);
    if (e.getClickCount() == 1 && column != -1) {
      if (lastSortedColumn == column) ascending = !ascending;
      sorter.sortByColumn(column, ascending);
      lastSortedColumn = column;
    }
  }
};

代码示例来源:origin: alibaba/druid

private Dimension createHeaderSize(long width) {
  TableColumnModel columnModel = header.getColumnModel();
  width += columnModel.getColumnMargin() * columnModel.getColumnCount();
  if (width > Integer.MAX_VALUE) {
    width = Integer.MAX_VALUE;
  }
  return new Dimension((int) width, getHeaderHeight());
}

代码示例来源:origin: alibaba/druid

public int getHeaderHeight() {
  int height = 0;
  TableColumnModel columnModel = header.getColumnModel();
  for (int column = 0; column < columnModel.getColumnCount(); column++) {
    TableColumn aColumn = columnModel.getColumn(column);
    TableCellRenderer renderer = aColumn.getHeaderRenderer();
    if (renderer == null) {
      renderer = new DefaultTableCellRenderer() {
    Component comp = renderer.getTableCellRendererComponent(header.getTable(), aColumn.getHeaderValue(), false,
                                false, -1, column);
    int cHeight = comp.getPreferredSize().height;

代码示例来源:origin: alibaba/druid

Rectangle cellRect = new Rectangle(0, 0, size.width, size.height);
Hashtable<ColumnGroup, Rectangle> h = new Hashtable<ColumnGroup, Rectangle>();
int columnMargin = header.getColumnModel().getColumnMargin();
Enumeration<TableColumn> enumeration = header.getColumnModel().getColumns();
while (enumeration.hasMoreElements()) {
  cellRect.height = size.height;
    cellRect.width = aColumn.getWidth();
  } else {
    cellRect.width = aColumn.getWidth() + columnMargin;

代码示例来源:origin: stackoverflow.com

private JFrame frame = new JFrame("p*s*s*s*s*t*t");
private String[] columnNames = {"one", "two", "Playing with", "four", "five",};
private String[][] data = {
  table.setRowMargin(4);
  JScrollPane scrollPane = new JScrollPane(table);
  for (int i = 0; i < (tcm.getColumnCount()); i++) {
    tcm.getColumn(i).setPreferredWidth(100);
      tcm.getColumn(2).setPreferredWidth(100);
      tcm.getColumn(2).setPreferredWidth(000);
        TableColumn colToDelete = table.getColumnModel().getColumn(table.getColumnCount() - 1);
        table.removeColumn(colToDelete);
        table.validate();
        colDeleted.push(colToDelete);
        addButton.setEnabled(true);
        table.validate();
        deleteButton.setEnabled(true);
      } else {
  btnPanel.add(hideButton);
  frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

代码示例来源:origin: stackoverflow.com

tcm = table.getColumnModel();
hiddenColumns = new HashMap();
int index = tcm.getColumnIndex(columnName);
TableColumn column = tcm.getColumn(index);
hiddenColumns.put(columnName, column);
hiddenColumns.put(":" + columnName, new Integer(index));
tcm.removeColumn(column);
  return;
tcm.addColumn((TableColumn) o);
o = hiddenColumns.remove(":" + columnName);
if (o == null) {
int lastColumn = tcm.getColumnCount() - 1;
if (column < lastColumn) {
  tcm.moveColumn(lastColumn, column);
  {"dev", "6", "dir", "Jul 12", "drwxr-xr-x"},
  {"etc", "34", "dir", "Jul 12", "drwxr-xr-x"},};
JTable table = new JTable(data, columnNames);
table.setPreferredScrollableViewportSize(table.getPreferredSize());
JScrollPane scrollPane = new JScrollPane(table);
final TableColumnHider hider = new TableColumnHider(table);
JPanel checkBoxes = new JPanel();
  checkBoxes.add(checkBox);

代码示例来源:origin: stackoverflow.com

};
public static void main( String[] args ) {
  JFrame frame = new JFrame();
  JTable table = new JTable(data,columnNames);
  TableColumnModel tcm = table.getColumnModel();
  TableColumn tc = tcm.getColumn(1);
  tc.setCellEditor(new SpinnerEditor());
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.add(table);
  frame.pack();
  frame.setVisible(true);

代码示例来源:origin: stackoverflow.com

private JFrame frame = new JFrame("JTable RowHeader");
private JScrollPane scrollPane;
private JTable table;
  table = new JTable(4, 4);
  for (int i = 0; i < table.getRowCount(); i++) {
    table.setValueAt(i, i, 0);
  sorter = new TableRowSorter<TableModel>(table.getModel());
  headerTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  headerTable.setPreferredScrollableViewportSize(new Dimension(50, 0));
  headerTable.getColumnModel().getColumn(0).setPreferredWidth(50);
  headerTable.getColumnModel().getColumn(0).setCellRenderer(new TableCellRenderer() {
  scrollPane = new JScrollPane(table);
  scrollPane.setRowHeaderView(headerTable);
  table.setPreferredScrollableViewportSize(table.getPreferredSize());
  frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  frame.add(scrollPane);
  frame.add(new JButton(new AbstractAction("Toggle filter") {
  frame.pack();
  frame.setLocation(150, 150);
  frame.setVisible(true);

代码示例来源:origin: stackoverflow.com

popup.setLocation(p.x, p.y + editorComponent.getSize().height);
    popup.show();
    fireEditingStopped();
  KeyStroke keyStroke = KeyStroke.getKeyStroke("ENTER");
  textArea.getInputMap().put(keyStroke, "none");
  JScrollPane scrollPane = new JScrollPane( textArea );
  getContentPane().add( scrollPane );
  buttons.add( ok );
  buttons.add( cancel );
  getContentPane().add(buttons, BorderLayout.SOUTH);
  pack();
};
JTable table = new JTable(data, columnNames);
table.getColumnModel().getColumn(1).setPreferredWidth(300);
table.setPreferredScrollableViewportSize(table.getPreferredSize());
JScrollPane scrollPane = new JScrollPane(table);
table.getColumnModel().getColumn(1).setCellEditor( popupEditor );

代码示例来源:origin: stackoverflow.com

JFrame frame = new JFrame("JButtonTable Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      {"button 2", "bar"}}, new Object[]{"Button", "String"});
JTable table = new JTable(dm);
table.getColumn("Button").setCellRenderer(new ButtonRenderer());
table.getColumn("Button").setCellEditor(new ButtonEditor(new JCheckBox()));
JScrollPane scroll = new JScrollPane(table);
table.setPreferredScrollableViewportSize(table.getPreferredSize());//thanks mKorbel +1 http://stackoverflow.com/questions/10551995/how-to-set-jscrollpane-layout-to-be-the-same-as-jtable
table.getColumnModel().getColumn(0).setPreferredWidth(100);//so buttons will fit and not be shown butto..
frame.add(scroll);
frame.pack();
frame.setVisible(true);

代码示例来源:origin: stackoverflow.com

JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
JTable table = new JTable(new String[][] {  
         { "Row 1 Col A", "Row 1 Col B" }, 
         { "Row 2 Col A", "Row 2 Col B" } }, 
f.getContentPane().add(new JScrollPane(table));
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  TableColumn a = table.getColumnModel().getColumn(index);
  a.setPreferredWidth(10);
  index++;
f.pack();
f.setVisible(true);

代码示例来源:origin: stackoverflow.com

JFrame f = new JFrame("Sample");
f.getContentPane().setLayout(new GridLayout(1,0,0,0));
TableModel model = new AbstractTableModel() {
 public Object getValueAt(int rowIndex, int columnIndex) {
JTable table = new JTable(model);
table.getColumnModel().getColumn(1).setCellRenderer(new MyRenderer());
JScrollPane pane = new JScrollPane(table);
f.getContentPane().add(pane);
f.pack();
f.setVisible(true);

代码示例来源:origin: stackoverflow.com

setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
      super.doLayout();
      TableColumnModel tcm = getColumnModel();
      for (int i = 0; i < tcm.getColumnCount(); i++)
        TableColumn tc = tcm.getColumn(i);
        tc.setPreferredWidth( tc.getWidth() );
      if (tcm.getTotalColumnWidth() < getParent().getWidth())
        setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
        super.doLayout();
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new JScrollPane(table));
frame.pack();
frame.setVisible(true);

代码示例来源:origin: winder/Universal-G-Code-Sender

importButton.addActionListener(event -> importButtonActionPerformed());
settingsTable = new JTable();
settingsTable.setModel(firmwareSettingsTableModel);
TableRowSorter<TableModel> sorter = new TableRowSorter<>(settingsTable.getModel());
sorter.setComparator(COL_INDEX_SETTING, new StringNumberComparator());
sorter.toggleSortOrder(COL_INDEX_SETTING);
settingsTable.setRowSorter(sorter);
JScrollPane settingsTableScrollPane = new JScrollPane();
settingsTableScrollPane.setViewportView(settingsTable);
settingsTable.getTableHeader().setReorderingAllowed(false);
settingsTable.getColumnModel().getColumn(0).setMinWidth(60);
settingsTable.getColumnModel().getColumn(0).setMaxWidth(80);
settingsTable.getColumnModel().getColumn(2).setPreferredWidth(85);
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
    layout.createParallelGroup(GroupLayout.Alignment.LEADING)

代码示例来源:origin: dcevm/dcevm

private JComponent getChooserPanel() {
  JPanel p = new JPanel(new BorderLayout());
  p.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
  p.setOpaque(false);
  JLabel l = new JLabel("Please choose installation directory:");
  l.setVerticalAlignment(JLabel.NORTH);
  l.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 10));
  p.add(l, BorderLayout.NORTH);
  table = new JTable(installations);
  table.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  table.setColumnSelectionAllowed(false);
  table.setDefaultRenderer(Object.class, new InstallationTableCellRenderer());
  table.getColumnModel().getColumn(0).setHeaderValue("Directory");
  table.getColumnModel().getColumn(0).setPreferredWidth(300);
  table.getColumnModel().getColumn(1).setHeaderValue("Java Version");
  table.getColumnModel().getColumn(3).setPreferredWidth(100);
  table.getColumnModel().getColumn(2).setHeaderValue("Type");
  table.getColumnModel().getColumn(3).setPreferredWidth(100);
  table.getColumnModel().getColumn(3).setHeaderValue("Replaced by DCEVM?");
  table.getColumnModel().getColumn(3).setPreferredWidth(200);
  table.getColumnModel().getColumn(4).setHeaderValue("Installed altjvm?");
  table.getColumnModel().getColumn(4).setPreferredWidth(200);
  JScrollPane lists = new JScrollPane(table);
  lists.setPreferredSize(new Dimension(900, 200));
  p.add(lists, BorderLayout.CENTER);
  return p;
}

代码示例来源:origin: stackoverflow.com

table = new JTable(NumberOfRows,NumberOfColumns);
TableColumn tc = table.getColumnModel().getColumn(i);
tc.setHeaderValue(Employees[i]);
tc.setCellRenderer(dtcr);
JFrame frame = new JFrame();
frame.add(new JScrollPane(table));
frame.setSize(300,300);
frame.setVisible(true);

代码示例来源:origin: kiegroup/optaplanner

= solutionBusiness.getConstraintMatchTotalList();
JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
final JTable table = new JTable(new ConstraintMatchTotalTableModel(constraintMatchTotalList));
TableColumnModel columnModel = table.getColumnModel();
columnModel.getColumn(0).setPreferredWidth(300);
columnModel.getColumn(1).setPreferredWidth(80);
columnModel.getColumn(2).setPreferredWidth(80);
columnModel.getColumn(3).setPreferredWidth(80);
DefaultTableCellRenderer rightCellRenderer = new DefaultTableCellRenderer();
rightCellRenderer.setHorizontalAlignment(SwingConstants.RIGHT);
columnModel.getColumn(1).setCellRenderer(rightCellRenderer);
columnModel.getColumn(3).setCellRenderer(rightCellRenderer);
JScrollPane tableScrollPane = new JScrollPane(table);
tableScrollPane.setPreferredSize(new Dimension(700, 300));
splitPane.setTopComponent(tableScrollPane);
JPanel bottomPanel = new JPanel(new BorderLayout());
bottomPanel.add(detailLabel, BorderLayout.NORTH);
final JTextArea detailTextArea = new JTextArea(10, 80);
JScrollPane detailScrollPane = new JScrollPane(detailTextArea);
bottomPanel.add(detailScrollPane, BorderLayout.CENTER);
table.getSelectionModel().addListSelectionListener(
    event -> {
      int selectedRow = table.getSelectedRow();

代码示例来源:origin: igniterealtime/Smack

table.getColumnModel().getColumn(0).setMaxWidth(0);
table.getColumnModel().getColumn(0).setMinWidth(0);
table.getTableHeader().getColumnModel().getColumn(0).setMaxWidth(0);
table.getTableHeader().getColumnModel().getColumn(0).setMinWidth(0);
table.getColumnModel().getColumn(1).setMaxWidth(300);
table.getColumnModel().getColumn(1).setPreferredWidth(90);
table.getColumnModel().getColumn(2).setMaxWidth(50);
table.getColumnModel().getColumn(2).setPreferredWidth(30);
table.getColumnModel().getColumn(3).setMaxWidth(50);
table.getColumnModel().getColumn(3).setPreferredWidth(30);
table.getColumnModel().getColumn(5).setMaxWidth(100);
table.getColumnModel().getColumn(5).setPreferredWidth(55);
table.getColumnModel().getColumn(6).setMaxWidth(200);
table.getColumnModel().getColumn(6).setPreferredWidth(50);
table.getColumnModel().getColumn(7).setMaxWidth(300);
table.getColumnModel().getColumn(7).setPreferredWidth(90);
table.getColumnModel().getColumn(8).setMaxWidth(300);
table.getColumnModel().getColumn(8).setPreferredWidth(90);
table.getSelectionModel().addListSelectionListener(selectionListener);
table.getColumnModel().getSelectionModel().addListSelectionListener(selectionListener);
allPane.setTopComponent(new JScrollPane(table));

相关文章