⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example18_7.java.bak

📁 不错的教程 适合中高级人员的使用
💻 BAK
字号:
import java.awt.*;import java.awt.event.*;import java.applet.*; 
import javax.swing.SwingUtilities;
public class Example18_6 extends Frame implements MouseListener,MouseMotionListener
{  Button button;
   int x,y;
   boolean move=false;
   Example18_6()
   {  button=new Button("按钮"); 
      button.addMouseListener(this);
      button.addMouseMotionListener(this);
      addMouseMotionListener(this);
      setLayout(new FlowLayout());
      add(button);
      addWindowListener(new WindowAdapter()
              {   public void windowClosing(WindowEvent e)
                  { System.exit(0);
                  }
              });
      setBounds(10,10,200,180);
      setVisible(true); validate();
   }
   public void mousePressed(MouseEvent e) {}
   public void mouseReleased(MouseEvent e)
   {  move=false;
   }
   public void mouseEntered(MouseEvent e)  {}
   public void mouseExited(MouseEvent e) {}
   public void mouseClicked(MouseEvent e){}
   public void mouseMoved(MouseEvent e){} 
   public void mouseDragged(MouseEvent e)
   {  Button b=null;
      if(e.getSource() instanceof Button) //在按钮上拖动鼠标导致按钮上发生鼠标事件。
         { b=(Button)e.getSource();   
           move=true; 
          //将鼠标拖动事件转移到棋盘,导致棋盘上发生鼠标拖动事件:
          e=SwingUtilities.convertMouseEvent(button,e,this);
          //并将从按钮转移得到的鼠标事件e传递给mouseDragged方法的参数。
         }
      if(e.getSource()==this)
         {  if(move&&b!=null)
              {  x=e.getX(); y=e.getY();
                 int w=b.getSize().width,h=b.getSize().height;
                  b.setLocation(x-w/2,y-h/2);
               }
           }
   }
   public static void main(String args[])
   {  new Example18_6();
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -