📄 interactablecomponent.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: InteractableComponent.java
package com.motorola.lwt;
import javax.microedition.lcdui.*;
// Referenced classes of package com.motorola.lwt:
// Component, ComponentListener
public abstract class InteractableComponent extends Component
{
boolean pressed;
String label;
Font itsFont;
int labelWidth;
int labelHeight;
boolean interactable;
ComponentListener listener;
public InteractableComponent(String s)
{
pressed = false;
label = null;
itsFont = Font.getDefaultFont();
labelWidth = 0;
labelHeight = 0;
interactable = true;
listener = null;
setLabel(s);
acceptsKeyFocus = true;
}
public boolean isPressed()
{
return pressed;
}
public void setPressed(boolean flag)
{
if(flag != pressed)
{
pressed = flag;
repaint();
}
}
public abstract void componentActuated();
protected void pointerDragged(int i, int j)
{
if(interactable)
setPressed(contains(i + getX(), j + getY()));
}
protected void pointerPressed(int i, int j)
{
if(interactable)
{
requestFocus();
setPressed(true);
}
}
protected void pointerReleased(int i, int j)
{
if(interactable && pressed)
{
componentActuated();
setPressed(false);
}
}
public void setComponentListener(ComponentListener componentlistener)
{
listener = componentlistener;
}
protected final void dispatchComponentEvent(int i)
{
if(listener != null)
listener.processComponentEvent(this, i);
}
public abstract void paint(Graphics g);
public void setLabel(String s)
{
setTextAndFont(s, itsFont);
}
private void setTextAndFont(String s, Font font)
{
label = s;
itsFont = font;
int i = s == null ? 0 : font.stringWidth(s);
if(i != labelWidth)
{
labelWidth = i;
preferredWidthChanged();
}
int j = s == null ? 0 : font.getHeight();
if(j != labelHeight)
{
labelHeight = j;
preferredHeightChanged();
}
repaint();
}
public String getLabel()
{
return label;
}
public synchronized void setFont(Font font)
{
setTextAndFont(label, font != null ? font : Font.getDefaultFont());
}
public synchronized Font getFont()
{
return itsFont;
}
protected boolean keyPressed(int i)
{
if(interactable && getParent().getGameAction(i) == 8)
{
setPressed(true);
return true;
} else
{
return false;
}
}
protected boolean keyReleased(int i)
{
if(interactable && getParent().getGameAction(i) == 8)
{
componentActuated();
setPressed(false);
return true;
} else
{
return false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -