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

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

源代码1 项目: jdk8u-jdk   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table) {
    final TableSorter sorter = this;
    final JTable tableView = table;
    tableView.setColumnSelectionAllowed(false);
    MouseAdapter listMouseListener = new MouseAdapter() {

        @Override
        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) {
                System.out.println("Sorting ...");
                int shiftPressed = e.getModifiers() & InputEvent.SHIFT_MASK;
                boolean ascending = (shiftPressed == 0);
                sorter.sortByColumn(column, ascending);
            }
        }
    };
    JTableHeader th = tableView.getTableHeader();
    th.addMouseListener(listMouseListener);
}
 
源代码2 项目: TencentKona-8   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table) {
    final TableSorter sorter = this;
    final JTable tableView = table;
    tableView.setColumnSelectionAllowed(false);
    MouseAdapter listMouseListener = new MouseAdapter() {

        @Override
        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) {
                System.out.println("Sorting ...");
                int shiftPressed = e.getModifiers() & InputEvent.SHIFT_MASK;
                boolean ascending = (shiftPressed == 0);
                sorter.sortByColumn(column, ascending);
            }
        }
    };
    JTableHeader th = tableView.getTableHeader();
    th.addMouseListener(listMouseListener);
}
 
源代码3 项目: jdk8u60   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table) {
    final TableSorter sorter = this;
    final JTable tableView = table;
    tableView.setColumnSelectionAllowed(false);
    MouseAdapter listMouseListener = new MouseAdapter() {

        @Override
        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) {
                System.out.println("Sorting ...");
                int shiftPressed = e.getModifiers() & InputEvent.SHIFT_MASK;
                boolean ascending = (shiftPressed == 0);
                sorter.sortByColumn(column, ascending);
            }
        }
    };
    JTableHeader th = tableView.getTableHeader();
    th.addMouseListener(listMouseListener);
}
 
源代码4 项目: openjdk-jdk8u   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table) {
    final TableSorter sorter = this;
    final JTable tableView = table;
    tableView.setColumnSelectionAllowed(false);
    MouseAdapter listMouseListener = new MouseAdapter() {

        @Override
        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) {
                System.out.println("Sorting ...");
                int shiftPressed = e.getModifiers() & InputEvent.SHIFT_MASK;
                boolean ascending = (shiftPressed == 0);
                sorter.sortByColumn(column, ascending);
            }
        }
    };
    JTableHeader th = tableView.getTableHeader();
    th.addMouseListener(listMouseListener);
}
 
源代码5 项目: jdk8u-dev-jdk   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table) {
    final TableSorter sorter = this;
    final JTable tableView = table;
    tableView.setColumnSelectionAllowed(false);
    MouseAdapter listMouseListener = new MouseAdapter() {

        @Override
        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) {
                System.out.println("Sorting ...");
                int shiftPressed = e.getModifiers() & InputEvent.SHIFT_MASK;
                boolean ascending = (shiftPressed == 0);
                sorter.sortByColumn(column, ascending);
            }
        }
    };
    JTableHeader th = tableView.getTableHeader();
    th.addMouseListener(listMouseListener);
}
 
源代码6 项目: visualvm   文件: TimelineHeaderRenderer.java
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) {
    boolean timelineColumn = column == table.convertColumnIndexToModel(col);
    setVisible(timelineColumn);
    
    Component c = impl.getTableCellRendererComponent(table, timelineColumn ?
                  " " : value, isSelected, hasFocus, row, col); // NOI18N
    if (timelineColumn) {
        if (getParent() == null && c instanceof Container) ((Container)c).add(this);

        JTableHeader header = table.getTableHeader();
        if (painter == null) initStaticUI(c, header);
        
        TableColumn _column = header.getColumnModel().getColumn(col);
        
        setSize(_column.getWidth(), header.getSize().height);
    }
    
    return c;
}
 
源代码7 项目: knopflerfish.org   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table)
{
  final TableSorter sorter = this;
  final JTable tableView = table;
  tableView.setColumnSelectionAllowed(false);
  final MouseAdapter listMouseListener = new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e)
    {
      final TableColumnModel columnModel = tableView.getColumnModel();
      final int viewColumn = columnModel.getColumnIndexAtX(e.getX());
      final int column = tableView.convertColumnIndexToModel(viewColumn);
      if (e.getClickCount() == 1 && column != -1) {
        final int shiftPressed = e.getModifiers() & InputEvent.SHIFT_MASK;
        final boolean ascending = (shiftPressed == 0);
        sorter.sortByColumn(column, ascending);
      }
    }
  };
  final JTableHeader th = tableView.getTableHeader();
  th.addMouseListener(listMouseListener);
}
 
源代码8 项目: SimpleERP   文件: QueryPortBelongs.java
public static void FitTableColumns(JTable myTable){
	  JTableHeader header = myTable.getTableHeader();
	     int rowCount = myTable.getRowCount();
	     Enumeration columns = myTable.getColumnModel().getColumns();
	     while(columns.hasMoreElements()){
	         TableColumn column = (TableColumn)columns.nextElement();
	         int col = header.getColumnModel().getColumnIndex(column.getIdentifier());
	         int width = (int)myTable.getTableHeader().getDefaultRenderer()
	                 .getTableCellRendererComponent(myTable, column.getIdentifier()
	                         , false, false, -1, col).getPreferredSize().getWidth();
	         for(int row = 0; row<rowCount; row++){
	             int preferedWidth = (int)myTable.getCellRenderer(row, col).getTableCellRendererComponent(myTable,
	               myTable.getValueAt(row, col), false, false, row, col).getPreferredSize().getWidth();
	             width = Math.max(width, preferedWidth);
	         }
	         header.setResizingColumn(column); // ���к���Ҫ
	         column.setWidth(width+myTable.getIntercellSpacing().width);
	     }
}
 
源代码9 项目: pcgen   文件: ClassLevelTableModel.java
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);
}
 
源代码10 项目: openjdk-jdk9   文件: TableColumn.java
/**
 * As of Java 2 platform v1.3, this method is not called by the <code>TableColumn</code>
 * constructor.  Previously this method was used by the
 * <code>TableColumn</code> to create a default header renderer.
 * As of Java 2 platform v1.3, the default header renderer is <code>null</code>.
 * <code>JTableHeader</code> now provides its own shared default
 * renderer, just as the <code>JTable</code> does for its cell renderers.
 *
 * @return the default header renderer
 * @see javax.swing.table.JTableHeader#createDefaultRenderer()
 */
protected TableCellRenderer createDefaultHeaderRenderer() {
    DefaultTableCellRenderer label = new DefaultTableCellRenderer() {
        public Component getTableCellRendererComponent(JTable table, Object value,
                     boolean isSelected, boolean hasFocus, int row, int column) {
            if (table != null) {
                JTableHeader header = table.getTableHeader();
                if (header != null) {
                    setForeground(header.getForeground());
                    setBackground(header.getBackground());
                    setFont(header.getFont());
                }
            }

            setText((value == null) ? "" : value.toString());
            setBorder(UIManager.getBorder("TableHeader.cellBorder"));
            return this;
        }
    };
    label.setHorizontalAlignment(JLabel.CENTER);
    return label;
}
 
源代码11 项目: openjdk-jdk8u-backup   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table) {
    final TableSorter sorter = this;
    final JTable tableView = table;
    tableView.setColumnSelectionAllowed(false);
    MouseAdapter listMouseListener = new MouseAdapter() {

        @Override
        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) {
                System.out.println("Sorting ...");
                int shiftPressed = e.getModifiers() & InputEvent.SHIFT_MASK;
                boolean ascending = (shiftPressed == 0);
                sorter.sortByColumn(column, ascending);
            }
        }
    };
    JTableHeader th = tableView.getTableHeader();
    th.addMouseListener(listMouseListener);
}
 
源代码12 项目: mzmine3   文件: ColumnGroup.java
public ColumnGroup(TableCellRenderer renderer, String text) {
  if (renderer == null) {
    this.renderer = new DefaultTableCellRenderer() {

      /**
       * 
       */
      private static final long serialVersionUID = 1L;

      public Component getTableCellRendererComponent(JTable table, Object value,
          boolean isSelected, boolean hasFocus, int row, int column) {
        JTableHeader header = table.getTableHeader();
        if (header != null) {
          setForeground(header.getForeground());
          setBackground(header.getBackground());
          setFont(header.getFont());
        }
        setHorizontalAlignment(JLabel.CENTER);
        setText((value == null) ? "" : value.toString());
        setBorder(UIManager.getBorder("TableHeader.cellBorder"));
        return this;
      }
    };
  } else {
    this.renderer = renderer;
  }
  this.text = text;
  v = new Vector<Object>();
}
 
源代码13 项目: Method_Trace_Tool   文件: Utils.java
public static void fitTableColumns(JTable myTable) {

        JTableHeader header = myTable.getTableHeader();
        int rowCount = myTable.getRowCount();
        Enumeration columns = myTable.getColumnModel().getColumns();
        while (columns.hasMoreElements()) {
            TableColumn column = (TableColumn) columns.nextElement();
            int col = header.getColumnModel().getColumnIndex(
                    column.getIdentifier());
            int width = (int) myTable
                    .getTableHeader()
                    .getDefaultRenderer()
                    .getTableCellRendererComponent(myTable,
                            column.getIdentifier(), false, false, -1, col)
                    .getPreferredSize().getWidth();
            for (int row = 0; row < rowCount; row++) {
                int preferedWidth = (int) myTable
                        .getCellRenderer(row, col)
                        .getTableCellRendererComponent(myTable,
                                myTable.getValueAt(row, col), false, false,
                                row, col).getPreferredSize().getWidth();
                width = Math.max(width, preferedWidth);
            }
            header.setResizingColumn(column); // 此行很重要
            column.setWidth(width + myTable.getIntercellSpacing().width + 4);// 使表格看起来不是那么拥挤,起到间隔作用
        }
    }
 
源代码14 项目: ghidra   文件: TableUtils.java
private static void repaintTableHeader(JTable table) {
	// force an update on the headers so they display the new sorting order
	JTableHeader tableHeader = table.getTableHeader();
	if (tableHeader != null) {
		tableHeader.paintImmediately(tableHeader.getBounds());
	}
}
 
源代码15 项目: ccu-historian   文件: SortButtonRenderer.java
/**
 * Returns the renderer component.
 *
 * @param table      the table.
 * @param value      the value.
 * @param isSelected selected?
 * @param hasFocus   focussed?
 * @param row        the row.
 * @param column     the column.
 * @return the renderer.
 */
public Component getTableCellRendererComponent(final JTable table,
                                               final Object value,
                                               final boolean isSelected,
                                               final boolean hasFocus,
                                               final int row, final int column) {

    if (table == null) {
        throw new NullPointerException("Table must not be null.");
    }

    final JComponent component;
    final SortableTableModel model = (SortableTableModel) table.getModel();
    final int cc = table.convertColumnIndexToModel(column);
    final boolean isSorting = (model.getSortingColumn() == cc);
    final boolean isAscending = model.isAscending();

    final JTableHeader header = table.getTableHeader();
    final boolean isPressed = (cc == this.pressedColumn);

    if (this.useLabels) {
        final JLabel label = getRendererLabel(isSorting, isAscending);
        label.setText((value == null) ? "" : value.toString());
        component = label;
    }
    else {
        final JButton button = getRendererButton(isSorting, isAscending);
        button.setText((value == null) ? "" : value.toString());
        button.getModel().setPressed(isPressed);
        button.getModel().setArmed(isPressed);
        component = button;
    }

    if (header != null) {
        component.setForeground(header.getForeground());
        component.setBackground(header.getBackground());
        component.setFont(header.getFont());
    }
    return component;
}
 
/**
 * Test of mouseClicked method, of class HeaderClickCheckAllListener.
 */
@Test
public void testMouseClicked_work()
{
   System.out.println("mouseClicked");
   JTable table=new JTable();
   table.addColumn(new TableColumn());
   MouseEvent evt = new MouseEvent(table.getTableHeader(), 1, 1, 1, 10, 10, 1, true);
   HeaderClickCheckAllListener instance = new HeaderClickCheckAllListener();
   instance.mouseClicked(evt);
}
 
源代码17 项目: rapidminer-studio   文件: TableHeaderUI.java
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
		int row, int column) {
	if (table != null) {
		JTableHeader header = table.getTableHeader();
		if (header != null) {
			setFont(header.getFont());
		}
	}

	this.rollOver = column == TableHeaderUI.this.highlightedColumn;
	if (header != null) {
		curCol = column;
		this.isLeftmost = column == 0;
		this.isRightmost = column == header.getColumnModel().getColumnCount() - 1;
	}

	if (header != null && header.getDraggedColumn() != null) {
		this.isPressed = viewIndexForColumn(header.getDraggedColumn()) == column
				|| column == TableHeaderUI.this.pressedColumn;
	} else {
		this.isPressed = false;
	}
	setText(value == null ? "" : value.toString());
	setHorizontalAlignment(SwingConstants.LEFT);
	setHorizontalTextPosition(SwingConstants.LEADING);
	setBorder(HEADER_BORDER);
	return this;
}
 
public static void installFor(JTable table, JPopupMenu popupMenu, int column) {
    removeOldHeaderMouseListener(table);
    TableModel model = table.getModel();
    model.addTableModelListener(new HeaderCheckBoxHandler(table));
    table.getTableHeader().addMouseListener(new HeaderMouseListener(popupMenu, column));
    TableCellRenderer r = new HeaderRenderer(table.getTableHeader(), popupMenu, column);
    table.getColumnModel().getColumn(column).setHeaderRenderer(r);
    TableCellRenderer leftAlign = new LeftAlignHeaderRenderer();
    for (int i = 0; i < table.getColumnCount(); i++) {
        if (i != column) {
            table.getColumnModel().getColumn(i).setHeaderRenderer(leftAlign);
        }
    }
}
 
源代码19 项目: mzmine2   文件: ColumnGroup.java
public ColumnGroup(TableCellRenderer renderer, String text) {
  if (renderer == null) {
    this.renderer = new DefaultTableCellRenderer() {

      /**
       * 
       */
      private static final long serialVersionUID = 1L;

      public Component getTableCellRendererComponent(JTable table, Object value,
          boolean isSelected, boolean hasFocus, int row, int column) {
        JTableHeader header = table.getTableHeader();
        if (header != null) {
          setForeground(header.getForeground());
          setBackground(header.getBackground());
          setFont(header.getFont());
        }
        setHorizontalAlignment(JLabel.CENTER);
        setText((value == null) ? "" : value.toString());
        setBorder(UIManager.getBorder("TableHeader.cellBorder"));
        return this;
      }
    };
  } else {
    this.renderer = renderer;
  }
  this.text = text;
  v = new Vector<Object>();
}
 
源代码20 项目: btdex   文件: AccountsPanel.java
public AccountsPanel(Main main) {
	super(new BorderLayout());

	this.main = main;

	table = new JTable(model = new DefaultTableModel(COLUMN_NAMES, 0));
	for (int i = 0; i < COLUMN_NAMES.length; i++) {
		table.getColumnModel().getColumn(i).setHeaderValue(tr(COLUMN_NAMES[i]));
	}
	table.setRowHeight(table.getRowHeight()+7);
	table.setPreferredScrollableViewportSize(new Dimension(400, 200));
	table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
	table.getSelectionModel().addListSelectionListener(this);

	left = new JPanel(new BorderLayout());
	right = new JPanel();
	right.setVisible(false);
	right.setLayout(new BoxLayout(right, BoxLayout.Y_AXIS));

	left.setBorder(BorderFactory.createTitledBorder(tr("acc_your_accounts")));
	right.setBorder(BorderFactory.createTitledBorder(tr("acc_account_details")));

	JScrollPane scrollPane = new JScrollPane(table);
	table.setFillsViewportHeight(true);

	// Center header and all columns
	DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
	centerRenderer.setHorizontalAlignment( JLabel.CENTER );
	for (int i = 0; i < table.getColumnCount(); i++) {
		table.getColumnModel().getColumn(i).setCellRenderer( centerRenderer );			
	}
	JTableHeader jtableHeader = table.getTableHeader();
	DefaultTableCellRenderer rend = (DefaultTableCellRenderer) table.getTableHeader().getDefaultRenderer();
	rend.setHorizontalAlignment(JLabel.CENTER);
	jtableHeader.setDefaultRenderer(rend);

	table.setAutoCreateColumnsFromModel(false);
	table.getColumnModel().getColumn(COL_NAME).setPreferredWidth(200);
	table.getColumnModel().getColumn(COL_MARKET).setPreferredWidth(20);

	JPanel buttonPane = new JPanel(new FlowLayout(FlowLayout.RIGHT));
	left.add(buttonPane, BorderLayout.PAGE_END);

	addButton = new JButton(tr("acc_add_button"));
	removeButton = new JButton(tr("acc_remove_button"));
	removeButton.setEnabled(false);

	addButton.addActionListener(this);
	removeButton.addActionListener(this);

	buttonPane.add(addButton);
	buttonPane.add(removeButton);

	marketComboBox = new JComboBox<Market>();
	for(Market m : Markets.getMarkets()) {
		if(m.getTokenID()!=null)
			continue;
		marketComboBox.addItem(m);
	}
	marketComboBox.addActionListener(this);

	JPanel topPanel = new JPanel(new SpringLayout());
	topPanel.add(new Desc(tr("main_market"), marketComboBox), BorderLayout.LINE_START);
	topPanel.add(new Desc(tr("acc_alias"), nameField = new JTextField()), BorderLayout.CENTER);
	SpringUtilities.makeCompactGrid(topPanel, 1, 2, 0, 0, PAD, PAD);
	right.add(topPanel);

	formPanel = new JPanel(new SpringLayout());
	//		JScrollPane formScroll = new JScrollPane(formPanel);
	//		right.add(formScroll);
	right.add(formPanel);

	cancelButton = new JButton(tr("dlg_cancel"));
	okButton = new JButton(tr("dlg_ok"));

	cancelButton.addActionListener(this);
	okButton.addActionListener(this);
	rightButtonPane = new JPanel(new FlowLayout(FlowLayout.RIGHT));
	rightButtonPane.add(cancelButton);
	rightButtonPane.add(okButton);
	right.add(rightButtonPane);

	add(left, BorderLayout.LINE_START);
	JPanel rightContainer = new JPanel(new BorderLayout());
	rightContainer.add(right, BorderLayout.PAGE_START);
	add(rightContainer, BorderLayout.CENTER);

	left.add(scrollPane, BorderLayout.CENTER);	

	loadAccounts();
}
 
 方法所在类
 同类方法