Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.25 KB | None | 0 0
  1. import java.awt.EventQueue;
  2.  
  3. import javax.swing.JFrame;
  4. import javax.swing.JLabel;
  5. import javax.swing.JRadioButton;
  6. import javax.swing.JTextField;
  7. import javax.swing.JButton;
  8. import java.awt.event.InputMethodListener;
  9. import java.awt.event.InputMethodEvent;
  10. import java.awt.event.ActionListener;
  11. import java.awt.event.ActionEvent;
  12. import java.beans.PropertyChangeListener;
  13. import java.beans.PropertyChangeEvent;
  14. import java.awt.Font;
  15. import javax.swing.ButtonGroup;
  16.  
  17. public class stage2 {
  18.  
  19. private JFrame frame;
  20. private JTextField txtStartingpop;
  21. private JTextField txtSpecies;
  22. private JTextField txtGenerations;
  23. private JTextField txtFixedrate;
  24. private JTextField txtVgr1;
  25. private JTextField txtVgr2;
  26. private JTextField txtVgr3;
  27. private JTextField txtVgr4;
  28. private JTextField txtVgr5;
  29. private JTextField txtVgr6;
  30. private JTextField txtVgr7;
  31. private JTextField txtVgr8;
  32. private JTextField txtVgr9;
  33. private JTextField txtVgr10;
  34. private JTextField txtHabitatname;
  35. private final ButtonGroup buttonGroup = new ButtonGroup();
  36.  
  37. /**
  38. * Launch the application.
  39. */
  40. public static void main(String[] args) {
  41. EventQueue.invokeLater(new Runnable() {
  42. public void run() {
  43. try {
  44. stage2 window = new stage2();
  45. window.frame.setVisible(true);
  46. } catch (Exception e) {
  47. e.printStackTrace();
  48. }
  49. }
  50. });
  51. }
  52.  
  53. /**
  54. * Create the application.
  55. */
  56. public stage2() {
  57. initialize();
  58. }
  59.  
  60. /**
  61. * Initialize the contents of the frame.
  62. */
  63. private void initialize() {
  64. frame = new JFrame();
  65. frame.setBounds(100, 100, 500, 300);
  66. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  67. frame.getContentPane().setLayout(null);
  68.  
  69. JLabel lblSpecies = new JLabel("Species:");
  70. lblSpecies.setBounds(35, 30, 80, 14);
  71. frame.getContentPane().add(lblSpecies);
  72.  
  73. JLabel lblStartingPopulation = new JLabel("Starting Population:");
  74. lblStartingPopulation.setBounds(35, 55, 125, 14);
  75. frame.getContentPane().add(lblStartingPopulation);
  76.  
  77. JLabel lblGenerations = new JLabel("Generations:");
  78. lblGenerations.setBounds(35, 80, 109, 14);
  79. frame.getContentPane().add(lblGenerations);
  80.  
  81. JLabel lblGrowthRate = new JLabel("Growth Rate(%):");
  82. lblGrowthRate.setBounds(35, 105, 109, 14);
  83. frame.getContentPane().add(lblGrowthRate);
  84.  
  85. JRadioButton rdbtnFixed = new JRadioButton("Fixed");
  86. buttonGroup.add(rdbtnFixed);
  87. rdbtnFixed.addActionListener(new ActionListener() {
  88. public void actionPerformed(ActionEvent arg0) {
  89. }
  90. });
  91. rdbtnFixed.setBounds(35, 126, 56, 23);
  92. frame.getContentPane().add(rdbtnFixed);
  93.  
  94. JRadioButton rdbtnVariable = new JRadioButton("Variable");
  95. buttonGroup.add(rdbtnVariable);
  96. rdbtnVariable.addActionListener(new ActionListener() {
  97. public void actionPerformed(ActionEvent e) {
  98. }
  99. });
  100. rdbtnVariable.setBounds(35, 152, 109, 23);
  101. frame.getContentPane().add(rdbtnVariable);
  102.  
  103. JLabel lblHabitat = new JLabel("Habitat:");
  104. lblHabitat.setBounds(279, 30, 46, 14);
  105. frame.getContentPane().add(lblHabitat);
  106.  
  107. JLabel lblFinalPopulation = new JLabel("Final Population:");
  108. lblFinalPopulation.setBounds(279, 55, 109, 14);
  109. frame.getContentPane().add(lblFinalPopulation);
  110.  
  111. JLabel lblFinalpop = new JLabel("");
  112. lblFinalpop.addPropertyChangeListener(new PropertyChangeListener() {
  113. public void propertyChange(PropertyChangeEvent arg0) {
  114. }
  115. });
  116. lblFinalpop.setBounds(388, 55, 46, 14);
  117. frame.getContentPane().add(lblFinalpop);
  118.  
  119. JLabel lblDed = new JLabel("");
  120. lblDed.setFont(new Font("Tahoma", Font.PLAIN, 9));
  121. lblDed.addPropertyChangeListener(new PropertyChangeListener() {
  122. public void propertyChange(PropertyChangeEvent arg0) {
  123. }
  124. });
  125. lblDed.setBounds(314, 80, 160, 14);
  126. frame.getContentPane().add(lblDed);
  127.  
  128. txtStartingpop = new JTextField();
  129. txtStartingpop.addInputMethodListener(new InputMethodListener() {
  130. public void caretPositionChanged(InputMethodEvent arg0) {
  131. }
  132. public void inputMethodTextChanged(InputMethodEvent arg0) {
  133.  
  134. }
  135. });
  136. txtStartingpop.setBounds(164, 52, 86, 20);
  137. frame.getContentPane().add(txtStartingpop);
  138. txtStartingpop.setColumns(10);
  139.  
  140. txtSpecies = new JTextField();
  141. txtSpecies.setBounds(164, 27, 86, 20);
  142. frame.getContentPane().add(txtSpecies);
  143. txtSpecies.setColumns(10);
  144.  
  145. txtGenerations = new JTextField();
  146. txtGenerations.addInputMethodListener(new InputMethodListener() {
  147. public void caretPositionChanged(InputMethodEvent event) {
  148. }
  149. public void inputMethodTextChanged(InputMethodEvent event) {
  150. }
  151. });
  152. txtGenerations.setBounds(164, 77, 86, 20);
  153. frame.getContentPane().add(txtGenerations);
  154. txtGenerations.setColumns(10);
  155.  
  156. txtFixedrate = new JTextField();
  157. txtFixedrate.addInputMethodListener(new InputMethodListener() {
  158. public void caretPositionChanged(InputMethodEvent event) {
  159. }
  160. public void inputMethodTextChanged(InputMethodEvent event) {
  161. }
  162. });
  163. txtFixedrate.setBounds(164, 127, 86, 20);
  164. frame.getContentPane().add(txtFixedrate);
  165. txtFixedrate.setColumns(10);
  166.  
  167. txtVgr1 = new JTextField();
  168. txtVgr1.setBounds(35, 182, 35, 20);
  169. frame.getContentPane().add(txtVgr1);
  170. txtVgr1.setColumns(10);
  171.  
  172. txtVgr2 = new JTextField();
  173. txtVgr2.setColumns(10);
  174. txtVgr2.setBounds(80, 182, 35, 20);
  175. frame.getContentPane().add(txtVgr2);
  176.  
  177. txtVgr3 = new JTextField();
  178. txtVgr3.setColumns(10);
  179. txtVgr3.setBounds(125, 182, 35, 20);
  180. frame.getContentPane().add(txtVgr3);
  181.  
  182. txtVgr4 = new JTextField();
  183. txtVgr4.setColumns(10);
  184. txtVgr4.setBounds(170, 182, 35, 20);
  185. frame.getContentPane().add(txtVgr4);
  186.  
  187. txtVgr5 = new JTextField();
  188. txtVgr5.setColumns(10);
  189. txtVgr5.setBounds(215, 182, 35, 20);
  190. frame.getContentPane().add(txtVgr5);
  191.  
  192. txtVgr6 = new JTextField();
  193. txtVgr6.setColumns(10);
  194. txtVgr6.setBounds(35, 213, 35, 20);
  195. frame.getContentPane().add(txtVgr6);
  196.  
  197. txtVgr7 = new JTextField();
  198. txtVgr7.setColumns(10);
  199. txtVgr7.setBounds(80, 213, 35, 20);
  200. frame.getContentPane().add(txtVgr7);
  201.  
  202. txtVgr8 = new JTextField();
  203. txtVgr8.setColumns(10);
  204. txtVgr8.setBounds(125, 213, 35, 20);
  205. frame.getContentPane().add(txtVgr8);
  206.  
  207. txtVgr9 = new JTextField();
  208. txtVgr9.setColumns(10);
  209. txtVgr9.setBounds(170, 213, 35, 20);
  210. frame.getContentPane().add(txtVgr9);
  211.  
  212. txtVgr10 = new JTextField();
  213. txtVgr10.setColumns(10);
  214. txtVgr10.setBounds(215, 213, 35, 20);
  215. frame.getContentPane().add(txtVgr10);
  216.  
  217. JButton btnCalculate = new JButton("Calculate");
  218. btnCalculate.addActionListener(new ActionListener() {
  219. public void actionPerformed(ActionEvent e) {
  220. //starting with all the variables
  221. int iStart = Integer.parseInt(txtStartingpop.getText());
  222. int iGenerations = Integer.parseInt(txtGenerations.getText());
  223. //int iFixedRate = Integer.parseInt(txtFixedrate.getText());
  224. //int iVariableRate[];
  225. //iVariableRate = new int[10];
  226. int iFinal = 0;
  227. int iMaxPopulation = 5000;
  228.  
  229. //if the fixed button is selected
  230. if(rdbtnFixed.isSelected()){
  231. int iFixedRate = Integer.parseInt(txtFixedrate.getText());
  232. for(int i = 0; i < iGenerations; i++);
  233. {
  234. iFinal = (int) (iStart + ((iStart * iFixedRate)/100.00));
  235. iStart = iFinal;
  236. }
  237. }
  238. else if (rdbtnVariable.isSelected())
  239. {
  240. int iVariableRate[];
  241. iVariableRate = new int[10];
  242. for(int i = 0; i < 10; i++)
  243. {
  244. iVariableRate[0] = Integer.parseInt(txtVgr1.getText());
  245. iVariableRate[1] = Integer.parseInt(txtVgr2.getText());
  246. iVariableRate[2] = Integer.parseInt(txtVgr3.getText());
  247. iVariableRate[3] = Integer.parseInt(txtVgr4.getText());
  248. iVariableRate[4] = Integer.parseInt(txtVgr5.getText());
  249. iVariableRate[5] = Integer.parseInt(txtVgr6.getText());
  250. iVariableRate[6] = Integer.parseInt(txtVgr7.getText());
  251. iVariableRate[7] = Integer.parseInt(txtVgr8.getText());
  252. iVariableRate[8] = Integer.parseInt(txtVgr9.getText());
  253. iVariableRate[9] = Integer.parseInt(txtVgr10.getText());
  254.  
  255. }
  256. for(int i = 0; i < 10; i++)
  257. {
  258. iFinal = (int) (iStart + ((iStart * iVariableRate[i])/100.00));
  259. iStart = iFinal;
  260. }
  261. }
  262. //end else if statement
  263.  
  264. String iFinalString = new String("");
  265. iFinalString = Integer.toString(iFinal);
  266. lblFinalpop.setText(iFinalString);
  267. if (iFinal > iMaxPopulation) {
  268. lblDed.setText("Species Died to Overcrowding");
  269. }
  270. }
  271. });
  272. btnCalculate.setBounds(321, 181, 89, 23);
  273. frame.getContentPane().add(btnCalculate);
  274.  
  275. JButton btnExit = new JButton("Exit");
  276. btnExit.addActionListener(new ActionListener() {
  277. public void actionPerformed(ActionEvent e) {
  278. //exits the program
  279. System.exit(0);
  280. };
  281. });
  282. btnExit.setBounds(321, 212, 89, 23);
  283. frame.getContentPane().add(btnExit);
  284.  
  285. JLabel lblPopulationGrowthCalculator = new JLabel("Population Growth Calculator");
  286. lblPopulationGrowthCalculator.setFont(new Font("Tahoma", Font.BOLD, 11));
  287. lblPopulationGrowthCalculator.setBounds(140, 2, 174, 17);
  288. frame.getContentPane().add(lblPopulationGrowthCalculator);
  289.  
  290. txtHabitatname = new JTextField();
  291. txtHabitatname.setBounds(388, 27, 86, 20);
  292. frame.getContentPane().add(txtHabitatname);
  293. txtHabitatname.setColumns(10);
  294. }
  295. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement