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

📄 gtktoolkit.java

📁 gcc的组建
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    int max_entries;    public LRUCache(int max)    {      super(max, 0.75f, true);      max_entries = max;    }    protected boolean removeEldestEntry(Map.Entry eldest)    {      return size() > max_entries;    }  }  private LRUCache fontCache = new LRUCache(50);  private LRUCache metricsCache = new LRUCache(50);  private LRUCache imageCache = new LRUCache(50);  public FontMetrics getFontMetrics (Font font)   {    synchronized (metricsCache)      {        if (metricsCache.containsKey(font))          return (FontMetrics) metricsCache.get(font);      }    FontMetrics m = new GdkFontMetrics (font);    synchronized (metricsCache)      {        metricsCache.put(font, m);      }    return m;  }  public Image getImage (String filename)   {    if (imageCache.containsKey(filename))      return (Image) imageCache.get(filename);    else      {        Image im = createImage(filename);        imageCache.put(filename, im);        return im;      }  }  public Image getImage (URL url)   {    if (imageCache.containsKey(url))      return (Image) imageCache.get(url);    else      {        Image im = createImage(url);        imageCache.put(url, im);        return im;      }  }  public PrintJob getPrintJob (Frame frame, String jobtitle, Properties props)   {    return null;  }  public native int getScreenResolution();  public Dimension getScreenSize ()  {    int dim[] = new int[2];    getScreenSizeDimensions(dim);    return new Dimension(dim[0], dim[1]);  }  public Clipboard getSystemClipboard()   {    SecurityManager secman = System.getSecurityManager();    if (secman != null)      secman.checkSystemClipboardAccess();    return GtkClipboard.getInstance();  }  /**   * Prepares a GtkImage. For every other kind of Image it just   * assumes the image is already prepared for rendering.   */  public boolean prepareImage (Image image, int width, int height, 			       ImageObserver observer)   {    /* GtkImages are always prepared, as long as they're loaded. */    if (image instanceof GtkImage)      return ((((GtkImage)image).checkImage (observer) & 	       ImageObserver.ALLBITS) != 0);    /* Assume anything else is too */    return true;  }  public native void sync();  protected void setComponentState (Component c, GtkComponentPeer cp)  {    /* Make the Component reflect Peer defaults */    if (c.getForeground () == null)      c.setForeground (cp.getForeground ());    if (c.getBackground () == null)      c.setBackground (cp.getBackground ());    //        if (c.getFont () == null)    //  	c.setFont (cp.getFont ());          /* Make the Peer reflect the state of the Component */    if (! (c instanceof Window))      {	cp.setCursor (c.getCursor ());		Rectangle bounds = c.getBounds ();	cp.setBounds (bounds.x, bounds.y, bounds.width, bounds.height);	cp.setVisible (c.isVisible ());      }  }  protected ButtonPeer createButton (Button b)  {    return new GtkButtonPeer (b);  }  protected CanvasPeer createCanvas (Canvas c)   {    return new GtkCanvasPeer (c);  }  protected CheckboxPeer createCheckbox (Checkbox cb)   {    return new GtkCheckboxPeer (cb);  }  protected CheckboxMenuItemPeer createCheckboxMenuItem (CheckboxMenuItem cmi)  {    return new GtkCheckboxMenuItemPeer (cmi);  }  protected ChoicePeer createChoice (Choice c)   {    return new GtkChoicePeer (c);  }  protected DialogPeer createDialog (Dialog d)  {    return new GtkDialogPeer (d);  }  protected FileDialogPeer createFileDialog (FileDialog fd)  {    return new GtkFileDialogPeer (fd);  }  protected FramePeer createFrame (Frame f)  {    return new GtkFramePeer (f);  }  protected LabelPeer createLabel (Label label)   {    return new GtkLabelPeer (label);  }  protected ListPeer createList (List list)  {    return new GtkListPeer (list);  }  protected MenuPeer createMenu (Menu m)   {    return new GtkMenuPeer (m);  }  protected MenuBarPeer createMenuBar (MenuBar mb)   {    return new GtkMenuBarPeer (mb);  }  protected MenuItemPeer createMenuItem (MenuItem mi)   {    return new GtkMenuItemPeer (mi);  }  protected PanelPeer createPanel (Panel p)   {    return new GtkPanelPeer (p);  }  protected PopupMenuPeer createPopupMenu (PopupMenu target)   {    return new GtkPopupMenuPeer (target);  }  protected ScrollPanePeer createScrollPane (ScrollPane sp)   {    return new GtkScrollPanePeer (sp);  }  protected ScrollbarPeer createScrollbar (Scrollbar sb)   {    return new GtkScrollbarPeer (sb);  }  protected TextAreaPeer createTextArea (TextArea ta)   {    return new GtkTextAreaPeer (ta);  }  protected TextFieldPeer createTextField (TextField tf)   {    return new GtkTextFieldPeer (tf);  }  protected WindowPeer createWindow (Window w)  {    return new GtkWindowPeer (w);  }  public EmbeddedWindowPeer createEmbeddedWindow (EmbeddedWindow w)  {    return new GtkEmbeddedWindowPeer (w);  }  /**    * @deprecated part of the older "logical font" system in earlier AWT   * implementations. Our newer Font class uses getClasspathFontPeer.   */  protected FontPeer getFontPeer (String name, int style) {    // All fonts get a default size of 12 if size is not specified.    return getFontPeer(name, style, 12);  }  /**   * Private method that allows size to be set at initialization time.   */  private FontPeer getFontPeer (String name, int style, int size)   {    Map attrs = new HashMap ();    ClasspathFontPeer.copyStyleToAttrs (style, attrs);    ClasspathFontPeer.copySizeToAttrs (size, attrs);    return getClasspathFontPeer (name, attrs);  }  /**   * Newer method to produce a peer for a Font object, even though Sun's   * design claims Font should now be peerless, we do not agree with this   * model, hence "ClasspathFontPeer".    */  public ClasspathFontPeer getClasspathFontPeer (String name, Map attrs)  {    Map keyMap = new HashMap (attrs);    // We don't know what kind of "name" the user requested (logical, face,    // family), and we don't actually *need* to know here. The worst case    // involves failure to consolidate fonts with the same backend in our    // cache. This is harmless.    keyMap.put ("GtkToolkit.RequestedFontName", name);    if (fontCache.containsKey (keyMap))      return (ClasspathFontPeer) fontCache.get (keyMap);    else      {        ClasspathFontPeer newPeer = new GdkFontPeer (name, attrs);        fontCache.put (keyMap, newPeer);        return newPeer;      }  }  public ClasspathTextLayoutPeer getClasspathTextLayoutPeer (AttributedString str,                                                              FontRenderContext frc)  {    return new GdkTextLayout(str, frc);  }  protected EventQueue getSystemEventQueueImpl()   {    synchronized (GtkToolkit.class)      {        if (q == null)          {            q = new EventQueue();            GtkGenericPeer.enableQueue (q);          }      }        return q;  }  protected native void loadSystemColors (int[] systemColors);  public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent e)  {    throw new Error("not implemented");  }  public Map mapInputMethodHighlight(InputMethodHighlight highlight)  {    throw new Error("not implemented");  }  public Rectangle getBounds()  {    int[] dims = new int[2];    getScreenSizeDimensions(dims);    return new Rectangle(0, 0, dims[0], dims[1]);  }    // ClasspathToolkit methods  public GraphicsEnvironment getLocalGraphicsEnvironment()  {    return new GdkGraphicsEnvironment();  }  public Font createFont(int format, InputStream stream)  {    throw new UnsupportedOperationException();  }  public RobotPeer createRobot (GraphicsDevice screen) throws AWTException  {    return new GdkRobotPeer (screen);  }  public void registerImageIOSpis(IIORegistry reg)  {    GdkPixbufDecoder.registerSpis(reg);  }  public static native void gtkMain();} // class GtkToolkit

⌨️ 快捷键说明

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