Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. /*
  2. * File name: GUIHomework.java
  3. *
  4. * Programmer: Jarrod Jablonski
  5. * ULID: jtjablo
  6. *
  7. * Date: Nov 16, 2017
  8. *
  9. * Class: IT 178
  10. * Lecture Section: 001
  11. * Lecture Instructor: Patricia Matsuda
  12. */
  13. package jrom36;
  14.  
  15. import java.awt.BorderLayout;
  16. import java.awt.Container;
  17. import java.awt.GridLayout;
  18. import java.awt.event.ActionEvent;
  19. import java.awt.event.ActionListener;
  20.  
  21. import javax.swing.JButton;
  22. import javax.swing.JFrame;
  23. import javax.swing.JLabel;
  24. import javax.swing.JPanel;
  25. import javax.swing.JTextField;
  26.  
  27. /**
  28. * <a program that will allow the user to enter a length and width of a
  29. * rectangle and will return the area and perimeter in a JFrame>
  30. *
  31. * @author Jarrod Jablonski
  32. *
  33. */
  34. public class hw extends JFrame
  35. {
  36. Container contents;
  37. JButton areaButton, perimeterButton;
  38. JLabel enterLengthLabel, areaLabel, enterWidthLabel, perimeterLabel,
  39. areaAnswer, perimeterAnswer;
  40. JTextField lengthText, widthText;
  41. JPanel entryPanel, buttonPanel, answerPanel;
  42. int length;
  43. int width;
  44. int area;
  45. int perimeter;
  46.  
  47. public hw()
  48. {
  49. super("Rectangle Calculator");
  50.  
  51. areaAnswer = new JLabel();
  52. perimeterAnswer = new JLabel();
  53.  
  54. createFrameContents();
  55.  
  56. setSize(400, 200);
  57. setVisible(true);
  58. }
  59.  
  60. public void createFrameContents() {
  61. contents = getContentPane();
  62. contents.setLayout(new GridLayout(3, 3));
  63.  
  64. entryPanel = new JPanel();
  65. buttonPanel = new JPanel();
  66. answerPanel = new JPanel();
  67.  
  68. enterLengthLabel = new JLabel("Enter Length ");
  69. enterWidthLabel = new JLabel("Enter Width ");
  70. areaLabel = new JLabel("Area: ");
  71. perimeterLabel = new JLabel("Perimeter: ");
  72. lengthText = new JTextField();
  73. widthText = new JTextField();
  74.  
  75. areaAnswer = new JLabel();
  76. perimeterAnswer = new JLabel();
  77.  
  78.  
  79.  
  80. ButtonHandler bh = new ButtonHandler();
  81. areaButton = new JButton("Area");
  82. areaButton.addActionListener(bh);
  83.  
  84. ButtonHandler2 bh2 = new ButtonHandler2();
  85. perimeterButton = new JButton("Perimeter");
  86. perimeterButton.addActionListener(bh2);
  87.  
  88. entryPanel.setLayout(new GridLayout(2, 2));
  89. entryPanel.add(enterLengthLabel);
  90. entryPanel.add(lengthText);
  91. entryPanel.add(enterWidthLabel);
  92. entryPanel.add(widthText);
  93.  
  94. buttonPanel.setLayout(new GridLayout(1, 1));
  95. buttonPanel.add(areaButton);
  96. buttonPanel.add(perimeterButton);
  97.  
  98. answerPanel.setLayout(new GridLayout(1, 4));
  99. answerPanel.add(areaLabel);
  100. answerPanel.add(areaAnswer);
  101. answerPanel.add(perimeterLabel);
  102. answerPanel.add(perimeterAnswer);
  103.  
  104. contents.add(entryPanel, BorderLayout.NORTH);
  105. contents.add(buttonPanel, BorderLayout.CENTER);
  106. contents.add(answerPanel, BorderLayout.SOUTH);
  107. }
  108.  
  109. // buttonHandler for areaButton
  110. class ButtonHandler implements ActionListener
  111. {
  112. public void actionPerformed(ActionEvent ae)
  113. {
  114. width = Integer.parseInt(widthText.getText());
  115. length = Integer.parseInt(lengthText.getText());
  116. area = length * width;
  117. areaAnswer.setText(Integer.toString(area));
  118. answerPanel.revalidate();
  119. answerPanel.repaint();
  120. }
  121. }
  122.  
  123. // second buttonHandler for perimeterButton
  124. class ButtonHandler2 implements ActionListener
  125. {
  126. public void actionPerformed(ActionEvent ae)
  127. {
  128. width = Integer.parseInt(widthText.getText());
  129. length = Integer.parseInt(lengthText.getText());
  130. perimeter = (2 * length) + (2 * width);
  131. perimeterAnswer.setText(Integer.toString(perimeter));
  132. answerPanel.revalidate();
  133. answerPanel.repaint();
  134. }
  135. }
  136.  
  137. public static void main(String[] args)
  138. {
  139. hw app = new hw();
  140. app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  141. }
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement