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

📄 j2kguiencoder.java

📁 jpeg2000编解码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
	} else if(o==refyTF) { // Image vertical offset in canvas	    imgOff.y = (new Integer(refyTF.getText())).intValue();	    if(imgOff.y<0) {		imgOff.y = 0;		refyTF.setText("0");	    }	    imgPan.setOffset(imgOff.x,imgOff.y);	} else if(o==secNoShape) {	    secUlxTF.setEditable(false);	    secUlyTF.setEditable(false);	    secWTF.setEditable(false);	    secHTF.setEditable(false);// 	    secMouseDef.setEnabled(false);	} else if(o==secWholeImage) {	    secUlxTF.setEditable(false);	    secUlyTF.setEditable(false);	    secWTF.setEditable(false);	    secHTF.setEditable(false);// 	    secMouseDef.setEnabled(false);	} else if(o==secWavMeth) {	    secBrStartTF.setEditable(false);	} else if(o==secBitMeth) {	    secBrStartTF.setEditable(true);	}    }    public void itemStateChanged(ItemEvent e) {        Object o = e.getSource();        if(o==mctCheckBox) {	    if(mctCheckBox.isSelected()){		mctOn.setEnabled(true);		mctOff.setEnabled(true);		    } else {		mctOn.setEnabled(false);		mctOff.setEnabled(false);	    }        } else if (o==cppCheckBox) {	    if(cppCheckBox.isSelected()){		cppDimTf.setText("");		cppDimTf.setEditable(true);	    } else {		cppDimTf.setText("");		cppDimTf.setEditable(false);		    }                    } else if(o==lossy) { // lossy mode (advanced options)	    encRateField.setEditable(true);            encRateField.setText(f.format((encRateSlider.getValue()/                                           encSliderPrec)));            qtypeCombo.removeAllItems();            qtypeCombo.addItem("expounded");            qtypeCombo.addItem("derived");	    qtypeCombo.setSelectedItem("expounded");            qstepTf.setEditable(true);        } else if(o==lossless) { // lossless coding mode (advanced options)	    encRateField.setEditable(false);	    encRateField.setText("");            qtypeCombo.removeAllItems();            qtypeCombo.addItem("reversible");	    qtypeCombo.setSelectedItem("reversible");            qstepTf.setEditable(false);	} else if(o==tileBox) { // Enable/disable nominal tiles dimension            // selection	    if(tileBox.isSelected()) {		tileWidth.setEditable(true);		tileHeight.setEditable(true);		trefxTF.setEditable(true);		trefyTF.setEditable(true);	    } else {		tileWidth.setEditable(false);		tileHeight.setEditable(false);		trefxTF.setEditable(false);		trefyTF.setEditable(false);	    }	} else if(o==lossyBut) {            encRateField.setEditable(true);            encRateSlider.setEnabled(true);        } else if(o==losslessBut) {            encRateField.setEditable(false);            encRateSlider.setEnabled(false);                    } else if(o==lossy) {            encRateField.setEditable(true);        } else if(o==lossless) {            encRateField.setEditable(false);        } else if(o==mouseImgOff) {	    if(mouseImgOff.isSelected()) {		mouseRectROI.setSelected(false);		mouseTile.setSelected(false);		mouseCircROI.setSelected(false);		selectType = MOVE_IMAGE;	    } else {		selectType = NONE;	    }	} else if(o==mouseTile) {	    if(mouseTile.isSelected()) {		mouseRectROI.setSelected(false);		mouseImgOff.setSelected(false);		mouseCircROI.setSelected(false);		selectType = TILE_PARTITION;		imgPan.enableDrawing(true); 	    } else {		selectType = NONE;		imgPan.enableDrawing(false); 	    }	} else if(o==mouseRectROI) {            if(mouseRectROI.isSelected()) {                selectType = RECT_ROI;                imgPan.enableDrawing(true);            } else {                selectType = NONE;                imgPan.enableDrawing(false);            }        } else if(o==mouseCircROI) {            if(mouseCircROI.isSelected()) {                selectType = CIRC_ROI;                  imgPan.enableDrawing(true);            } else {                selectType = NONE;                imgPan.enableDrawing(false);            }        } else if(o==secUserDef) {	    if(secUserDef.isSelected()) {		selectType = RECT_SECURE;		imgPan.enableDrawing(true);	    } else {		selectType = NONE;		imgPan.enableDrawing(false);	    }	}    }    /**      * Method handling modification of the sliders values      * */    public void stateChanged(ChangeEvent e) {        double val = (double)encRateSlider.getValue()/encSliderPrec;        encRateField.setText(f.format(val));    }    /** Handles mouse event happening on the opened image when selecting a     * Region of Interest */    public void mouseClicked(MouseEvent e) { }    public void mouseEntered(MouseEvent e) { 	switch(selectType) {	case MOVE_IMAGE:	    imgPan.setCursor(new Cursor(Cursor.MOVE_CURSOR));	    break;	case TILE_PARTITION:	case RECT_ROI:	case RECT_SECURE:	case CIRC_ROI:            imgPan.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR));	    break;	}    }    public void mouseExited(MouseEvent e) { 	switch(selectType) {	case TILE_PARTITION:	case MOVE_IMAGE:	case RECT_ROI:	case RECT_SECURE:	case CIRC_ROI:            imgPan.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));	    break;	}    }    public void mousePressed(MouseEvent e) {         selectOrig.x = e.getX();        selectOrig.y = e.getY();	switch(selectType) {	case TILE_PARTITION:	    if(selectOrig.x>imgPan.getOffX()/zf) {		selectOrig.x = (int)((imgPan.getOffX())/zf);	    } 	    if(selectOrig.y>imgPan.getOffY()/zf) {		selectOrig.y = (int)((imgPan.getOffY())/zf);	    }             rectSelect = new Rectangle(selectOrig.x,selectOrig.y,1,1);	    trefxTF.setText(""+(int)(rectSelect.x*zf));	    trefyTF.setText(""+(int)(rectSelect.y*zf));	    tileWidth.setText(""+rectSelect.width);	    tileHeight.setText(""+rectSelect.height);	    break;	case MOVE_IMAGE:	    savedImgOff.x = imgOff.x;	    savedImgOff.y = imgOff.y;	    break;	case RECT_ROI:            rectSelect = new Rectangle(selectOrig.x,selectOrig.y,1,1);            rectLeftTf.setText(""+(int)(rectSelect.x*zf));            rectTopTf.setText(""+(int)(rectSelect.y*zf));            rectWidthTf.setText(""+rectSelect.width);            rectHeightTf.setText(""+rectSelect.height);	    break;	case RECT_SECURE:            rectSelect = new Rectangle(selectOrig.x,selectOrig.y,1,1);            secUlxTF.setText(""+(int)(rectSelect.x*zf));            secUlyTF.setText(""+(int)(rectSelect.y*zf));            secWTF.setText(""+rectSelect.width);            secHTF.setText(""+rectSelect.height);	    break;        case CIRC_ROI:            cROIx = selectOrig.x; cROIy = selectOrig.y; cROIrad = 1;            circRowTf.setText(""+(int)(cROIy*zf));            circColTf.setText(""+(int)(cROIx*zf));            circRadTf.setText(""+cROIrad);	    break;        }    }    public void mouseReleased(MouseEvent e) { 	switch(selectType) {	case TILE_PARTITION:	    imgPan.setTilePartition(rectSelect);	    break;	}    }    public void mouseDragged(MouseEvent e) {         switch(selectType) {	case MOVE_IMAGE: {            int dx = e.getX()-selectOrig.x;            int dy = e.getY()-selectOrig.y;	    if(savedImgOff.x+dx<0) {		imgOff.x = 0;	    } else {		imgOff.x = savedImgOff.x+dx;	    }	    if(savedImgOff.y+dy<0) {		imgOff.y = 0;	    } else {		imgOff.y = savedImgOff.y+dy;	    }	    imgPan.setOffset(imgOff.x,imgOff.y);	    refxTF.setText(""+imgOff.x);	    refyTF.setText(""+imgOff.y);	    	    break; }	case TILE_PARTITION: {	    int x0 = rectSelect.x;            int y0 = rectSelect.y;            int nx = e.getX();            int ny = e.getY();	    int offx = imgPan.getOffX();	    int offy = imgPan.getOffY();            int oWidth = (int)((imgPan.getOrigWidth()+offx)/zf);            int oHeight = (int)((imgPan.getOrigHeight()+offy)/zf);            if(nx<0) nx = 0;            if(ny<0) ny = 0;            if(nx>=oWidth) nx = oWidth-1;            if(ny>=oHeight) ny = oHeight-1;            int w = nx-selectOrig.x+1;            int h = ny-selectOrig.y+1;            if(w<0) {                w = -w;                x0 = nx;                trefxTF.setText(""+(int)(x0*zf));                rectSelect.x = x0;            }             if(h<0) {                h = -h;                y0 = ny;                trefyTF.setText(""+(int)(y0*zf));                rectSelect.y = y0;            }            rectSelect.width = w; rectSelect.height = h;            tileHeight.setText(""+(int)(h*zf));            tileWidth.setText(""+(int)(w*zf));            imgPan.drawRect(x0,y0,w,h);	    break;}	case RECT_SECURE: {            int x0 = rectSelect.x;            int y0 = rectSelect.y;            int nx = e.getX();            int ny = e.getY();	    int offx = imgPan.getOffX();	    int offy = imgPan.getOffY();            int oWidth = (int)((imgPan.getOrigWidth()+offx)/zf);            int oHeight = (int)((imgPan.getOrigHeight()+offy)/zf);            if(nx<0) nx = 0;            if(ny<0) ny = 0;            if(nx>=oWidth) nx = oWidth-1;            if(ny>=oHeight) ny = oHeight-1;            int w = nx-selectOrig.x+1;            int h = ny-selectOrig.y+1;            if(w<0) {                w = -w;                x0 = nx;                secUlxTF.setText(""+(int)(x0*zf));                rectSelect.x = x0;            }             if(h<0) {                h = -h;                y0 = ny;                secUlyTF.setText(""+(int)(y0*zf));                rectSelect.y = y0;            }            rectSelect.width = w; rectSelect.height = h;            secHTF.setText(""+(int)(h*zf));            secWTF.setText(""+(int)(w*zf));            imgPan.drawRect(x0,y0,w,h);	    break; }	case RECT_ROI: {            int x0 = rectSelect.x;            int y0 = rectSelect.y;            int nx = e.getX();            int ny = e.getY();	    int offx = imgPan.getOffX();	    int offy = imgPan.getOffY();            int oWidth = (int)((imgPan.getOrigWidth()+offx)/zf);            int oHeight = (int)((imgPan.getOrigHeight()+offy)/zf);            if(nx<0) nx = 0;            if(ny<0) ny = 0;            if(nx>=oWidth) nx = oWidth-1;            if(ny>=oHeight) ny = oHeight-1;            int w = nx-selectOrig.x+1;            int h = ny-selectOrig.y+1;            if(w<0) {                w = -w;                x0 = nx;                rectLeftTf.setText(""+(int)(x0*zf));                rectSelect.x = x0;            }             if(h<0) {                h = -h;                y0 = ny;                rectTopTf.setText(""+(int)(y0*zf));                rectSelect.y = y0;            }            rectSelect.width = w; rectSelect.height = h;            rectHeightTf.setText(""+(int)(h*zf));            rectWidthTf.setText(""+(int)(w*zf));            imgPan.drawRect(x0,y0,w,h);	    break; }        case CIRC_ROI: {            int x0 = cROIx;            int y0 = cROIy;            int nx = e.getX();            int ny = e.getY();	    int offx = imgPan.getOffX();	    int offy = imgPan.getOffY();            int oWidth = (int)((imgPan.getOrigWidth()+offx)/zf);            int oHeight = (int)((imgPan.getOrigHeight()+offy)/zf);            int w = nx-x0;            int h = ny-y0;            int radius = (int)Math.sqrt(w*w+h*h);            int radiusS2 = (int)Math.sqrt(2*w*w+2*h*h);            if(x0-radiusS2<0) radiusS2 = x0;            if(y0-radiusS2<0) radiusS2 = y0;            if(x0+radiusS2>=oWidth) radiusS2 = oWidth-1-x0;            if(y0+radiusS2>=oHeight) radiusS2 = oHeight-1-y0;            cROIrad = radiusS2;            circRadTf.setText(""+(int)(radiusS2*zf));            imgPan.drawOval(x0-radiusS2,y0-radiusS2,2*radiusS2,2*radiusS2);	    break; }        }    }    public void mouseMoved(MouseEvent e) { }    public void setSelectType(int type) {        selectType = type;        imgPan.enableDrawing(false);    }}

⌨️ 快捷键说明

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