⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 columngroup.java

📁 Swing Examples Sources Codes 里包含了Java Web开发的一些实例代码
💻 JAVA
字号:
/* * (swing1.1beta3) *  */package jp.gr.java_conf.tame.swing.table;import java.util.*;import java.awt.*;import javax.swing.*;import javax.swing.table.*;/**  * ColumnGroup  *  * @version 1.0 10/20/98  * @author Nobuo Tamemasa  */ public class ColumnGroup {  protected TableCellRenderer renderer;  protected Vector v;  protected String text;  protected int margin=0;  public ColumnGroup(String text) {    this(null,text);  }  public ColumnGroup(TableCellRenderer renderer,String text) {    if (renderer == null) {      this.renderer = new DefaultTableCellRenderer() {	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();  }    /**   * @param obj    TableColumn or ColumnGroup   */  public void add(Object obj) {    if (obj == null) { return; }    v.addElement(obj);  }    /**   * @param c    TableColumn   * @param v    ColumnGroups   */  public Vector getColumnGroups(TableColumn c, Vector g) {    g.addElement(this);    if (v.contains(c)) return g;        Enumeration enum = v.elements();    while (enum.hasMoreElements()) {      Object obj = enum.nextElement();      if (obj instanceof ColumnGroup) {        Vector groups =           (Vector)((ColumnGroup)obj).getColumnGroups(c,(Vector)g.clone());        if (groups != null) return groups;      }    }    return null;  }      public TableCellRenderer getHeaderRenderer() {    return renderer;  }      public void setHeaderRenderer(TableCellRenderer renderer) {    if (renderer != null) {      this.renderer = renderer;    }  }      public Object getHeaderValue() {    return text;  }    public Dimension getSize(JTable table) {    Component comp = renderer.getTableCellRendererComponent(        table, getHeaderValue(), false, false,-1, -1);    int height = comp.getPreferredSize().height;     int width  = 0;    Enumeration enum = v.elements();    while (enum.hasMoreElements()) {      Object obj = enum.nextElement();      if (obj instanceof TableColumn) {        TableColumn aColumn = (TableColumn)obj;        width += aColumn.getWidth();        width += margin;      } else {        width += ((ColumnGroup)obj).getSize(table).width;      }    }    return new Dimension(width, height);  }  public void setColumnMargin(int margin) {    this.margin = margin;    Enumeration enum = v.elements();    while (enum.hasMoreElements()) {      Object obj = enum.nextElement();      if (obj instanceof ColumnGroup) {        ((ColumnGroup)obj).setColumnMargin(margin);      }    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -