?? j2kguiencoder.java
字號:
} 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 + -