亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? table.java

?? 一個圖書館管理工具的原代碼,希望大家指點
?? JAVA
字號:
/*
 * Table.java
 *
 * Created on 2006年5月23日, 上午12:21
 *
 * To change this template, choose Tools | Options and locate the template under
 * the Source Creation and Management node. Right-click the template and choose
 * Open. You can then make changes to the template in the Source Editor.
 */

package cn.edu.uestc.pandawireless.ui.table;

import javax.microedition.lcdui.*;

/**
 * <P>The <CODE>Table</CODE> class creates a grid which shows data in columns, oriented either
 * horizontally or vertically. 
 *
 * <P><CODE>Table</CODE>s may also be inserted into <CODE>ScrollPane</CODE>s. This allows 
 * <CODE>Table</CODE>s to be larger than the physical display.
 *
 * <P>Orientation is set using the <CODE>ORIENT_VERTICAL</CODE> (which places columns along the
 * <B>X</B> axis), or <CODE>ORIENT_HORIZONTAL</CODE> (which places columns along the <B>Y</B>
 * axis.
 *
 * @see TableModel
 * @author Darryl L. Pierce,pandaxiaoxi
 * @version $Revision: 2.0 $
 */
public class Table extends Canvas implements Scrollable {
    public static final int ORIENT_VERTICAL   = 0;
    public static final int ORIENT_HORIZONTAL = 1;

    private TableModel model         = null;
    private Font       font           = Font.getDefaultFont();
    private int        columnWidth    = 85;
    private int        orientation    = ORIENT_VERTICAL;   //每列豎直顯示
    private boolean    separatorLines = true;
    private int        currentRow = 1;

    /**
     * <P>Creates an instance with the associated model.
     */
    public Table(TableModel model) {
	if(null == model) {
	    throw new IllegalArgumentException("Cannot pass a null model to a table");
	}

	this.model = model;
    }
    public Table(){
        
    }
    public void setTableModel(TableModel model){
        if(null == model) {
	    throw new IllegalArgumentException("Cannot pass a null model to a table");
	}
        this.model = model;
    }
//    public TableModel getModel(){
//        return this.model;
//    }
    public TableModel getTableModel(){
        return this.model;
    }
    /**
     * <P>Sets the column width
     */
    public void setColumnWidth(int width) {
	if(0 < width) {
	    columnWidth = width;
	}
    }

    /**
     * <P>Returns the column width.
     */
    public int getColumnWidth() {
	return columnWidth;
    }

    /**
     * <P>Sets the table orientation.
     *
     * @param orient either <CODE>ORIENT_VERTICAL</CODE> or <CODE>ORIENT_HORIZONTAL</CODE>
     */
    public void setOrientation(int orient) {
	switch(orient) {
	case ORIENT_VERTICAL:
	case ORIENT_HORIZONTAL:
	    orientation = orient;
	    break;
	default:
	    System.out.println("Invalid orientation!");
	    break;
	}
    }

    /**
     * <P>Returns the table orientation.
     */
    public int getOrientation() {
	return orientation;
    }
    
    /**
     * <P>Toggles whether separator lines are used between rows and between columns.
     */
    public void setSeparatorLines(boolean sep) {
	separatorLines = sep;
    }

    /**
     * <P>Returns whether separator lines are used.
     */
    public boolean getSeparatorLines() {
	return separatorLines;
    }

    public void paint(Graphics g) {
	int width = getFullWidth(), height = getFullHeight();

	// clear the background
	g.setColor(255,255,255);
	g.fillRect(0,0,width,height);
	g.setColor(0,0,0);

	// draw the border for the table
	g.drawRect(0,0,width,height);
        
	if(separatorLines) {
	    int vbars = 0;
	    int hbars = 0;

	    // determine how many vertical and horizontal bars to draw
	    switch(orientation) {
	    case ORIENT_VERTICAL:
		vbars = model.getColumnCount();
		hbars = model.getRowCount();
		if(model.hasColumnHeaders()) hbars++;
		break;

	    case ORIENT_HORIZONTAL:
		vbars = model.getRowCount();
		hbars = model.getColumnCount();
		if(model.hasColumnHeaders()) vbars++;
		break;
	    }
            boolean flag = false;
            
	    // draw horizontal row with different color
	    for(int index = 0;index < hbars;index++) {
		int y = index * getVerticalSpacing();
		if(index == 0){
                    g.setColor(152, 152, 152);
                    g.fillRect(0,y, width-1,getVerticalSpacing());
                    continue;
                }
                    
                if(flag){
                    g.setColor(215,215,215);
                    flag = false;
                }else{
                    g.setColor(255,255,255);
                    flag = true;
                }
                g.fillRect(0,y, width-1,getVerticalSpacing());
            }
            g.setColor(70,95,182);
            if(currentRow > 0)
                g.fillRect(0,currentRow*getVerticalSpacing(), width-1,getVerticalSpacing());
            g.setColor(0,0,0);   
            // draw horizontal bars
	    for(int index = 0;index < hbars;index++) {
		int y = index * getVerticalSpacing();
		g.drawLine(0,y,width - 1,y);
                
            }
             // draw vertical bars
	    for(int index = 0;index < vbars;index++) {
		//int x = index * getHorizontalSpacing();
                int x = index * columnWidth;
		g.drawLine(x,0,x,height - 1);
                
	    }
            
	}
        
	int rowOffset = 0; // used to flag whether headers are displayed

	// if using column headers, let's show them first
	if(model.hasColumnHeaders()) {
	    for(int col = 0;col < model.getColumnCount();col++) {
		// the row should be -1 for this call 
		drawTableCell(g,0,col,model.getColumnHeaderText(col));
	    }
	    // set the row offset
	    rowOffset = 1;
	}
        
        
	// now draw each element of the table
	for(int row = 0;row < model.getRowCount();row++) {
	    for(int col = 0;col < model.getColumnCount();col++) {
		String value = model.getValueAt(row,col);
		// now use the rowOffset to adjust if column headers were used
		drawTableCell(g,row + rowOffset,col,value);
	    }
	}
        
    }

    private void drawTableCell(Graphics g,int row,int col,String value) {
	int valueSize = columnWidth - 4; // to make sure it fits in a column space
	if(0 < valueSize) {
	    while(valueSize < font.stringWidth(value)) {
		value = value.substring(0,value.length() - 1);
		// if the string is now empty, just exit... we can't display it...
		if(0 == value.length()) {
		    return;
		}
	    }

	    int x = getXFor(row,col) + 1;
	    int y = getYFor(row,col) + 2;
	    
	    g.drawString(value,x,y,Graphics.LEFT | Graphics.TOP);
	}
    }



    private int getXFor(int row,int col) {
	if(ORIENT_VERTICAL == orientation) {
	    return col * getHorizontalSpacing();
	} else {
	    return row * getHorizontalSpacing();
	}
    }

    private int getYFor(int row,int col) {
	if(ORIENT_VERTICAL == orientation) {
	    return row * getVerticalSpacing();
	} else {
	    return col * getVerticalSpacing();
	}
    }

    private int getVerticalSpacing() {
	return font.getHeight() + 3; // font height + 1 line above + 1 line below + 1 line for separator
    }

    private int getHorizontalSpacing() {
	int rightBorder = getFullWidth() - 1;

	if(ORIENT_VERTICAL == orientation) {
	    return rightBorder / model.getColumnCount();
	} else {
	    return rightBorder / model.getRowCount();
	}
    }

    // Scrollable interface

    public int getFullWidth() {
	int count = 0;
	if(ORIENT_VERTICAL == orientation) {
	    count = model.getColumnCount();
	} else {
	    count = model.getRowCount();
	    if(model.hasColumnHeaders()) count++;
	}
	return (count * columnWidth) + 1;
    }

    public int getFullHeight() {
	int count = 0;

	if(ORIENT_VERTICAL == orientation) {
	    count = model.getRowCount();
	    if(model.hasColumnHeaders()) count++;
	} else {
	    count = model.getColumnCount();
	}

	return (getVerticalSpacing() * count) + 1;
    }

    public int getVerticalScrollAmount() {
	return getVerticalSpacing();
    }

    public int getHorizontalScrollAmount() {
	return getHorizontalSpacing();
    }

    public void render(Graphics g) {
	paint(g);
    }
    public void setCurrentRow(int row){
        this.currentRow = row;
    }
    public int getCurrentRow(){
        return this.currentRow;
    }
    public int getTotalDisplayRow(){
        return getHeight()/getVerticalSpacing()-1;
        //return 10;
    }
    public int getTotalRow(){
        return model.getRowCount();
    }
    public int getCurrentRowY(){
        return currentRow*getVerticalSpacing();
    }
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成网站在线| 成人午夜私人影院| 国产美女在线精品| 色综合久久天天| 久久男人中文字幕资源站| 亚洲国产成人porn| 丁香亚洲综合激情啪啪综合| 欧美日韩三级一区二区| 欧美韩国日本不卡| 久久精品国产一区二区三区免费看| 国产999精品久久久久久绿帽| 7777精品伊人久久久大香线蕉的 | 国产精品一区三区| 欧美日免费三级在线| 国产精品久久久久三级| 久久精品国产免费看久久精品| 91久久香蕉国产日韩欧美9色| 久久精品视频在线免费观看| 美女视频一区在线观看| 日本高清无吗v一区| 国产精品久久久久久久久搜平片| 久久99精品视频| 91精品福利在线一区二区三区 | 亚洲视频网在线直播| 国产成人午夜视频| 欧美精品一区二区久久久| 亚洲第一搞黄网站| 在线观看欧美黄色| 亚洲午夜在线电影| 在线区一区二视频| 一区二区三区美女视频| 91福利区一区二区三区| 一区二区在线观看av| 日本精品免费观看高清观看| 国产精品久久久久久久久久久免费看| 国产精品一区二区在线看| 久久午夜电影网| 国产一区在线不卡| 国产欧美一区二区精品性色| 国产一区二区三区蝌蚪| 久久久精品一品道一区| 国产成人99久久亚洲综合精品| 国产欧美一二三区| 成人av在线观| 亚洲欧美日韩成人高清在线一区| 91污片在线观看| 一区二区三区四区蜜桃| 欧美精品一二三| 蜜桃久久久久久久| 国产日韩高清在线| 色就色 综合激情| 五月天亚洲婷婷| 日韩美一区二区三区| 国产一区二区三区电影在线观看| 欧美高清在线一区| 欧美在线观看视频一区二区| 亚洲成人动漫在线免费观看| 91麻豆精品国产91久久久资源速度 | 26uuu久久天堂性欧美| 成人美女视频在线观看18| 亚洲精品福利视频网站| 欧美一区二区三区色| 丁香五精品蜜臀久久久久99网站| 亚洲视频一区二区在线观看| 欧美日韩一区精品| 久久99国产精品免费| 亚洲免费三区一区二区| 91精品国产麻豆国产自产在线 | 欧美日韩精品一区视频| 紧缚奴在线一区二区三区| 中文一区二区在线观看| 欧美性大战久久久久久久| 蜜桃视频一区二区三区在线观看 | 久久噜噜亚洲综合| 在线精品国精品国产尤物884a| 青青青伊人色综合久久| 中文字幕一区二区三区视频| 欧美高清视频一二三区| 国产精品中文字幕欧美| 午夜日韩在线观看| 中文字幕乱码日本亚洲一区二区| 色婷婷激情综合| 激情六月婷婷久久| 亚洲国产美国国产综合一区二区| 久久久亚洲高清| 欧美日韩高清影院| 91亚洲精品一区二区乱码| 久久精品国产一区二区三| 亚洲国产日韩a在线播放性色| 国产日韩成人精品| 精品国产免费人成在线观看| 欧美亚洲综合另类| 成人网男人的天堂| 久久99久久久久| 午夜私人影院久久久久| 中文字幕一区二区视频| 国产丝袜在线精品| 日韩欧美久久久| 欧美日韩一级视频| 一本色道a无线码一区v| 成人福利在线看| 国产一区二区精品在线观看| 日韩综合小视频| 午夜国产精品影院在线观看| 亚洲天堂网中文字| 中文字幕欧美日韩一区| 久久久不卡网国产精品一区| 日韩一区二区三区视频在线 | 久久影院午夜论| 精品国精品国产尤物美女| 日韩一区二区三区av| 欧美色综合影院| 91高清在线观看| 色呦呦国产精品| 91丝袜美腿高跟国产极品老师| 国产成人小视频| 成人教育av在线| av不卡在线播放| 一本大道久久a久久精品综合| 成人福利在线看| 91麻豆精品在线观看| 91美女片黄在线| 欧美在线观看一二区| 欧美老女人在线| 欧美一区二区在线播放| 日韩一区二区麻豆国产| 日韩三级精品电影久久久| 精品对白一区国产伦| 久久先锋影音av鲁色资源| 国产欧美久久久精品影院| 国产欧美精品区一区二区三区| 中文在线一区二区| 一区二区三区在线视频播放 | 日韩精品一区二区三区在线播放| 日韩一区二区三区高清免费看看| 日韩欧美中文字幕精品| 久久久久久久av麻豆果冻| 国产女人水真多18毛片18精品视频 | 婷婷成人综合网| 久久精品国产99国产精品| 国产精品一区二区视频| av不卡一区二区三区| 欧美在线高清视频| 精品国产乱码久久久久久牛牛| 国产亚洲精品精华液| 亚洲免费在线播放| 日本成人在线视频网站| 高清日韩电视剧大全免费| 一本久久综合亚洲鲁鲁五月天 | 亚洲黄色免费电影| 日韩—二三区免费观看av| 国产精品99久久久久| 日本韩国一区二区| 欧美tickling挠脚心丨vk| 国产精品国产三级国产aⅴ入口| 午夜影院在线观看欧美| 国产米奇在线777精品观看| 欧美性视频一区二区三区| 精品久久久久久久人人人人传媒 | 精品视频全国免费看| 国产情人综合久久777777| 亚洲国产wwwccc36天堂| 国产精品一区久久久久| 日本韩国欧美一区| 日本一区二区三区电影| 日韩电影免费在线看| 粗大黑人巨茎大战欧美成人| 91精品欧美一区二区三区综合在| 中文幕一区二区三区久久蜜桃| 丝袜亚洲精品中文字幕一区| 91女神在线视频| 久久精品日韩一区二区三区| 日本欧美大码aⅴ在线播放| 色狠狠桃花综合| 中文字幕第一区二区| 美腿丝袜亚洲色图| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 久久色在线观看| 另类小说图片综合网| 欧美日韩日日骚| 一区二区三区精品在线观看| 国产成人综合在线| 精品国产91亚洲一区二区三区婷婷| 亚洲成av人影院| 在线欧美日韩精品| 亚洲老司机在线| 91丨porny丨户外露出| 国产精品久久久久久久久免费相片 | 亚洲一区视频在线观看视频| 精品无人码麻豆乱码1区2区 | 在线欧美小视频| 亚洲精品视频在线观看网站| 精品一区二区三区免费| 欧美性猛交xxxx乱大交退制版| 亚洲素人一区二区| 成人污污视频在线观看| 久久久久九九视频| 国产经典欧美精品| 久久免费看少妇高潮| 国产一区二区三区最好精华液|