Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

5.1 For these exercises, include your completed .java files in the zip archive that you submit for grading. Complete the code in the provided View

5.1 For these exercises, include your completed .java files in the zip archive that you submit for grading. Complete the code in the provided View class to implement this GUI interface for a calculator. The calculator does not have to be fully functional; the primary objective of the assignment is to implement the GUI.

image text in transcribed

CODE PROVIDED IN VIEW CLASS:

//************************************************************************************************** // CLASS: View // // DESCRIPTION // Implements the GUI for a calculator. //************************************************************************************************** import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField;

/** * Implements the GUI for a calculator. */ public class View extends JFrame implements ActionListener {

public static final int FRAME_WIDTH = 500; public static final int FRAME_HEIGHT = 200;

private JTextField mText;

/** * Default ctor. Does nothing. */ public View() { // Declare and create a JPanel named panelFunctButton. Set the layout manager to GridLayout // with 2 rows and 2 columns. Call addButton() to add buttons labeled "x^y", "log 10", // "log e", and "sqrt". ???

// Declare and create a JPanel named panelSysButton. Use the default FlowLayout layout // manager. Call addButton() to add buttons labeled "Clear", "About", and "Exit". ???

// Declare and create a JPanel named panelFunctSys. Use the BorderLayout layout manager. // Add panelFunctButton to the CENTER region. Add panelSysButton to the SOUTH region. ???

// Declare and create a JPanel named panelKeypad. Use the GridLayout layout manager with // 4 rows and 4 columns. Call addButton() to add the buttons labeled "7", "8", "9", and so // on. ???

// Declare and create a new JPanel named panelBottom. Use the vertical BoxLayout layout // manager. Add panelKeypad. Add a 10-pixel wide rigid area (using Box.createRigidArea()). // Add panelFunctSys. ???

// Declare and create a JPanel named panelTextField. Use the default FlowLayout layout // manager. Create the mText JTextField making it 30 columns wide. Add mText to the // panelTextField panel. ???

// Declare and create a JPanel named panelLabel. Use the default FlowLayout layout manager. // Declare and create a JLabel named label displaying "Kalkutron-9000" or whatever you // want to display. Add label to panelLabel. ???

// Declare and create a JPanel named panelMain. Use the horizontal BoxLayout layout manager. // Add some vertical glue to panelMain (using Box.createVerticalGlue()). Add panelLabel. // Add some more vertical glue. Add panelTextField. Add panelBottom. Add some more vertical // glue. ???

// Set the title bar string of this JFrame. setTitle("Kalkutron-9000");

// Set the width and height of this JFrame. setSize(FRAME_WIDTH, FRAME_HEIGHT);

// Configure this JFrame so the frame will be closed and the application were terminate when // the X button on the title bar is closed. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Add panelMain to this JFrame. add(panelMain);

// Make this JFrame visible. setVisible(true); }

/** * Declare and create a JButton object displaying pText. Make this JFrame the action listener * for button events. Add the button to pPanel. */ private void addButton(JPanel pPanel, String pText) { JButton button = new JButton(pText); button.addActionListener(this); pPanel.add(button); }

/** * Implementation of the actionPerformed() method of the ActionListener interface. */ @Override public void actionPerformed(ActionEvent pEvent) { // If the source of the event is a JButton, calling pEvent.getActionCommand() will return // the text displayed on the button face. For example, when the Exit button is clicked, // pEvent.getActionCommand() would return "Exit".

// Write code that determines if the Exit button is the source of the event and if so, // exit the application by calling System.exit(). ???

// Write code that determines if the About button is the source of the event and if so, // display the about dialog using JOptionPane.showMessageDialog(). ??? }

}

5.2 Complete the code in actionPerformed() so when the Exit button is clicked, the application will terminate.

5.3 Complete the code in actionPerformed() so when the About button is clicked, the application will display this about

dialog:

image text in transcribed

6 Nested Classes

6.1 Explain what an inner class is.

6.2 Explain how a local class differs from an inner class.

6.3 Explain how an anonymous class differs from an inner and local class.

3.16 In a subclass constructor, the superclass default constructor is called automatically before the statements of the subclass constructor begin executing. Suppose we wish to call a different superclass constructor (i.e., not the default constructor) from the subclass constructor. Explain how this is accomplished and give an example.

3.17 Explain how an abstract class differs from a concrete class.

Kalkutron-9000 Kalkutron-9000 7 4 3 0 8 5 2 9 log 10 6 log e sqrt Clear About Exit

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Machine Learning And Knowledge Discovery In Databases European Conference Ecml Pkdd 2014 Nancy France September 15 19 2014 Proceedings Part 3 Lnai 8726

Authors: Toon Calders ,Floriana Esposito ,Eyke Hullermeier ,Rosa Meo

2014th Edition

3662448440, 978-3662448441

More Books

Students also viewed these Databases questions

Question

2. (1 point) Given AABC, tan A b b

Answered: 1 week ago