drawtext.java

来自「用Java开发的、实现类似Visio功能的应用程序源码」· Java 代码 · 共 72 行

JAVA
72
字号
/**
 *    $Id:DrawText.java $
 *
 *    Copyright 2004 ~ 2005  JingFei International Cooperation LTD. All rights reserved. *
 */
package com.jfimagine.jfdraw.draw;

import java.awt.Graphics;
import java.awt.Frame;


import com.jfimagine.jfdraw.draw.DrawRect;
import com.jfimagine.jfdraw.draw.DrawConst;

import com.jfimagine.jfdraw.gui.GUIUtils;
import com.jfimagine.jfdraw.gui.dialog.TextDialog;

import com.jfimagine.jfgraph.shape.rectangle.JFText;
 
 /**
 * Draw text class. It's a class to manipulate text operations.
 *
 * @author     CookieMaker    
 *
 * @version $Revision: 1.00 $
 */  
 public class DrawText extends DrawRect{

    	/** Finalize mouse event*/
	protected void finalizeMouseEvent(Graphics g){
	
		Frame  f	=GUIUtils.getJFrame(m_drawCanvas);
		
		//draw xor shape to eliminate whole the shape
		drawCurrentShape(true);
		//draw plain paint shape.
		drawCurrentShape(false);

		//String text	=TextDialog.getNewText(f,m_drawCanvas,"");
		String text	=TextDialog.getNewText(f,"");
		
		if (text==null || text.length()==0){
			//clear drawing state
			m_drawState.clearDrawState();
			m_drawCanvas.repaint();
		}else{
		
			JFText	textObj	  =(JFText)m_drawState.getCurrentShape();
			textObj.setText(text);
   		
   			
    			//add current object to page's current layer.
    			try{
				m_page.getCurrentLayer().getShapeList().add(textObj); 
				m_selection.add(textObj);

    				//register a move operations to operation manager.
    				m_drawCanvas.getOperationManager().addNew(textObj);
				
			}catch(Exception e){
			}
		
			//clear drawing state
			m_drawState.clearDrawState();		
			textObj.draw(g,false);
			textObj.drawPicked(g,false);
		}
	
	}

 }

⌨️ 快捷键说明

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