home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 September / PCO_0998.ISO / browser / ns405lyc / nav40.z / java40.jar / sun / awt / windows / WChoicePeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-03-24  |  1.4 KB  |  54 lines

  1. package sun.awt.windows;
  2.  
  3. import java.awt.Choice;
  4. import java.awt.Dimension;
  5. import java.awt.Event;
  6. import java.awt.FontMetrics;
  7. import java.awt.peer.ChoicePeer;
  8.  
  9. class WChoicePeer extends WComponentPeer implements ChoicePeer {
  10.    native void create(WComponentPeer var1);
  11.  
  12.    void initialize() {
  13.       Choice var1 = (Choice)super.target;
  14.       int var2 = var1.countItems();
  15.  
  16.       for(int var3 = 0; var3 < var2; ++var3) {
  17.          this.addItem(var1.getItem(var3), var3);
  18.       }
  19.  
  20.       if (var2 > 0 && var1.getSelectedIndex() >= 0) {
  21.          this.select(var1.getSelectedIndex());
  22.       }
  23.  
  24.       super.initialize();
  25.    }
  26.  
  27.    public WChoicePeer(Choice var1) {
  28.       super(var1);
  29.    }
  30.  
  31.    public Dimension minimumSize() {
  32.       FontMetrics var1 = ((WComponentPeer)this).getFontMetrics(super.target.getFont());
  33.       Choice var2 = (Choice)super.target;
  34.       int var3 = 0;
  35.  
  36.       for(int var4 = var2.countItems(); var4-- > 0; var3 = Math.max(var1.stringWidth(var2.getItem(var4)), var3)) {
  37.       }
  38.  
  39.       return new Dimension(28 + var3, Math.max(var1.getHeight() + 8, 15) + 3);
  40.    }
  41.  
  42.    public native void addItem(String var1, int var2);
  43.  
  44.    public native void select(int var1);
  45.  
  46.    public native void remove(int var1);
  47.  
  48.    void handleAction(long var1, int var3, int var4) {
  49.       Choice var5 = (Choice)super.target;
  50.       var5.select(var4);
  51.       super.target.postEvent(new Event(super.target, 1001, var5.getItem(var4)));
  52.    }
  53. }
  54.