home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / plaf / basic / BasicComboBoxUI$ListDataHandler.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  2.8 KB  |  77 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import javax.swing.ComboBoxModel;
  6. import javax.swing.ListCellRenderer;
  7. import javax.swing.event.ListDataEvent;
  8. import javax.swing.event.ListDataListener;
  9.  
  10. public class BasicComboBoxUI$ListDataHandler implements ListDataListener {
  11.    // $FF: synthetic field
  12.    private final BasicComboBoxUI this$0;
  13.  
  14.    public BasicComboBoxUI$ListDataHandler(BasicComboBoxUI var1) {
  15.       this.this$0 = var1;
  16.    }
  17.  
  18.    public void contentsChanged(ListDataEvent var1) {
  19.       if (var1.getIndex0() != -1 || var1.getIndex1() != -1) {
  20.          this.this$0.isMinimumSizeDirty = true;
  21.          this.this$0.comboBox.revalidate();
  22.       }
  23.  
  24.       if (this.this$0.editor != null) {
  25.          this.this$0.comboBox.configureEditor(this.this$0.comboBox.getEditor(), this.this$0.comboBox.getSelectedItem());
  26.       }
  27.  
  28.       this.this$0.comboBox.repaint();
  29.    }
  30.  
  31.    public void intervalAdded(ListDataEvent var1) {
  32.       int var2 = var1.getIndex0();
  33.       int var3 = var1.getIndex1();
  34.       if (var2 == 0 && this.this$0.comboBox.getItemCount() - (var3 - var2 + 1) == 0) {
  35.          this.contentsChanged(var1);
  36.       } else if (var2 != -1 || var3 != -1) {
  37.          ListCellRenderer var4 = this.this$0.comboBox.getRenderer();
  38.          ComboBoxModel var5 = this.this$0.comboBox.getModel();
  39.          int var8 = this.this$0.cachedDisplaySize.width;
  40.          int var9 = this.this$0.cachedDisplaySize.height;
  41.  
  42.          for(int var10 = var2; var10 <= var3; ++var10) {
  43.             Component var6 = var4.getListCellRendererComponent(this.this$0.listBox, var5.getElementAt(var10), -1, false, false);
  44.             this.this$0.currentValuePane.add(var6);
  45.             var6.setFont(this.this$0.comboBox.getFont());
  46.             Dimension var7 = var6.getPreferredSize();
  47.             var8 = Math.max(var8, var7.width);
  48.             var9 = Math.max(var9, var7.height);
  49.             this.this$0.currentValuePane.remove(var6);
  50.          }
  51.  
  52.          if (this.this$0.cachedDisplaySize.width < var8 || this.this$0.cachedDisplaySize.height < var9) {
  53.             if (this.this$0.cachedDisplaySize.width < var8) {
  54.                Dimension var10000 = this.this$0.cachedMinimumSize;
  55.                var10000.width += var8 - this.this$0.cachedDisplaySize.width;
  56.             }
  57.  
  58.             if (this.this$0.cachedDisplaySize.height < var9) {
  59.                Dimension var11 = this.this$0.cachedMinimumSize;
  60.                var11.height += var9 - this.this$0.cachedDisplaySize.height;
  61.             }
  62.  
  63.             this.this$0.cachedDisplaySize.setSize(var9, var8);
  64.             this.this$0.comboBox.revalidate();
  65.             if (this.this$0.editor != null) {
  66.                this.this$0.comboBox.configureEditor(this.this$0.comboBox.getEditor(), this.this$0.comboBox.getSelectedItem());
  67.             }
  68.          }
  69.       }
  70.  
  71.    }
  72.  
  73.    public void intervalRemoved(ListDataEvent var1) {
  74.       this.contentsChanged(var1);
  75.    }
  76. }
  77.