Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

rewrite the following code using anonymous class. submit.addActionListener(newBu

ID: 3583401 • Letter: R

Question

rewrite the following code using anonymous class.

submit.addActionListener(newButtonListener());

private class ButtonListenerimplements ActionListener {

public voidactionPerformed(ActionEvent e) {

if ( (java.isSelected() ||helpDesk.isSelected()

||coffee.isSelected()) &&

(goodCitizen.isSelected()) &&

(!salary.getSelectedItem().equals("above $100,000")))

{

JOptionPane.showMessageDialog(null,

"Thank you for your application submission. " +

"We'll contact you after we process your information.");

}

}

Explanation / Answer

delegate void processMessageDialog(ActionEvent e); // eclareing anonymous delegate method
submit.addActionListener(newButtonListener());
private class ButtonListener implements ActionListener {
   processMessageDialog anony = delegate(ActionEvent e) // anonymous method
   {
       if ( (java.isSelected() ||helpDesk.isSelected()
       ||coffee.isSelected()) &&
       (goodCitizen.isSelected()) &&
       (!salary.getSelectedItem().equals("above $100,000")))
       {
           JOptionPane.showMessageDialog(null,
           "Thank you for your application submission. " +
           "We'll contact you after we process your information.");
       }
   };
   public void actionPerformed(ActionEvent e) {
       anony(e); // calling anonymous method
   }
}

------------------------------------------------------------------------------
// We can write in second way also...
delegate void actionPerformed(ActionEvent e); // eclareing anonymous delegate method
submit.addActionListener(newButtonListener());
private class ButtonListener implements ActionListener {
   actionPerformed anony = delegate(ActionEvent e) // anonymous method
   {
       if ( (java.isSelected() ||helpDesk.isSelected()
       ||coffee.isSelected()) &&
       (goodCitizen.isSelected()) &&
       (!salary.getSelectedItem().equals("above $100,000")))
       {
           JOptionPane.showMessageDialog(null,
           "Thank you for your application submission. " +
           "We'll contact you after we process your information.");
       }
   };
}