亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? doublearrayeditorpanel.java

?? corejava第八版第一卷和第二卷的源代碼
?? JAVA
字號(hào):
/**
   @version 1.20 1999-09-28
   @author Cay Horstmann
*/

package com.horstmann.corejava;

import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.lang.reflect.*;
import java.beans.*;
import javax.swing.*;
import javax.swing.event.*;

/**
   The panel inside the DoubleArrayEditor. It contains
   a list of the array values, together with buttons to
   resize the array and change the currently selected list value.
*/
public class DoubleArrayEditorPanel extends JPanel
{
   public DoubleArrayEditorPanel(PropertyEditorSupport ed)
   {
      editor = ed;
      setArray((double[])ed.getValue());

      setLayout(new GridBagLayout());

      add(sizeField, new GBC(0, 0, 1, 1).setWeight(100, 0).setFill(GBC.HORIZONTAL));
      add(valueField, new GBC(0, 1, 1, 1).setWeight(100, 0).setFill(GBC.HORIZONTAL));
      add(sizeButton, new GBC(1, 0, 1, 1).setWeight(100, 0));
      add(valueButton, new GBC(1, 1, 1, 1).setWeight(100, 0));
      add(new JScrollPane(elementList), new GBC(0, 2, 2, 1).setWeight(100, 100).setFill(GBC.BOTH));

      sizeButton.addActionListener(new
         ActionListener()
         {
            public void actionPerformed(ActionEvent event) { changeSize(); }
         });

      valueButton.addActionListener(new
         ActionListener()
         {
            public void actionPerformed(ActionEvent event) { changeValue(); }
         });


      elementList.setSelectionMode(
         ListSelectionModel.SINGLE_SELECTION);

      elementList.addListSelectionListener(new
         ListSelectionListener()
         {
            public void valueChanged(ListSelectionEvent event)
            {
               int i = elementList.getSelectedIndex();
               if (i < 0) return;
               valueField.setText("" + array[i]);
            }
         });

      elementList.setModel(model);
      elementList.setSelectedIndex(0);
   }

   /**
      This method is called when the user wants to change
      the size of the array.
   */
   public void changeSize()
   {
      fmt.setParseIntegerOnly(true);
      int s = 0;
      try
      {
         s = fmt.parse(sizeField.getText()).intValue();
         if (s < 0) throw new ParseException("Out of bounds", 0);
      }
      catch (ParseException e)
      {
         JOptionPane.showMessageDialog(this, "" + e, "Input Error", JOptionPane.WARNING_MESSAGE);
         sizeField.requestFocus();
         return;
      }
      if (s == array.length) return;
      setArray((double[]) arrayGrow(array, s));
      editor.setValue(array);
      editor.firePropertyChange();
   }

   /**
      This method is called when the user wants to change
      the currently selected array value.
   */
   public void changeValue()
   {
      double v = 0;
      fmt.setParseIntegerOnly(false);
      try
      {
         v = fmt.parse(valueField.getText()).doubleValue();
      }
      catch (ParseException e)
      {
         JOptionPane.showMessageDialog(this, "" + e, "Input Error", JOptionPane.WARNING_MESSAGE);
         valueField.requestFocus();
         return;
      }
      int currentIndex = elementList.getSelectedIndex();
      setArray(currentIndex, v);
      editor.firePropertyChange();
   }

   /**
      Sets the indexed array property.
      @param v the array to edit
   */
   public void setArray(double[] v)
   {
      if (v == null) array = new double[0];
      else array = v;
      model.setArray(array);
      sizeField.setText("" + array.length);
      if (array.length > 0)
      {
         valueField.setText("" + array[0]);
         elementList.setSelectedIndex(0);
      }
      else
         valueField.setText("");
   }

   /**
      Gets the indexed array property.
      @return the array being edited
   */
   public double[] getArray()
   {
      return (double[]) array.clone();
   }

   /**
      Sets the indexed array property.
      @param i the index whose value to set
      @param value the new value for the given index
   */
   public void setArray(int i, double value)
   {
      if (0 <= i && i < array.length)
      {
         model.setValue(i, value);
         elementList.setSelectedIndex(i);
         valueField.setText("" + value);
      }
   }

   /**
      Gets the indexed array property.
      @param i the index whose value to get
      @return the value at the given index
   */
   public double getArray(int i)
   {
      if (0 <= i && i < array.length) return array[i];
      return 0;
   }

   /**
      Resizes an array
      @param a the array to grow
      @param newLength the new length
      @return an array with the given length and the same
      elements as a in the common positions
   */
   private static Object arrayGrow(Object a, int newLength)
   {
      Class cl = a.getClass();
      if (!cl.isArray()) return null;
      Class componentType = a.getClass().getComponentType();
      int length = Array.getLength(a);

      Object newArray = Array.newInstance(componentType, newLength);
      System.arraycopy(a, 0, newArray, 0, Math.min(length, newLength));
      return newArray;
   }

   private PropertyEditorSupport editor;
   private double[] array;
   private NumberFormat fmt = NumberFormat.getNumberInstance();
   private JTextField sizeField = new JTextField(4);
   private JTextField valueField = new JTextField(12);
   private JButton sizeButton = new JButton("Resize");
   private JButton valueButton = new JButton("Change");
   private JList elementList = new JList();
   private DoubleArrayListModel model = new DoubleArrayListModel();
}

/**
   The list model for the element list in the editor.
*/
class DoubleArrayListModel extends AbstractListModel
{
   public int getSize() { return array.length; }
   public Object getElementAt(int i) { return "[" + i + "] " + array[i]; }

   /**
      Sets a new array to be displayed in the list.
      @param a the new array
   */
   public void setArray(double[] a)
   {
      int oldLength = array == null ? 0 : array.length;
      array = a;
      int newLength = array == null ? 0 : array.length;
      if (oldLength > 0) fireIntervalRemoved(this, 0, oldLength);
      if (newLength > 0) fireIntervalAdded(this, 0, newLength);
   }

   /**
      Changes a value in the array to be displayed in the list.
      @param i the index whose value to change
      @param value the new value for the given index
   */
   public void setValue(int i, double value)
   {
      array[i] = value;
      fireContentsChanged(this, i, i);
   }

   private double[] array;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人开心网精品视频| av亚洲精华国产精华精| 日韩一区二区三区四区| 欧美一区二区成人6969| 1区2区3区国产精品| 欧美日韩亚洲高清一区二区| 视频在线观看91| 国产精品视频第一区| 国产精品三级av在线播放| 亚洲18色成人| 欧美色爱综合网| 日本精品裸体写真集在线观看 | 国产欧美日韩三区| 经典一区二区三区| 精品国产电影一区二区| 丁香六月久久综合狠狠色| 国产色一区二区| 欧美电影免费观看高清完整版在| 久久久午夜精品理论片中文字幕| 亚洲人成7777| 国产精品蜜臀av| 亚洲一区二区三区在线播放| 亚洲国产精品欧美一二99| 亚洲国产精品一区二区久久恐怖片| 99综合电影在线视频| 最近日韩中文字幕| 国产成人精品在线看| 亚洲自拍偷拍欧美| 91精品国产综合久久久久久久久久| 久久99国产精品免费网站| 国产亚洲婷婷免费| av在线不卡观看免费观看| 亚洲 欧美综合在线网络| 欧美一区二区三区播放老司机| 图片区日韩欧美亚洲| 中文字幕av在线一区二区三区| 91久久精品网| 国产精品自在在线| 亚洲女女做受ⅹxx高潮| 91精品国产综合久久福利软件| jlzzjlzz亚洲女人18| 午夜视频在线观看一区二区三区| 欧美精品一区二区精品网| 97国产精品videossex| 亚洲国产视频a| 中文字幕一区二区三区不卡在线| 欧美日韩一级视频| 盗摄精品av一区二区三区| 亚洲国产精品麻豆| 国产女人水真多18毛片18精品视频| 欧美剧情电影在线观看完整版免费励志电影 | av在线不卡电影| 日韩在线卡一卡二| 亚洲精品中文在线影院| 日韩久久久久久| 国产美女视频91| 天堂久久一区二区三区| 国产精品高潮呻吟| 久久精品亚洲国产奇米99| 欧美视频完全免费看| 免费的成人av| 午夜精品成人在线| 国产精品国产a| 久久久久久免费毛片精品| 67194成人在线观看| 欧美在线视频全部完| 丁香婷婷综合五月| 午夜精品福利在线| 一区二区在线观看免费视频播放| 欧美精品一区二区三区蜜桃| 日韩色在线观看| 在线视频国内自拍亚洲视频| www.日韩精品| 国产91对白在线观看九色| 久久99热99| 久久99精品久久久久婷婷| 亚洲电影你懂得| 国产精品免费免费| 久久久久一区二区三区四区| 日韩欧美国产一二三区| 欧美日韩一级视频| 国产精品一二三区在线| 黄色日韩三级电影| 美女视频一区在线观看| 久久国产三级精品| 老鸭窝一区二区久久精品| 视频一区国产视频| 亚洲色欲色欲www| 中文字幕精品在线不卡| 亚洲欧洲美洲综合色网| 国产精品卡一卡二| 亚洲欧美另类小说视频| 国产精品久99| 日本一区二区三区四区| 专区另类欧美日韩| 国产精品初高中害羞小美女文| 亚洲免费观看在线观看| 中文字幕综合网| 中文字幕精品一区二区精品绿巨人 | 欧美日韩中文精品| 美女视频黄 久久| 亚洲成av人**亚洲成av**| 亚洲国产高清不卡| 91在线观看高清| 91九色最新地址| 亚洲啪啪综合av一区二区三区| 国产一区美女在线| 91精品欧美久久久久久动漫| 精品在线一区二区三区| 9l国产精品久久久久麻豆| 日本女优在线视频一区二区| 日韩美女视频一区| 中文子幕无线码一区tr| 欧美一区二区三区视频免费 | 午夜精品123| 亚洲同性同志一二三专区| 中文一区二区在线观看| 欧美一级高清片在线观看| 91国产成人在线| 欧亚一区二区三区| 97se狠狠狠综合亚洲狠狠| 成人动漫在线一区| 国产一区二区三区四区五区美女| 亚洲精品亚洲人成人网在线播放| 国产精品久久久久aaaa| 国产目拍亚洲精品99久久精品| 国产欧美一区二区三区在线老狼| 日韩精品一区在线| 欧美日韩国产影片| 91精品国产日韩91久久久久久| 欧美日韩中文精品| 欧美一区二区三区日韩视频| 91精品国产福利在线观看| 色琪琪一区二区三区亚洲区| 色婷婷亚洲一区二区三区| zzijzzij亚洲日本少妇熟睡| 在线区一区二视频| 欧洲一区二区av| 欧美日韩成人高清| 91精品国产综合久久精品app| 欧美日韩一区二区不卡| 777午夜精品视频在线播放| 91论坛在线播放| 色婷婷激情综合| 丁香桃色午夜亚洲一区二区三区| 国产99久久久国产精品潘金| 国产成人av福利| 欧美日韩精品一区二区三区| 欧美日韩一区久久| 欧美喷潮久久久xxxxx| 91精品国产手机| 久久久电影一区二区三区| 亚洲欧美一区二区三区久本道91 | 亚洲综合激情另类小说区| 精品国产91洋老外米糕| 亚洲色图欧洲色图婷婷| 性久久久久久久久| 国产精品99久久久久久久vr| 国产91色综合久久免费分享| 色94色欧美sute亚洲线路二| 欧美人伦禁忌dvd放荡欲情| 精品少妇一区二区三区免费观看 | 久久国产精品第一页| 国产福利精品一区| 欧美日韩精品二区第二页| 6080亚洲精品一区二区| 国产日韩欧美麻豆| 亚洲情趣在线观看| 青青草原综合久久大伊人精品优势 | 亚洲大尺度视频在线观看| 日韩av一区二区三区四区| 成人做爰69片免费看网站| 波多野结衣一区二区三区| av电影在线观看不卡| 欧美精品色综合| 国产精品免费视频网站| 婷婷六月综合网| 精品一区二区免费在线观看| 91色视频在线| 精品国产乱码久久久久久影片| 亚洲欧美偷拍三级| 日韩经典中文字幕一区| 不卡一二三区首页| 日韩一区二区在线免费观看| 国产精品国产自产拍高清av| 免费人成网站在线观看欧美高清| 波多野结衣一区二区三区| 久久久精品免费免费| 爽好久久久欧美精品| 欧美三级视频在线播放| 国产精品嫩草影院com| 日本女人一区二区三区| 欧美精品国产精品| 亚洲私人黄色宅男| av在线播放成人| 国产日韩欧美制服另类| 国产91精品一区二区麻豆网站| 欧美电影一区二区| 日韩影院在线观看| 欧美视频三区在线播放|