|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
又来麻烦各位大佬了!!!!那个Mouseevent事件其中鼠标按着按钮,就可以让按钮移动!!!应该怎么实现,渣新毫无想法,求教!!!!!
(这是我随意的一些代码......求教)
package mouse;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class mouse_demo extends JFrame implements MouseListener {
JPanel mp = null;
JButton j1 = null;
int x = 15;
int y = 15;
public static void main(String[] args) {
mouse_demo mo = new mouse_demo();
}
public mouse_demo() {
mp = new JPanel();
j1 = new JButton("移动");
this.setSize(500, 500);
this.setTitle("min");
this.add(mp);
j1.setBounds(15, 15, 50, 50);
this.getContentPane().add(j1);
this.getContentPane().setLayout(null);
j1.addMouseMotionListener(new MouseMotionAdapter() {
public void translatePoint(int x,int y){
x =15+x;
y = 15+y;
}
});
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setVisible(true);
}
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
}
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import java.awt.event.MouseMotionAdapter;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- public class MouseDemo extends JFrame implements MouseListener {
- JPanel mp = null;
- JButton j1 = null;
- int x = 15;
- int y = 15;
- public static void main(String[] args) {
- MouseDemo mo = new MouseDemo();
- }
- public MouseDemo() {
- mp = new JPanel();
- j1 = new JButton("移动");
- this.setSize(500, 500);
- this.setTitle("min");
- this.add(mp);
- j1.setBounds(15, 15, 50, 50);
- this.getContentPane().add(j1);
- this.getContentPane().setLayout(null);
- j1.addMouseMotionListener(new MouseMotionAdapter() {
- // MouseMotionAdapter类里面只有以下两个方法
- public void mouseDragged(MouseEvent e) {
- // 鼠标按键在组件上按下并拖动时调用。在释放鼠标按键前,鼠标拖动事件被连续地传递到首先发起该事件的组件(而不管鼠标位置是否处于该组件的边界内)。
- // j1.move(e.getX(), e.getY()); 这个方法已经过时了
- j1.setBounds(e.getX(), e.getY(), j1.getWidth(), j1.getHeight());
- }
-
- public void mouseMoved(MouseEvent e) {
- // 鼠标按键在组件上移动(无按键按下)时调用。
- }
- });
- this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
- this.setVisible(true);
- }
- @Override
- public void mouseClicked(MouseEvent e) {
- }
- @Override
- public void mouseEntered(MouseEvent e) {
- }
- @Override
- public void mouseExited(MouseEvent e) {
- }
- @Override
- public void mousePressed(MouseEvent e) {
- }
- @Override
- public void mouseReleased(MouseEvent e) {
- }
- }
复制代码
其实我也不懂这个,刚才查了下JDK API就知道了,MouseMotionAdapter类实现了MouseMotionListener接口,而这里面只有两个方法。在里面设置按钮移动就可以了,经测试是可以跟着鼠标移动的,不知道我这个方法对不对,多多指教,谢谢
|
|