src/macosx/classes/sun/lwawt/macosx/CMenuComponent.java

Print this page




  26 package sun.lwawt.macosx;
  27 
  28 import java.awt.Font;
  29 import java.awt.MenuComponent;
  30 import java.awt.peer.MenuComponentPeer;
  31 
  32 public abstract class CMenuComponent implements MenuComponentPeer {
  33 
  34     private MenuComponent target;
  35     private long modelPtr;
  36 
  37     CMenuComponent(MenuComponent target) {
  38         this.target = target;
  39         this.modelPtr = createModel();
  40     }
  41 
  42     MenuComponent getTarget() {
  43         return target;
  44     }
  45 
  46     long getModel() {
  47         return modelPtr;
  48     }
  49 
  50     protected abstract long createModel();
  51 
  52     public void dispose() {
  53         LWCToolkit.targetDisposedPeer(target, this);
  54         nativeDispose(modelPtr);
  55         target = null;
  56     }
  57 
  58     private native void nativeDispose(long modelPtr);
  59 
  60     // 1.5 peer method
  61     public void setFont(Font f) {
  62         // no-op, as we don't currently support menu fonts
  63         // c.f. radar 4032912
  64     }
  65 }


  26 package sun.lwawt.macosx;
  27 
  28 import java.awt.Font;
  29 import java.awt.MenuComponent;
  30 import java.awt.peer.MenuComponentPeer;
  31 
  32 public abstract class CMenuComponent implements MenuComponentPeer {
  33 
  34     private MenuComponent target;
  35     private long modelPtr;
  36 
  37     CMenuComponent(MenuComponent target) {
  38         this.target = target;
  39         this.modelPtr = createModel();
  40     }
  41 
  42     MenuComponent getTarget() {
  43         return target;
  44     }
  45 
  46     public long getModel() {
  47         return modelPtr;
  48     }
  49 
  50     protected abstract long createModel();
  51 
  52     public void dispose() {
  53         LWCToolkit.targetDisposedPeer(target, this);
  54         nativeDispose(modelPtr);
  55         target = null;
  56     }
  57 
  58     private native void nativeDispose(long modelPtr);
  59 
  60     // 1.5 peer method
  61     public void setFont(Font f) {
  62         // no-op, as we don't currently support menu fonts
  63         // c.f. radar 4032912
  64     }
  65 }