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

📄 gigiiconfactory.java

📁 一个agent 工具包,可以开发移动设备应用,考虑了安全措施
💻 JAVA
字号:
/**  GigiIconFactory
 *     @author     Luigi Antenucci
 *     @version    1.0
 *     @language   jdk 1.2
 */

package SOMA.gui.gigi;

import java.io.File;
import java.io.Serializable;
import java.awt.*;
import javax.swing.*;
import javax.swing.plaf.*;


public class GigiIconFactory implements Serializable {

      /**
       *  Percorso per ritrovare le immagini usate da questo "look & feel"
       */
  public static final  String GIGI_PIC_PATH = "SOMA"+File.separator+"gui"+File.separator+"gigi"+File.separator+"picture"+File.separator;

  private static Icon radioButtonIcon = null;
  private static Icon checkBoxIcon    = null;

      /**
       *  Accesso alla singola istanza del radio-button.
       */
  public static Icon getRadioButtonIcon () {
    if (radioButtonIcon == null) {
      radioButtonIcon = new RadioButtonIcon();
    }
    return radioButtonIcon;
  } //getRadioButtonIcon

      /**
       *  Accesso alla singola istanza del check-box.
       */
  public static Icon getCheckBoxIcon () {
    if (checkBoxIcon == null) {
      checkBoxIcon = new CheckBoxIcon();
    }
    return checkBoxIcon;
  } //getCheckBoxIcon


      /**
       *  CLASSE INTERNA PER L'ICONA DI UN RADIO-BUTTON
       *  NB: DEVE implementare l'"UIResource"!
       */
  private static class RadioButtonIcon implements Icon, UIResource, Serializable {

    private static ImageIcon iconaOn  = new ImageIcon (GIGI_PIC_PATH+"RadioOn.gif");
    private static ImageIcon iconaOff = new ImageIcon (GIGI_PIC_PATH+"RadioOff.gif");
    private static ImageIcon iconaPre = new ImageIcon (GIGI_PIC_PATH+"RadioPre.gif");


    public int getIconWidth () { return iconaOn.getIconWidth (); }
    public int getIconHeight() { return iconaOn.getIconHeight(); }

    public void paintIcon (Component c, Graphics g, int x, int y) {
      // Prendo il bottone e il modello del componente che sto per visualizzare
      AbstractButton bottone = (AbstractButton) c;
      ButtonModel modello = bottone.getModel();
      if (modello.isPressed())
        iconaPre.paintIcon (c, g, x, y);
      else
        if (modello.isSelected())
          iconaOn.paintIcon (c, g, x, y);
        else
          iconaOff.paintIcon(c, g, x, y);
    } //paintIcon

  } //RadioButtonIcon

      /**
       *  CLASSE INTERNA PER L'ICONA DI UN CHECK-BOX
       *  NB: DEVE implementare l'"UIResource"!
       */
  private static class CheckBoxIcon implements Icon, UIResource, Serializable {

    private static ImageIcon iconaOn  = new ImageIcon (GIGI_PIC_PATH+"CheckOn.gif");
    private static ImageIcon iconaOff = new ImageIcon (GIGI_PIC_PATH+"CheckOff.gif");
    private static ImageIcon iconaPre = new ImageIcon (GIGI_PIC_PATH+"CheckPre.gif");


    public int getIconWidth () { return iconaOn.getIconWidth (); }
    public int getIconHeight() { return iconaOn.getIconHeight(); }

    public void paintIcon (Component c, Graphics g, int x, int y) {
      // Prendo il bottone e il modello del componente che sto per visualizzare
      AbstractButton bottone = (AbstractButton) c;
      ButtonModel modello = bottone.getModel();

      // Traccio il bottone in base al suo stato (selezionato o meno):
      if (modello.isPressed())
        iconaPre.paintIcon (c, g, x, y);
      else
        if (modello.isSelected())
          iconaOn.paintIcon (c, g, x, y);
        else
          iconaOff.paintIcon(c, g, x, y);
    } //paintIcon

  } //CheckBoxIcon

} //GigiIconFactory

⌨️ 快捷键说明

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