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

📄 tinyline.java

📁 一个用Java写的
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/****************************************************************** * Copyright (C) 2002-2006 Andrew Girow. All rights reserved.     * * ---------------------------------------------------------------* * This software is published under the terms of the TinyLine     * * License, a copy of which has been included with this           * * distribution in the TINYLINE_LICENSE.TXT file.                 * *                                                                * * For more information on the TinyLine,                          * * please see <http://www.tinyline.com/>.                         * *****************************************************************/package com.tinyline.app;import java.io.*;import javax.microedition.midlet.*;import javax.microedition.lcdui.*;import java.util.Vector;import javax.microedition.rms.*;import com.tinyline.tiny2d.*;import com.tinyline.svg.*;/** * The <tt>TinyLine</tt> is the J2ME MIDP 2.0 * implementation of the SVGT Viewer. * <p> * @author (C) Andrew Girow * @version 1.10 * <p> */public class TinyLine extends MIDlet implements CommandListener, RecordComparator{    Display display;    // The Main screen    // SVG Canvas    MIDPSVGCanvas canvas;    Command openCommand, nextPrevCommand, linkCommand,    panCommand, zoomCommand, origViewCommand, qualityCommand, pauseCommand,    helpCommand, exitCommand;    // Help screen    Form helpScreen;    Command helpBackCommand;    //  Edit Bookmark screen    Form editForm;    TextField nameField, URLField;    Command editBackCommand, saveCommand;    // This is the bookmark to be edited    Bookmark editBookmark;    //  Bookmarks screen    Alert alert;     // user interface alert for Bookmarks    List bookmarkList;    Command addCommand, editCommand, deleteCommand, defaultsCommand;    Command listBackCommand;    // Name of the record store    String recordStoreName;    // Base prefix for import the record store    String propertyBaseName;    // Records data structure    Vector bookmarks;    boolean initialized;    /**     * Construct a new TinyLine MIDlet and initialize the base options     * and SVG canvas to be used when the MIDlet is started.     */    public TinyLine()    {	display = Display.getDisplay(this);	// Create the SVG canvas.	canvas = new MIDPSVGCanvas(display);	// Load incons	canvas.init();	// Add commands	openCommand      = new Command("Open", Command.SCREEN, 1);	nextPrevCommand  = new Command("Next Prev", Command.SCREEN, 1);	linkCommand      = new Command("Link", Command.SCREEN, 1);	panCommand       = new Command("Pan", Command.SCREEN, 1);	zoomCommand      = new Command("Zoom", Command.SCREEN, 1);	origViewCommand  = new Command("Orig View", Command.SCREEN, 1);        qualityCommand  =  new Command("Quality", Command.SCREEN, 1);	pauseCommand     = new Command("Pause", Command.SCREEN, 1);        helpCommand      = new Command("Help", Command.SCREEN, 1);	exitCommand      = new Command("Exit", Command.EXIT, 2);	canvas.addCommand(openCommand); 	canvas.addCommand(nextPrevCommand); 	canvas.addCommand(linkCommand); 	canvas.addCommand(panCommand); 	canvas.addCommand(zoomCommand); 	canvas.addCommand(origViewCommand);        canvas.addCommand(qualityCommand); 	canvas.addCommand(pauseCommand);        canvas.addCommand(helpCommand);        canvas.addCommand(exitCommand);        canvas.setCommandListener(this);    }    /**     * Start up the MIDlet by setting the canvas     * and loading the default SVG font and the splash SVGT image.     */    public void startApp() throws MIDletStateChangeException    {       try       {          display.setCurrent(canvas);          // Initialize bookmarks          if (initialized == false) initialize();	  // Copy bookmarks pointers	  canvas.bookmarks = bookmarks;          canvas.bookmarkList = bookmarkList;	  // Get graphics          canvas.repaint();	  // Load the default SVG font.          SVGDocument doc =  canvas.loadSVG("/tinyline/helvetica.svg");          SVGFontElem font = SVGDocument.getFont(doc,SVG.VAL_DEFAULT_FONTFAMILY);          SVGDocument.defaultFont = font;     	  // Add the default event listener	  PlayerListener defaultListener = new PlayerListener(canvas);	  canvas.addEventListener("default", defaultListener, false);	  // Start the event dispatching queue	  canvas.start();	  // Loads the splash splash SVGT image          canvas.goURL("/svg/tinyline.svg");       }       catch( Exception e)       {       }    }    /** Pause the MIDlet. */    public void pauseApp()    {	canvas.stop();    }    /**     * Destroy the MIDlet.     * @param unconditional Unconditional flag.     */    public void destroyApp(boolean unconditional)    {	canvas.stop();    }    /**     * Respond to commands. Commands are added to each screen as     * they are created.  Each screen uses the TinyLine MIDlet as the     * CommandListener.     * @param c the command that triggered this callback     * @param s the screen that contained the command     */    public void commandAction(Command c, Displayable s)    {///System.out.println("Command " +c);       if (c == openCommand)       {          display.setCurrent(bookmarkList); // open form       }       else if(c == nextPrevCommand)       {          canvas.selectMode(MIDPSVGCanvas.MODE_NEXTPREV);       }       else if(c == linkCommand)       {          canvas.selectMode(MIDPSVGCanvas.MODE_LINK);       }       else if(c == panCommand)       {	  canvas.selectMode(MIDPSVGCanvas.MODE_PAN);       }       else if(c == zoomCommand)       {	  canvas.selectMode(MIDPSVGCanvas.MODE_ZOOM);       }       else if(c == origViewCommand)       {          canvas.origView();       }       else if(c == qualityCommand)       {          canvas.switchQuality();       }       else if(c == pauseCommand)       {          canvas.pauseResumeAnimations();       }       else if(c == helpCommand)       {          display.setCurrent(helpScreen);       }       else if(c == exitCommand)       {	  destroyApp(true);	  notifyDestroyed();       }       else if (c == saveCommand)       {          String name = nameField.getString();          String url = URLField.getString();          // Validate the entry first.          if (validate(name, url) == false)	  {              alert.setString("Please enter a valid name and URL.");              alert.setTimeout(Alert.FOREVER);              display.setCurrent(alert, editForm);          }          // Don't allow a duplicate name except for          // the case of editing.          else if ((editBookmark == null && getBookmark(name) != null) ||               (editBookmark != null && !getBookmark(name).equals(editBookmark)))	  {              alert.setString("That name is already used");              alert.setTimeout(Alert.FOREVER);              display.setCurrent(alert, editForm);          }          else	  {              Bookmark bookmark = new Bookmark(name, url);              if(editBookmark == null)	      {                 // add the bookmark		bookmarks.addElement(bookmark);	      }              // For an edit, remove the old Bookmark object.              else	      {                 // Replace editBookmark with bookmark;                 int i = bookmarks.indexOf(editBookmark);                 bookmarks.setElementAt(bookmark, i);                 editBookmark = null;              }              // Blank out the edit form fields.              nameField.setString("");              URLField.setString("");              // Show the updated Bookmark list.              saveBookmarks();              fillBookmarkList();              display.setCurrent(bookmarkList);          }       }       else if (c == editBackCommand)       {          display.setCurrent(bookmarkList);       }       else if (c == addCommand)       {          display.setCurrent(editForm);       }       else if (c == List.SELECT_COMMAND)       {	  canvas.index = bookmarkList.getSelectedIndex();          display.setCurrent(canvas);          canvas.repaint();          canvas.go(canvas.index);       }       else if (c == editCommand)       {           Bookmark f = getSelectedBookmark();           editBookmark = f;           nameField.setString(editBookmark.name);           URLField.setString(editBookmark.url);           display.setCurrent(editForm);       }       else if (c == deleteCommand)       {           Bookmark f = getSelectedBookmark();           // remove the bookmark           bookmarks.removeElement(f);           saveBookmarks();           fillBookmarkList();           display.setCurrent(bookmarkList);       }       else if (c == defaultsCommand)       {           loadBookmarksFromProperties("svg.image");           saveBookmarks();           fillBookmarkList();       }       else if (c == listBackCommand || c == helpBackCommand)       {          display.setCurrent(canvas);          canvas.repaint();       }   }   /**    * Compares two raw Bookmark records.    */   public int compare(byte[] rec1, byte[] rec2)   {     int length = Math.min(rec1.length, rec2.length);     for (int i = 0; i < length; i++)     {

⌨️ 快捷键说明

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