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

📄 jtptextarea.java

📁 这也是我在论坛上看见的一个程序。感觉非常好
💻 JAVA
字号:
package com.sunking.tp.swing;
import javax.swing.*;
import java.awt.*;
//import java.util.*;

/**
 * <p>Title: </p>
 * <p>Description: 文本框组件</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author <a href="mailto:sunkingxie@hotmail.com">SunKing</a>
 * @version 1.0
 */
public class JTPTextArea extends JTPButton{
    private static final long serialVersionUID = -3000000000000000011L;
	/**
	*用来绘制效果的虚拟文本框,它不加在桌面上,而只是用来绘制文本框的效果
	*/
    private JTextArea virtualArea;
    public JTPTextArea() {
        super(null);
    }

    public JTPTextArea(String text) {
        super(text);
    }

    /**
     *取得虚拟文本框
     * @return
     */
    JTextArea getVirtualArea(){
        if(virtualArea==null){
            virtualArea = new JTextArea();
            virtualArea.setLineWrap(true);
        }
        virtualArea.setBorder(UIManager.getBorder("TextField.border"));
        virtualArea.setSize(getSize());
        return virtualArea;
    }
    /**
     *设置文本
     * @param text
     */
    public void setText(String text){
        super.setText(text);
        getVirtualArea().setText(text!=null?text:"");
    }
    /**
     *复制
     * @return
     */
    public Object clone(){
        JTPTextArea cloneObject = new JTPTextArea();
        cloneObject.setSelect(isSelected);
        cloneObject.setSize(getSize());
        cloneObject.setText(getText());
        return cloneObject;
    }
    /**
     *绘制文本框
     * @param g
     */
    public void paint(Graphics g){
        int w=getWidth();
        int h=getHeight();
        getVirtualArea().paint(g);
        g.setColor(Color.black);
        if(isSelected){
            Rectangle[]rec=getHandleRectangles();
            for (int i = 0; i < rec.length; i++) {
                g.drawRect(rec[i].x,rec[i].y,rec[i].width,rec[i].height);
            }
        }
    }
}

⌨️ 快捷键说明

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