Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- import javax.swing.border.EmptyBorder;
- import java.awt.*;
- import static javax.swing.SwingConstants.CENTER;
- /**
- * File Week4Discussion.java
- * Simple area calculator.
- *
- * @author Lance Gundersen
- * @version 1.0
- * @since 2018-11-13
- */
- class AreaCalculator {
- private JButton calculateButton;
- private JTextField sideOneText, sideTwoText, resultsText;
- private AreaCalculator() {
- this.CreateGui();
- // No validation at this time.
- this.calculateButton.addActionListener(e -> calculateArea(sideOneText.getText(), sideTwoText.getText()));
- }
- public static void main(String[] args) {
- new AreaCalculator();
- }
- // Calculate area and set results text to results. No error checking.
- private void calculateArea(String sideA, String sideB) {
- String results = String.valueOf(Double.parseDouble(sideA) * Double.parseDouble(sideB));
- this.resultsText.setText(results);
- }
- private void CreateGui() {
- // Used border of 10 more than once, DRY
- final EmptyBorder borderSizeTen = new EmptyBorder(10, 10, 10, 10);
- // Create frame
- JFrame frame = new JFrame("Area Calc");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setPreferredSize(new Dimension(350, 300));
- // Create panel layouts
- JPanel panel = new JPanel(new BorderLayout());
- panel.setBorder(borderSizeTen);
- JPanel panelTop = new JPanel(new GridLayout(6, 5, 5, 5));
- panelTop.setBorder(borderSizeTen);
- JPanel panelBottom = new JPanel(new GridLayout(2, 5, 5, 5));
- panelBottom.setBorder(borderSizeTen);
- // Side A input text field
- JLabel sideOneLabel = new JLabel("Length of Side A:", CENTER);
- this.sideOneText = new JTextField();
- this.sideOneText = new JTextField("", 10);
- // Side B input text field
- JLabel sideTwoLabel = new JLabel("Length of Side B:", CENTER);
- this.sideTwoText = new JTextField();
- this.sideTwoText = new JTextField("", 10);
- // Side A input text field
- JLabel resultsLabel = new JLabel("Area:", CENTER);
- this.resultsText = new JTextField();
- this.resultsText = new JTextField("", 10);
- // Results text field
- calculateButton = new JButton("Calculate Area");
- // Add all elements to the top panel
- panelTop.add(sideOneLabel);
- panelTop.add(this.sideOneText);
- panelTop.add(sideTwoLabel);
- panelTop.add(this.sideTwoText);
- panelTop.add(calculateButton);
- // Add all elements to the bottom panel
- panelBottom.add(resultsLabel);
- panelBottom.add(this.resultsText);
- // Add all elements to the main panel
- panel.add(panelTop, BorderLayout.NORTH);
- panel.add(panelBottom, BorderLayout.SOUTH);
- // Add all elements to the frame
- frame.add(panel);
- frame.pack();
- frame.setVisible(true);
- }
- }
Add Comment
Please, Sign In to add comment