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

📄 defaultcellattribute.java

📁 Swing Examples Sources Codes 里包含了Java Web开发的一些实例代码
💻 JAVA
字号:
/* * (swing1.1beta3) *  */package jp.gr.java_conf.tame.swing.table;import java.awt.*;/** * @version 1.0 11/22/98 */public class DefaultCellAttribute //    implements CellAttribute ,CellSpan  {      implements CellAttribute ,CellSpan ,ColoredCell ,CellFont {  //  // !!!! CAUTION !!!!!  // these values must be synchronized to Table data  //  protected int rowSize;  protected int columnSize;  protected int[][][] span;                   // CellSpan  protected Color[][] foreground;             // ColoredCell  protected Color[][] background;             //  protected Font[][]  font;                   // CellFont    public DefaultCellAttribute() {    this(1,1);  }    public DefaultCellAttribute(int numRows, int numColumns) {    setSize(new Dimension(numColumns, numRows));  }  protected void initValue() {    for(int i=0; i<span.length;i++) {      for(int j=0; j<span[i].length; j++) {	span[i][j][CellSpan.COLUMN] = 1;	span[i][j][CellSpan.ROW]    = 1;      }    }  }  //  // CellSpan  //  public int[] getSpan(int row, int column) {    if (isOutOfBounds(row, column)) {      int[] ret_code = {1,1};      return ret_code;    }    return span[row][column];  }  public void setSpan(int[] span, int row, int column) {    if (isOutOfBounds(row, column)) return;    this.span[row][column] = span;  }        public boolean isVisible(int row, int column) {    if (isOutOfBounds(row, column)) return false;    if ((span[row][column][CellSpan.COLUMN] < 1)      ||(span[row][column][CellSpan.ROW]    < 1)) return false;    return true;  }  public void combine(int[] rows, int[] columns) {    if (isOutOfBounds(rows, columns)) return;    int    rowSpan  = rows.length;    int columnSpan  = columns.length;    int startRow    = rows[0];    int startColumn = columns[0];    for (int i=0;i<rowSpan;i++) {      for (int j=0;j<columnSpan;j++) {	if ((span[startRow +i][startColumn +j][CellSpan.COLUMN] != 1)	  ||(span[startRow +i][startColumn +j][CellSpan.ROW]    != 1)) {	  //System.out.println("can't combine");	  return ;	}      }    }    for (int i=0,ii=0;i<rowSpan;i++,ii--) {      for (int j=0,jj=0;j<columnSpan;j++,jj--) {	span[startRow +i][startColumn +j][CellSpan.COLUMN] = jj;	span[startRow +i][startColumn +j][CellSpan.ROW]    = ii;	//System.out.println("r " +ii +"  c " +jj);      }    }    span[startRow][startColumn][CellSpan.COLUMN] = columnSpan;    span[startRow][startColumn][CellSpan.ROW]    =    rowSpan;      }  public void split(int row, int column) {    if (isOutOfBounds(row, column)) return;    int columnSpan = span[row][column][CellSpan.COLUMN];    int    rowSpan = span[row][column][CellSpan.ROW];    for (int i=0;i<rowSpan;i++) {      for (int j=0;j<columnSpan;j++) {	span[row +i][column +j][CellSpan.COLUMN] = 1;	span[row +i][column +j][CellSpan.ROW]    = 1;      }    }  }  //  // ColoredCell  //  public Color getForeground(int row, int column) {    if (isOutOfBounds(row, column)) return null;    return foreground[row][column];  }  public void setForeground(Color color, int row, int column) {    if (isOutOfBounds(row, column)) return;    foreground[row][column] = color;  }  public void setForeground(Color color, int[] rows, int[] columns) {    if (isOutOfBounds(rows, columns)) return;    setValues(foreground, color, rows, columns);  }  public Color getBackground(int row, int column) {    if (isOutOfBounds(row, column)) return null;    return background[row][column];  }  public void setBackground(Color color, int row, int column) {    if (isOutOfBounds(row, column)) return;    background[row][column] = color;  }  public void setBackground(Color color, int[] rows, int[] columns) {    if (isOutOfBounds(rows, columns)) return;    setValues(background, color, rows, columns);  }  //  //  // CellFont  //  public Font getFont(int row, int column) {    if (isOutOfBounds(row, column)) return null;    return font[row][column];  }  public void setFont(Font font, int row, int column) {    if (isOutOfBounds(row, column)) return;    this.font[row][column] = font;  }  public void setFont(Font font, int[] rows, int[] columns) {    if (isOutOfBounds(rows, columns)) return;    setValues(this.font, font, rows, columns);  }  //  //  // CellAttribute  //  public void addColumn() {    int[][][] oldSpan = span;    int numRows    = oldSpan.length;    int numColumns = oldSpan[0].length;    span = new int[numRows][numColumns + 1][2];    System.arraycopy(oldSpan,0,span,0,numRows);    for (int i=0;i<numRows;i++) {      span[i][numColumns][CellSpan.COLUMN] = 1;      span[i][numColumns][CellSpan.ROW]    = 1;    }  }  public void addRow() {    int[][][] oldSpan = span;    int numRows    = oldSpan.length;    int numColumns = oldSpan[0].length;    span = new int[numRows + 1][numColumns][2];    System.arraycopy(oldSpan,0,span,0,numRows);    for (int i=0;i<numColumns;i++) {      span[numRows][i][CellSpan.COLUMN] = 1;      span[numRows][i][CellSpan.ROW]    = 1;    }  }  public void insertRow(int row) {    int[][][] oldSpan = span;    int numRows    = oldSpan.length;    int numColumns = oldSpan[0].length;    span = new int[numRows + 1][numColumns][2];    if (0 < row) {      System.arraycopy(oldSpan,0,span,0,row-1);    }    System.arraycopy(oldSpan,0,span,row,numRows - row);    for (int i=0;i<numColumns;i++) {      span[row][i][CellSpan.COLUMN] = 1;      span[row][i][CellSpan.ROW]    = 1;    }  }  public Dimension getSize() {    return new Dimension(rowSize, columnSize);  }  public void setSize(Dimension size) {    columnSize = size.width;    rowSize    = size.height;    span = new int[rowSize][columnSize][2];   // 2: COLUMN,ROW    foreground = new Color[rowSize][columnSize];    background = new Color[rowSize][columnSize];    font = new Font[rowSize][columnSize];    initValue();  }  /*  public void changeAttribute(int row, int column, Object command) {  }  public void changeAttribute(int[] rows, int[] columns, Object command) {  }  */  protected boolean isOutOfBounds(int row, int column) {    if ((row    < 0)||(rowSize    <= row)      ||(column < 0)||(columnSize <= column)) {      return true;    }    return false;  }  protected boolean isOutOfBounds(int[] rows, int[] columns) {    for (int i=0;i<rows.length;i++) {      if ((rows[i] < 0)||(rowSize <= rows[i])) return true;    }    for (int i=0;i<columns.length;i++) {      if ((columns[i] < 0)||(columnSize <= columns[i])) return true;    }    return false;  }  protected void setValues(Object[][] target, Object value,                           int[] rows, int[] columns) {    for (int i=0;i<rows.length;i++) {      int row = rows[i];      for (int j=0;j<columns.length;j++) {	int column = columns[j];	target[row][column] = value;      }    }  }}

⌨️ 快捷键说明

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