陷入java练习

时间:2014-03-07 01:24:28

标签: java swing methods

继承人的问题:

  

“命理”
  使用JFrame创建一个程序,该程序允许将单词的字符串输入到文本框中       计算输出的每个字母值的总和。一定要包含“计算”       和“退出”按钮。       例如:sky = 55,因为s = 19,k = 11,y = 25,所以19 + 11 + 25 = 55。

    import java.awt.*; //Container, GridLayout, *, or etc...
    import javax.swing.*; //JFrame, JLabel, *, or etc...
    import java.awt.event.*;
    public class NumerologyEC extends JFrame
    {
        private static final int Width = 400;
        private static final int Height = 100;

        private JLabel wordJL;
        private JTextField wordTF;

        private JButton calculateJB, exitJB;

        private CalculateButtonHandler cbHandler;
        private ExitButtonHandler ebHandler;

       public  NumerologyEC()
       {
           setTitle ("Numerology Extra Credit");
           wordJL = new JLabel ("Enter a word: ", SwingConstants.RIGHT);

           wordTF = new JTextField(10);

           calculateJB = new JButton ("Calculate");
           cbHandler = new CalculateButtonHandler();
           calculateJB.addActionListener (cbHandler);

           exitJB = new JButton ("Exit");
           ebHandler = new ExitButtonHandler();
           exitJB.addActionListener (ebHandler);

           Container pane = getContentPane();
           pane.setLayout (new GridLayout (2, 2));

           pane.add(wordJL);
           pane.add(wordTF);
           pane.add(calculateJB);
           pane.add(exitJB);

           setSize(Width, Height);
           setVisible (true);
           setDefaultCloseOperation (EXIT_ON_CLOSE);
        }

          private class CalculateButtonHandler  implements ActionListener
        {
            public void actionPerformed (ActionEvent e)
            {
                String word;



            }
        }

        private class ExitButtonHandler implements ActionListener
        {
            public void actionPerformed (ActionEvent e)
            {
              System.exit (0);  
            }
        }

       public static void main (String[] args)
       {
        NumerologyEC rectObject = new NumerologyEC();
        }


    }

我应该用什么方法来解决问题?我现在已经设置了我的jframe,我只需要一种方法来解决这个问题。我只是一个初学者所以我仍然试图在编程时弄清楚。非常感谢任何提示。

2 个答案:

答案 0 :(得分:0)

我建议你阅读有关事件监听器的内容。我不会直接给你答案,但提示。查看Javadocs并查看ActionEvent上可用的方法。谷歌可以成为一个方便的工具。

答案 1 :(得分:0)

你需要一个方法sumCharValues,它接受一个字符串,迭代字符,添加它们的int值(A = 1,B = 2)并返回总和。 E.g。

private int sumCharValues (String input) {
  String str = input.toLowerCase(); // so 'A' and 'a' are equivalent
  int result = 0;
  for (int i = 0, n = str.length(); i < n; i++) {
    char c = str.charAt(i);
    result += (c - 'a' + 1);
  }
  return result;
}

您必须从“compute”处理程序的处理程序中调用此方法,并使用JLabel显示结果值。