在java中如何实现jbutton和键盘的关联
比如说我设置个按钮jb=newJButton("2");当我点击jb时候,等同于点击键盘上的2这个键,可以在文本框中输入2;还有就是通过按钮怎么在jpasswordfie...
比如说我设置个按钮 jb = new JButton("2");
当我点击jb时候,等同于点击键盘上的2这个键,可以在文本框中输入2;
还有就是通过按钮怎么在jpasswordfield中添加字符,也就是说点了jb这个键,就在jpasswordfield输入个2,然后点其他的按钮后仍然可以继续输入(不是setText()这个方法)。
谢谢高人指点。(望有部分代码谢谢). 展开
当我点击jb时候,等同于点击键盘上的2这个键,可以在文本框中输入2;
还有就是通过按钮怎么在jpasswordfield中添加字符,也就是说点了jb这个键,就在jpasswordfield输入个2,然后点其他的按钮后仍然可以继续输入(不是setText()这个方法)。
谢谢高人指点。(望有部分代码谢谢). 展开
7个回答
展开全部
///用.java.awt.Robot类能做你想要的事情!
///我的小例子完全符合楼主想法~~
///: RobotTest.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RobotTest extends JFrame{
private Robot r;
private JTextField txt;
private JPasswordField pwd;
private JButton bt,bt3;
RobotTest(){
super("ROBOT TEST");
try{r = new Robot();}catch(Exception e){e.printStackTrace();}
this.getContentPane().setLayout(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(200,200);
this.setLocationRelativeTo(null);
txt = new JTextField();
txt.setBounds(18,14,100,20);
add(txt);
pwd = new JPasswordField();
pwd.setBounds(18,44,100,20);
pwd.setEchoChar('*');
add(pwd);
bt = new JButton("2");
bt.setBounds(58,80,68,22);
add(bt);
bt3=new JButton("3");
bt3.setBounds(58,110,68,22);
add(bt3);
bt.setFocusable(false);
bt3.setFocusable(false);
bt.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {robotDo(KeyEvent.VK_2);}});
bt3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {robotDo(KeyEvent.VK_3);}});
}
void robotDo(int key){
if(r==null)return;
r.keyPress(key);
r.delay(10);
r.keyRelease(key);
}
public static void main(String[] args) {new RobotTest().setVisible(true);}
}
///我的小例子完全符合楼主想法~~
///: RobotTest.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RobotTest extends JFrame{
private Robot r;
private JTextField txt;
private JPasswordField pwd;
private JButton bt,bt3;
RobotTest(){
super("ROBOT TEST");
try{r = new Robot();}catch(Exception e){e.printStackTrace();}
this.getContentPane().setLayout(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(200,200);
this.setLocationRelativeTo(null);
txt = new JTextField();
txt.setBounds(18,14,100,20);
add(txt);
pwd = new JPasswordField();
pwd.setBounds(18,44,100,20);
pwd.setEchoChar('*');
add(pwd);
bt = new JButton("2");
bt.setBounds(58,80,68,22);
add(bt);
bt3=new JButton("3");
bt3.setBounds(58,110,68,22);
add(bt3);
bt.setFocusable(false);
bt3.setFocusable(false);
bt.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {robotDo(KeyEvent.VK_2);}});
bt3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {robotDo(KeyEvent.VK_3);}});
}
void robotDo(int key){
if(r==null)return;
r.keyPress(key);
r.delay(10);
r.keyRelease(key);
}
public static void main(String[] args) {new RobotTest().setVisible(true);}
}
展开全部
第一个问题:写一个键盘监听类实现KeyListener接口或继承KeyAdapter。
推荐继承KeyAdapter
public class MyKeyListener extends KeyAdapter {
public void keyPressed(KeyEvent e){
if(e.getCode==KeyEvent.VK_2) {
//实现你按下“2”的要做 事
}
}
};
第二个问题:
TextField tf = new TextField();
String s = "";//要输入的字符串
tf.setText(tf.getText() + s);
推荐继承KeyAdapter
public class MyKeyListener extends KeyAdapter {
public void keyPressed(KeyEvent e){
if(e.getCode==KeyEvent.VK_2) {
//实现你按下“2”的要做 事
}
}
};
第二个问题:
TextField tf = new TextField();
String s = "";//要输入的字符串
tf.setText(tf.getText() + s);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
说了不用setText()方法,还是有贴来的!!
Robot不仅能操控键盘,还能操控鼠标呢~
Robot r = new Robot();//这
r.keyPress(KeyEvent.VK_2);//这个就2键
r.keyRelease(KeyEvent.VK_2);//记得要释放2键
.....
可以定成方法:
void simKey(int key){
r.keyPress(key);
r.keyRelease(key);
}
Robot不仅能操控键盘,还能操控鼠标呢~
Robot r = new Robot();//这
r.keyPress(KeyEvent.VK_2);//这个就2键
r.keyRelease(KeyEvent.VK_2);//记得要释放2键
.....
可以定成方法:
void simKey(int key){
r.keyPress(key);
r.keyRelease(key);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以用个StringBuffer来保存文本框中内容。当单击其他的按钮时就用StrigBuffer的append()方法来加上那个字符。然后再用SetText()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想添加个键盘事件就行了吧,具体代码:
addKeyListener(new keyAdapter(){
public void keyPressed(Keyent e)
{if(e.getCode==KeyEvent.VK_2)
text.setText("2");//在文本框中设定值为2;
}
});
addKeyListener(new keyAdapter(){
public void keyPressed(Keyent e)
{if(e.getCode==KeyEvent.VK_2)
text.setText("2");//在文本框中设定值为2;
}
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |