example7_30.java.bak

来自「不错的教程 适合中高级人员的使用」· BAK 代码 · 共 59 行

BAK
59
字号
import java.awt.*;import java.awt.event.*;import javax.swing.SwingUtilities;
class Win extends Frame implements MouseListener,MouseMotionListener
{  Button button;TextField text; 
   int x,y;        //记录鼠标位置用的变量。
   boolean move=false;
   Win()
   {  button=new Button("用鼠标拖动我");
      text=new TextField("用鼠标拖动我",8);
	  button.addMouseListener(this);
	  button.addMouseMotionListener(this);
	  text.addMouseListener(this);
	  text.addMouseMotionListener(this);
	  addMouseMotionListener(this);
	  setLayout(new FlowLayout());
	  add(button);
	  add(text);
	  addWindowListener(new WindowAdapter()
	      {public void windowClosing(WindowEvent e)
			  {System.exit(0);}
	       }
	  );
	  setBounds(10,10,350,300);
      setVisible(true);
	  validate();
    }   
   public void mousePressed(MouseEvent e){}
   public void mouseEntered(MouseEvent e){}
   
   public void mouseReleased(MouseEvent e)
   {  move=false;   } 
   public void mouseExited(MouseEvent e){}
   public void mouseClicked(MouseEvent e){}
   public void mouseMoved(MouseEvent e){}
   public void mouseDragged(MouseEvent e)
   {
	   Component com=null;
	   if(e.getSource() instanceof Component)
	   {
		   com=(Component) e.getSource();
		   if(com!=this)
			   move=true;
		   e=SwingUtilities.convertMouseEvent(com,e,this);
		   if(move)
		   {
			   x=e.getX();
			   y=e.getY();
			   int w=com.getSize().width,h=com.getSize().height;
			   com.setLocaLtion(x-w/2,y-h/2);
		   }
	   }
   }
}
 
public class Example7_30
{  public static void main(String args[])
   {  new Win();
   }
}

⌨️ 快捷键说明

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