关于mouseevent事件的大疑惑
又来麻烦各位大佬了!!!!那个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) {
}
}
这里有个例子详细说明
https://wenku.baidu.com/view/9a4c52fd284ac850ad0242e2.html
其实 Java 中的 GUI 编程没有必要去学习,我看你发的好多帖都跟这有关,你一直在研究 Java 的界面??? 零度非安全 发表于 2017-5-24 18:02
这里有个例子详细说明
https://wenku.baidu.com/view/9a4c52fd284ac850ad0242e2.html
哎,最近是的,因为我们老师给我们这学期java项目就是坦克作战,太难的我也不会.......就做下界面
{:10_266:} 零度非安全 发表于 2017-5-24 18:02
这里有个例子详细说明
https://wenku.baidu.com/view/9a4c52fd284ac850ad0242e2.html
对不起我太菜了......请问那个案例怎么运行,恩,我不知道main函数应该加在哪里
十六是只仙 发表于 2017-5-24 23:38
对不起我太菜了......请问那个案例怎么运行,恩,我不知道main函数应该加在哪里
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接口,而这里面只有两个方法。在里面设置按钮移动就可以了,经测试是可以跟着鼠标移动的,不知道我这个方法对不对,多多指教,谢谢 xw0314 发表于 2017-5-25 14:47
其实我也不懂这个,刚才查了下JDK API就知道了,MouseMotionAdapter类实现了MouseMotionListener接 ...
感谢,但是移动得为什么不灵敏哪 十六是只仙 发表于 2017-5-26 14:02
感谢,但是移动得为什么不灵敏哪
反正你要移动的代码就是在那个方法里面了,具体的我也不太清楚。没有学Java的GUI,不好意思 十六是只仙 发表于 2017-5-26 14:02
感谢,但是移动得为什么不灵敏哪
版主给的那个案例里面有写按钮移动的代码,而且有计算坐标的位置,你可以参考下,把它修改好放进那个鼠标按下拖拽事件
页:
[1]