首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

高手请入!有个小有关问题

2011-11-21 
高手请入!有个小问题![code]importjavax.swing.*importjava.awt.*importjava.text.*importjava.awt.eve

高手请入!有个小问题!
[code]
import   javax.swing.*;
import   java.awt.*;
import   java.text.*;
import   java.awt.event.*;
public   class   WageCalculator   extends   JFrame
{
    private   JLabel   hourlyWageJLabel;
    private   JTextField   hourlyWageJTextField;
   
    private   JLabel   hoursWorkedJLabel;
    private   JTextField   hoursWorkedJTextField;
   
    private   JLabel   grossWagesJLabel;
    private   JTextField   grossWagesJTextField;
   
    private   JButton   calculateJButton;
   
    double   hourlyWage;
    double   hoursWorked;
    double   wages;
    final   double   HOUR_LIMIT=40.0;
    DecimalFormat   dollars;
   
    public   WageCalculator()
    {
        createUserInterface();
    }
    public   void   createUserInterface()
    {
        Container   contentPane=this.getContentPane();
        contentPane.setLayout(null);
       
        hourlyWageJLabel=new   JLabel();
        hourlyWageJLabel.setBounds(16,16,90,21);
        hourlyWageJLabel.setText( "Hourly   wage ");
        contentPane.add(hourlyWageJLabel);
       
        hourlyWageJTextField=new   JTextField();
        hourlyWageJTextField.setBounds(115,16,90,21);
        hourlyWageJTextField.setHorizontalAlignment(JTextField.RIGHT);
        contentPane.add(hourlyWageJTextField);
        hourlyWageJTextField.addKeyListener(  
            new   KeyAdapter()
            {
                public   void   keyPressed(KeyEvent   Event)
                {
                    hourlyWageJTextFieldKeyPressed(Event);
                }
            });
       
        hoursWorkedJLabel=new   JLabel();
        hoursWorkedJLabel.setBounds(16,57,90,21);
        hoursWorkedJLabel.setText( "Hours   worked ");
        contentPane.add(hoursWorkedJLabel);
       
        hoursWorkedJTextField=new   JTextField();
        hoursWorkedJTextField.setBounds(115,57,90,21);
        hoursWorkedJTextField.setHorizontalAlignment(JTextField.RIGHT);
        contentPane.add(hoursWorkedJTextField);
        hoursWorkedJTextField.addKeyListener(
            new   KeyAdapter()
            {
                public   void   KeyPressed(KeyEvent   Event)


                {
                    hoursWorkedJTextFieldKeyPressed(Event);
                }
            });
       
        grossWagesJLabel=new   JLabel();
        grossWagesJLabel.setBounds(16,97,90,21);
        grossWagesJLabel.setText( "Gross   wages ");
        contentPane.add(grossWagesJLabel);
       
        grossWagesJTextField=new   JTextField();
        grossWagesJTextField.setBounds(115,97,90,21);
        grossWagesJTextField.setHorizontalAlignment(JTextField.RIGHT);
        grossWagesJTextField.setEditable(false);
        contentPane.add(grossWagesJTextField);
       
        calculateJButton=new   JButton();
        calculateJButton.setBounds(115,135,90,21);
        calculateJButton.setText( "Calculate ");
        contentPane.add(calculateJButton);
        calculateJButton.addActionListener(
            new   ActionListener()
            {
                public   void   actionPerformed(ActionEvent   Event)
                {
                    calculateJButtonActionPerformed(Event);
                }
              });
       
        setTitle( "Wage   Calculator ");
        setSize(230,200);
        setLocation(150,200);
        setVisible(true);
    }
    private   void   calculateJButtonActionPerformed(ActionEvent   e)
    {
        hourlyWage=Double.parseDouble(hourlyWageJTextField.getText());
        hoursWorked=Double.parseDouble(hoursWorkedJTextField.getText());
        if(hoursWorked <=HOUR_LIMIT)
        {
            wages=hourlyWage*hoursWorked;
        }
        else
        {
            wages=hourlyWage*HOUR_LIMIT;
            wages+=(hoursWorked-HOUR_LIMIT)*hourlyWage*1.5;
        }
        dollars=new   DecimalFormat( "$0.00 ");
        grossWagesJTextField.setText(dollars.format(wages));
    }
   
    private   void   hourlyWageJTextFieldKeyPressed(KeyEvent   e)
    {
        grossWagesJTextField.setText( " ");
    }
   
    private   void   hoursWorkedJTextFieldKeyPressed(KeyEvent   e)
    {
        grossWagesJTextField.setText( " ");


    }
   
    public   static   void   main(String   args[])
    {
        WageCalculator   application=new   WageCalculator();
        application.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
}
[/code]
程序运行界面:
[img]http://www2.freep.cn/Photo.php?url=photo36/0705241023097955.jpg[/img]
[color=red][b]问题:
    为何向第一个TextField中输入内容后,能将第三个TextField的内容清空;而向第二个TextField中输入内容时,第三个TextField的内容不能清空?[/b][/color]

[解决办法]
hoursWorkedJTextField.addKeyListener(
new KeyAdapter()
{
public void KeyPressed(KeyEvent Event)
{
hoursWorkedJTextFieldKeyPressed(Event);
}
});
晕死!
看得我好辛苦,原来是中间那个KeyPressed(KeyEvent Event)的KeyPressed的K是小写的!

热点排行