displayablelf.java

来自「This is a resource based on j2me embedde」· Java 代码 · 共 261 行

JAVA
261
字号
/* * 	 * * Copyright  1990-2007 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER *  * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version * 2 only, as published by the Free Software Foundation. *  * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License version 2 for more details (a copy is * included at /legal/license.txt). *  * You should have received a copy of the GNU General Public License * version 2 along with this work; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA *  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 or visit www.sun.com if you need additional * information or have any questions. */package javax.microedition.lcdui;/** * Look and Feel interface used by Displayable. * <p> * See <a href="doc-files/naming.html">Naming Conventions</a> * for information about method naming conventions. */interface DisplayableLF {/* * Interface to Displayable */    /**     * Implement the public API isShown().     * @return true if the DisplayableLF is interactive with user.     */    boolean lIsShown();    /**     * Returns the width of the area available to the application.     *     * @return width of the area available to the application     */    int lGetWidth();        /**     * Returns the height of the area available to the application.     *     * @return height of the area available to the application     */    int lGetHeight();    /**     * Notifies Displayable's look & feel object of a title change.     *     * @param oldTitle the old title, or <code>null</code> for no title     * @param newTitle the new title, or <code>null</code> for no title     */    void lSetTitle(String oldTitle, String newTitle);    /**     * Notifies Displayable's look & feel object of a ticker change.     *     * @param oldTicker the old ticker, or <code>null</code> for no ticker     * @param newTicker the new ticker, or <code>null</code> for no ticker     */    void lSetTicker(Ticker oldTicker, Ticker newTicker);    /**     * Notifies look&feel object of a command addition      * to the <code>Displayable</code>.     *      * @param cmd the command that was added     * @param i the index of the added command in Displayable.commands[]      *        array     */    void lAddCommand(Command cmd, int i);    /**     * Notifies look&feel object of a command removal      * from the <code>Displayable</code>.     *      * @param cmd the command that was removed     * @param i the index of the removed command in Displayable.commands[]      *        array     */    void lRemoveCommand(Command cmd, int i);    /**     * Notifies look&feel object of commandset being updated.     */    void updateCommandSet();    /**     * Return in which Display instance the LF is visible.     *     * @return the current display.     */    Display lGetCurrentDisplay();    /**     * Notify the full screen mode of this LF.     *     * If true, this DisplayableLF will take up as much screen     * real estate as possible. Any subclass of Displayable      * should be prepared to do their job to accommodate the     * change.     * Note that it can call into the app code.     *     * @param fullScreenMode true if full screen mode should be turned on     */    void uSetFullScreenMode(boolean fullScreenMode);/* * Interface to Display */    /**     * Return the associated Displayable object.     *     * @return the Displayable object.     */    Displayable lGetDisplayable();    /**     * Prepare to show this LF on physical screen. This is the     * internal version of showNotify() function as defined in MIDP spec.     * It is called immediately prior to this LF being made visible     * on the display. The LF should load any resource that is     * needed, layout. App's paint() should NOT be called in this function.     * Instead, it should be in the dsPaint() that will be called on this     * LF shortly after.     */    void uCallShow();    /**     * Remove this displayable from physical screen.     * The displayable should unload any resource that was allocated. It's not     * required to clean the physical screen before this function returns.     * This function could be called while a LF is in "freeze" mode.     */    void uCallHide();    /**     * Set the display instance the Displayable is associated with.     * Caller should hold LCDUILock around this call.     *     * @param d Display instance in which this DisplayableLF is visible.     *		null if this DisplayableLF is no longer visible.     */    void lSetDisplay(Display d);    /**     * While UI resources of this LF are created and visible already, stop any     * further updates to physical screen because some "system modal dialog"     * takes over physical screen buffer and user input now.     * Repaint and invalidate requests from this DisplayableLF will be really      * scheduled into event queue. Instead, only dirty flag is set.     * After a LF enters "freeze" mode, it can be resumed of visibility or      * directly replaced by a new Displayable.     */    void uCallFreeze();    /**     * Handle key events.     *     * @param type defined in EventConstants.     * @param keyCode the key involved in this event.     */    void uCallKeyEvent(int type, int keyCode);    /**     * Handle pointer events.     * @param type kind of event, defined in EventConstants.     * @param x    x-coordinate of pointer event     * @param y    y-coordinate of pointer event     */    void uCallPointerEvent(int type, int x, int y);    /**     * Relayout and repaint now. Called by the event handler to perform an     * invalidation of this Displayable.     */    void uCallInvalidate();    /**     * Repaint now. Display calls this method on it's current Displayable.     * Displayable uses this opportunity to do necessary stuff     * on the Graphics context, this includes,     * paint Ticker, paint Title, translate as necessary.     *     * <p>The target Object of this repaint may be some Object     * initially set by this Displayable when the repaint was     * requested - allowing this Displayable to know exactly     * which Object it needs to call to service this repaint,     * rather than potentially querying all of its Objects to     * determine the one(s) which need painting.     *     * SYNC NOTE: The caller of this method handles synchronization.     *     * @param g the graphics context to paint into.     * @param target the target Object of this repaint     */    void uCallPaint(Graphics g, Object target);    /**     * Called to commit any pending user interaction for the current     * item before an abstract command is fired.     * Caller should hold LCDUILock around this call.     */    void lCommitPendingInteraction();    /**     * This method is used int repaint, int order to determine the     * translation of the draw coordinates.     * @return true if the scroll responsibility is of the native platform.     * false - if the scroll is done in the Java level.          */    boolean uIsScrollNative();    /**     * This method calls Displayable.sizeChanged method.     *      * @param w the new width     * @param h the new height     */        void uCallSizeChanged(int w, int h);    /**     * This method notify displayable to scroll its content      *     * @param scrollType scrollType     * @param thumbPosition     */    void uCallScrollContent(int scrollType, int thumbPosition);    boolean uSetRotatedStatus (boolean newStatus);    /**     * Get the current vertical scroll position     *     * @return int The vertical scroll position on a scale of 0-100     */    int getVerticalScrollPosition();    /**     * Get the current vertical scroll proportion     *     * @return ing The vertical scroll proportion on a scale of 0-100     */    int getVerticalScrollProportion();}

⌨️ 快捷键说明

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