Java:从JTextField获取用户输入

时间:2015-09-04 20:01:47

标签: java swing jtextfield

目前我使用以下代码向用户显示文本字段并从用户检索输入。

$(function() {
    $('#toggleImage').hover(
        function(){
            $(this).children('.onMouseOut').fadeOut(300);
            $(this).css({'transform':'scale(1.2)'});
        },
        function(){
            $(this).children('.onMouseOut').fadeIn(300);
            $(this).css({'transform':'scale(1)'});
        }
    );
});

这很好用。但问题是:

•当用户关闭对话框时,我希望能够获得输入,当用户点击进入时

•我想停止执行程序,直到用户输入内容并关闭对话框。现在,即使在用户在对话框/文本框中输入任何内容之前,程序仍继续运行。

1 个答案:

答案 0 :(得分:1)

我知道一个简单的方法,你怎么做。当我需要制作类似的东西时,我总是使用JDialog。如果将JDialog设置为modal,如果JDialog可见,它将停止执行程序。我在下面更新了您的代码:

 public void getInputFromUser ()
 {
    String input = null;
    JTextField textField = new JTextField("sadsadasd");
    textField.setColumns(50);

    textField.setVisible(true);

    JDialog jd = new JDialog();
    jd.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
    jd.setSize(300, 75);
    jd.add(textField);
    jd.requestFocus();
    jd.setModal(true);
    jd.setVisible(true);
    System.out.println("I am here");

    textField.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {

            String text = textField.getText();

            System.out.println(text);
        }
    });
}