JAVA怎么用鼠标先点一个按钮,再点一个地方,然后按钮移过去。。小白求问。

 我来答
雪飞潇潇
2017-06-21 · TA获得超过6274个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:866万
展开全部

效果图

参考代码

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class TestFrame extends JFrame{
JButton jbt;
boolean isClickBt;//判断是按钮被点击还是别的地方被点击
int w=100;//按钮宽度100像素
int h = 30;//按钮高30像素
int bh = 35;//窗口的上边框大约35像素
public TestFrame() {
jbt = new JButton("按钮");
jbt.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jbt.setText("可移动啦");
jbt.setForeground(Color.RED);
isClickBt =true; //设置按钮被点击为true
}
});
jbt.setBounds(50, 50, w, h);//按钮的初始位置
add(jbt);
addMouseListener(new MyFrameMouse());//添加窗口的点击响应
setLayout(null);//绝对布局
setTitle("移动按钮测试");
setSize(300, 300);//窗口大小
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);

}
public static void main(String[] args) {
new TestFrame();
}

class MyFrameMouse extends MouseAdapter{
public void mouseClicked(MouseEvent e) {
if(isClickBt){
Point dp = e.getPoint();//得到点击的位置
jbt.setLocation(dp.x-w/2,dp.y-h/2-bh);//重新设置jbt的位置,以及修正偏移量,让鼠标处于按钮中间
isClickBt=false;//按钮点击设置为false
jbt.setText("按钮");
jbt.setForeground(Color.BLACK);
}
}
}
}
匿名用户
2017-06-20
展开全部
看 Robot 类
~
~
~
~
~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式