java点击不同按钮给不同文本框赋值

这个点击按钮只能给密码框添加值,不能给文本框添加。我的想法是:我鼠标光标在文本框时,我点击按钮文本框添加数字而密码框不添加数字。鼠标光标在密码框时,我点击按钮密码框添加数... 这个点击按钮只能给密码框添加值,不能给文本框添加。我的想法是:我鼠标光标在文本框时,我点击按钮文本框添加数字而密码框不添加数字。鼠标光标在密码框时,我点击按钮密码框添加数字而文本框不添加数字,求一个大神帮忙,给我一个可以实现并且能运行的代码,是代码,不需要纸上谈兵

import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame=new JFrame();
frame.setDefaultCloseOperation(3);
frame.setVisible(true);
frame.setSize(500,300);
JPanel panel=new JPanel();
panel.setLayout(new GridLayout(3,3));
JTextField textField=new JTextField();
JPasswordField passwordField=new JPasswordField();
for(int x=1;x<=9;x++){
JButton button=new JButton(x+"");
panel.add(button);
boolean res=textField.isFocusOwner();
button.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if(res==true){
textField.setText(textField.getText()+button.getText());
}
if(res==false){
passwordField.setText(passwordField.getText()+button.getText());
}
}

});
}
frame.add(panel);
panel.add(textField);
panel.add(passwordField);
}

}
展开
 我来答
microroom
科技发烧友

2017-06-28 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1597万
展开全部
//已经符合你的要求了
//多给点财富吧
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class test extends JFrame implements ActionListener {
public static void main(String[] args) {
new test();
}
test() {
JPanel p=new JPanel(),fsp=new JPanel(),bsp=new JPanel();
JTextField tf=new JTextField(10);
JPasswordField pf=new JPasswordField(10);
FocusAdapter focus=new FocusAdapter() {
public void focusGained(FocusEvent e) {
dsttf=(JTextField)e.getSource();
}
};

tf.addFocusListener(focus);
pf.addFocusListener(focus);
fsp.add(tf);
fsp.add(pf);
bsp.setLayout(new GridLayout(3,3));
JButton b=null;
for(int x=1;x<=9;x++) {
b=new JButton(""+x);
b.addActionListener(this);
bsp.add(b);
}
p.setLayout(new GridLayout(2,1));
p.add(fsp);
p.add(bsp);
add(p);
setResizable(false);
pack();
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
JButton b=(JButton)e.getSource();

if(null!=dsttf)
{
if(dsttf instanceof JPasswordField)
{
JPasswordField pw=(JPasswordField)dsttf;
pw.setText(new String(pw.getPassword())+b.getText());
}
else
{
dsttf.setText(dsttf.getText()+b.getText());
}
}
}
JTextField dsttf=null;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式