2011-04-26 314 views
0
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.ButtonGroup; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JRadioButton; 
import javax.swing.JTextField; 

public class FinalExamClass extends JFrame { 
    private String strName; 
    private int intQuantity; 
    private boolean blnInsurance; 
    private double dblTotal; 
    private JPanel panel; 
    private JLabel nameLabel; 
    private JLabel quantityLabel; 
    private JTextField nameText; 
    private JTextField quantityText; 
    private JButton searchButton; 
    private JButton submitButton; 
    private JButton reportButton; 
    private JButton clearButton; 
    private JRadioButton cleaningRadButton; 
    private JRadioButton fillingRadButton; 
    private JRadioButton rootRadButton; 
    private ButtonGroup radioButtonGroup; 
    private final int WINDOW_WIDTH = 350; 
    private final int WINDOW_HEIGHT = 250; 

    // Constructor 
    public FinalExamClass() { 
     setTitle("Dentist Application"); 

     setSize(WINDOW_WIDTH, WINDOW_HEIGHT); 

     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     buildPanel(); 

     add(panel); 

     setVisible(true); 

    } 

    public void buildPanel() { 
     nameLabel = new JLabel("Name: "); 

     nameText = new JTextField(10); 

     quantityLabel = new JLabel("Quantity; "); 

     quantityText = new JTextField(10); 

     searchButton = new JButton("Search"); 

     submitButton = new JButton("Submit"); 

     reportButton = new JButton("Report"); 

     clearButton = new JButton("Clear"); 

     cleaningRadButton = new JRadioButton("Cleaning"); 

     fillingRadButton = new JRadioButton("Filling"); 

     rootRadButton = new JRadioButton("Root"); 

     radioButtonGroup = new ButtonGroup(); 
     radioButtonGroup.add(cleaningRadButton); 
     radioButtonGroup.add(fillingRadButton); 
     radioButtonGroup.add(rootRadButton); 

     cleaningRadButton.addActionListener(new RadioButtonListener()); 
     fillingRadButton.addActionListener(new RadioButtonListener()); 
     rootRadButton.addActionListener(new RadioButtonListener()); 

     panel = new JPanel(); 

     panel.add(nameLabel); 
     panel.add(nameText); 
     panel.add(cleaningRadButton); 
     panel.add(fillingRadButton); 
     panel.add(rootRadButton); 
     panel.add(quantityLabel); 
     panel.add(quantityText); 

    } 

    @Override 
    public void setName(String name) { 
     strName = name; 
    } 

    public void setQuantity(int quantity) { 
     intQuantity = quantity; 
    } 

    public void setInsurance(boolean insurance) { 
     blnInsurance = insurance; 
    } 

    @Override 
    public String getName() { 
     return strName; 
    } 

    public int getQuantity() { 
     return intQuantity; 
    } 

    public boolean getInsurance() { 
     return blnInsurance; 
    } 

    private class RadioButtonListener implements ActionListener { 
     @Override 
     public void actionPerformed(Action Event e) { 
      String input; 
      double result = 0.0; 

      input = quantityText.getText(); 

      if (e.getSource() == cleaningRadButton) { 
       result = Double.parseDouble(input) * 60; 
      } else if (e.getSource() == fillingRadButton) { 
       result = Double.parseDouble(input) * 75; 
      } else if (e.getSource() == rootRadButton) { 
       result = Double.parseDouble(input) * 89; 
      } 

     } 
    } 
} 

的錯誤說,這需要ActionListener幫助!

Error: The type FinalExamClass.RadioButtonListener must implement the inherited abstract  method java.awt.event.ActionListener.actionPerformed(java.awt.event.ActionEvent) 

回答

5

你有

public void actionPerformed(Action Event e) { 

應該

public void actionPerformed(ActionEvent e) { 

參數類型是ActionEvent

+0

THANK YOU胖小子! – Anthony 2011-04-26 04:27:03

+0

不用留言.... – 2011-04-26 05:10:07