Java的代码如何实现不手动按Enter键,自动执行按Enter键的效果
解决方案 »
- MyEclipse问题,Cannot connect to VM,新手求指教
- 如何applet实现图形间自动连接
- 求助,一道常见的笔试题
- 三个java超级变态逻辑循环编程题
- 使用FlowLayout如何使组件换行显示
- 有没有人做过交互的绘制线的程序。如果没有涉及过java绘图部分请不必进入!
- 在STRING复值中如何显示特殊字符@
- 在线的朋友给小弟介绍几本jbuilder6.0入门的书好吗??请执教!谢谢 ,等待中......
- 有关parseInt的问题
- 为什么出现错误:Error occurred during initialization of VM
- 求助 字符串比较处理
- 麻烦帮我看看,看视频编的
button.getModel().setArmed(true);不过你操作完成之后要调用上面的方法:
button.getModel().setPressed(false);
button.getModel().setArmed(false);
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class AutoEnter extends JFrame implements ActionListener,KeyListener{
JPanel panel=new JPanel();
JButton bohao = new JButton("拨号");
private static int k;
public AutoEnter(){
panel.setLayout(new BorderLayout());
panel.add(bohao,BorderLayout.SOUTH);
bohao.addActionListener(this);
add(panel);
setSize(new Dimension(400, 400));
show();
}
public static void main(String[] args){
new AutoEnter();
}
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("拨号")){
System.out.println("开始拨号");
k=0;
for(int i=0;i<10000;i++){
k++;
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
bohao.getModel().setPressed(true);
bohao.getModel().setArmed(true);
}
}
} public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
if(e.getKeyCode() == KeyEvent.VK_K){
System.out.println("第 "+k+" 次按Enter键");
}
bohao.getModel().setPressed(false);
bohao.getModel().setArmed(false);
} public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
} public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
}
你这么写会阻塞事件派发线程的,界面绘制没有办法实现。 public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("拨号")) {
new Thread(new Runnable(){
public void run(){
System.out.println("开始拨号");
k = 0;
for (int i = 0; i < 10000; i++) {
k++;
try {
new Thread(){
public void run(){
bohao.getModel().setPressed(true);
bohao.getModel().setArmed(true);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
bohao.getModel().setPressed(false);
bohao.getModel().setArmed(false);
}
}.start();
Thread.sleep(1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
}).start();
}
}
button.getModel().setPressed(true);
button.getModel().setArmed(true);
button.getModel().setPressed(false);
button.getModel().setArmed(false);
的方法不过 button 变成了 键盘上的Enter键的实例化对象,
可是键盘上的Enter键怎样实例化啊