编程实现对一个按钮的点击

sinall 2008-05-19 10:13:45
同一程序中,如何编程模拟对一个按钮的点击?
...全文
479 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
dgqbcht 2008-06-03
  • 打赏
  • 举报
回复
直接执行那个按钮被点击后触发的代码就行了。
weilovehome 2008-06-03
  • 打赏
  • 举报
回复
按钮就是做监听响应事件啊,楼主需要实现的是什么哦?
bsr1983 2008-06-03
  • 打赏
  • 举报
回复
楼主的意思是不是不用鼠标显式点击按钮,而是通过程序来达到和鼠标点击同样的效果啊?
可使用doClick方法
public void doClick(int pressTime)
以编程方式执行“单击”。此方法的效果等同于用户按下并随后释放按钮。可以看到,按钮在“按下”状态下停留 pressTime 毫秒的时间。
参数:
pressTime - “按下”按钮的时间,以毫秒为单位
javagxc 2008-05-31
  • 打赏
  • 举报
回复
是实现一个按钮的监听吧
小宏 2008-05-29
  • 打赏
  • 举报
回复
问题说明白一点人家也好回答.......
zwgs1985 2008-05-27
  • 打赏
  • 举报
回复
直接调用自己写的按钮动作方法就行吧
qusic 2008-05-26
  • 打赏
  • 举报
回复
我想,楼主需要的应该是doClick()方法~
lby402 2008-05-25
  • 打赏
  • 举报
回复
上面写错了是doClick()方法
lby402 2008-05-25
  • 打赏
  • 举报
回复
是用程序实现点击动作吗?直接调那个按钮的onClick()方法就可以了
cui_aec 2008-05-25
  • 打赏
  • 举报
回复
1111
sagezk 2008-05-25
  • 打赏
  • 举报
回复
可以用 java.awt.Robot,代码如下:
/*
* FileName: AutoDemoFrame.java
* Author: SageZK
* Date: 2008-05-25 15:05:00
*/

import java.awt.AWTException;
import java.awt.Point;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;

public class AutoDemoFrame extends JFrame {

private JButton btnTest = null;
private JButton btnDemo = null;

public AutoDemoFrame() {
super("AutoDemoFrame");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setBounds(60, 60, 500, 360);
getContentPane().setLayout(null);
this.btnTest = new JButton("Test");
this.btnTest.setBounds(30, 30, 120, 36);
this.btnTest.addMouseListener(
new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
btnTest.setText("Clicked !");
}
}
);
this.btnDemo = new JButton("Demo");
this.btnDemo.setBounds(350, 250, 76, 23);
this.btnDemo.addMouseListener(
new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
startDemo();
}
}
);
getContentPane().add(this.btnTest);
getContentPane().add(this.btnDemo);
}

public void startDemo() {
Thread rt = new Thread(
new Runnable() {
public void run() {
try {
Robot rbt = new Robot();
Point p = btnTest.getLocationOnScreen();
rbt.delay(1500);
rbt.mouseMove(p.x + 6, p.y + 6);
rbt.delay(1500);
rbt.mousePress(InputEvent.BUTTON1_MASK);
rbt.delay(1500);
rbt.mouseRelease(InputEvent.BUTTON1_MASK);
} catch (AWTException e) {
e.printStackTrace();
}
}
}
);
rt.start();
}

public static void main(String[] args) {
AutoDemoFrame adf = new AutoDemoFrame();
adf.setVisible(true);
}

}

运行后单击 Demo 按钮,然后不要移动鼠标。
sinall 2008-05-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 laorer 的回复:]
对一个按钮的点击是触发一个事件,如果能够直接触发那个事件,我想应该就可以模拟对其的点击了吧,

如果你只是要想验证某个程序块,你可以直接通过 写个test类来调用


[/Quote]
兄弟,你在说什么啊???举例说明下吧。
wjh0205 2008-05-20
  • 打赏
  • 举报
回复
JButton jb=new JButton("点击");
jb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.out.println("按钮已经被点击");
}
});
yiyi_wx 2008-05-19
  • 打赏
  • 举报
回复
模拟点击是什么意思?1楼说的那种情况?
laorer 2008-05-19
  • 打赏
  • 举报
回复
对一个按钮的点击是触发一个事件,如果能够直接触发那个事件,我想应该就可以模拟对其的点击了吧,

如果你只是要想验证某个程序块,你可以直接通过 写个test类来调用

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧