Advertisement
Guest User

Untitled

a guest
May 25th, 2015
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.94 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.*;
  3.  
  4. import javax.swing.*;
  5.  
  6. import java.util.*;
  7. import java.io.*;
  8.  
  9. public class Greenhouse extends JFrame implements ActionListener
  10. {
  11.  
  12. JLabel lblPeriod, lblIntHumidity,lblExtHumidity, lblSoilMoisture, lblTime;
  13. JLabel lblNight, lblMorning, lblDay, lblEvening;
  14. JLabel lblSprinkler, lblMister, lblVents;
  15. JButton offButton;
  16. JButton settingsButton;
  17. JButton operationsButton;
  18. JButton saveButton;
  19. JButton defaultsButton;
  20. JButton cancelButton;
  21. JTextField[] intHumidity;
  22. JTextField[] extHumidity;
  23. JTextField[] soilMoisture;
  24. JTextField time;
  25.  
  26.  
  27.  
  28. int currentTime;
  29.  
  30. public Greenhouse()
  31. {
  32. super ("Greenhouse");
  33.  
  34.  
  35. offButton = new JButton("Off");
  36. settingsButton = new JButton("Settings");
  37. operationsButton = new JButton("Operations");
  38.  
  39. lblPeriod = new JLabel("");
  40. lblNight = new JLabel("Night ", JLabel.CENTER);
  41. lblMorning = new JLabel("Morning ", JLabel.CENTER);
  42. lblDay = new JLabel("Day ", JLabel.CENTER);
  43. lblEvening = new JLabel("Evening ", JLabel.CENTER);
  44. lblIntHumidity = new JLabel("Interior Humidity ", JLabel.RIGHT);
  45. lblExtHumidity = new JLabel("Exterior Humidity ", JLabel.RIGHT);
  46. lblTime = new JLabel("Current Time ", JLabel.RIGHT);
  47.  
  48. lblSprinkler = new JLabel("Sprinkler OFF", JLabel.CENTER);
  49. lblSprinkler.setOpaque(true);
  50. lblSprinkler.setBackground(Color.red);
  51.  
  52. lblMister = new JLabel("Mister OFF", JLabel.CENTER);
  53. lblMister.setOpaque(true);
  54. lblMister.setBackground(Color.red);
  55.  
  56. lblVents = new JLabel("Vents OFF", JLabel.CENTER);
  57. lblVents.setOpaque(true);
  58. lblVents.setBackground(Color.red);
  59.  
  60. intHumidity = new JTextField[4];
  61. extHumidity = new JTextField[4];
  62. soilMoisture = new JTextField[4];
  63. time = new JTextField(4);
  64. lblSoilMoisture = new JLabel("Soil Moisture ", JLabel.RIGHT);
  65.  
  66.  
  67. for(int i = 0; i < 4; i++){
  68. intHumidity[i] = new JTextField(5);
  69. extHumidity[i] = new JTextField(5);
  70. soilMoisture[i] = new JTextField(5);
  71. }
  72.  
  73. offButton.setActionCommand("Off");
  74. settingsButton.setActionCommand("Settingsbutton");
  75. operationsButton.setActionCommand("Operationsbutton");
  76.  
  77.  
  78. offButton.addActionListener(this);
  79. settingsButton.addActionListener(this);
  80. operationsButton.addActionListener(this);
  81.  
  82.  
  83. setLayout(new GridLayout(0,5) );
  84.  
  85. add (lblPeriod);
  86. add (lblMorning);
  87. add (lblDay);
  88. add (lblEvening);
  89. add (lblNight);
  90.  
  91. add (lblIntHumidity);
  92. add (intHumidity[0]);
  93. add (intHumidity[1]);
  94. add (intHumidity[2]);
  95. add (intHumidity[3]);
  96.  
  97. add (lblExtHumidity);
  98. add (extHumidity[0]);
  99. add (extHumidity[1]);
  100. add (extHumidity[2]);
  101. add (extHumidity[3]);
  102.  
  103. add (lblSoilMoisture);
  104. add (soilMoisture[0]);
  105. add (soilMoisture[1]);
  106. add (soilMoisture[2]);
  107. add (soilMoisture[3]);
  108.  
  109. add (offButton);
  110. add (settingsButton);
  111. add (operationsButton);
  112.  
  113. add (lblTime);
  114. add (time);
  115. add (lblSprinkler);
  116. add (lblMister);
  117. add (lblVents);
  118.  
  119.  
  120. this.setSize(600,200);
  121. this.setVisible( true );
  122.  
  123.  
  124. setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
  125.  
  126.  
  127. }
  128.  
  129. public void actionPerformed( ActionEvent evt)
  130. {
  131. // check which command has been sent
  132. if ( evt.getActionCommand().equals( "Off" )) {
  133. off();
  134. }
  135.  
  136. else if ( evt.getActionCommand().equals("Settingsbutton")) {
  137. settings();
  138. }
  139.  
  140. else if ( evt.getActionCommand().equals("Operationsbutton")){
  141. operations();
  142. }
  143.  
  144.  
  145. else
  146. System.exit(0);
  147.  
  148. repaint();
  149. }
  150.  
  151. static Scanner greenHouseDefaults;
  152. static PrintWriter greenHouseSaves;
  153.  
  154.  
  155. Settings settings = new Settings();
  156. Operations operations = new Operations();
  157. public static void main(String[] args) {
  158. Greenhouse greenhouse = new Greenhouse();
  159.  
  160.  
  161. }
  162.  
  163. private void off() {
  164. lblMister.setText("Mister ON");
  165. lblMister.setBackground(Color.green);
  166. }
  167.  
  168. private void settings() {
  169.  
  170.  
  171. settings.setVisible(true);
  172. }
  173.  
  174. private void operations() {
  175.  
  176.  
  177.  
  178. int timeIndex;
  179. double currentTime = Double.parseDouble(time.getText());
  180.  
  181.  
  182. double inthumidity = Double.parseDouble(intHumidity[0].getText());
  183. double exthumidity = Double.parseDouble(extHumidity[0].getText());
  184. double soilmoisture = Double.parseDouble(soilMoisture[0].getText());
  185.  
  186.  
  187.  
  188. if (currentTime >= settings.timefld[0] && currentTime < settings.timefld[3] ){
  189. timeIndex = 0;
  190. }
  191. else if (currentTime >= settings.timefld[0] && currentTime < settings.timefld[1] ){
  192. timeIndex = 1;
  193. }
  194. else if (currentTime >= settings.timefld[1] && currentTime < settings.timefld[2] ){
  195. timeIndex = 2;
  196. }
  197. else {timeIndex = 3;}
  198.  
  199. int d = 0;
  200. int f = 0;
  201. int g = 0;
  202.  
  203.  
  204. //while (!(inthumidity - 1 < (settings.humidityfld[timeIndex] + settings.humVariancefld[timeIndex]))) {
  205.  
  206. while (!( d == 1 || f == 1 || g == 1)) {
  207.  
  208. if (inthumidity >= (settings.humidityfld[timeIndex] + settings.humVariancefld[timeIndex]) && exthumidity >= (settings.humidityfld[timeIndex] + settings.humVariancefld[timeIndex])) {
  209.  
  210. lblVents.setText("Vents ON");
  211. lblVents.setBackground(Color.green);
  212. lblMister.setText("Misters OFF");
  213. lblMister.setBackground(Color.red);
  214. String c = String.valueOf(inthumidity);
  215. intHumidity[0].setText(c);
  216. inthumidity--;
  217. System.out.println(inthumidity + " 2...");
  218. if(inthumidity == settings.humidityfld[timeIndex]){
  219. d = 1;
  220. }
  221.  
  222. }
  223. //}
  224.  
  225. //while (!(inthumidity > (settings.humidityfld[timeIndex] + settings.humVariancefld[timeIndex]))) {
  226.  
  227. if (inthumidity <= (settings.humidityfld[timeIndex] + settings.humVariancefld[timeIndex]) && exthumidity >= (settings.humidityfld[timeIndex] + settings.humVariancefld[timeIndex])) {
  228. lblVents.setText("Vents ON");
  229. lblVents.setBackground(Color.green);
  230. lblMister.setText("Misters OFF");
  231. lblMister.setBackground(Color.red);
  232. String b = String.valueOf(inthumidity);
  233. intHumidity[0].setText(b);
  234. inthumidity++;
  235. System.out.println(inthumidity + " 3...");
  236. if(inthumidity == settings.humidityfld[timeIndex]){
  237. f = 1;
  238. }
  239.  
  240. }
  241. else {
  242. lblMister.setText("Misters ON");
  243. lblMister.setBackground(Color.green);
  244. lblVents.setText("Vents OFF");
  245. lblVents.setBackground(Color.red);
  246. inthumidity++;
  247. System.out.println(inthumidity + " 4...");
  248. if(inthumidity == settings.humidityfld[timeIndex]){
  249. g = 1;
  250. }
  251.  
  252. }
  253. break;
  254. }
  255.  
  256.  
  257.  
  258. while (!(soilmoisture - 1 > (settings.moisturefld[timeIndex] + settings.soilVariancefld[timeIndex]))) {
  259.  
  260.  
  261. if (soilmoisture <= (settings.moisturefld[timeIndex] + settings.soilVariancefld[timeIndex])){
  262.  
  263.  
  264. lblSprinkler.setText("Sprinkler ON");
  265. lblSprinkler.setBackground(Color.green);
  266. // Thread.sleep(500);
  267.  
  268. String s = String.valueOf(soilmoisture);
  269. soilMoisture[0].setText(s);
  270. System.out.println(soilmoisture);
  271.  
  272. }
  273.  
  274.  
  275. else {
  276.  
  277. lblSprinkler.setText("Sprinkler OFF");
  278. lblSprinkler.setBackground(Color.red);
  279.  
  280. }
  281. soilmoisture++;
  282. }
  283.  
  284.  
  285. }
  286. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement