📄 tframe.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 + -