inputtextarea.java

来自「一个记事本的程序 涵盖的方面是很多的」· Java 代码 · 共 61 行

JAVA
61
字号
import java.awt.Font;
import java.awt.event.*;

import javax.swing.*;

public class InputTextArea extends JTextArea{
    private String selecttext;
    
    private Handle handle;
    
    private Font font;
    
    public InputTextArea(final Handle handle){
        this.handle = handle;
        handle.setInputtext(this);
        
        font = getFont();
        
        setTextWrapFalse();
        
        addMouseListener(new MouseAdapter()
        {
            public void mouseReleased(MouseEvent e) {
                selecttext = getSelectedText();
                try{
                    if(selecttext.equals("")){}
                    else{
                        handle.getMenubar().setMenuEnabledTrue();
                    }
                }
                catch(NullPointerException ex){
                    handle.getMenubar().setMenuEnabledFalse();
                }
            }
        });
        
        addKeyListener(new KeyAdapter(){
            public void keyReleased(KeyEvent e) {
                handle.getLbl().setText(" Ln: " + getLineCount());
                if(getText().equals("")){
                    handle.getMenubar().setFoundEnabledFalse();
                }
                else{
                    handle.getMenubar().setFoundEnabledTrue();
                    handle.getMenubar().setMenuRepealTrue();
                }
            }
        });
    }
    
    public void setTextWrapTrue(){
        setLineWrap(true);
        setWrapStyleWord(true);
    }
    
    public void setTextWrapFalse(){
        setLineWrap(false);
        setWrapStyleWord(false);
    }
}

⌨️ 快捷键说明

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