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

📄 tframe.java

📁 J2ee中java网络编程的留言簿
💻 JAVA
字号:
/* 
该类是Frame类的子类,当用户按下TAB键、
SHIFT-TAB键时,该类将改变组件所获取的输入焦点,
当用户按下ESC键时,该类将隐藏Frame
*/
import java.awt.*;

public class tFrame extends Frame
{
    static final int ESCAPE = 27;
    componentQueue controlList;
   //无参数构造函数,创建组件中的TAB键顺序
    tFrame()
    {
        super();
        controlList = new componentQueue();
    }
    //为对象提供标题,创建组件中的TAB键顺序 
    tFrame(String title)
    {
        super(title);
        controlList = new componentQueue();
    }
    //将组件添加到Frame中,
    public Component add(Component component)
    {
        super.add(component);
        controlList.addElement(component);
        return component;
    }
    //将组件添加到Frame中,
    public Component add(Component component, boolean tabStop)
    {
        if(tabStop)
            this.add(component);
        else
            super.add(component);
        return component;
    }
     //从Frame中去除组件
    public synchronized void remove(Component component)
    {
        controlList.removeElement(component);
        super.remove(component);
    }
    //显示Frame窗口
    public void show()
    {
        super.show();
        controlList.reset().requestFocus();
    }
    //事件处理函数
    public boolean handleEvent(Event e)
    {
        switch(e.id){
            case Event.ACTION_EVENT:
                if(controlList.isElement(e.target))
                    controlList.setCurrent(e.target);
                break;
            case Event.KEY_PRESS:
                switch(e.key){
                    case '\t':
                        Component component=null;
                        for (int i=0; i<controlList.size(); i++){
                            if((e.modifiers & Event.SHIFT_MASK) ==1)
                                component = controlList.prev();
                            else
                                component = controlList.next();
                            if(component.isVisible() && component.isEnabled()){
                                component.requestFocus();
                                break;
                            }
                        }
                        return true;
                    case ESCAPE:
                        hide();
                        return true;
                    default:
                        if(e.target instanceof TextComponent
                                && e.target != controlList.getCurrent())
                            controlList.setCurrent(e.target);
                        break;
                 }
                 break;
            case Event.WINDOW_DESTROY:
                hide();
                return true;
        }
        return super.handleEvent(e);
    }
}

⌨️ 快捷键说明

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