获取用户输入并将其粘贴到其他字段java

时间:2016-02-09 10:18:08

标签: java swing

我创建了一个应用程序,当你运行它时,你会得到一个面板,以便将日志放入详细信息。

这个应用程序自动连接到其他一些在线工具后按照一些步骤。 在此步骤中,必须粘贴用户放置在面板上的登录详细信息。

我怎么做?

JFrame frame = new JFrame();
JLabel mlabel = new JLabel("Please provide login to SCMgr",JLabel.CENTER);
JLabel uLabel = new JLabel("User ID:",JLabel.LEFT);
JLabel pLabel = new JLabel("Password:",JLabel.LEFT);
JLabel pPlatform = new JLabel("Platform:",JLabel.LEFT);
JPanel buttonField = new JPanel(new GridLayout (1,3));
JPanel userArea =  new JPanel(new GridLayout (0,3));
JPanel passArea =  new JPanel(new GridLayout (0,3));
JPanel platformArea =  new JPanel(new GridLayout (0,3));
frame.setLayout(new GridLayout (0,1));
buttonField.setLayout(new FlowLayout());
JButton confirm =new JButton("OK");
confirm.addMouseListener((MouseListener) new mouseClick());
buttonField.add(confirm);
App.insertText = new JTextField(20);
App.insertPass = new JPasswordField(20);
App.insertPlatform = new JTextField(20);
frame.add(mlabel);
userArea.add(uLabel);
userArea.add(insertText);
passArea.add(pLabel);
passArea.add(insertPass);
platformArea.add(pPlatform);
platformArea.add(insertPlatform);
frame.add(userArea);
frame.add(passArea);
frame.add(platformArea);
frame.add(buttonField);
frame.setSize(300,200);
App.credGet = false;
frame.setVisible(true);     
while (App.credGet != true) {
    if (App.un != "" && App.pw != "" && App.platform != ""){
        //frame.setVisible(false);
        frame.dispose();
        App.credGet = true;
    }
}

此应用程序连接到其他工具后,遵循以下步骤。

psess.GetPS().SendKeys("claim", 24, 5);
Thread.sleep(1000);

psess.GetPS().SendKeys("[enter]");
Thread.sleep(1000);

psess.GetPS().SendKeys("name", 20, 16);
Thread.sleep(1000);
psess.GetPS().SendKeys("Password", 21, 16);
Thread.sleep(1000);
psess.GetPS().SendKeys("[enter]");
Thread.sleep(1000);

1 个答案:

答案 0 :(得分:1)

您发送"name""Password"作为硬编码String。您需要从用户输入自己姓名和密码的文本字段中获取名称。

因此改变以下行

psess.GetPS().SendKeys("name", 20, 16);
Thread.sleep(1000);
psess.GetPS().SendKeys("Password", 21, 16);
Thread.sleep(1000);

psess.GetPS().SendKeys(App.insertText.getText(), 20, 16);
Thread.sleep(1000);
psess.GetPS().SendKeys(App.insertPass.getText(), 21, 16);
Thread.sleep(1000);

它会工作。