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

📄 slider.java

📁 moto手机专用的LWT类库源码
💻 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:   Slider.java

package com.motorola.lwt;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;

// Referenced classes of package com.motorola.lwt:
//            Component, ComponentListener

public class Slider extends Component
{

    public static final int SLIDER_DRAGGED = 1;
    public static final int SLIDER_SET = 2;
    boolean interactive;
    int maxValue;
    int value;
    ComponentListener listener;

    public Slider(boolean flag, int i, int j)
    {
        maxValue = 0;
        listener = null;
        interactive = flag;
        acceptsKeyFocus = flag;
        setValues(j, i, 0);
    }

    public void setComponentListener(ComponentListener componentlistener)
    {
        listener = componentlistener;
    }

    private synchronized void setValues(int i, int j, int k)
    {
        int l = value;
        if(j <= 0)
            j = 0;
        if(i > j)
            i = j;
        if(i < 0)
            i = 0;
        maxValue = j;
        value = i;
        if(k != 0 && listener != null && l != i)
            listener.processComponentEvent(this, k);
        repaint();
    }

    public int getPreferredWidth()
    {
        return maxValue + 6;
    }

    public int getPreferredHeight()
    {
        return 16;
    }

    public synchronized int getValue()
    {
        return value;
    }

    public synchronized int getMaxValue()
    {
        return maxValue;
    }

    public void setValue(int i)
    {
        setValues(i, maxValue, 2);
    }

    public void setMaxValue(int i)
    {
        setValues(value, i, 2);
        preferredWidthChanged();
    }

    protected boolean keyPressed(int i)
    {
        return keyRepeated(i);
    }

    protected boolean keyRepeated(int i)
    {
        if(interactive)
        {
            if(parent.getGameAction(i) == 2)
            {
                setValues(value - 1, maxValue, 1);
                return true;
            }
            if(parent.getGameAction(i) == 5)
            {
                setValues(value + 1, maxValue, 1);
                return true;
            }
        }
        return false;
    }

    protected boolean keyReleased(int i)
    {
        if(interactive && listener != null && (parent.getGameAction(i) == 5 || parent.getGameAction(i) == 2))
        {
            listener.processComponentEvent(this, 2);
            return true;
        } else
        {
            return false;
        }
    }

    protected void pointerPressed(int i, int j)
    {
        requestFocus();
        pointerDragged(i, j);
    }

    protected void pointerDragged(int i, int j)
    {
        if(interactive)
            setValues((i * maxValue) / (getWidth() - 4), maxValue, 1);
    }

    protected void pointerReleased(int i, int j)
    {
        if(interactive && listener != null)
            listener.processComponentEvent(this, 2);
    }

    public void paint(Graphics g)
    {
        g.setColor(enabled ? 0 : 0x808080);
        if(hasFocus())
            g.drawRect(0, 0, getWidth() - 1, getHeight() - 1);
        int i = ((getWidth() - 4) * value) / maxValue;
        g.drawRect(2, 2, getWidth() - 5, getHeight() - 5);
        g.setColor(0x808080);
        g.fillRect(3, 3, i, getHeight() - 6);
        g.setColor(enabled ? 0 : 0x808080);
        if(interactive)
            g.fillRect(i, 1, 4, getHeight() - 2);
    }
}

⌨️ 快捷键说明

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