【问题标题】:JTextField ActionListener in GridBagLayoutGridBagLayout 中的 JTextField ActionListener
【发布时间】:2012-06-06 05:05:48
【问题描述】:

我在向我的 JTextField 添加 actionlistener 时遇到问题。我需要将用户输入的文本转换为字符串,以便我可以使用它。

谁能告诉我我做错了什么或者我应该怎么做。

代码如下:

public void actionPerformed(ActionEvent e)
        {
            //Execute when button is pressed
            JFrame frame = new JFrame("Value Bet");
            frame.setVisible(true);
            frame.setSize(500,300);
            GridBagLayout layout = new GridBagLayout();
            frame.setLayout(layout);
            GridBagConstraints c = new GridBagConstraints();

            JLabel label;
            JTextField tf;

            if (shouldFill) {
            //natural height, maximum width
            c.fill = GridBagConstraints.HORIZONTAL;
            }
            if (shouldWeightX) {
            c.weightx = 0.5;
            }

            ...

            tf = new JTextField();
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 1;
            c.gridy = 2;
            frame.add(tf, c);
            tf.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e)
                {
                    String chance1 = tf.getText();
                }
            });

...

【问题讨论】:

    标签: java swing actionlistener jtextfield gridbaglayout


    【解决方案1】:
    public void actionPerformed(ActionEvent e)
    {
        //  Look Ma, a one-liner!
        String chance1 = JOptionPane.showInputDialog(someComponent, "Value Bet");
    }
    

    进一步查看重载方法以调整外观,为稳健性添加null 检查,并考虑使用微调器而不是文本字段 (BNI)。

    【讨论】:

      【解决方案2】:

      您为什么使用ActionListener 而不是KeyListener

      您应该使用KeyListener 或:

      tf.getDocument().addDocumentListener(documentListener);
      

      DocumentListener

      【讨论】:

      • 文档侦听器是否也允许我将用户输入存储在变量中?以及如何?
      猜你喜欢
      • 2015-12-18
      • 1970-01-01
      • 1970-01-01
      • 2016-10-29
      • 2013-02-16
      • 2016-08-23
      • 2013-12-28
      • 1970-01-01
      • 2012-10-11
      相关资源
      最近更新 更多