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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? localtransfertest.java

?? 經典教材:java核心技術卷1、卷2的所有源代碼
?? JAVA
字號:
/**
   @version 1.01 2004-08-25
   @author Cay Horstmann
*/

import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.io.*;
import java.util.*;
import javax.swing.*;

/**
   This program demonstrates the transfer of object references within the same virtual machine.
*/
public class LocalTransferTest
{  
   public static void main(String[] args)
   {  
      JFrame frame = new LocalTransferFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
   }
}

/**
   This frame contains a panel to edit a cubic curve, a
   panel that can display an arbitrary shape, and copy and 
   paste buttons.
*/
class LocalTransferFrame extends JFrame
{  
   public LocalTransferFrame()
   {  
      setTitle("LocalTransferTest");
      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

      curvePanel = new CubicCurvePanel();
      curvePanel.setPreferredSize(new Dimension(DEFAULT_WIDTH / 2, DEFAULT_HEIGHT));
      shapePanel = new ShapePanel();

      add(new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, curvePanel, shapePanel), 
         BorderLayout.CENTER);
      JPanel panel = new JPanel();

      JButton copyButton = new JButton("Copy");
      panel.add(copyButton);
      copyButton.addActionListener(new
         ActionListener()
         {
            public void actionPerformed(ActionEvent event)
            {
               copy();
            }
         });

      JButton pasteButton = new JButton("Paste");
      panel.add(pasteButton);
      pasteButton.addActionListener(new
         ActionListener()
         {
            public void actionPerformed(ActionEvent event)
            {
               paste();
            }
         });

      add(panel, BorderLayout.SOUTH);
   }

   /**
      Copies the current cubic curve to the local clipboard.
   */
   private void copy()
   {  
      LocalSelection selection = new LocalSelection(curvePanel.getShape());
      clipboard.setContents(selection, null);
   }

   /**
      Pastes the shape from the local clipboard into the
      shape panel.
   */
   private void paste()
   {  
      try
      {  
         DataFlavor flavor 
            = new DataFlavor("application/x-java-jvm-local-objectref;class=java.awt.Shape");
         if (clipboard.isDataFlavorAvailable(flavor))
            shapePanel.setShape((Shape) clipboard.getData(flavor));
      }
      catch (ClassNotFoundException e)
      {  
         JOptionPane.showMessageDialog(this, e);
      }
      catch (UnsupportedFlavorException e)
      {  
         JOptionPane.showMessageDialog(this, e);
      }
      catch (IOException e)
      {  
         JOptionPane.showMessageDialog(this, e);
      }
   }

   private CubicCurvePanel curvePanel;
   private ShapePanel shapePanel;
   private Clipboard clipboard = new Clipboard("local");

   private static final int DEFAULT_WIDTH = 300;
   private static final int DEFAULT_HEIGHT = 300;
}


/**
   This panel draws a shape and allows the user to 
   move the points that define it.
*/
class CubicCurvePanel extends JPanel
{  
   public CubicCurvePanel()
   {  
      addMouseListener(new
         MouseAdapter()
         {
            public void mousePressed(MouseEvent event)
            {  
               for (int i = 0; i < p.length; i++)
               {  
                  double x = p[i].getX() - SIZE / 2;
                  double y = p[i].getY() - SIZE / 2;
                  Rectangle2D r = new Rectangle2D.Double(x, y, SIZE, SIZE);
                  if (r.contains(event.getPoint()))
                  {  
                     current = i;
                     return;
                  }
               }
            }

            public void mouseReleased(MouseEvent event)
            {  
               current = -1;
            }
         });

      addMouseMotionListener(new 
         MouseMotionAdapter()
         {
            public void mouseDragged(MouseEvent event)
            {  
               if (current == -1) return;
               p[current] = event.getPoint();
               repaint();
            }
         });

      current = -1;
   }

   public void paintComponent(Graphics g)
   {  
      super.paintComponent(g);
      Graphics2D g2 = (Graphics2D)g;
      for (int i = 0; i < p.length; i++)
      {  
         double x = p[i].getX() - SIZE / 2;
         double y = p[i].getY() - SIZE / 2;
         g2.fill(new Rectangle2D.Double(x, y, SIZE, SIZE));
      }

      g2.draw(getShape());
   }

   /**
      Gets the current cubic curve.
      @return the curve shape
   */
   public Shape getShape()
   {  
      return new CubicCurve2D.Double(p[0].getX(), p[0].getY(), p[1].getX(), p[1].getY(), 
         p[2].getX(), p[2].getY(), p[3].getX(), p[3].getY());
   }

   private Point2D[] p =   
   {
      new Point2D.Double(10, 10), 
      new Point2D.Double(10, 100), 
      new Point2D.Double(100, 10), 
      new Point2D.Double(100, 200)
   };
   private static int SIZE = 10;
   private int current;
}

/**
   This panel displays an arbitrary shape.
*/
class ShapePanel extends JPanel
{
   /**
      Set the shape to be displayed in this panel.
      @param aShape any shape
   */
   public void setShape(Shape aShape)
   {
      shape = aShape;
      repaint();
   }

   public void paintComponent(Graphics g)
   {  
      super.paintComponent(g);
      Graphics2D g2 = (Graphics2D) g;
      if (shape != null) g2.draw(shape);
   }

   private Shape shape;
}

/**
   This class is a wrapper for the data transfer of 
   object references that are transferred within the same
   virtual machine.
*/
class LocalSelection implements Transferable 
{
   /**
      Constructs the selection.
      @param o any object
   */   
   LocalSelection(Object o) 
   {
      obj = o;
   }

   public DataFlavor[] getTransferDataFlavors() 
   {
      DataFlavor[] flavors = new DataFlavor[1];
      Class type = obj.getClass();
      String mimeType = "application/x-java-jvm-local-objectref;class=" + type.getName();
      try 
      {
         flavors[0] = new DataFlavor(mimeType);
         return flavors;
      } 
      catch (ClassNotFoundException e) 
      {
         return new DataFlavor[0];
      }
   }

   public boolean isDataFlavorSupported(DataFlavor flavor) 
   {
      return "application".equals(flavor.getPrimaryType()) 
         && "x-java-jvm-local-objectref".equals(flavor.getSubType()) 
         && flavor.getRepresentationClass().isAssignableFrom(obj.getClass());   
   }

   public Object getTransferData(DataFlavor flavor) 
      throws UnsupportedFlavorException
   {
      if (! isDataFlavorSupported(flavor)) 
         throw new UnsupportedFlavorException(flavor);

      return obj;
   }
   
   private Object obj;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
开心九九激情九九欧美日韩精美视频电影| 成人黄色小视频| 久久国产乱子精品免费女| 国产成人福利片| 欧美私模裸体表演在线观看| 欧美国产欧美综合| 奇米影视7777精品一区二区| 色呦呦国产精品| 久久久综合网站| 免费在线观看成人| 欧美亚一区二区| 中文成人综合网| 麻豆成人久久精品二区三区小说| 在线影院国内精品| 亚洲欧洲精品天堂一级| 国产一区二区视频在线播放| 欧美一级免费观看| 婷婷开心激情综合| 欧美性猛交xxxx乱大交退制版| 国产精品视频九色porn| 国产一区二区在线看| 日韩你懂的在线观看| 偷窥国产亚洲免费视频| 欧美日韩一区二区三区四区 | 97se亚洲国产综合自在线| 精品电影一区二区| 青青草原综合久久大伊人精品| 91福利在线播放| 亚洲精品久久久蜜桃| 91免费版在线| 亚洲美女视频在线| 91蝌蚪国产九色| 亚洲欧美激情小说另类| 色网综合在线观看| 亚洲欧美日韩国产综合| 成人app软件下载大全免费| 久久噜噜亚洲综合| 国产超碰在线一区| 综合在线观看色| 91免费观看国产| 亚洲图片自拍偷拍| 欧美群妇大交群中文字幕| 偷拍日韩校园综合在线| 日韩一区二区视频| 精品一二三四区| 国产亚洲欧美色| caoporen国产精品视频| 亚洲天堂成人在线观看| 欧美色图片你懂的| 视频一区中文字幕| 日韩欧美成人一区二区| 国产在线不卡一区| 国产精品无遮挡| 99国产精品一区| 亚洲成人免费视频| 日韩欧美国产高清| 成人av在线网站| 一区二区三区在线观看动漫 | 中文字幕中文在线不卡住| 成人毛片老司机大片| 成人免费小视频| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 一区二区在线观看免费| 在线不卡a资源高清| 六月丁香婷婷色狠狠久久| 久久奇米777| 不卡视频在线观看| 午夜精品影院在线观看| 精品日韩99亚洲| 成人听书哪个软件好| 亚洲一区免费视频| 日韩免费视频一区| 9i在线看片成人免费| 奇米888四色在线精品| 中文字幕 久热精品 视频在线| 一本一道综合狠狠老| 蜜臀91精品一区二区三区| 国产欧美综合色| 欧美一区欧美二区| 99精品热视频| 久久99国产精品久久99果冻传媒| 国产精品久久国产精麻豆99网站| 欧美亚洲禁片免费| 国产精品小仙女| 偷拍与自拍一区| 一色桃子久久精品亚洲| 欧美成人精品高清在线播放| 91久久线看在观草草青青| 精品一二三四区| 日韩精品欧美精品| 亚洲视频在线一区| 久久久国产精品午夜一区ai换脸| 欧美日韩精品二区第二页| 丰满少妇在线播放bd日韩电影| 视频一区免费在线观看| 亚洲视频一区二区免费在线观看| 2021中文字幕一区亚洲| 在线播放91灌醉迷j高跟美女 | 欧美日韩中文一区| 成人美女在线观看| 国产一区二区三区免费看| 亚洲成a人在线观看| 亚洲乱码精品一二三四区日韩在线| 精品国一区二区三区| 欧美久久久久久蜜桃| 欧美性大战久久| 色猫猫国产区一区二在线视频| 成人免费av在线| 国产成人鲁色资源国产91色综| 蜜臀av亚洲一区中文字幕| 亚洲国产日产av| 亚洲亚洲精品在线观看| 亚洲欧美国产77777| 中文字幕的久久| 中文幕一区二区三区久久蜜桃| 久久久久久久久久久久电影| 精品三级在线看| 精品人在线二区三区| 日韩一级片在线观看| 欧美一区二区久久久| 欧美剧情片在线观看| 欧美精品日韩精品| 91精品在线麻豆| 欧美一区二区免费视频| 日韩午夜激情电影| 日韩一区二区三区视频在线| 67194成人在线观看| 欧美一个色资源| 久久久久亚洲蜜桃| 国产日韩欧美精品电影三级在线| 国产亚洲视频系列| 国产精品免费av| 一区二区国产盗摄色噜噜| 亚洲一级电影视频| 日本欧美加勒比视频| 黑人巨大精品欧美一区| 国产精品99久久久久久久vr| 国产精品一区二区久久不卡| 99riav久久精品riav| 欧美老肥妇做.爰bbww视频| 欧美一卡二卡三卡| 精品粉嫩aⅴ一区二区三区四区| 久久日韩精品一区二区五区| 国产精品免费aⅴ片在线观看| 一区二区三区在线免费播放 | 日韩一区二区三区三四区视频在线观看| 9191精品国产综合久久久久久| 精品久久久久久无| 日韩毛片精品高清免费| 视频在线在亚洲| 国产91精品精华液一区二区三区| 91国产免费观看| 欧美一区二视频| 亚洲区小说区图片区qvod| 天堂一区二区在线| 国内国产精品久久| 91亚洲精华国产精华精华液| 日韩欧美一级二级| 国产精品不卡在线| 奇米影视在线99精品| 91一区一区三区| 日韩三级视频在线观看| 国产精品福利一区| 免费黄网站欧美| 日本乱人伦aⅴ精品| 精品嫩草影院久久| 一区二区三区加勒比av| 国产麻豆日韩欧美久久| 欧美日韩在线综合| 国产欧美一区二区精品忘忧草| 亚洲一区二区高清| 成人av电影在线| 欧美一区二区三区在线视频| 中文字幕综合网| 国产精品66部| 日韩欧美国产综合| 亚洲图片欧美一区| 成人精品视频一区二区三区| 欧美一级黄色大片| 亚洲成av人影院| 91亚洲国产成人精品一区二区三| 久久久一区二区| 免费成人在线观看视频| 色琪琪一区二区三区亚洲区| 亚洲国产精品精华液ab| 久久国产剧场电影| 欧美精品v国产精品v日韩精品| 亚洲欧美国产三级| av不卡免费在线观看| www国产成人免费观看视频 深夜成人网| 一区二区三区日韩欧美精品| www.欧美.com| 中文字幕亚洲区| 成人午夜av影视| 久久久久久电影| 狠狠色综合播放一区二区| 日韩视频在线一区二区| 日韩国产高清在线| 欧美群妇大交群的观看方式| 亚洲第一激情av|